Нынешней осенью на прошедшей в Редмонде (США) конференции SOA & Business Process корпорация Microsoft впервые публично представила свою стратегию в области SOA (сервисно-ориентированная архитектура) и управления жизненным циклом композитных приложений, анонсировав при этом новый набор технических инициатив под кодовым названием Oslo (см. PC Week/RE, № 42/2007). Спустя месяц, в конце ноября, этой теме была посвящена отдельная секция в рамках состоявшейся в Москве конференции “Microsoft -- Платформа 2008”. Однако что интересно: первое представление в России видения корпорацией SOA-проблематики было доверено независимому эксперту Дэвиду Чеппеллу (David Chappell)*. С ним беседует обозреватель PC Week/RE Андрей Колесов.

PC Week: SOA — тема далеко не новая для ИТ-рынка. Однако до последнего времени было очевидно, что Microsoft откровенно избегала этого термина, когда речь касалась подходов к созданию корпоративных ИС . Вам не кажется, что корпорация несколько запоздала в маркетинговом плане с объявлением своей SOA-стратегии, вернее, с применением слова “SOA” к тому, чем в общем-то она давно занимается?

Дэвид Чеппелл: Если коротко, то да, я согласен с вами. И это обидно, потому что на самом деле именно Microsoft внесла очень значительный вклад в формирование концепции SOA, в то, что этот подход стал такой горячей темой для ИТ. Хотя я должен сразу подчеркнуть, что SOA подразумевает сегодня использование разного рода функциональных сервисов, но все же на практике речь преимущественно идет о Web-сервисах. Именно реализация этой технологии позволила представить в общем давно известную идею компонентной модели распределенных неоднородных систем в современной форме SOA.

Но тут нужно вспомнить, что основой Web-сервисов является ряд созданных в начале этого десятилетия интернет-протоколов, ключевой из которых — SOAP, разработанный по инициативе и при активном участии Microsoft (в тандеме с IBM. -- Прим. ред.). Более того, с тех пор вся разработка ПО в компании шла таким образом, чтобы ее продукты и технологии хорошо вписывались во взаимосвязи на базе SOAP. В наиболее законченном виде это представлено в технологии связующего слоя Windows Communication Foundation, которая входит в набор .NET Framework 3.0, являющийся, в свою очередь, основой создания всех современных продуктов Microsoft.

Другое дело, что действительно Microsoft раньше избегала термина SOA, используя, например, название “соединенные приложения”. Впервые она применила его еще год назад на своей конференции по бизнес-процессами, но тогда это прозвучало не очень громко. В полный голос же об этом было заявлено только месяц назад.

PC Week: У нас в России и заказчики, и ИТ-компании, занимающиеся реализацией проектов, по сути только сейчас стали воспринимать SOA как реальный подход к созданию корпоративных систем. Вместе с тем за последние два года они просто устали от маркетингового “SOA-давления” со стороны вендоров. Так что выбор момента для публичного выхода Microsoft с идеями SOA можно назвать одновременно и удачным, и неудачным. Что вы думаете по этому поводу?

Д. Ч.: Опять же соглашусь с вашими оценками в целом. Они в общем-то верны, причем не только для вашей страны, но и для США и Европы. Кажется, именно так оценивают ситуацию и аналитики Gartner, у которых на своей кривой “жизненного цикла инноваций” SOA как раз в этом году проходит критическую точку падения интересов, после которой начинается реальное применение технологии на практике.

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

При этом мы должны понимать, что это именно концепция, а не свод четко прописанных регламентов по созданию конкретных систем. Это означает, что уровень применения подходов SOA на практике может очень различаться для разных организаций. Более того, я совершенно уверен, что доля компаний, которые смогут полностью перейти на мировоззрение SOA и тем более реализовать его в своей работе, будет не столь уже велика. Но в той или иной мере идеи SOA могут применить очень и очень многие предприятия.

Никто не говорит о том, что SOA можно построить “с чистого листа”, проигнорировав существующую ИТ-инфраструктуру клиента. Нет, речь идет о долгосрочном эволюционном процессе преобразования этой инфраструктуры с ориентацией на сервисы. И архитекторам, которые занимаются планированием такого развития, нужно хорошо разбираться в концепции SOA. И конечно же ее должны учитывать разработчики ПО в создаваемых уже сегодня продуктах.

PC Week: Наверное, тут нужно сказать о связи SOA и бизнес-процессов. Недаром Microsoft рассматривает SOA и BPM [Business Process Management] в едином контексте.

Д. Ч.: Вы это очень точно подметили, и я как раз хотел акцентировать на этом внимание. SOA и BPM — две стороны одной медали. Сервисы нужны не сами по себе, а для использования в бизнес-процессах, процессный же подход к управлению базируется на четко выделенных сервисах.

PC Week: На одной российской конференции по теме SOA обсуждалось, каким компаниям по силам реализовать эти идеи в полном объеме на практике и кому это нужно с точки зрения требований бизнеса. В основном превалировали мнения, что с этим справятся лишь крупные организации и те, работа которых в значительной степени завязана на динамическую адаптацию ИТ к изменяющимся потребностям бизнеса. Что вы думаете по этому поводу?

Д. Ч.: Я бы сказал так: главным является не размер предприятия, а понятная стратегия его развития. А вот с востребованностью динамических ИТ я полностью согласен, но тут как раз вижу, что интерес к этому в более значительной мере проявляют представители малого и среднего бизнеса, которые, по моему мнению, работают в основном на российском рынке. В плане внедрения SOA я бы советовал ориентироваться на сугубо технологический прагматичный подход, избегая чрезмерной идеологизации в виде, скажем, лозунга “SOA любой ценой”.

PC Week: Мне кажется более логичным, если бы первое представление своего SOA-подхода (именно так и было на нынешней конференции "Платформа" в России) сделали специалисты Microsoft. Но они поручили эту миссию вам, независимому эксперту. Реакция аудитории последовала уже тем же вечером: в одном из блогов появилось едкое замечание по поводу готовности корпорации к самостоятельному обсуждению этой темы. Как вы относитесь к этой ситуации?

Д. Ч.: Мне кажется, дело тут не в квалификации местных сотрудников, а в том, что философия SOA еще недостаточно проработана на уровне корпорации и даже в Редмонде трудно получить непротиворечивую информацию по этому вопросу. В такой ситуации менее формальное обсуждение темы, в данном случае с моим участием, представляется вполне оправданным.

Но со своей стороны я бы хотел вернуться к вопросу “запаздывания” Microsoft в продвижении идей SOA. Ранее я сказал — очень жаль, что так происходит. Но в то же время это имеет и вполне объективные причины.

Хотя мы говорили о технологической базе SOA, нужно сказать, что все же реализация данной концепции лежит преимущественно в области консалтинга (вспомним о связи с BPM). Кто первым начал продвижение SOA? Это была IBM, и я беру смелость утверждать, что произошло это именно потому, что Голубой гигант — в первую очередь консалтинговая, а не софтверная компания. Соответственно почему Microsoft фактически стала последней в списке официальных приверженцев SOA? Да потому, что это сугубо технологический вендор, доля услуг в бизнесе которого минимальна**.

PC Week: Многие специалисты воспринимают SOA как обычный маркетинговый ход со стороны вендоров, наблюдая, как новые SOA-продукты в их арсенале появляются в результате простого прибавления приставки SOA к названиям ранее известных решений. Надо отдать должное: Microsoft пока так не делает. Но это тоже встречает критику со стороны потребителей: “Редмонд даже не удосужился сменить название, просто сказав, что, дескать, наши известные продукты -- это и есть SOA-решения”.

Д. Ч.: Мне кажется, позиция Microsoft в данном случае является более честной. Вообще мы должны сознавать, что ИТ — это очень сложный бизнес, внутри которого имеется сильное противоборство между собственно технологиями и маркетингом. Например, разработчикам хочется вывести продукт в технологически завершенном состоянии, а маркетологам — в момент подходящей рыночной ситуации.

Я хорошо помню конференцию Gartner, на которой IBM впервые объявила о своем первом ESB-решении [Enterprise Service Bus]. Тогда в кулуарах специалисты IBM мне рассказывали, какие баталии у них были по поводу этого названия: его предлагали маркетологи, а технари были против. Там одержал верх маркетинг, а в случае Microsoft, судя по всему, — программисты. Опять же потому, что в Редмонде главные – именно разработчики.

PC Week: Что ж, тогда давайте вернемся к технологиям. Все же SOAP — это не единственная основа SOA. Еще одним ключевым элементом является создание репозитория сервисов и систем управления им и, коль скоро уж мы говорим о бизнес-процессах, использование таких стандартов, как BPEL [Business Process Executive Language]. Как обстоит дело с их поддержкой со стороны Microsoft? Про BPEL компания что-то совсем не упоминает, а про репозиторий в анонсе проекта Oslo говорится в самых общих чертах.

Д. Ч.: Да, действительно, о деталях репозитория сервисов от Microsoft пока почти ничего не известно. Но у меня встречный вопрос: а что вы хотели бы увидеть в этом средстве?

PC Week: Как реализовать собственно хранилище описаний сервисов — тут особых вопросов нет. Проблема заключается в создании каких-то простых и удобных средств для управления репозиторием в условиях появления новых сервисов, их обновления и т. д.

Д. Ч.: Да, стандарт UDDI, созданный для поддержки описаний Web-сервисов, в практическом его применении оказался не очень удачным. Он обеспечивает работу с каталогами сервисов, но не очень удобен для управления этими каталогами. Нужны какие-то другие, более высокоуровневые механизмы, и вопрос, будут ли они реализованы в виде отраслевых стандартов или каждый поставщик предложит что-то свое, остается пока открытым. Как будет решать эту задачу Microsoft — тоже пока непонятно, но ждать осталось не так долго.

Но вот что известно. Говоря о реализации проекта Oslo, корпорация сказала, что основная его идея — создание программ на основе моделей. Упрощенно говоря, вы просто рисуете структуру приложения, которая будет исполняться неким движком. Соответственно репозиторий будет хранить эти модели, в которых в том числе будут прописаны и реализованные в них бизнес-процессы, и используемые сервисы. Мне кажется, что представленный эскиз идеи выглядит очень симпатично, а вот каково будет его воплощение — не знаю, надеюсь, мы увидим это когда-нибудь.

PC Week: Планы действительно привлекательные, но непонятно, в какой степени такой репозиторий будет использовать отраслевые стандарты. То, что он сможет хранить модели самой Microsoft, — не вызывает сомнений. А как в него впишутся приложения других поставщиков? Будет ли он поддерживать федеративную модель взаимодействия сервисов?

Д. Ч.: Будет ли репозиторий Microsoft поддерживать многовендорное окружение? Официальная позиция по этому вопросу не высказана, но лично я сомневаюсь в такой перспективе. Вероятно, будут поддержаны какие-то возможности, но в минимальной степени. Скорее всего это пойдёт на откуп третьим фирмам с их расширениями. Мы же с вами отлично понимаем: любой вендор заинтересован в продвижении собственных технологий, а поддержку разнородных сред выполняет не по своей доброй воле, а лишь под давлением требований рынка, заказчиков.

Что касается федеративной модели, то я почти уверен, что она будет реализована. Но не ради взаимодействия с ПО других поставщиков, а для решения собственных внутренних задач. Ведь Microsoft — это гигантская корпорация с огромным количеством подразделений. Объединение создаваемых в них программных компонентов может быть выполнено только с использованием федеративной модели.

PC Week: Тогда обсудим BPEL: каким образом Microsoft собирается преобразовывать свои модели в исполняемый код?

Д. Ч.: До сих пор наша беседа протекала в полном согласии позиций, но сейчас, кажется, появятся расхождения. Это касается оценки роли BPEL. Я уверен, что BPEL — это вещь, относящаяся к деяниям дьявола. Конечно, это шутка, но с определенной долей истины. Значение этого стандарта оказалось по крайней мере сильно преувеличенным. Я покажу это только на двух аспектах.

Многие вендоры представляют BPEL как язык программирования. Точнее, как будто вы можете описать бизнес-процесс в виде графической схемы, которую потом можно преобразовать в код на языке BPEL. Но отладка и доводка этого кода выполняется уже только на исходном тексте. Однако исходный текст на XML (а именно на нем реализован код BPEL) — очень сложная, сильно избыточная штука. Разработчики не любят иметь дело с ним.

Другое часто упоминаемое достоинство BPEL — кроссплатформенность. Но проблема заключается в том, что BPEL реализует только очень ограниченное подмножество функций, действительно необходимых для выполнения проектов. Поэтому каждый поставщик предлагает целый ряд собственных расширений для этого языка, применение которых привязывает заказчика к платформе данного вендора.

Короче говоря, я не рассматриваю BPEL как реальный вклад в реализацию идей SOA.

PC Week: Тут у меня появилась возможность согласиться с вами. Действительно, о поддержке стандартов и гетерогенных средств говорят почти все поставщики. Но если присмотреться к тем же предложениям в области SOA, то выясняется, что в полном объеме их возможности реализуются только в моновендорном окружении.

Д. Ч.: Да, это так. Это, в частности, относится и к Service Component Architecture, спецификация которой сегодня продвигается в качестве общеотраслевой основы SOA. Вот посмотрите: ведущие поставщики не ограничиваются присутствием у себя отдельных SOA-инструментов, они создают законченные самодостаточные SOA-платформы. Конечно, тут за этим видно желание получить доминирующую позицию на данном рынке. Но ведь есть и чисто технологический аспект: несмотря на использование общих стандартов, инструменты разных поставщиков плохо стыкуются между собой. Недаром, формируя свои SOA-платформы за счет покупок, компании бывают вынуждены тратить значительные усилия на интеграцию приобретаемых технологий. С учетом этого открытая ориентация Microsoft на поддержку собственной архитектуры хотя и вызывает критику со стороны рынка, но выглядит по крайней мере честной.

PC Week: А что вы можете сказать по поводу так часто звучащего упрека в адрес поставщиков, что все вендоры предлагают платформы интеграции, но никто не спешит представлять свои бизнес-системы в виде сервисов? Получит ли поддержку SOA со стороны разработчиков бизнес-приложений?

Д. Ч.: Вы сами отлично понимаете: ИТ развиваются под знаком противоборства желаний поставщиков и потребителей. Первые хотят, чтобы использовались только их продукты, а вторые — чтобы можно было работать в гетерогенной среде. В результате на практике мы имеем какой-то компромиссный вариант. Поставщики бизнес-приложений будут использовать SOA, но только под давлением рынка. Все зависит от жесткости позиции заказчиков. Более того, вопрос даже не в давлении со стороны рынка: вендоры будут делать свое ПО с учетом SOA, если они почувствуют, что переход на предоставление сервисов поможет им получать дополнительную прибыль или не потерять имеющуюся.

PC Week: Спасибо за беседу.

* Дэвид Чеппелл — известный знаток ИТ, глава компании Chappell & Associates (США, Сан-Франциско). Уже много лет он выступает на различных конференциях по всему миру, его книги переведены на десять языков и используются в учебных курсах в ведущих университетах разных стран. Он имеет более 100 публикаций в известных ИТ-журналах и несколько сотен постов в своем блоге (www.davidchappell.com/blog/index.html). На конференции “Microsoft -- Платформа 2008” Дэвид сделал семь докладов и провел круглый стол для разработчиков ПО.

**Подобные соображения приведены и в нашем обзоре по SOA (см. PC Week/RE, № 35/2007. -- Прим. ред.).