Для описания жизненного цикла ИТ-новшеств довольно часто используется известный график Gartner Hype Cycle. Однако, признавая авторитет автора данной модели, нужно отметить, что она все же далеко не в полной мере отражает присутствие на рынке новой технологии. Прежде всего, нужно помнить, что Hype Cycle — это отражение общественного интереса, скорее даже шумихи вокруг нее, уровень которой на начальном этапе жизни во многом искусственно подогревается рекламно-маркетинговыми усилиями поставщиков. А реальный спрос описывается совсем иной функциональной зависимостью (см. рисунок), которая, на наш взгляд, отличается монотонным поведением без резких изменений первой производной функции.
Однако, что еще важнее, на самом деле Hype Cycle представляется собой оптимистичный варианта развития событий: ведь далеко не каждое, в том числе и широко рекламируемое новшество, успешно переживает период “избавления от иллюзий” и продолжает пользоваться заметным общественным интересом, некоторые и вовсе не могут найти себе место в реальности. В качестве примера можно привести, скажем, Web-технологию AJAX, она пережила в 2006 г. пик очень заметного рыночного внимания, которое потом довольно быстро сошло на нет, и она просто исчезла с общественного поля зрения, не найдя широкого применения на практике. Впрочем, нужно сказать, что часто бывают и такие ситуации, когда Hype падает почти до нуля именно потому, что технология как раз твердо укрепляется на рынке, но становится при этом обыденной и PR-интерес к ней снижается (таких примеров очень много — ERP, .NET,…)
Если попробовать составить список хитов корпоративных ИТ заканчивающегося сейчас десятилетия, то в числе лидеров наверняка окажется концепция SOA (сервисно-ориентированная архитектура) *, Hype-пик которой длился несколько лет в середине 2000-х. Минимум пришелся примерно на 2007—2008 гг., и был момент, когда в перспективности этой идеи были серьезные сомнения. Но дальнейшее развитие событий (по крайней мере, в России) продемонстрировало жизнеспособность SOA: по мере спада маркетингового пыла ИТ-поставщиков, тему подхватили заказчики, уже получившие определенный опыт в данном направлении. Это показывало то, что данная проблематика преодолела стадию общеметодических рассуждений и благополучно перешла к этапу практического применения. Внешне это нашло свое отражение в том, что термин SOA почти перестал звучать на вендорских собраниях (уступив место “сгущающейся облачности”), но при этом сама тема перекочевала в независимые мероприятия, наиболее известные из которых — SOA-конференции, проводимые AHConferences с осени 2007 г.
В начале апреля прошла SOA 2010, пятая по счету, дискуссии которой в сочетании с ретроспективным анализом предыдущих мероприятий позволяют оценить ситуацию с использованием SOA в России в целом.
Общая ситуация
Уже сама общая атмосфера конференции отражала привычный статус SOA на рынке: здесь не было обсуждений, что это такое и зачем она нужна. Подавляющая часть докладов была посвящена практическим аспектам ее применения. Однако для лучшего понимания этих вопросов все же полезно сначала дать некоторой общий анализ итогов жизни SOА на текущий момент. Это нужно сделать еще и потому, что на самом деле мы находимся на начальной стадии широкого использования SOA, которая скорее всего будет одним из ключевых подходов для архитектуры облачных ИТ-систем нового поколения.
Напомним: основная идея SOA — это компонентная модель создания программных бизнес-решений на основе готовых, повторно используемых функциональных вычислительных объектов, которые в данном случае называются сервисами. Конечно, SOA не является чем-то принципиально новым для ИТ, ведь сама по себе компонентная модель — это одна из базовых концепций построения ИТ на протяжении всей истории вычислительной техники. Правильнее рассматривать термин SOA как наименование очередного этапа развития компонентных подходов к разработке информационных систем на базе появившихся новых технологических возможностей. Высокий же интерес к этой идее со стороны рынка во многом определялся растущим разочарованием пользователей в жестких монолитных прикладных системах (в первую очередь ERP), реализуемых по принципу “все в одном и от одного поставщика”, который доминировал на рынке во второй половине 1990-х.
Основную идею SOA можно сформулировать так: максимальная независимость архитектуры от конкретных технологий и платформ, что в том числе подразумевает использование открытых отраслевых стандартов для обеспечения взаимодействия компонентов. В качестве ключевых характеристик SOA обычно называют технологии Web Services и единую интерфейсную шину. Однако строго говоря, они в общем случае не являются обязательными элементами SOA. Еще одна важная концепция SOA — использование “слабых связей” между компонентами. Но нужно признать, что сама реализация такого взаимодействия оказалась пока явно невостребованной. В то же время SOA — это более высокий уровень абстракции компонентов-сервисов, переход с языка ИТ на язык бизнеса.
Пропаганда SOA велась ИТ-поставщиками в рамках развития традиционных тезисов “за” для компонентных моделей — повышения гибкости систем, снижения сроков разработки новых приложений, сокращения затрат, а том числе за счет повторного использования функционала существующих решений. Принципиально новой была возможность построения глобальных распределенных систем на базе интернет-технологий.
Применение SOA рассматривалось примерно в двух сценариях. Первый — быстрая разработка бизнес-решения преимущественно для малого бизнеса на основе различных готовых интернет-сервисов. Второе — построение крупных корпоративных систем на базе SOA с применением внутренних и внешних сервисов. Обратим внимание на то, что поначалу целью SOA было создание отдельных композитных приложений для определенных категорий пользователей. Лишь потом круг конечных задач был расширен за счет реализации более сложных функциональных сценариев на базе подходов управления бизнес-процессами.
Однако, несмотря на вроде явные плюсы SOA и массированную агитацию ряда ведущих поставщиков (но все же явно корпоративного уровня — IBM, Oracle, Sun), интерес заказчиков не смог перерасти в заметное расширение использования данной архитектуры на практике. Помимо традиционного консерватизма клиентов сказалось также отличное знание ими не только достоинств, но и недостатков компонентных моделей: существенное повышение проблем с надежностью и безопасностью, снижение производительности систем при прочих равных условиях, сложность проектирования и сопровождения в целом. К тому же нужно иметь в виду, что SOA — это далеко не единственный вариант решения задач интеграции в гетерогенных ИТ-системах.
Довольно быстро стало также понятно, что, несмотря на оптимистичные заявления вендоров, решить полностью вопросы совместимости технологий разных поставщиков все же не удается. А разработчики тиражных продуктов, в том числе отраслевых бизнес-решений, вопреки прогнозам, явно не спешили с созданием собственно сервисов, которые можно было бы использовать в прикладных решениях заказчиков. Да и сами корпоративные заказчики столкнулись в случае SOA с двумя внутренними проблемами.
Во-первых, для реализации SOA нужно было фактические менять традиционную ИТ-стратегию предприятия, которая подразумевала развитие ИТ в виде реализации последовательности отдельных, почти не связанных между собой проектов. Переход к SOA требует рассматривать все частные проекты как интегрированные компоненты единого ИТ-проекта в масштабе всего предприятия. Упрощенно говоря, для реализации нужна четко выработанная долгосрочная ИТ-стратегия, которой у многих, даже крупных компаний просто нет.
Во-вторых, переход к модели SOA переносит центр тяжести в ИТ-развитии компании на ее ИТ-службы (даже в случае использования аутсорсинга). С одной стороны, это вело к повышению значимости ИТ-подразделений, усилению связи ИТ и бизнеса, о чем вроде и мечтали многие ИТ-руководители. Но с другой — к повышению ответственности и объемов выполняемых работ многие ИТ-службы были явно не готовы.
Так или иначе, но можно говорить, что никакого массового перехода к SOA не состоялось, что, впрочем, и нужно было ожидать. В конце концов, надо понимать, что SOA — эта стратегическая тенденция, реализация которой будет проходить не так просто, как это могло показаться из рассказов поставщиков. Анализ выполненных SOA-проектов в нашей стране (информация о которых была доступна в последние годы), достаточно хорошо показывает возможные сферы применения данного концепции.
SOA наиболее востребована на предприятиях с процессно-ориентированной моделью функционирования, там, где нужна высокая гибкость и скорость реакции бизнеса на внешние изменения. Можно констатировать, что эту архитектуру используют чаще всего сервисные организации, работающие с конечными пользователями в секторах с высоким уровнем конкуренции (телеком, кредитно-финансовая сфера, страхование, транспорт и т. д.). Можно прогнозировать расширение сферы применения SOA, например, в государственном секторе, особенно при реализации систем социального назначения и предоставлении услуг населению.
Однако обобщение первого отраслевого опыта в этой области произошло как раз накануне кризиса, и он (опыт) оказался в силу понятных причин невостребованным. Но сейчас, в условиях начавшегося экономического восстановления и повышения внимания государства к использованию ИТ, продолжение обсуждения возможностей применения SOA представляется очень актуальным.
Имея в виду вот такую предысторию вопроса и его перспективу развития, можно посмотреть на ход обсуждения на SOA 2010.
Опыт последнего времени
Сам состав докладчиков наглядно свидетельствует о том, что передовой отряд пионеров освоения SOA в нашей стране составляет финансово-страховой сектор, где повышение эффективности работы с клиентами играет решающее значение.
Разговор об использовании SOA имеет смысл вести, только если на предприятии есть долгосрочная ИТ-стратегия. Но если у организации есть такая стратегия, то наверняка в ней уже имеются элементы SOA, даже если это слово там не обозначено в явном виде. Потому вопрос заключается только в том, что нужно четко выделить элементы этой архитектуры, планомерно расширять ее использование. Правда, сперва следует выяснить для себя — в каком объеме нужна вашей организации SOA.
Именно такие тезисы были обозначены в начале выступления директора ИТ-департамента ЮниКредит Банка Ярослава Медокса. Он подчеркнул, что для реализации SOA нужны не только серьезные инвестиции для создания базовой инфраструктуры, то и существенное повышение качества проектирования и тестирования всей системы и отдельных ее компонентов. Это требует применения промышленных инструментов и методологий разработки и внедрения ПО. Эффект от этого будет получен уже на последующих этапах жизненного цикла ИТ-системы предприятия за счет снижения затрат на разработку новых функциональных модулей и интеграции приложений. На примере своего банка он показал организацию работы филиалов одновременно в двумя АБС (автоматизированная банковская система) через единый порт-маршрутизатор: при использовании интеграции вида “точка — точка” обновления коснулись бы минимум 10 систем.
Эти положения подтверждаются и опытом работы группы “Ренессанс Кредит”, которая одной из первых в стране сделала ставку в построении своих ИТ на SOA. В кризисных условиях банк решил расширить спектр предоставляемых услуг, начав выдачу депозитных карт. Рассказывая об этот опыте, начальник отдела технической архитектуры и интеграции Олег Фирсов подчеркнул, что данный проект был реализован силами собственных программистов, при этом продукт полностью работает на сервисах, созданных ранее для кредитных схем. Он обратил внимание на необходимость повышения качества проектирования системы в целом, в частности в плане оптимальной грануляции сервисов и проработки программных интерфейсов. Он также посоветовал не увлекаться использования BPEL (применять эту технологию только для долгоживущих процессов), не загружать общую шину передачей больших массивов данных, не относящихся к работе собственно сервисов, и избегать долгих HTTP-сессий.
Реализация SOA требует использования серьезных высокопроизводительных программных платформ. И недаром именно их вендоры выступают главными проповедниками продвижения идей SOA. В середине 2000-х лидирующую позицию в деле агитации заказчиков заняла корпорация IBM, на основе технологий которой реализовано достаточно много проектов. Наиболее активный ее конкурент в этой сфере — Oracle, которая в последние годы активно расширяет свою SOA-платформу. Руководитель направления Oracle Fusion Middleware московского офиса Oracle Владимир Алексеев, говоря о возможности повышения эффективности использования ИТ в компаниях, сделал акцент на необходимость внедрения средств управления бизнес-процессами (BPM). Специалисты системного интегратора “Ланит” привели примеры применения технологий Oracle в нашей стране, которые еще раз подтверждают, что основная сфера применения SOA сегодня — предоставление финансовых и телекоммуникационных услуг населению.
Среди потока “банковской” тематики стоит выделить проект создания распределенной системы в Министерстве образования и науки РФ, реализованной на базе технологической платформы iJaNet российского разработчика “Джанет системс”. Отличие этой работы от других представленных на конференции заключается еще и в том, что она связана с реализацией не внешних услуг, а с управлением внутренней деятельностью. Впрочем, данный проект хорошо демонстрирует растяжимость самого понятия SOA и возможность решения интеграционных задач различными способами.
Об использовании сервисно-ориентированного подхода к автоматизации документооборота говорится уже довольно давно, но до сих пор эта тема была представлена в нашей стране больше на теоретическом уровне. Конференция показала возможности реализации SOA для решения подобных задач. По мнению главного ИТ-архитектора банка Cetelem Алексея Букавнева, проблема до недавнего времени заключалась в отсутствии удачных, признанных отраслью технологий (в качестве неудачных вариантов назывались Open Document Management API и Content repository API for Java). Однако ситуация изменилась в 2008 г. после объединения усилий ведущих поставщиков платформ ECM (управление корпоративным контентом) по созданию спецификаций Content Management Interoperability Services (CMIS), которые сейчас развиваются под эгидой OASIS (организация по стандартизации обработки структурированной информации). По мнению г-на Букавцева, именно SOA с использованием CMIS открывает хорошие перспективы применения продуктов Open Source для создания ECM-управления корпоративным контентом. В качестве примера была приведена система Alfresco, которая изначально создавалась на базе сервисной архитектуры.
Тема SOA+ECM получила интересное развитие в сообщении руководителя BMP/SOA-проектов страховой компании РОСНО Вячеслава Бутыркина: еще раз повторив тезис о возможности использования сервисного подхода для гибкой модернизации ИТ-систем прямо в процессе их эксплуатации, он в качестве примера привел переход в его компании к внедрению решения IBM Content Management вместо ранее применявшегося Alfresco. А в целом, подводя итоги реализации SOA-проектов в своей организации, представитель РОСНО еще раз подчеркнул высказанную ранее неоднократно мысль: эффект от базовых затрат на создание SOA-инфраструктуры становится ощутимым на последующих этапах развития ИТ-системы предприятия по мере реализации новых функциональных проектов.
*Хорошим качественным показателем общественной популярности термина является необходимость (низкая популярность) или наоборот неуместность (высокая популярность) раскрытия аббревиатуры в текстах публикаций.