Томас Эрл

SOA возникла на основе нескольких более ранних парадигм, таких как объектное-ориентирование, Web-сервисы и др. SOA как парадигма, в свою очередь, также повлияла на технологии, лежащие в её основе.

Часто можно услышать, что для того, чтобы лучше понять какое-нибудь явление, надо погрузиться в его историю. Разумеется, такая парадигма как сервисное ориентирование не возникла из ниоткуда. Она является одним из результатов эволюции ИТ и, следовательно, уходит корнями во множество предшествующих ей парадигм и технологий (см. рис. 4.20). В то же время, она сама является очередной ступенью эволюционного развития ИТ, поэтому также подвержена различного рода влияниям, исходящим от зарождающихся новейших тенденций и изменений.

Следующие разделы посвящены описанию истоков, представленных на иллюстрации, что поможет выяснить, каким образом сервисное ориентирование соотносится с целями, которые преследовались более ранними парадигмами, и каким образом оно способствует их дальнейшему достижению.

Объектное ориентирование

В 90-х ИТ представляли собой философию разработки, которая определяла, каким образом будет осуществляться построение распределенных решений. В основу построения решений легла объектно-ориентированная парадигма, имеющая свои принципы, соблюдение которых позволяло обеспечивать слаженность функционирования различных сред. Эти принципы определили особый тип отношений между логическими единицами решений, называемыми объектами, что в конечном итоге позволило разработать предсказуемую динамику функционирования решений.

Сервисное ориентирование часто справедливо сравнивают с объектным ориентированием. Принципы и модели, лежащие в основе объектно-ориентированного анализа и разработки, являются одним из наиболее значимых источников вдохновения для сервис-ориентированной парадигмы.

По существу, целый ряд принципов, которые легли в основу сервис-ориентированной парадигмы (таких как повторное использование сервисов, абстракция на уровне сервисов и компонуемость сервисов), берет свое начало в объектном ориентировании. Особенность сервис-ориентированной парадигмы заключается в том, что наряду с новыми принципами она вобрала в себя идеи, которые возникли в объектно-ориентированной школе мысли, но в свое время были ею отвергнуты.

Web-сервисы

Несмотря на то что сами по себе сервис-ориентированная парадигма и SOA как архитектура технологий не имеют никакого отношения к реализации чего бы то ни было, их привыкли связывать с Web-сервисами. Для большинства они ассоциируются именно с реализацией Web-сервисов, причем настолько сильно, что даже крупные поставщики SOA-технологий кладут в основу построения своих платформ использование технологий Web-сервисов.

Хотя сервисное ориентирование и по сей день представляет собой полностью абстрактную парадигму, исторически можно проследить следы влияния на нее SOA-платформ и «дорожных карт», построенных вышеупомянутыми вендорами. Как результат, Web-сервисы оказали влияние на развитие сервис-ориентированной парадигмы, что вылилось в появление ряда ее новых принципов, таких как слабосвязанность сервисов, их компонуемость и абстракция на сервисном уровне.

Управление бизнес-процессами (BPM)

BPM включает в себя два важных аспекта: выстраивание логики процессов с целью повысить продуктивность и построение гибких процессов, которые можно адаптировать (расширять, масштабировать) к изменяющимся условиям бизнес-среды.

Уровень бизнес-процессов является основной частью любой сервис-ориентированной архитектуры. С точки зрения построения, он обычно принимает на себя функцию обеспечения контроля над компоновкой родительских сервисов. Появление технологий оркестровки подтвердило необходимость выполнения этой функции с точки зрения реализации.

Основная цель сервисного ориентирования заключается в создании предельно гибкой автоматизированной среды, способной адаптироваться к изменениям. Этого можно добиться посредством абстрагирования логики бизнес-процесса на его же собственном уровне, поскольку таким образом исключается необходимость снова и снова повторно встраивать в них логику процессов.

Несмотря на то что сама по себе сервис-ориентированная парадигма не ассоциируется с реинжинирингом бизнес процессов, тем не менее, возможность оптимизации процессов как важного источника изменений, ради которых перенастраиваются сервисы – это всецело ее заслуга.

Интеграция корпоративных приложений

В конце 90-х все заговорили об интеграции: она стала идеей фикс, многие захотели осуществить на своем предприятии интеграцию, однако, в целом, большинство предприятий оказались к этому не готовы. Было построено множество систем, но почти никто не задумывался над тем, каким образом можно обеспечить возможность использования данных за пределами этих корпоративных систем. В результате было создано множество двухточечных интеграционных каналов (point-to-point). С таким решением проблемы было сопряжено множество сложностей, таких как недостаток стабильности и возможностей масштабирования, а также плохая совместимость инфраструктур взаимодействующих друг с другом предприятий. Но, к счастью, были выработаны требования к совместному использованию данных.

Платформы корпоративной интеграции (EAI-платформы) стали тем самым промежуточным ПО, которое позволило осуществить абстракцию проприетарных приложений благодаря использованию адаптеров, брокеров и механизмов оркестровки. В результате архитектуры предприятий стали более устойчивыми и обрели большую способность к масштабированию. Однако в то же время они стали чрезмерно громоздкими, сложными и дорогими, а также привязанными к платформам и «дорожным картам», поставляемым определенными вендорами.

Появление открытых сред разработки Web-сервисов и их возможность полностью абстрагировать проприетарные технологии полностью изменило облик промежуточного интеграционного ПО. Таким образом, появилась возможность избежать привязки к вендорам, инвестируя не в проприетарные платформы, а в мобильные сервисы. В результате компании приобрели больше возможностей контролировать эволюционирование своих интеграционных архитектур.

Несколько достижений, появившихся еще в эпоху интеграции корпоративных приложений (EAI), нынче признаются как весьма способствующие решению задач, связанных с построением SOA с помощью Web-сервисов. Одно из таких достижений – компонент «брокер», позволяющий осуществлять взаимодействие сервисов, использующих разные схемы для представления одного типа данных, во время выполнения преобразования этих данных. Другим достижением является механизм оркестровки, который, по сути, представляет целый уровень сервисов в более крупных уровнях реализации SOA. Оба эти компонента EAI-платформы поддерживают несколько принципов сервисного ориентирования, включая слабосвязанность сервисов, их компонуемость, абстракцию на сервисном уровне и отсутствие состояния у сервиса.

Аспектно-ориентированное программирование (AOP)

Основная цель AOP – выявить характерные проблемы, общие для многих приложений или сценариев автоматизации. Такие проблемы соответственно называют комплексными, и логику, разработанную для их решения, можно повторно использовать.

Аспектное ориентирование возникло на основе объектного ориентирования в попытке создать объекты, которые можно было бы использовать повторно. Хотя AOP и не является основным фактором, оказывающим влияние на сервис-ориентированную парадигму, оно имеет отношение к достижению общей цели, поскольку подчеркивает важность инвестирования в единицы логики решений, которые не привязаны к бизнес-процессам и приложениям, и, следовательно, наделены большими возможностями повторного использования. Аспектно-ориентированное программирование также делает возможным разработку на основе ролей, позволяя разработчикам-специалистам в разных областях сотрудничать.

Итак, подведем итоги:

• Сервисное ориентирование – это парадигма разработки, возникшая на основе нескольких предшествующих парадигм. Она вобрала из них все прогрессивное и породила свои новые принципы, послужившие стимулом для дальнейших инноваций.

• Сервисное ориентирование – это парадигма разработки, которую можно сравнить с объектно-ориентированной парадигмой. Сервис-ориентированная парадигма переняла у нее несколько ключевых принципов.

• Своей популярностью SOA обязана технологической платформе Web-сервисов. Расцвет сервис-ориентированного программирования позволил пересмотреть и формализировать технологии Web-сервисов.

По материалам Dr.Dobb’s Portal

Комментарии

Добавить комментарий