Длинная дорога к вершинам SOA
Хроника развития темы
В ИТ-отрасли — как, впрочем, в любой сфере человеческой деятельности — часто бывает так: появляется какой-то новый термин (скажем, XXX), содержание которого поначалу понятно только тем, кто его придумал. Проходит время, термин XXX становится узнаваемым, но для многих (а может быть, и большинства) людей, имеющих к нему непосредственное отношение (в нашем случае ИТ-специалистов), он тем не менее остается по сути нераскрытым и даже загадочным. Но поскольку термин успел стать общеупотребительным, спросить у кого-то, что же он на самом деле означает, уже как-то неудобно. Приходится делать вид, что и тебе он хорошо знаком и понятен: «Ну как же! XXX — наслышаны, изучаем внимательнее, думаем, как это все применить у себя в компании». А смельчаки и вовсе заявляют: «А мы уже этот самый, как его… XXX вовсю используем. Вот пилотный проект первой очереди запустили». К счастью, терминология в ИТ-отрасли быстро меняется, и скоро про технологию XXX уже забывают, поскольку ей на смену приходит YYY…
Мне кажется, что нечто подобное в последний год происходит с понятием SOA (сервис-ориентированная архитектура).
Тут нужно вспомнить немного историю вопроса. Аббревиатура SOA в российской профессиональной ИТ-прессе стала активно появляться еще в 2005 г., но это было связано, как правило, не с местными новостями и событиями, а с зарубежными. Но каковы реальные перспективы этой методологии, в том числе и в нашей стране? Этот вопрос эксперты начали задавать в связи с прогнозами на наступавший тогда год 2006-й. Один из наиболее серьезных ответов-анализов на него прозвучал в статье Влада Боркуса «Год триумфа SOA» (PC Week/RE № 48’2005). И ответ, нужно сказать, был весьма скептичен, несмотря на оптимистическое название статьи. Один из главных доводов автора был таков: российские предприятия не готовы к использованию SOA с точки зрения уровня зрелости деловых процессов организаций.
Еще один пример, уже из собственного опыта автора. Тогда же, в конце 2005 г., я готовил обзор «ИТ-рынок глазами системных интеграторов», и среди прочих ведущим российским интеграторам был задан и такой вопрос: «Что вы думаете о концепции SOA и ее применении в вашей работе?» Ответ на него выявил весьма типичную на тот момент ситуацию: из семи экспертов лишь трое решили что-то сказать по этому поводу, причем никто не смог привести сведения о конкретном опыте применения SOA в реальных проектах. Полученные же ответы содержали лишь самые общие соображения и хорошо отражали спектр мнений по теме: от «SOA не является чем-то принципиально новым» до «SOA — руководство в выборе оптимального с точки зрения стоимости и функционала решения». Самым же реалистичным на тот момент мне показался такой ответ: «По этому вопросу необходима серьезная дискуссия, поскольку SOA предполагает пересмотр подходов к созданию систем. 2006 г. может лишь подвести теоретическую базу под дальнейшие стратегии развития систем».
К сожалению, дискуссии на тему SOA в профессиональной прессе и на различных ИТ-мероприятиях в прошедшем году свидетельствовали о том, что пока все преимущественно сводится к довольно общим рассуждениям о преимуществах SOA. Все это происходило на фоне того, что все ведущие поставщики софта дружно формировали собственные SOA-комплекты, но при этом складывалось впечатление, что значительную роль в этом играло широкое использование термина SOA в обновленных версиях уже существовавших продуктов.
И все же под занавес 2006 г. проблема SOA, пожалуй, действительно стала переходить в плоскость критического профессионального обсуждения того, как воплотить данную архитектуру на практике*. Это позволило тогда с оптимизмом прогнозировать, что 2007 г. действительно может стать переломным в деле практических методов ее реализации.
*См. статьи «Реализация SOA как разработка композитных приложений» («BYTE/Россия» № 1’2007), «Путь к SOA не обещает быть простым» и «Практическое построение SOA: борьба с мифами» (PC Week/RE № 48’2006), а также весьма энергичную дискуссию на блог-сайте http://www.itblogs.ru в ноябре-декабре 2006 г.
Наступил 2007 г., и в марте-апреле в Москве прошла целая серия ИТ-мероприятий (IBM, Oracle, HP, SAP), где вопросы SOA были обозначены именно как ключевые. Более того, качественно новый момент состоял в том, что к обсуждению этих, ранее сугубо софтверных, вопросов, стали подключаться и поставщики аппаратных средств (в частности, из Fujitsu Siemens), которые рассматривают эту тему с точки зрения масштабируемости и производительности SOA-проектов. Определенный прогресс в этих дискуссиях наблюдается, но все же пока он явно недостаточен, и есть отчетливые признаки того, что главные «перевалы» на пути к SOA еще не преодолены.
Как известно из курса философии, практика — критерий истинности. Ведь при всей привлекательности и даже, казалось бы, очевидности идей SOA, практическая их реализация связана с разрешением целого ряда технологических, организационных и методических проблем. Можно ли преодолеть их на практике? Убедительный ответ на этот вопрос можно получить только на примере реализации конкретных проектов. Такие проекты в России уже начали появляться («Аэрофлот», «Русский алюминий»), но их явно недостаточно, чтобы достичь критической массы позитивного опыта (к тому же довольно сложно оценить их соответствие уровню зрелости SOA).
В то же время очень настораживает молчание специалистов-практиков на тех же ИТ-мероприятиях или в СМИ: понятно, что системные интеграторы часто связаны обязательствами неразглашения сведений по проектам, но высказать свою принципиальную позицию по поводу применения SOA им ведь никто не запрещает, а мы пока слышим лишь мнения лишь ИТ-вендоров.
Отметим также, что в западных специализированных СМИ все чаще появляются прогнозы скорого заката SOA (см. например, блог-публикацию «Первые ласточки конца SOA-волны» от 10.04.07 на сайте http://www.itblogs.ru). Помимо давно известных потенциальных преград на пути реализации SOA-проектов — производительность, безопасность и надежность ИТ-систем, готовность заказчиков — там приводится еще одна новая — проблема с оплатой ИТ-услуг. Настораживает и то, что пользователи уже подустали от монотонных разговоров о преимуществах SOA: подтверждением этому стало появление термина SOA-2, но это в данной ситуации больше свидетельствует как раз о том, что идея SOA-1 оказалась нереализованной.
И еще одно важное замечание, которое прозвучало в дискуссиях прошлой осени: все ИТ-поставщики говорят о SOA-платформах (средствах интеграции), но мало кто — о SOA-приложениях (объектах интеграции). Готовы ли производители бизнес-приложений к их реализации в вариантах, пригодных для создания SOA-систем? Ответ на этот вопрос далеко не очевиден. В этом плане очень характерную позицию высказал в нынешнем апреле представитель известной компании — поставщика платформенного и делового ПО (не называю ее только потому, что сходную позицию озвучивают и другие вендоры): «Мы сформировали свою SOA-платформу еще год назад, а реализовать поддержку SOA в своих бизнес-приложениях планируем в следующем году».
И тем не менее — все совсем не так пессимистично. На самом деле в SOA есть много полезных, рациональных идей. Заказчикам надо в них разобраться и взять на вооружение то, что им нужно. Итак, попробуем ответить на вопрос, что же такое SOA.
Что такое SOA?
Ответ технический
На эту тему, казалось бы, уже написано много статей и даже книг. Но все же за пространными рассуждениями о преимуществах SOA зачастую как-то теряется содержательная часть определения. Проблема на самом деле заключается в том, что формального определения данного понятия просто не существует, а для его правильного восприятия лучше подходит описание комплекса признаков (равно как для ERP, ITSM и т. п.). Этот вопрос мы обсуждали в предыдущей публикации на данную тему (см. «BYTE/Россия» № 1’2007), а сейчас, не претендуя на истину в последней инстанции, приведу свое представление в тезисном виде.
1. SOA — это концепция, некая идеальная модель (в отличие, скажем, от клиент-серверной архитектуры, которая либо есть, либо нет). К ней можно двигаться, а вот достичь окончательной цели — вряд ли. Поэтому в плане оценки соответствия решения лучше использовать систему «уровней зрелости».
2. Нужно различать понятия SOA-проект (результат, цель) и SOA-инструменты (средства).
3. Ключевая идея SOA — компонентная модель распределенных бизнес-систем с максимальным использованием готовых компонентов, в том числе как унаследованных, уже имеющихся у заказчика, так и внешних, от независимых поставщиков сервисов. Это автоматически подразумевает необходимость многоплатформенного подхода, а как следствие — использование отраслевых открытых стандартов. На сегодня в качестве ключевой технологической базы реализации SOA рассматриваются технологии Web Services, хотя нужно подчеркнуть, что это не единственный вариант создания SOA-решений, и нельзя говорить о том, что SOA и Web Services — это тождественные понятия.
4. Для SOA необходим централизованный репозиторий компонентов-сервисов, упрощающий обнаружение существующих сервисов и позволяющий добиться максимальной степени их повторного использования.
5. SOA — это не просто компонентная модель; это принцип реализации ИТ-системы с четкой ориентацией на бизнес-процессы. В идеальном случае SOA — это набор бизнес-процессов, обеспечивающих деятельность предприятия, реализованный на основе общего комплекса ИТ-компонентов (сервисов). В этом плане вторая технологическая составляющая SOA — это средства BPM (управления бизнес-процессами), такие, как BPEL.
6. Из пп. 3 и 5 понятны два необходимых условия реализации SOA-проекта — наличие соответствующих ИТ и готовность заказчика с точки зрения организации его бизнеса.
7. Идея SOA непосредственно связана с общей тенденцией увязки ИТ с требованиями бизнеса. Это означает не просто реализацию метода «по требованию» (приобретать и внедрять то, что нужно бизнесу в текущий момент), а общий подход к ИТ-системам как к составной части бизнеса компании.
Ответ бытовойНезадолго до написания этой статьи я встретился с приятелем, опытным ИТ-специалистом, который, правда, лет пять назад перешел в другую сферу деятельности. «Объясни ты мне «на пальцах», что это за штука — SOA, о которой уже пишут уже и в гламурных журналах? Чем это отличается от того, чем я занимался много-много лет?» — спросил он меня. На объяснения было пять минут, пока мы ехали в машине. — Ну, представь себе, что ты купил квартиру и ее нужно обставить мебелью. Можно купить все сразу — кухню, столовую, спальню, и все от одного поставщика. А можно — все по отдельности, на свой вкус (жена выбирает спальню, ты — столовую), от разных производителей. Первый вариант — традиционный, второй — SOA. — Понятно. В первом случае — экономия времени на внедрение, надежное решение (все хорошо стыкуется) и, может быть, экономия средств (при получении скидки за комплексную поставку). Во втором — существенная экономия денег за счет того, что можно покупать поэтапно, а самое главное — только то, что нужно. Еще плюс: лучше учитываются желания пользователей, т. е. членов семьи. Правда, как это все будет смотреться вместе? Да и с гарантийным обслуживанием могут возникнуть проблемы. — SOA — это еще когда ты можешь что-то вообще не покупать, а брать в прокат или пользоваться внешними услугами. Например, можешь не покупать телевизор — новости будешь узнавать из покупаемых утром газет, а фильмы смотреть в кинотеатре. — Ну, ты загнул — телевизор! А впрочем, что-то в этом есть… — А теперь представь, что ты переезжаешь на новую квартиру со старой, где уже есть все необходимое для жизни. Что ты будешь делать — все выкинешь и купишь новое? — Я бы выкинул, да денег на новую обстановку не хватит. Впрочем, дело не только в деньгах — ко многим вещам уже сильно привыкли. Хотя, с другой стороны, может, действительно оставить старье новым жильцам (пусть сами с ним разбираются) и начать новую жизнь с новой мебелью. — А еще могут быть такие варианты… — Подожди, с этим все ясно. Непонятно другое — покупки квартир и переезды были всегда — и десять, и сто лет назад. И варианты покупки-обновления мебели всегда применялись разные. Почему же слово SOA появилось только сейчас? — Так ведь многое поменялось с тех пор: появились спутниковое телевидение, Интернет, домашние кинотеатры. Новые технологии, новые возможности. К тому же реклама — это двигатель… На этом наше обсуждение прервалось, мы приехали… |
Кому выгодна SOA
Ответ на этот вопрос кажется очевидным — заказчику. И дело даже не только в том, что у него появляется возможность снизить затраты на внедрение и сопровождение информационных систем. Заказчику гораздо важнее сама возможность выбора решения, оптимального для его бизнес-задач, с учетом его конкретных требований.
Но вот что настораживает: почему же в течение двух лет идею SOA продвигают именно ИТ-вендоры, а не те же системные интеграторы? Ведь по логике SOA получается, что в случае этого подхода как раз продавцы товаров могут проиграть, а поставщики услуг — выиграть. Чем же можно объяснить этот парадокс?
Такую постановку вопроса можно считать достаточно новой и дискуссионной. В качестве начала поиска ответа на него я бы предложил следующий вариант. Безусловно, появление концепции SOA вполне соответствует бизнес-интересам ИТ-поставщиков, причем в первую очередь глобальных. И тут можно выделить как маркетинговую, так и технологические составляющие. Среди технологических же аспектов хотелось бы особо отметить такой важный момент: развитие бизнеса ведущих софтверных вендоров в последние десятилетие как раз идет за счет приобретения внешних продуктов и технологий. В результате сегодня почти все они превратились в поставщиков не одной, достаточно монолитной, системы, а набора широкого ассортимента продуктов, сильно пересекающихся по своему функционалу и далеко не всегда идеально взаимосвязанных между собой. В этой ситуации ИТ-вендору просто не остается ничего иного, как перейти на продажу своих продуктов «россыпью», одновременно переместив решение задач их интеграции на этап реализации конкретных проектов. Ответственность же за их успех или неудачу в числе прочего возлагается при этом на заказчика и системного интегратора. Может быть, именно поэтому последние так настороженно воспринимают призывы к широкому применению SOA?
Предложения ИТ-поставщиков
Здесь мы кратко представим SOA-предложения ведущих ИТ-поставщиков (предложения компании Sun мы обсуждали ранее, в статье «SOA-платформа от Sun Microsystems», «BYTE/Россия» № 1’2007).
IBM
Корпорация IBM (http://www.ibm.com) — один из самых активных проповедников идей SOA, и аналитические исследования говорят о ее лидирующих позициях в этой сфере. В 2006 г. компания объявила о расширении своей стратегии в области SOA и теперь фактически рассматривает все свое ПО как SOA-платформу, основу которой составляют решения WebSphere, дополненные ключевыми продуктами других брэндов (Tivoli, Lotus, Rational, DB2). В целом SOA-инфраструктура IBM включает ПО, обеспечивающее комплексную интеграцию бизнес-систем на всех этапах их жизненного цикла: моделирование, построение, развертывание, управление (рис. 1).
Рис. 1. Портфель предложений IBM SOA.
Моделирование. Для моделирования сервис-ориентированных архитектур IBM предлагает ПО WebSphere Business Modeler — инструмент, с помощью которого специалисты по бизнесу и ИТ могут моделировать и проектировать структуру процессов до развертывания. Он дополняет возможности моделирования SOA, предусмотренные в ПО Rational Software Architect.
Построение. ПО WebSphere Integration Developer, инструментарий разработки приложений на базе Eclipse, позволяет строить и внедрять бизнес-процессы, основанные на SOA. С помощью Integration Developer можно разрабатывать композитные приложения, рассматривая существующие ИТ-ресурсы как сервисы, которые связываются между собой в законченные бизнес-процессы. Для построения SOA можно также использовать новую версию Rational Application Developer.
Развертывание. Решение WebSphere Enterprise Service Bus (ESB) основано на технологиях ESB — важной составляющей SOA, которая создает гибкую инфраструктуру коммуникационного взаимодействия для интеграции приложений и служб, позволяет расширить возможности SOA-архитектуры и повысить ее эффективность.
ESB решает следующие задачи:
- распределяет сообщения между сервисами;
- конвертирует транспортные протоколы между источником запроса и сервисом;
- конвертирует форматы сообщений между источником запроса и сервисом;
- управляет бизнес-событиями различных источников.
WebSphere ESB предоставляет простую в использовании функциональность, построенную на испытанных технологиях обмена сообщениями и Web-сервисов, имеющихся в составе WebSphere Application Server.
Для ESB IBM предлагает два основных продукта: IBM WebSphere ESB и IBM WebSphere Message Broker. WebSphere ESB обеспечивает взаимодействие Web-сервисов и сервис-ориентированную интеграцию. WebSphere Message Broker предлагает расширенные возможности интеграции при единообразном коммуникационном взаимодействии и преобразовании любых форматов.
Еще одна новинка, предназначенная для развертывания SOA, — WebSphere Process Server, основанное на открытых стандартах ПО на базе WebSphere ESB.
Управление. Новые предложения IBM в области управления бизнес-процессами позволяют организациям оптимизировать свой бизнес благодаря моделированию, развертыванию и управлению на платформе SOA. Например, новая, усовершенствованная версия ПО WebSphere Business Monitor дает возможность контролировать ход бизнес-процессов и ключевые показатели производительности.
Кроме того, компания планирует выпустить новое ПО Tivoli для управления композитными приложениями — прикладными компонентами, которые можно по мере необходимости группировать и многократно использовать. Это ПО поможет заказчикам поддерживать и гарантировать производительность и готовность своих решений на базе SOA.
Новые решения. Недавно портфель SOA-предложений IBM пополнился продуктом WebSphere DataPower for SOA, предназначенным для управления специализированными сетевыми устройствами (IBM WebSphere DataPower SOA Appliances).
А нынешней весной корпорация IBM представила еще один набор новых программных продуктов и технологических услуг для SOA. В него вошли два инструмента — IBM Rational Tester for SOA Quality (тестирование функциональности приложений на базе Web-сервисов) и IBM Rational Performance Tester Extension for SOA Quality (проверка масштабируемости). Это ПО автоматизирует тестирование работоспособности Web-сервисов и возможности их взаимодействия с остальными компонентами инфраструктуры компании, выполняет проверку способности системы поддерживать большое количество пользователей, определяет ее максимальную производительность, а также выявляет и решает проблемы функционирования, критичные для соблюдения сложных соглашений об уровнях обслуживания в среде с большим количеством сервисов.
Еще один программный продукт, IBM Tivoli Composite Application Manager, представляет собой расширяемый набор из 23 средств мониторинга приложений. Это решение отслеживает готовность, производительность и содержимое сервисов, регулярно опрашивая распределенные контрольные точки и формируя Web-отчеты для подтверждения соблюдения соглашений об уровне обслуживания.
HP
Корпорация HP (http://www.hp.com) рассматривает SOA традиционным для себя образом — с точки зрения управления ИТ-инфраструктурой и ИТ-услугами. Это представляется весьма важным, поскольку именно управляемость составляет ключевую проблему реализации SOA (рис. 2). Кроме того, с приобретением в прошлом году компании Mercury корпорация теперь делает акцент на вопросы тестирования сложных многокомпонентных систем и необходимость их оптимизации. Соответственно SOA сейчас рассматривается во взаимосвязи с подходом HP Business Technology Optimization (BTO).
Рис. 2. Путь к реализации SOA по версии HP.
В руководящих материалах HP говорится, что концепция SOA вводит новый тип объектов управления — разнородные компоненты ИТ-системы, связанные между собой контрактными отношениями, описанными в терминах политик. Динамичная природа этих объектов создает дополнительные трудности при обеспечении безопасности, разработке политик и выполнении нормативных требований. Так, проблема безопасности связана с проверкой подлинности и авторизацией Web-сервисов, особенно малоизвестных и внешних. Далее, организация и аудит сервисов с соблюдением отраслевых и законодательных требований, таких, как методология управления качеством бизнес-процессов Six Sigma или акт Сарбэйнса — Оксли, представляет собой весьма непростую задачу. Компонентная природа бизнес-сервисов диктует необходимость согласования контрольных параметров, которые используются при описании уровней обслуживания бизнес-сервиса и составляющих его Web-сервисов.
Кроме того, для реализации ключевых преимуществ концепции SOA — повышения гибкости и адаптивности ИТ-системы предприятия требуется автоматизированная система управления сервисами и поддерживающей их инфраструктурой. Необходимо также организовать тесное взаимодействие участников цепочки предоставления сервисов: на всем протяжении жизненного цикла сервиса бизнес-аналитики, разработчики и администраторы ИТ-систем должны оперировать одной и той же информацией, но в контексте решаемых ими задач.
Ключевая роль в решении всех этих проблем отводится продукту HP OpenView SOA Manager (или Center), который позволяет организовать управление взаимоотношениями слабосвязанных сервисов на основе модели SOA, описывающей взаимодействие виртуализованных бизнес- и ИТ-сервисов с физическими компонентами информационной системы.
Решение HP OpenView SOA Manager дает пользователям возможность описать взаимозависимости между виртуализованными бизнес-сервисами и ИТ-сервисами с помощью графических инструментов и сохранить модель в реестре метаданных. Реестр содержит информацию обо всех имеющихся сервисах и фиксирует изменения бизнес- и ИТ-сервисов, вносимые в процессе управления. Реестр также используется в качестве источника информации на этапе выполнения сервисов.
Моделирование физического уровня выполняется с использованием механизмов поиска и обнаружения экземпляров Web-сервисов в среде исполнения. Входящий в состав SOA Manager модуль WSM (Web Services Management) обеспечивает поддержку стандартных вызовов SOAP с применением протокола HTTP и HTTPS, а также содержит программные агенты для интеграции со средами Microsoft .NET и J2EE.
Oracle
Корпорация Oracle (http://www.oracle.com) формирует свой набор SOA-решений как составную часть семейства ПО промежуточного слоя Oracle Fusion Middleware, выделяя при этом четыре ключевых продукта: BPEL Process Manager, Enterprise Service Bus, Data Integrator и Business Activity Monitor.
Oracle BPEL Process Manager представляет собой удобный, основанный на открытых стандартах продукт, позволяющий создавать, развертывать и обеспечивать управление бизнес-процессами, которые могут взаимодействовать с различными приложениями предприятия и включают как автоматизированные, так и ручные этапы работ. Благодаря встроенной поддержке стандартов BPEL, XML, XSLT, XPATH, JMS, JCA и Web-сервисов это решение может применяться для создания интегрированных бизнес-процессов, переносимых в рамках различных платформ. Oracle BPEL Process Manager в полной мере задействует такие преимущества платформы Oracle Application Server 10g, как безопасность, масштабируемость и высокая готовность. Oracle BPEL PM представлен тремя основными модулями: BPEL Process Designer, BPEL PM Console и BPEL PM Server.
Технология мониторинга бизнес-активности (Business Activity Monitoring, BAM) обеспечивает доступ в реальном времени к ключевым бизнес-показателям с целью повышения эффективности и оперативности выполнения операций. Одновременный мониторинг нескольких систем, возможность в реальном времени получать и отображать для анализа важные для бизнеса данные, а также автоматически обнаруживать определенные события и формировать реакцию на них — вот главные цели развертывания BAM-системы. Эта система позволяет вести мониторинг бизнес-процессов, формировать и отображать в реальном масштабе времени значения ключевых показателей деятельности предприятия на основе получаемых данных.
Oracle Enterprise Service Bus (ESB) — основа для разрабатываемых сервисов, использующих SOA и Event-Driven Architecture (EDA). По сути Oracle ESB — это среда организации взаимодействий слабосвязанных приложений, за счет которой предприятие может строить гибкие решения, повышать используемость существующих функциональных компонентов в распределенной, гетерогенной среде.
Oracle ESB состоит из следующих компонентов:
- ESB Server — сервер, в котором регистрируются спроектированные сервисы ESB; поддерживает увязку с множеством протоколов, включая SOAP/HTTP(S), JMS, JCA, WSIF, Java;
- ESB Console — Web-приложение для управления, администрирования и отладки сервисов ESB;
- ESB Metadata Repository — база данных, содержащая метаданные сервисов ESB, такие, как схемы, трансформации и правила маршрутизации;
- ESB Designer — графический модуль расширения (plug-in) к Oracle JDeveloper, обеспечивающий дружественные для пользователя моделирование и разработку сервисов ESB.
Решение Oracle Data Integrator дополняет возможности Oracle ESB и может заменять его, обеспечивая эффективную загрузку больших объемов данных. Еще один важный компонент интеграционной платформы Oracle — Enterprise Messaging Service, базовая инфраструктура доставки сообщений с поддержкой обеспечения качества обслуживания, масштабирования, надежности и производительности. Она реализована в виде модульной архитектуры, основанной на стандартах J2EE, таких, как JMS и JCA.
Кроме того, в октябре 2006 г. Oracle выпустила отдельный комплект ПО для создания SOA-систем — Oracle SOA Suite 10 (рис. 3). В его состав вошел новый продукт — Business Process Analysis (BPA) Suite, лицензированный вариант известного решения для моделирования бизнес-процессов IDS Scheer ARIS.
Рис. 3. Состав набора Oracle SOA Suite.
SAP
Компания SAP (http://www.sap.com) также имеет свое видение SOA и выработала стратегию развития в этом направлении. Специфика ее подхода заключается в том, что компания позиционирует себя в первую очередь как поставщик ERP-решений и подходит к созданию SOA именно с этой стороны. Отметим, что SAP использует в своих документах не просто термин SOA, а «корпоративная SOA», подразумевая при этом, что SOA-система предприятия — это развитие концепции ERP. Конечно, такой подход в какой-то степени ограничивает сферу применения SOA, но в то же время позволяет предложить реальную основу для реализации подобных проектов.
Сильная сторона SAP заключается как раз в том, что компания предлагает клиентам не только инструмент создания SOA-системы (NetWeaver), но и бизнес-приложения (mySAP ERP), реализованные в виде тех самых готовых к использованию компонентов (рис. 4). Платформа NetWeaver обеспечивает все необходимые функции интеграции, реализуя в том числе технологию предоставления сервисов (SOA Provisioning) и функции среды композиции (Composition). В качестве автономного компонента предлагается также репозитарий корпоративных сервисов. Но все же главный элемент всего SOA-комплекса SAP — это ERP-система. Сегодня NetWeaver рассматривается на рынке скорее не как самостоятельный инструмент, а в первую очередь как средство расширения возможностей mySAP.
Рис. 4. SOA-платформа в исполнении SAP.
Microsoft
Корпорация Microsoft (http://www.microsoft.com) — самый загадочный игрок на поле SOA. С одной стороны, никто не сомневается в ее технологических возможностях в этой сфере, а с другой — она, кажется, единственный из «гигантов», кто до недавнего времени вообще отказывался использовать такие термины, как SOA или Enterprise Service Bus.
Похоже, Microsoft впервые решила пойти навстречу модным веяниям, проведя в конце 2006 г. в Великобритании конференцию под названием Microsoft SOA and Business Processes. Но ее содержание в то же время наглядно показало, что компания не хочет отвлекаться на обсуждение философии SOA и ее преимуществ для заказчиков, концентрируясь на вопросах практического применения своих технологий. Примечательно, что даже в ключевых докладах специалисты Microsoft явно избегали термина SOA, применяя другой — Real World SOA (SOA реального мира), как бы подчеркивая, что мы и так уже живем в сервис-ориентированной среде.
Позиция компании в отношении SOA была озвучена на конференции в одном из пленарных выступлений следующим образом:
- SOA — это стиль архитектуры, а не продукт;
- SOA подразумевает широкое использование существующих технологий и продуктов в интересах достижения быстрого эффекта с точки зрения бизнеса;
- SOA опирается на использование отраслевых стандартов — Web Services, XML, RSS и т. д.;
- SOA реализуется на практике по требованию бизнеса.
Что же касается технологий, то у Microsoft есть, как она считает, все необходимое для реализации SOA-проектов на базе ее программной платформы (ОС, офисные пакеты, бизнес-решения, средства разработки, серверные продукты и т. д.). А возможности ESB клиенты могут реализовать на базе таких технологий, как Windows Server 2003, .NET Framework 3.0 и BizTalk Server 2006.
Мнение экспертаАлександр Замятин, Почти полвека разработчики ПО фокусировали свои усилия на средствах управления данными и на создании приложений для взаимодействия с базами данных. Успех на этом поприще породил значительное количество разрозненных информационных активов. Современные предприятия порой имеют до нескольких десятков автономных информационных систем, что затрудняет прозрачный доступ ко всем необходимым в повседневной работе данным. Появление концепции SOA ознаменовало собой новый виток интеграционных технологий и связанных с ними надежд. Вобрав в себя технологические достижения компонентного программирования и Web-сервисов, SOA предлагает возможность гибкой работы с элементами бизнес-процессов и лежащей в их основе ИТ-инфраструктурой как с компонентами, которые можно использовать многократно и гибко комбинировать при изменении требований бизнеса. Благодаря этому SOA способна фундаментальным образом изменить подходы, применяемые в разработке и внедрении программных систем для бизнеса, обеспечивая преимущество в конкурентной борьбе. Базовые концептуальные принципы парадигмы SOA изложены в документе Reference Model for Service Oriented Architecture 1.1, принятом в качестве стандарта OASIS (Organization for the Advancement of Structured Information Standards) 12 октября 2006 г. Сегодня мы имеем возможность использовать интеграционные платформы SOA от многих ведущих производителей — прежде всего это IBM, BEA Systems, Microsoft, Tibco и другие. Нельзя не отметить, что компания IBM с широко известным семейством продуктов WebSphere в течение уже нескольких лет удерживает почти половину рынка продуктов SOA. Однако, как и любая другая архитектура, SOA не может считаться универсальной и имеет все требования и риски, присущие другим типам архитектуры. При оценке инвестиционной привлекательности внедрения SOA следует в первую очередь учесть:
Необходимо также принимать во внимание технологические ограничения на применение SOA, к которым прежде всего относятся гомогенность существующей ИТ-среды и критичность к производительности реального времени. Существуют и определенные проблемы со стандартизацией. Прежде всего это касается стандартов объединения Web-сервисов и обработки данных при передаче их между приложениями SOA. Сегодня наиболее широко представлены две их основные разновидности: спецификации JBI и SCA. Спецификация JBI (Java Business Integration) определяет компоновку сервисных контейнеров в композитные приложения и ориентирована на Java-платформы; ее поддерживают в первую очередь компании Sun Microsystems и Tibco Software. Спецификации SCA (Service Component Architecture) и SDO (Service Data Objects) описывают создание композитных приложений в разнородных средах. Основной движущей силой развития этих спецификаций стали IBM, BEA Systems, Oracle и ряд других компаний. 22 марта текущего года спецификации SCA и SDO были переданы разработчиками на ратификацию в качестве стандарта в OASIS, что вселяет надежду на появление единого отраслевого стандарта. Резюмируя сказанное, хотелось бы отметить, что анализ опыта реализации интеграционных проектов в России показывает, что сегодня не более чем в 30% из них концепция SOA используется оправданно. В то же время можно с уверенностью утверждать, что в ближайшие годы прирост этого показателя составит как минимум 5—10% ежегодно. |