С 11 по 15 октября в Москве пройдет очередная (шестая) ежегодная конференция “Разработка ПО 2010” (CEE SECR 2010) — одно из ключевых событий в сфере разработки ПО в Центральной и Восточной Европе. Среди ее докладчиков будут и известные зарубежные эксперты. Одному их них, Томасу Ерлу, автору популярных во всем мире книг по SOA (сервисно-ориентированная архитектура), накануне московского мероприятия задал ряд вопросов обозреватель PC Week/RE Андрей Колесов.
PC Week: После нескольких лет жарких разговоров про SOA активность компаний в этой области резко снизилась, и заказчики, похоже, все больше высказывают разочарование в этой теме. Действительно ли SOA как идея умерла? Есть ли у нее будущее?
Томас Ерл: Думаю, что основной причиной такого разочарования является нечеткое понимание самого термина SOA. Именно размытость понятия, сопровождавшая его на протяжении почти десяти лет, привела к тому, что многие компании и организации вложили средства в проекты, возлагая на них вполне определенные ожидания, тогда как методика достижения желаемых результатов была совершенно не ясна. Чаще всего люди думали, что только лишь применяя сервисно-ориентированные технологии (например, Web-сервисы), можно автоматически реализовать SOA.
Эти усилия закономерно заканчивались провалом, в силу чего и сформировался негативный имидж SOA в определенных кругах. Я, как правило, такого рода понимание SOA характеризовал определением “грязное” и в прошлом году в ходе симпозиума в Роттердаме в числе 120 ИТ-специалистов принял участие в его “очищении”. В результате нашей работы на свет появился термин “чистая” или “хорошая” SOA, под которым я подразумеваю реально действующую и обладающую конкретными характеристиками архитектурную модель.
Чтобы понять, что такое модель SOA, и соответственно получить от ее применения те выгоды, которые обычно приписываются ей, нужно четко осознать парадигму сервис-ориентированности. При прочтении Манифеста СОА вы увидите, что рабочая группа, создававшая этот документ, четко разделила понятия SOA и SO — сервис-ориентированность. Фактически большая часть Манифеста посвящена как раз определению сервис-ориентированности.
Важно отметить, что организации были не в состоянии понять и принять то, что SOA — это технологическая архитектурная модель для SO-решений с конкретными характеристиками, подпадающими под определение SO.
Другими словами это можно сформулировать в виде следующих тезисов. Существует ряд стратегических целей и ожиданий, традиционно ассоциируемых с успешным применением SOA (а также связанных с SO-вычислениями в целом). Эти цели складываются в определенную систему, а SO является парадигмой, которая предоставляет проверенный метод для их достижения. Когда мы применяем SO при разработке программного обеспечения, то вводим логические единицы, называемые сервисами, а SO-решения состоят из одного и более таких сервисов. Для разработки успешных SO-решений нам нужна технологическая архитектура с конкретными особенностями. Соблюдение перечисленных условий характеризует технологическую архитектуру как сервисно-ориентированную, что и есть SOA.
Поняв и приняв эти принципы, организации смогут создавать реальные ИТ-активы, каждый из которых будет продвигать их на шаг ближе к поставленной цели.
Другой важный момент — область применения SOA. В свое время бытовал миф о том, что успешно применять ее можно только в масштабах всего предприятия. Это привело к тому, что некоторые компании пытались выполнить проекты, слишком тяжелые для управления и поддержки как с организационной, так и с технической точки зрения. В качестве одного из важных образов [patterns], появившихся в последнее время, можно привести Domain Inventory [инструменты областей]. По сути он отражает стратегический подход, при котором организация может ограничивать свои SOA-инициативы так, что они будут иметь существенное значение для ИТ и в то же время станут доступными для реализации. Наряду с сокращением риска и начальных потребностей в инвестициях подходы, основанные на ограничении областей применения, помогают также уменьшить время внедрения и сократить усилия на проектирование и разработку образцовых услуг.
PC Week: Как вы оцениваете текущее состояние и перспективы модели облачных вычислений? Какие из ее основных вариантов (IaaS, PaaS, SaaS) кажутся вам наиболее актуальными и перспективными?
Т. Е.: Технологии и модели облачных вычислений создают большой потенциал для существенного продвижения вперед в отношении масштабируемости и расширяемости корпоративных решений. Это может быть особенно выгодно для SOA-проектов, где масштабируемость разнообразных услуг многократного использования является главным условием в достижении роста показателя ROI [возврат инвестиций] и операционной прибыли организации. Однако облачные вычисления как отрасль все еще формируется, и есть несколько ловушек, о которых компании должны знать, чтобы избежать того разочарования, которое постигло их, когда SOA проходила этап становления. Например, я вижу, что некоторые предприятия попадают в прежнюю ловушку, сосредотачиваясь исключительно на технологической адаптации. А это заканчивается тем, что они разрабатывают новые структуры, которые окажутся слишком дорогими и тяжелыми для развития с их бизнесом — только на сей раз они строят “структуры в небе”.
PC Week: Как связаны между собой концепции SOA и облаков?
Т. Е.: Облачные вычисления — специализированная форма распределенных вычислений, которая представляет модели, используемые для отдаленного (дистанционного) обеспечения масштабируемых и измеряемых ИТ-ресурсов. Как я уже говорил, SOA — это технологичная архитектурная модель для SO-решений с определенными характерными особенностями. Данные особенности должны служить для того, чтобы на основе принципов SO программы могли быть сформированы в единицы SO-логики. Многие преимущества, которые дают облачные вычисления (такие, как масштабируемость, эластичность, соответствующая спросу инфраструктура и т. д.), непосредственно поддерживают потенциал, позволяющий применять принципы SO и особенности SOA.
Если сформулировать кратко, то технологии и модели облачных вычислений дают нам возможность и в дальнейшем успешно применять SOA и SO. Когда это имеет смысл, услуга, которую мы создаем, может быть представлена как услуга, основанная на облаке.
По этому поводу можно сказать, что поставщики общедоступных облачных вычислений в некоторых случаях облегчили для организаций применение SOA или расширили области её использования. Тот факт, что организациям для старта требуется меньшая инфраструктура и они могут взять необходимые ИТ-ресурсы в аренду, делает SOA более доступной, особенно малому и среднему бизнесу.
PC Week: Вы собираетесь принять участие в конференции “Разработка ПО 2010” в Москве. Какие основные тезисы вы намерены донести до слушателей в России?
Т. Е.: Это будет мое первое выступление в Москве, и надеюсь, что перед отъездом у меня будет возможность познакомиться с местной культурой. В настоящее время я пишу несколько книг, поэтому мне довольно трудно участвовать в мероприятиях такого рода. Главные темы, которые я затрону в своем выступлении на конференции SECR, — это следующее поколение SOA; SOA и облачные вычисления; применение SOA в финансовой отрасли. Кроме того, я проведу четырехчасовой мастер-класс по SO, а мой коллега, Леонид Феликсон из SOASchool.com, проведет предконференционный семинар “Сертифицированный архитектор SOA”.
PC Week: Спасибо за беседу.