Мы продолжаем обсуждение проблем SOA с российскими заказчиками (см. www.pcweek.ru/themes/detail.php?ID=110517, www.pcweek.ru/themes/detail.php?ID=110761, www.pcweek.ru/themes/detail.php?ID=111626 и www.pcweek.ru/themes/detail.php?ID=111859). На сей раз на вопросы обозревателя PC Week/RE Андрея Колесова отвечает Фарид Сулейманов, заместитель главного системного архитектора ОАО “Альфа-Банк”.
PC Week: SOA — это один из подходов к созданию ИТ-систем и реализации ИТ-проектов или это общий путь развития корпоративных ИТ-систем на современном этапе?
Фарид Сулейманов: Развитие корпоративных информационных систем не может определяться одним концептуальным подходом или архитектурным стилем. Его, наверное, можно определить как мейнстрим, в котором постоянно возникают и развиваются новые подходы и стили, отвечающие новым требованиям и условиям рынка. Надо иметь в виду, что корпоративные системы (например, в банковской сфере) являются весьма консервативными, закрытыми структурами и реализуются на базе специфических технологий. Существующий тренд к отраслевой стандартизации и развитию внутренних технологий в основном связан с тремя сегментами ИТ-рынка: ИТ-платформы общего пользования, прикладные коммерческие продукты и аутсорсинговые услуги.
Если говорить о SOA, то этот подход вначале возник как идея универсальной, межмашинной и межплатформенной интеграции ИТ-систем. До тех пор пока эта идея не обрела технологическую основу в виде промышленных платформ крупнейших вендоров, не стала поддерживаться поставщиками прикладных систем и ИТ-услуг, она практически никак не отражалась на развитии корпоративных систем. На сегодняшний день SOA является достаточно зрелым подходом для того, чтобы рассматривать ее как средство, инструмент повышения конкурентоспособности высокотехнологичного бизнеса, поэтому она и становится все более популярной. Вместе с тем вопросы и проблемы организации ИТ-обеспечения бизнеса являются очень сложными и многогранными, поэтому не могут быть решены одним способом, с помощью, так сказать, одной “волшебной палочки”.
PC Week: Есть ли критерии, по которым (хотя бы условно, на качественном уровне) можно было бы отличить SOA-проект от не-SOA?
Ф. С.: На мой взгляд, необходимо разделять проекты внедрения SOA и проекты автоматизации бизнеса с использованием SOA. Первые, естественно, отличаются от других проектов тем, что ставят непосредственно задачу внедрения какого-то фрагмента SOA (например, платформы ESB). Для бизнес-проектов SOA может являться лишь одним из аспектов, касающимся в первую очередь архитектуры реализации. Таким образом, SOA может качественно определять бизнес-проект в той степени, в которой архитектура вообще влияет на бизнес на данном предприятии. Говорить об использовании SOA в бизнес-проектах можно прежде всего, когда имеют место ориентация на использование готовых сервисов и создание новых универсальных сервисов. Сервисный подход “тянет” за собой применение платформ SOA-интеграции (ESB), а на более продвинутых этапах — платформ автоматизации процессов и сервисно-интегрированных портальных решений.
PC Week: В чем преимущества и недостатки (трудности) SOA-проектов?
Ф. С.: О преимуществах SOA-проектов можно говорить в той степени, в которой они реально дают бизнес-эффект. В конечном счете подход SOA направлен на увеличение гибкости ИТ-обеспечения при сохранении и росте его качества. Например, в результате внедрения универсальных сервисов сокращаются сроки и снижаются риски бизнес-проектов, которые используют (подключают) эти сервисы. Могут также быть результаты, связанные с улучшением нефункциональных свойств систем, например повышение управляемости и надежности интеграционных решений.
Ситуация схожа в чем-то с подходом в строительном бизнесе: если в проекте при строительстве дома изначально заложена гибкая и стандартизированная инфраструктура различных коммуникаций, то любой собственник или арендатор на уровне отдельной квартиры может быстро и эффективно реализовать различные конфигурации и перепланировки без сильных ограничений для себя и риска ущерба для других. Кстати, на этом примере можно увидеть и основные ограничения такого подхода — это, во-первых, большие стартовые общие инвестиции и, во-вторых, необходимость следования определенным стандартам.
При этом в отличие от возведения жилья реальный бизнес строится и перестраивается непрерывно как в каждой “бизнес-квартире” (подразделении), так и во всем “бизнес-доме” (предприятии), поэтому просчитать и обосновать преимущества одновременно на разных уровнях бывает очень сложно, если ни невозможно. По этой же причине трудно и реализовывать пилотные проекты SOA, поскольку в них общие инвестиции и риски проецируются на отдельные проекты, сильно ограниченные в сроках и ресурсах. С точки зрения управления разработкой и обеспечения сопровождения основной особенностью процесса движения к SOA является централизация ресурсов персонала, программного и технического обеспечения, что часто требует изменения подходов к управлению ИТ-подразделениями и взаимодействию с компаниями-поставщиками решений.
PC Week: Можно ли сформулировать общие рекомендации: когда SOA нужно применять обязательно или желательно и когда SOA нельзя применять ни в коем случае?
Ф. С.: SOA является архитектурным шаблоном (pattern) общей архитектуры предприятия, поэтому естественным является вопрос о границах или условиях его применения. Для архитектуры прежде всего важен масштаб бизнеса, предприятия. Если масштаб небольшой, то внутренние архитектурные процессы и подходы, скорее всего, не приоритетны и эффект от SOA будет проявляться через использование готовых к SOA (SOA-ready) коммерческих продуктов или через подключения к каким-то внешним сервисам. Для крупного предприятия существуют две области применения SOA — внутренняя оптимизация ИТ и непосредственная реализация бизнес-проектов.
Для первой области можно утверждать, что SOA можно и нужно применять как один из эффективных способов улучшения качества ИТ-обеспечения, для бизнес-проектов же необходимо сначала сформулировать цели, стратегию и тактику применения SOA. Мировая практика применения SOA выделяет как наиболее значимые следующие цели внедрения: достижение гибкости, инновационности, управляемости и масштабируемости систем. Соответственно основным критерием для отбора бизнес-проектов и направлений является то, насколько эти проекты и направления востребуют возможности SOA. Если бизнес не растет активно в части расширения услуг, увеличения объемов операций, не оптимизирует свои внутренние бизнес-процессы, если он не видит в инновациях инструмента повышения конкурентоспособности, то применение SOA, скорее всего, не даст эффекта, а только существенно увеличит затраты.
PC Week: Предполагает ли SOA более активное участие бизнеса в планировании и в реализации ИТ-проектов?
Ф. С.: Степень и характер участия бизнеса в ИТ-проектах зависит от его особенностей и зрелости. Современным трендом, например, банковской отрасли является быстрый рост высокотехнологичных услуг (Интернет, SMS и т. д.), при реализации которых активно используются подходы SOA. В этих направлениях ИТ-обеспечение становится непосредственным бизнес-инструментом, и результата можно добиться только при очень тесном сотрудничестве бизнеса и ИТ как при планировании, проектировании, так и на стадиях реализации и эксплуатации систем. Как уже отмечалось, SOA является частью общего архитектурного процесса предприятия, который включает в себя управление как ИТ-архитектурой (инфраструктура, архитектура приложений, архитектура информации), так и бизнес-архитектурой (архитектура бизнес-процессов, бизнес-структура и т. д.). Таким образом, чем более зрелым (с точки зрения применяемых технологий) является бизнес и чем более развит архитектурный процесс предприятия, тем интенсивнее взаимодействие ИТ и бизнеса в проектах автоматизации в части применения современных подходов SOA.
В то же время в больших корпоративных системах существует очень много задач по оптимизации взаимодействия между различными приложениями. Эффективным решением задач интеграции приложения является сервисный подход, который может применяться и как стиль, и как подход, например, в рамках проектов обеспечения производительности и надежности всей системы интеграции информационной системы. Именно таким путем двигался наш банк на первом этапе внедрения SOA.
PC Week: Изменяется ли в случае SOA соотношение участия в реализации проекта ИТ-подразделения заказчика и внешних исполнителей (консультантов, интеграторов)?
Ф. С.: Отношения между заказчиком и исполнителем изменяются в сторону активного использования внешних ресурсов и услуг. Внедрение SOA существенно увеличивает возможности маневра ресурсами в рамках проектов, так как появляется возможность разделять их на потоки разработки по отдельным SOA-компонентам (например, сервисам), ставить задачи универсальным образом, тем самым потенциально увеличивая выбор среди поставщиков решений. SOA стимулирует переход от внутренней корпоративной закрытости, специфичности решений к внутренним и отраслевым стандартам.
В качестве примера отраслевого стандарта можно привести проекты подключения банков к НБКИ (национальным бюро кредитных историй) через коммерческие шлюзы, поддерживающие технологию веб-сервисов. В целом можно сказать, что движение идет в сторону перераспределения функций проектной интеграции и разработки, использования внешних исполнителей и ресурсов при сохранении и увеличении внутри предприятия роли архитектурного контроля, общего менеджмента проектов, централизованного сопровождения.
PC Week: Насколько реально создание SOA-систем в условиях использования мультивендорных технологий, в том числе с применением внешних независимых ИТ-сервисов?
Ф. С.: С точки зрения Gartner, будущее за мультивендорными технологиями. В нашей сегодняшней практике мы ограничиваем возможные варианты развиваемых решений через корпоративные стандарты, которые определяют приоритетные платформы, в том числе и в развитии SOA. Основной проблемой мультивендорных решений являются риски и затраты на владение этими решениями, поскольку их необходимо поддерживать и развивать одновременно, используя ресурсы ИТ. Должно быть реальное обоснование использования нескольких платформ разных вендоров в одной ИС. Возможным вариантом может быть проект приобретения прикладной системы, имеющей, например, собственную шину ESB или сервер BPM на платформе, отличающейся от корпоративного стандарта.
PC Week: Какова ваша общая оценка востребованности SOA на российском ИТ-рынке со стороны заказчиков?
Ф. С.: Российский ИТ-рынок движется с некоторым запаздыванием вслед за мировым ИТ-рынком. В нашем банке есть уже опыт приобретения и внедрения готовых бизнес-систем, построенных на стандартах SOA. Причем выбор систем обосновывался прежде всего их функциональностью, а не архитектурой. То есть рынок предложений готового (“коробочного”) прикладного программного обеспечения постепенно смещается в сторону SOA-решений. Что касается внешних интеграторов и разработчиков, то они достаточно быстро перестраиваются под современные тенденции. Сейчас, наверное, трудно найти компанию, которая бы не предлагала услуги в области построения решений в стиле SOA. Другое дело, что уровень экспертизы в этой области пока что не такой высокий, как хотелось бы. Это связано с тем, что на нашем рынке еще мало реальных крупных проектов с широким применением подходов SOA.