SOA в России – переход от теории к практике Андрей Колесов заместитель главного редактора журнала BYTE/Россия (www.bytemag.ru) обозреватель еженедельника PC Week/RE (www.pcweek.ru) участник сообщества www.ItBlogs.ru к.т.н. Основные вопросы: •Предпосылки появления, исторический путь SOA •Краткий обзор стратегий ключевых игроков рынка SOA •Понимание проблематики SOA c учетом опыта ее применения в мире и в России (с учетом мнения поставщиков и заказчиков) 02.10.2008 SOA 2008, v. 3.0, Москва Кривая жизненного цикла интереса к SOA (Gartner, 2007) ? 02.10.2008 SOA 2008, v. 3.0, Москва 02.10.2008 SOA 2008, v. 3.0, Москва Интерес заказчиков Тема SOA в России IBM IBM Oracle Sun SAP Вендоры, СМИ MS SAP независимые конференции Заказчики, интеграторы Публикации в СМИ Зарубежные ИТ-СМИ 2005 2006 2007 2008 •SOA в России – переход от теории •«SOA: от концепции к реализации» к практике •«Путь к SOA не обещает быть простым» (www.pcweek.ru/themes/detail.php?ID=73882) •«Практическое построение SOA: борьба с мифами» (www.pcweek.ru/themes/detail.php?ID=73883) •«Опрос интеграторов» •Дискуссия на www.itblogs.ru •SOA: кому это выгодно? (www.pcweek.ru/themes/detail.php?ID=102628 ) 02.10.2008 SOA 2008, v. 3.0, Москва Сервисно-ориентированная архитектура (ноябрь 2006) 1. Почему мы додумались до этого только сейчас? 2. Что тут нового? 02.10.2008 SOA 2008, v. 3.0, Москва Исторический путь к SOA «SOA: переход от теории к практике» BYTE/Россия 06/2008, www.bytemag.ru/articles/detail.php?ID=12164 2 основных подхода к созданию автоматизированных систем управления предприятием: • использование единого комплексного решения, которое покрывает потребности заказчика полностью или в достаточно большой степени, но в любом случае представляет собой базовую платформу для создания и развития корпоративной системы; • применение композитной архитектуры, при которой функционал формируется с помощью разнородных бизнес-приложений. 02.10.2008 SOA 2008, v. 3.0, Москва Исторический путь к SOA Колебания популярности одного или другого метода представляет собой волнообразный процесс, при этом сами смещения в ту или другую сторону определяются двумя основными аспектами: изменениями в потребностях бизнеса и в предложениях со стороны ИТ: 02.10.2008 SOA 2008, v. 3.0, Москва Исторический путь к SOA Предпосылки появления SOA: • Завершение этапа базовой автоматизации предприятий • Начало этапа модернизации и развития информационных систем в условиях уже созданной ИТ-инфраструктуры Можно провести аналогии с процессом формирования городской инфраструктуры 02.10.2008 SOA 2008, v. 3.0, Москва Что такое SOA? Википедия: • • • • • Се́рвис-ориенти́рованная архитекту́ра — модульный подход к разработке ПО, основанный на использовании сервисов (служб) со стандартизированными интерфейсами. В основе SOA лежат принципы многократного использования функциональных элементов ИТ, ликвидации дублирования функциональности в ПО, унификации типовых операционных процессов, обеспечения перевода операционной модели компании на централизованные процессы и функциональную организацию на основе промышленной платформы интеграции. Компоненты программы могут быть распределены по разным узлам сети, и предлагаются как независимые, слабо связанные, заменяемые сервисы-приложения. Программные комплексы, разработанные в соответствии с SOA, часто реализуются как набор веб-сервисов, интегрированных при помощи известных стандартных протоколов (SOAP, WSDL, и т. п.) Интерфейс компонентов СОА-программы предоставляет инкапсуляцию деталей реализации конкретного компонента от остальных компонентов. SOA предоставляет гибкий и элегантный способ комбинирования и многократного использования компонентов для построения сложных распределённых программных комплексов. SOA хорошо зарекомендовала себя для построения крупных корпоративных программных приложений (???) Wikipedia: Service-oriented architecture (SOA) is a method for systems development and integration where functionality is grouped around business processes and packaged as interoperable services. SOA also describes IT infrastructure which allows different applications to exchange data with one another as they participate in business processes. SOA – возможность реализации ИТ-проектов без покупки новых аппаратных и программных средств (не помню, автора этой формулировки) 02.10.2008 SOA 2008, v. 3.0, Москва Основные игроки рынка SOA. Цели и средства SOA – это средство достижения бизнес-целей. А цели у всех разные! Заказчики •бизнес-пользователи •ИТ-подразделения Предложения ИТ-поставщиков: «Длинная дорога к вершинам SOA», BYTE/Россия 06/2007 (www.bytemag.ru/articles/detail.php?ID=6881) 02.10.2008 SOA 2008, v. 3.0, Москва Поставщики SOA-платформ (AMR Research, конец 2007 года) Использование интеграционных технологий различных поставщиков в проектах заказчиков: •Сегодня (конец 2007) не существует общепризнанного определения SOA, поэтому оценка состояния рынка и прогнозов его развития носит довольно условный характер. •SOA не является какой-то отдельной продуктовой или сервисной категорией, а представляет собой подход к созданию ИТ-проектов, с использованием ранее существовавших и вновь созданных технологий и услуг. •Фактически сегодня SOA в технологическом плане больше ассоциируется с интеграционными платформами различных вендоров, а также с такими технологиями как Web 2.0, управление бизнеспроцессами (Business Process Management, BPM) и интеграция корпоративных приложений (enterprise application integration (EAI). Именно в таком контексте имеет смысл говорить о каких-то долях рынка. 02.10.2008 SOA 2008, v. 3.0, Москва Мнения о SOA опрос читателей PC Week/RE, весна 2007 года www.pcweek.ru/themes/detail.php?ID=110251 Что такое SOA? 02.10.2008 Вы используете SOA? SOA 2008, v. 3.0, Москва Какие платформы используете? Понимание проблематики SOA c учетом опыта ее применения в мире и в России (с учетом мнения поставщиков и заказчиков) Публикации PC Week/RE лето 2008: Российская действительность SOA: мнение поставщиков • № 21/2008, www.pcweek.ru/themes/detail.php?ID=110251 Российская действительность SOA: опыт заказчиков: • • • • • № 21/2008, www.pcweek.ru/themes/detail.php?ID=110517 № 24/2008, www.pcweek.ru/themes/detail.php?ID=110761 № 25/2008, www.pcweek.ru/themes/detail.php?ID=111626 № 26/2008. www.pcweek.ru/themes/detail.php?ID=111859 № 27-28/2008, www.pcweek.ru/themes/detail.php?ID=112151 «SOA — итоги обсуждений в преддверье их продолжения» (№ 34/2008, www.pcweek.ru/themes/detail.php?ID=113620 02.10.2008 SOA 2008, v. 3.0, Москва 1. Что такое SOA? • SOA – это категория не технологическая, а методологическая. То есть это не набор программных продуктов, а архитектурный подход к созданию корпоративных информационных систем на основе композиции автономных функциональных модулей, представленных в виде ИТ-сервисов. • Речь идет преимущественно именно о системах в целом, а не об отдельных ИТ-проектах. SOA подразумевает возможность реализации конкретных ИТ-проектов на базе широкое применения уже используемых в организациях технологий и продуктов, а также внешних готовых сервисов, в интересах достижения быстрого эффекта с точки зрения бизнеса. • Вполне уместно говорить об уровне пригодности тех или иных программных средств для создания SOA-систем. • SOA в технологическом плане больше ассоциируется с решением задач интеграции приложений и управления бизнеспроцессами в распределенных гетерогенных средах. 02.10.2008 SOA 2008, v. 3.0, Москва 2. В чем новизна SOA? • • • • • Зачастую SOA ассоциируют исключительно с возможностью использования функциональных компонентов в виде Web-сервисов. Это слишком узкое понимание вопроса, поскольку для реализации SOA можно использовать и другие технологии. SOA можно рассматривать как альтернативу создания информационных систем на базе монолитных решений от одного вендора. Новизна SOA заключается в том, что в ней используются более высокоуровневые компоненты, которые в данном случае называются сервисами. При этом новый термин отражает качественное изменение содержания: если раньше компонент относился сугубо к технологической категории, то сервис ассоциируется с бизнес-функцией. Ключевое новшество SOA заключается даже не создание ИТ-сервисов, как таковых, а в реализации возможности создания и модернизации на их основе новых бизнес-процессов. Само появление SOA в значительной мере вызвано широким использованием бизнесом процессной модели управления предприятия и в целом SOA является отражением общей тенденции по усилению взаимосвязи ИТ и бизнеса. 02.10.2008 SOA 2008, v. 3.0, Москва 3. Всем ли нужна SOA? • • • • SOA – это лишь один из подходов к созданию корпоративных ИТ-систем. Его актуальность на современном этапе развитии бизнеса и ИТ растет, но это совсем не значит, что SOA подходит для всех компаний. В любом случае нужно понимать, что SOA – это средство, а не цель. Более того, SOA – это не единственный вариант решения интеграционных задач. SOA наиболее востребована на предприятиях с процессно-ориентированной моделью функционирования, там, где нужна высокая гибкость и скорость реакции бизнеса на внешние изменения. Можно констатировать, что SOA используют чаще всего сервисные организации, работающие с конечными пользователями, в секторах с высоким уровнем конкуренции (телеком, кредитно-финансовая сфера, страхование и т.д.). SOA хорошо подходит к реализации ИТ-систем социального назначения, но интерес к этому подходу со стороны государственных структур пока не очень велик, возможно, из-за невысокого конкурентного уровня в этой сфере. Использование SOA подразумевает наличие у компании долгосрочной стратегии бизнес-развития и достаточно высокую стабильность выделяемых ИТ-сервисов. Именно по этой причине SOA пока не находит должного применения в малом и среднем бизнесе. 02.10.2008 SOA 2008, v. 3.0, Москва 4. Участие бизнеса в реализации SOA • SOA сама по себе отражает повышение взаимосвязи ИТ и бизнеса, и во многом использование этой архитектуры связано с необходимостью повышения скорости реакции ИТ на запросы бизнеса. • По мнению наших экспертов – представителей заказчиков – непосредственное участие бизнеса в реализации SOA должно быть минимальным. Но при этом построение SOA явно обозначено в ИТ-стратегии предприятия, которая в свою очередь должна быть согласована с руководством. Скорее всего, требуется одобрение на высшем уровне и специальной ИТ-инфраструктуры (сервисной шины данных и пр.). • Нужна четкая формулировка требования со стороны бизнеса, но обеспечение их реализации бизнес-требований в SOAархитектуре – этом задача ИТ-подразделения. 02.10.2008 SOA 2008, v. 3.0, Москва 5. Кто должен создавать сервисы? • • • • Реализация SOA изначально подразумевает решение интеграционных задач. И в этом плане важную роль играет выбор и внедрение базовой SOA-платформы. Вопрос о создании функциональных ИТ-сервисов остается сегодня открытым. Два-три года назад в теоретических рассуждения о преимуществах SOA часто рисовалась идеальная картина, в которой бизнес-приложения были представлены в виде наборов сервисов. Однако жизнь показала, что поставщики прикладных решений совсем не спешат к реализации такого подхода в своих продуктах. На практике получается, что создание сервисов выполняется в ходе реализации конкретных проектов, в частности путем создание различного рода программных адаптеров (в том числе и с использование технологий Web Services) к тому или иному функционалу готовых бизнес-приложений. Именно поэтому эффективность реализации SOA-проектов обычно возрастает по мере увеличения их числа, за счет использования уже созданных сервисов. Для использования тиражных бизнес-решений в варианте SOA недостаточно лишь наличия средств логического представления функционала в виде сервиса. Принципиально важным является обеспечение производительности и масштабируемости системы, что обычно подразумевает необходимость радикальной переработки прикладных продуктов для работы в условиях SOA. 02.10.2008 SOA 2008, v. 3.0, Москва 6. Поддержка гетерогенных сред и внешних ИТ-сервисов • Появление SOA изначально подразумевало использование мультивендорных ландшафтов и гетерогенных сред и возможность применения внешних независимых ИТ-сервисов. • Но сейчас говорить о полной интеграции решений от различных поставщиков не приходится, и пока "мультивендорной" SOAархитектуры не существует. Но при этом выражается надежда на то, что общие SOA-стандарты появятся на рынке в ближайшее время. • В минимальной степени сегодня применяются внешние ИТсервисы вследствие их фактического отсутствия на нашем рынке. По мере роста популярности SOA можно ожидать появление подобных предложений на коммерческой основе от сервис-провайдеров, в том числе в рамках реализации модели SaaS (софт как сервис). 02.10.2008 SOA 2008, v. 3.0, Москва 6. Как меняют взаимоотношения заказчика и исполнителя? • • • В этом вопросе нет единства мнений. Кто-то считает, что организация работ про SOA и неSOA проектах принципиально не изменяется. Но все же чаще высказывается мнение, что роль и значимость ИТ-подразделения заказчика существенно повышается. Ведь в традиционном варианте генеральным подрядчиком обычно является внешний интегратор, который отвечает "за все", а ИТ-служба выполняет общий надзор за работой и принимает выполненный проект. В случае же SOA зачастую в проекте участвует несколько исполнителей и на ИТ-подразделение ложится ответственность за координацию их работ и за целостность всего решения. Ключевым моментом является наличие в общей SOA-системе предприятия базовой интеграционной платформы, внедрение которой обычно выполняет квалифицированный интегратор. Чаще всего реализация SOA подразумевает активное использование внешних ресурсов и услуг. При этом использование SOA существенно увеличивает возможности маневра ресурсами в рамках проектов, например, разделять их на потоки разработки по отдельным сервисам, расширить возможность выбора среди поставщиков решений. В то же время довольно часто заказчики реализуют SOA-проекты собственными силами, но при этом активно привлекают внешних консультантов. Но в этом случае речь идет об использовании модели аутстафинга (аренда персонала), а не аутсорсинга (услуги организаций). 02.10.2008 SOA 2008, v. 3.0, Москва 7. Использование SOA в России • Отечественный ИТ-рынок движется с некоторым запаздыванием вслед за мировым ИТ-рынком, и пока SOA воспринимается российскими заказчиками как нечто слишком абстрактное, в то время как на Западе накоплен огромный опыт построения SOAсистем. • Речь идет не о личной эрудиции ИТ-специалистов, а о реальной потребности организаций строить SOA. • Интерес к SOA в нашей стране растет. Уже в ближайшее время можно ожидать, что накопленный опыт в этой области может достичь критической массы, необходимой для широкого применения этого архитектурного подхода российским компаниями. 02.10.2008 SOA 2008, v. 3.0, Москва Спасибо! Вопросы? Андрей Колесов kolesov@pcweek.ru Публикации по теме SOA: www.visual.2000.ru/kolesov/soa.htm Отзывы, комментарии и предложения приветствуются! Любые! 02.10.2008 SOA 2008, v. 3.0, Москва