На протяжении нескольких месяцев сервис-ориентированная архитектура (SOA) подвергалась резкой критике в Интернете. Что и хорошо, поскольку перед тем, как решиться потратить на нее большое количество времени и денег, лучше выслушать все «за» и «против». В конце концов, мало кому повезло при покупке разрекламированного продукта, не проверенного на деле. Полемика вокруг SOA демонстрирует нам не только преимущества SOA, но и причины, по которым возникает недоверие к ней.

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

Грамотное определение масштаба SOA-проектов

Зачастую единственной причиной провала SOA-проекта является неверное определение его масштабов. Нередко компании пытаются внедрить SOA сразу на всем предприятии, даже если с точки зрения бизнеса это не оправдано, руководствуясь логикой: «SOA – это аспект корпоративной архитектуры, следовательно, надо планировать ее внедрение в рамках всего предприятия» или «SOA – это важный аспект стратегии, поэтому ее надо внедрить на уровне всего предприятия». Многие руководители ИТ-отделов просто привыкли к тому, что все важное всегда должно осуществляться в масштабах всего предприятия. Так почему же с SOA следует поступать по-другому? А потому, что SOA – это не проект и не технология, это – подход.

SOA – это не универсальное решение всех проблем, и вовсе необязательно она должна решать проблемы на уровне всего предприятия. Не все части решения должны быть сервис-ориентированными. Хороший архитектор знает, где и как стоит применять SOA. А это – 80% успеха SOA-проекта. Остальные же 20% включают в себя управление жизненным циклом сервисов, поддержание их качества, моделирование сервисов, управление и контроль. Использование несколько сотен непроверенных сервисов – это неоправданный риск, поскольку вы вкладываете миллионы долларов в непроверенные технологии. Так что не стоит удивляться, если ваш SOA-проект провалился. Кто в этом виноват? Вы сами? Использованные вами технологии или методы? В основном виноватой предпочитают считать саму SOA.

С другой стороны, SOA-проект, масштабы которого верно выверены, почти обречен на то, чтобы стать успешным. Как показали исследования, наиболее успешно SOA-проекты реализовывались в тех компаниях, где они запускались для решения какой-то одной бизнес-проблемы. SOA внедрялась на уровне отдела, и проблема решалась сервис-ориентированным способом. Те, кто преуспел в SOA, прекрасно понимает, что для достижения успеха необходимо сконцентрироваться на решении одной проблемы и добиться действительно грамотного решения. Так что девиз успешных архитекторов: «Строй большие планы, начинай с малого, и ты преуспеешь».

Команды, занимающиеся корпоративной архитектурой

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

Вспомним притчу о слоне и четырех слепцах. Каждый слепой человек должен был дотронуться до слона и угадать, кто перед ними. Первый потрогал хобот и решил, что перед ним змея. Второй потрогал ногу и подумал, что это дерево. Третий потрогал хобот и решил, что это похоже на шланг. А четвертый ощупал бок и был уверен, что перед ним стена. А теперь представим, что SOA – это слон. ИТ-отделы, превратившиеся в изолированные организации, не обладают ни навыками, ни ресурсами, необходимыми для того, чтобы надлежащим образом контролировать все аспекты организации и управлять ими. Подобно слепцам, они не видят всей организации, а могут лишь догадываться о ней, имея дело лишь со своей частью. Один из способов «увидеть слона» - нанять экспертов корпоративной архитектуры, обладающих необходимыми навыками, позволяющими видеть все аспекты бизнеса и технологий. Однако найти и привлечь столь ценные ресурсы довольно проблематично. Многие организации решают задачу проще – они формируют межфункциональные команды, в которые входят представители бизнеса, специалисты в области разработки приложений, моделирования данных, моделирования процессов, безопасности, управления сетями и т.д. Разумеется, очень важно, чтобы в штате сотрудников компании имелся первоклассный корпоративный архитектор, но, тем не менее, наличие многофункциональной команды, занимающейся корпоративной архитектурой, жизненно важно. При этом надо следить за соблюдением принципа единства политик и за тем, чтобы не возник эффект «лоскутного одеяла». Даже командами, занимающимися корпоративными архитектурами, необходимо управлять. Управлять ими должны лучшие практики внедрения SOA. Командам необходимо придать официальный статус и контролировать их деятельность, особенно если в штате компании нет эксперта в области корпоративных архитектур.

Бизнес против технологий

Согласно исследованиям, проведенным аналитической компанией Zapthink, в основе успеха многих SOA-проектов лежит тот факт, что руководитель отдела бизнеса выбирал такую проблему, которая могла быть решена только с помощью одного из четырех преимуществ SOA (которые являются составляющими показателя возврата инвестиций ROI). Там, где бизнес видит решение, ИТ зачастую слепы. Слишком часто ИТ-отделы используют SOA по принципу «каждой бочке затычка», пытаясь с ее помощью решить любые возникающие проблемы. Итак, ошибочное определение масштаба внедрения SOA определяется неспособностью правильно применить SOA. Таким образом, решение о внедрении SOA должно исходить от бизнес-составляющей предприятия, а не от ИТ. Тогда масштабы SOA-решения будут определены правильно, и, следовательно, проект будет реализован быстро, а главное, успешно. Как показали исследования, проведенные компанией Zapthink, часто именно ИТ-отделы сопротивляются внедрению SOA, даже не смотря на то, что со стороны бизнеса поступают весьма привлекательные предложения. Технологи часто начинают отстаивать имеющиеся на предприятии технологические подходы (REST против Web-сервисов, а вы за что?). Такое противостояние абсолютно не помогает решить поставленные бизнес-задачи и постепенно превращается в педантичный спор о семантике. Правда в том, что бизнес-задачу можно решить с помощью любого технологического подхода, только со временем технологический подход будет меняться на лучший. И это неизбежно.

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

Технологии «лучшие из лучших»

На сегодняшний день рынок стремится предлагать пакеты программ и платформы, привязанные к одному и тому же вендору. Поглощение компанией Oracle компании BEA только укрепит в сознании потребителя тот факт, что лучшая SOA-инфраструктура и лучшие на сегодняшний момент известные корпоративные шины (ESB) предлагаются крупными поставщиками как часть пакетов платформ, позволяющих решать любые вопросы, связанные с SOA. Но, тем не менее, это не единственно правильный подход к SOA. SOA призвана функционировать в гетерогенной среде, в условиях постоянных перемен. Как следствие, правильные архитектуры абстрагируются от технологий, а это значит, ценность пакетов для SOA не больше, чем ценность хорошо подобранных компонентов. Логично, что при таком подходе компании вряд ли удастся привязать архитектуру к какой-то одной технологии. И все же, слишком много организаций позволяют вендорам навязывать им свои архитектурные решения.

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

Точка зрения ZapThink

«Если мы указываем на недостатки концепции SOA, это вовсе не значит, что мы больше ее не поддерживаем», - говорят аналитики компании Zapthink. Компания долго занималась изучением вопросов о грамотном применении SOA с целью решения сложных проблем бизнеса. В результате она пришла к выводу, что архитекторы и менеджеры, решившие внедрить у себя, должны хорошо понимать, в каких случаях SOA действительно принесет успех, а в каких ее внедрение совершенно необоснованно. Для этого необходимо оценить имеющиеся в существующей корпоративной среде человеческие ресурсы, технологии, процессы и методы, а также досконально изучить принятое решение, проанализировать другие варианты решений, определив их плюсы и минусы. Именно такой сбалансированный подход увеличивает шансы на успех SOA-проектов.

По материалам компании Zapthink

Комментарии

Добавить комментарий