ЭДУАРД ДОЛГАЛЕВ, выпускник МГУ и MBA Высшей школы международного бизнеса АНХ, к.т.н, руководитель направления по продажам ПО WebSphere IBM в России и СНГ
SOA. Взгляд шире!
Это не просто набор стандартов и технологий
Многие относятся к SOA-технологиям настороженно, если не сказать отрицательно. Но SOA – не миф. Это новый взгляд на работу и место ИТ в бизнесе.
Что скрывается за SOA?
SOA (Services Orientated Architecture) – сервисно-ориентированная архитектура построения информационных систем. Этот подход основан на выделении сервисов (функций) и последующем их повторном использовании. Выделять общие части программного кода, скрывать логику выполнения функции за названием, а затем ее многократно использовать – это первое, что придумали программисты и продолжают активно практиковать до сих пор. Такой подход существенно сокращает затраты на техническую поддержку, модификацию информационных систем.
По моим наблюдениям с наибольшим недоверием к SOA относятся специалисты, которые имеют какой-либо опыт программирования. Для них выделять сервисы, а затем их повторно использовать – прописные истины. Но почему тогда так много внимания уделяется SOA сегодня? Почему это обсуждается, как некий революционный подход?
Попробуем разобраться.
Действительно, SOA основано на выделении общих частей информационных систем, оформлении их в сервис и повторном использовании сервисов. Очевидно, что повторное использование существенно экономит средства компании.
Другое важное завоевание SOA состоит в следующем. SOA позволяет бизнес-пользователям информационных систем получить доступ непосредственно к программному коду, написанному программистом.
Если раньше функции, написанные программистом, были спрятаны в упаковку черного ящика откомпилированного программного кода, то сегодня они приобрели для бизнес-пользователей вполне конкретные очертания, с ними стало возможно работать. Сегодня бизнес-пользователь сам может определять, когда и как будет вызвана функция (сервис), написанная программистом. При этом на экране бизнес-пользователь видит не программный код функции, а симпатичную картинку, которую он перемещает по экрану, вбивая данные в удобные экранные формы графического редактора.
Необходимо отметить, что цена за такое удобство – дополнительный программный код, который будет автоматически создан графическим редактором. Как следствие, информационные системы работают медленнее, чем, если эти изменения были бы проведены программистом непосредственно в коде. Раньше дополнительные издержки были недопустимы и ограничивались производительностью вычислительных машин. Сегодня, на фоне значительного роста мощности аппаратных ресурсов, такие издержки стали более чем незначительны.
Итак, бизнес дотянулся до программного кода. Бизнес-пользователь получил инструмент для работы с программным кодом. Теперь бизнес-пользователь может самостоятельно определять и изменять согласованную работу информационных систем (сервисов). Это, по моему мнению, и есть главное завоевание SOA.
Однако важно понимать, что речь не идет обо всем программном коде! Бизнес-пользователю интересны только те функции (сервисы), которые обеспечивают выполнение конкретных бизнес-задач. Например, «открытие счета», «пополнение счета», «отправление SMS-сообщения» и т.д. Бизнесу неинтересен программный код, который скрывается за этими сервисами. Бизнесу важно, что при вызове сервиса в информационных системах компании будут выполнены корректные операции, соответствующие данной бизнес-операции.
Чтобы понять значимость этого, необходимо оторваться от технологий и посмотреть на ИТ с точки зрения бизнеса. Он сегодня все чаще сталкивается с ситуацией, когда скорость вывода новых услуг или продуктов определяет успешность компании на рынке и победу над конкурентом.
При этом гибкость и маневренность бизнеса во многом определяется гибкостью и готовностью к изменениям информационных систем и ИТ в целом. Неготовность ИТ к быстрым изменениям становится сдерживающим фактором при завоевании компанией новых рынков.
Таким образом, с одной стороны, технологии готовы предоставить бизнесу новые рычаги для управления, а с другой – бизнес сегодня крайне заинтересован в увеличении гибкости и маневренности на высоко-конкурентных рынках, ему необходимы новые идеи и инструменты для управления. Все это объясняет рост интереса к SOA.
Единая виртуальная информационная система компании
SOA позволяет сопоставить бизнес-задачи с функциями программного кода информационных систем. Для того чтобы заработало SOA, в компании разворачивается программное обеспечение, которое формирует дополнительный слой над всеми информационными системами компании. В этом слое с помощью сервисов (бизнес-задач), определяемых бизнес-пользователями, формируется единая виртуальная информационная система. В этом слое формируются новые услуги и продукты компании.
Дополнительный слой позволяет отделить жизненный цикл новых услуг от жизненного цикла самих сервисов и информационных систем. С появлением SOA компания перестает быть зависимой от поставщиков информационных систем. Логика каждой новой услуги теперь не является частью информационной системы, она становится достоянием компании. Отныне поставщикам информационных систем раздаются задания не на реализацию новых услуг, а на предоставление сервисов.
Влияние SOA на организационную структуру
Как было отмечено выше, не все функции, написанные программистом, нужны бизнесу на уровне сервисов. Необходимо выделить сервисы, которые будут востребованы. Поскольку дополнительный слой формирует единую виртуальную информационную систему, то, очевидно, для этого слоя помимо определения сервисов необходимо подготовить и свою модель данных, понятную бизнесу и реализованную на языке бизнеса. Причем разработка модели данных часто не уступает в сложности задаче выделения сервисов. Таким образом, мы определили еще одну важную составляющую SOA – это модель данных.
Итак, две составляющие: сервисы и модель данных, от которых будет зависеть успех использования SOA в компании. Мы подошли к важной роли SOA – роли архитектора, на которого возлагается задача отделить «зерна от плевел»: правильно определить модель и форматы данных, принять решение, какие функции необходимо поднимать до уровня бизнеса и т.д. Устойчивость системы, ее жизнеспособность теперь во многом зависит от архитектора. Зафиксированные архитектором сервисы и данные становятся стандартом для вашей компании. При выборе новой информационной системы эти стандарты превращаются в требования к взаимодействию новой системы с информационной системой компании.
Роль архитектора возрастает и в глазах бизнеса. От архитектора теперь зависит, насколько удобными для бизнеса будут новые рычаги управления. Понимая это, во многих компаниях даже создаются специальные комитеты, где принимаются решения об изменении модели данных и сервисов.
Теперь становится понятно, что использование SOA не только привносит новые технологии, но и может влиять на изменения в организационной структуре компании.
Смещение акцентов с систем на сервисы
Помимо организационных изменений SOA смещает акцент с монолитных информационных систем в сторону сервисов. Внимание бизнеса переключается с названий и поставщиков информационных систем на качество и доступность нового сервиса. Теперь компания может работать не с лучшими поставщиками информационных систем, а с лучшими поставщиками сервисов. Это могут быть небольшие компании, но лучшие в предоставлении конкретного специализированного сервиса. Бизнес получает прекрасный инструментарий, ИТ и бизнес получают большую маневренность в работе с поставщиками.
Происходит важное изменение и в мировоззрении сотрудников: центры компетенции и ответственности начинают смещаться от крупных монолитных систем в сторону сервисов, качества предоставления сервисов и т.д.
Некоторые компании идут дальше, бизнес ранжирует сервисы по степени важности, определяет и контролирует соглашения об уровне качества предоставления сервисов (SLA). Самые передовые компании даже начинают считать доходность сервисов.
Таким образом, новые технологические решения, пришедшие вместе с SOA, обеспечивают большую гибкость бизнеса, сокращают время вывода новых услуг, позволяют больше зарабатывать и отвоевывать новые рынки. При этом меняются взаимоотношения бизнеса и ИТ, меняются правила работы с поставщиками систем, меняется даже организационная структура компании. Все перечисленное, на мой взгляд, и является причиной такого пристального внимания к SOA. И часто, обсуждая SOA, подразумевают все или часть вышеперечисленных изменений.
Требуйте SOA!
Нужно ли SOA вшей компании? Предположим, разработка, модификация систем осуществляется внешней командой. Вы ставите задачи, определяете правила приемки работы. В результате в заранее определенные сроки получаете результат. У вас отлаженный процесс работы, предсказуемые сроки и понятный процесс вывода новых услуг. Зачем вам использовать SOA?
Если в вашей компании не обсуждают SOA-стратегии, это не означает, что SOA бесполезно и вам ни к чему в этом разбираться. На самом деле, SOA в вашей компании уже есть. У вас уже есть сервисы, которые повторно используются, есть модель данных для согласованного взаимодействия сервисов, реализован механизм поддержки жизненного цикла сервисов и т.д.
Где же спрятано SOA? Искать его необходимо в новых черных коробках или адаптированных под вашу компанию модулях информационных систем, которые приносят ваши поставщики. Там уже есть сервисы (функции) и они уже хорошо стандартизованы и активно переиспользуются.
С каждой новой доработкой стоимость модификации системы становится дешевле за счет повторного использования сервисов. С каждой новой доработкой ваш поставщик все меньше тратит время на разработку новых сервисов, все больше акцент смещается в сторону лишь настройки согласованной работы уже существующих сервисов.
У поставщика вашей информационной системы снижаются издержки, одновременно растет маржа выполняемых работ. При заключении нового договора на модификацию системы SOA работает и помогает зарабатывать. Но не вам, а поставщику! Для вас мир SOA закрыт черной коробкой, которую вы получаете после выполнения очередного договора.
Теперь посмотрим, что происходит в вашем ИТ. Получить решение, пусть и в черной коробке, в фиксированные сроки с ожидаемой функциональностью – это отличный результат. Этот подход позволяет решить текущую задачу бизнеса. Это вполне приемлемо в краткосрочной перспективе. Но в долгосрочной перспективе с каждой новой черной коробкой вы все больше попадаете в зависимость от поставщика. Информационные технологии изменчивы. Меняются лидеры рынка информационных систем, появляются новые классы специализированных систем. Если ваша компания стремится стать лидером рынка или остаться работать на высококонкурентном рынке, ваши бизнес-лидеры должны постоянно что-то изобретать и предлагать своим клиентам. А это неминуемо требует внедрения новых специализированных решений и систем.
Рано или поздно, наступит момент, когда от каких-то черных коробок придется отказаться. Но какова будет цена такой замены? Что, если пара черных коробок, требующих замены, упакована в один металлический контейнер (монолитной информационной системы), который вы так долго финансировали? Из-за пары коробок в утиль пойдет все, включая те коробки, которые устраивают и обеспечивают работу части вашего бизнеса, не требующего модификации сегодня.
Что останется у вас после отправки контейнера в утиль? Бизнес-процессы? Сервисы? Модель данных? – Ничего! Ваше время, потраченное на обсуждение, проектирование бизнес- или технологических процессов, уникальные идеи и находки, также отправится в утиль, вслед за контейнером. Помимо внедрения новой функциональности теперь вам потребуется восстановить прежнюю, которая была уже однажды адаптирована для вас прежним поставщиком системы. Стоя перед блестящим новым контейнером с новыми коробками вам придется начать работу с чистого листа!
Разве это плохо? Ведь это вызов для ИТ-специалистов, это новая творческая работа для ИТ-специалистов. Это новые ИТ-бюджеты, новый штат сотрудников.
Это плохо для бизнеса! Решая краткосрочные задачи, ваш бизнес лишил себя возможности повторно использовать потраченное уже однажды время, уникальные идеи и находки, однажды уже реализованные. Стоя перед новым контейнером, ваш бизнес очутился на пороге революции, размеры и сроки которой зависят от размера контейнера. Сможет ли ваш бизнес пережить эту революцию? Хватит ли средств на замену? Как скажется на бизнесе потеря части функциональности или временная их недоступность?
Всего этого можно было избежать, если бы из каждой коробки к информационной системе компании вел интерфейсный шнур – это и есть сервис. Но готов ли пойти на это поставщик монолитной системы? Передать сервис клиенту, означает, что теперь клиент будет повторно использовать сервис, а новые услуги могут уже создаваться без привлечения поставщика системы. Для поставщика это означает существенную потерю доходов. Тем не менее, в нынешней экономической ситуации дробление монолитных систем на сервисы происходит. Это происходит с поставщиками, которые еще несколько лет назад не хотели даже слышать об этом. Требуйте SOA! Требуйте от поставщиков реализации сервисов, а не услуг!
А где деньги?
Общаясь со специалистами из различных индустрий, для ответа на этот вопрос я всегда рекомендую обратиться к графику длинного хвоста. Предположим, мы смогли перенумеровать все социальные и другие разновидности групп своих клиентов. Предположим, мы аналогично пересчитали всевозможные услуги, которые ваша компания оказывает и могла бы оказывать. Строим график, где по вертикальной оси откладываем количество людей в группах, по горизонтальной оси наносим пронумерованные услуги по мере убывания их популярности у ваших клиентов. В итоге получится гипербола (см. рис. 1). А теперь задайте себе вопрос: где сегодня зарабатывает ваша компания? Ваши услуги заканчиваются недалеко от начала координат, а площадь под гиперболой от начала координат до самой непопулярной вашей услуги – и есть зарабатываемые вами сегодня деньги.
Рисунок 1. График длинного хвоста
Площадь под кривой, которая прижимается к горизонтальной оси – это доходы, которые остаются без вашего внимания. И нетрудно понять, что они соизмеримы с вашими текущими доходами.
Аналогичную кривую можно нарисовать для соответствия бизнес-процессов и количества людей, которым необходима их автоматизация. Готова ли ваша компания запустить проект по выводу услуг для сообщества социальной среды, состоящей из десяти человек? Готова ли ваша компания начать проект по автоматизации бизнес-процесса для трех специалистов маркетинга, когда запускается тестовая маркетинговая компания на две недели?
При традиционном подходе это окажется нерентабельным: расходы на проектную команду, проектирование, тестирование... И главное, сроки. Если новый бизнес-процесс не заработает в течение нескольких дней, это потеряет актуальность.
Инновации IBM в SOA
Сегодня IBM предлагает SOA-решения, которые позволяют компаниям охватить бизнес из длинного хвоста: управления бизнес-правилами – WebSphere ILOG BRMS, система корреляции различных событий в нескольких системах – WebSphere Business Events, система построения ситуационных систем на основе виджитов – WebSphere sMash.
Продукты, составляющие основу линейки WebSphere для построения SOA, постоянно совершенствуются. Особое внимание уделяется сокращению времени разработки и модификации. Например, в WebSphere BPM появилась технология Business Spaces, основанная на виджитах. Теперь бизнес-пользователь в браузере с помощью мышки сам может собирать удобный для него интерфейс, без привлечения программиста. В WebSphere BPM бизнес-пользователь получает возможность самостоятельно спроектировать не только экранные формы, которые потом будут автоматически созданы, или бизнес-процессы, но и возможность самостоятельно отлаживать и прогонять бизнес-процессы.
Помимо программного обеспечения IBM предлагает для построения SOA фрейморки для различных индустрий с готовой моделью данных, бизнес-процессами и даже прописанными сервисами. Для отдельных индустрий IBM предлагает платформы, которые существенно расширяют даже модель бизнеса. Например, для «Телеком» – это платформа SDP (Service Delivery Platform), которая позволяет любому желающему создавать программы, где используются сервисы «Телеком-оператора». Тем самым с помощью программистов-энтузиастов Телеком-оператор охватывает интересы небольших групп клиентов.
Можно ли прикоснуться к SOA?
Да! Сегодня IBM предлагает аппаратное решение – семейство WebSphere DataPower SOA Appliances. Это совершенно новый класс решений. Устройства на аппаратном уровне оптимизированы для работы с сервисами, для их маршрутизации, трансформации и обработки.
Решения из семейства WebSphere DataPower SOA Appliances обеспечивают работу с цифровыми подписями, шифрованием трафика и отдельных частей передаваемой информации, реализует аутентификацию и авторизацию. Устройства обеспечивают проксирование сервисов, ведение SLA и мониторинг. Помимо многофункциональности хотелось бы выделить основные особенности семейства устройств:
- производительность;
- простота в использовании и обслуживании;
- быстрое внедрение;
- быстрый возврат инвестиций.
Новое семейство устройств быстро завоевало признание специалистов. WebSphere DataPower SOA Appliances обладатель ряда призов. Сегодня IBM предлагает уже пять аппаратных решений из этого класса.
К различным характеристикам SOA теперь добавляется вес и цвет!
Рисунок 2. WebSphere DataPower SOA Appliances
***
Надеюсь, в этой статье мне удалось пролить свет на SOA и показать, что это не просто набор стандартов и технологий. В первую очередь, это новый подход к взаимодействию бизнеса и ИТ, новый взгляд на работу и место ИТ в бизнесе. За стандартами и технологиями, реализующими SOA, тянутся изменения в организационной структуре компании, смещаются акценты при построении ИТ, меняются правила работы с поставщиками информационных систем. Перед компаниями открываются возможности построения новых моделей бизнеса.