Для описания жизненного цикла ИТ-новшеств довольно часто используется известный график Gartner Hype Cycle. Однако, признавая авторитет автора данной модели, нужно отметить, что она все же далеко не в полной мере отражает присутствие на рынке новой технологии. Прежде всего, нужно помнить, что Hype Cycle — это отражение общественного интереса, скорее даже шумихи вокруг нее, уровень которой на начальном этапе жизни во многом искусственно подогревается рекламно-маркетинговыми усилиями поставщиков. А реальный спрос описывается совсем иной функциональной зависимостью (см. рисунок), которая, на наш взгляд, отличается монотонным поведением без резких изменений первой производной функции. 

Однако, что еще важнее, на самом деле Hype Cycle представляется собой оптимистичный варианта развития событий: ведь далеко не каждое, в том числе и широко рекламируемое новшество, успешно переживает период «избавления от иллюзий» и продолжает пользоваться заметным общественным интересом, некоторые и вовсе не могут найти себе место в реальности. В качестве примера можно привести, скажем, веб-технологию AJAX, она пережила в 2006 г. пик очень заметного рыночного внимания, которое потом довольно быстро сошло на нет, и она просто исчезла с общественного поля зрения, не найдя широкого применения на практике. Впрочем, нужно сказать, что часто бывают и такие ситуации, когда Hype падает почти до нуля именно потому, что технология как раз твердо укрепляется на рынке, но становится при этом обыденной и PR-интерес к ней снижается (таких примеров очень много — ERP, .NET,…) 

Жизненный цикл технологий — публичный интерес и реальное применение

Если попробовать составить список хитов корпоративных ИТ заканчивающегося сейчас десятилетия, то в числе лидеров наверняка окажется концепция SOA (сервисно-ориентированная архитектура), Hype-пик которой длился несколько лет в середине 2000-х. Минимум пришелся примерно на 2007—2008 гг., и был момент, когда в перспективности этой идеи были серьезные сомнения. Но дальнейшее развитие событий продемонстрировало жизнеспособность SOA: по мере спада маркетингового пыла ИТ-поставщиков тему подхватили заказчики, уже получившие определенный опыт в данном направлении. Это показывало то, что данная проблематика преодолела стадию общеметодических рассуждений и благополучно перешла к этапу практического применения. Внешне это нашло свое отражение в том, что термин SOA почти перестал звучать на вендорских собраниях (уступив место «сгущающейся облачности»), но при этом сама тема перекочевала в независимые 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. 

Реализация SOA требует использования серьезных высокопроизводительных программных платформ. И недаром именно их вендоры выступают главными проповедниками продвижения идей SOA. В середине 2000-х лидирующую позицию в деле агитации заказчиков заняла корпорация IBM, на основе технологий которой реализовано достаточно много проектов. Наиболее активный ее конкурент в этой сфере — Oracle, которая в последние годы активно расширяет свою SOA-платформу.