Ричард Соли подчеркивает преимущества разработки ПО на основе моделирования

Ричард Соли, председатель правления и исполнительный директор консорциума Object Management Group (Нидэм, шт. Массачусетс), согласился рассказать об усилиях этой организации по формализации основных архитектурных платформ для современных распределенных программных систем, в частности основанных на Web-сервисах. OMG контролирует такие стандарты, как CORBA, MDA и UML. Это интервью Соли дал старшему корреспонденту eWeek Дэррилу Тафту. eWeek: Как сегодня обстоят дела с Web-сервисами?

Ричард Соли из OMG полагает,

что новая инфраструктура будет

появляться каждые два года

Ричард Соли: Современное состояние технологии Web-сервисов соответствует состоянию CORBA в 1991 г. и COM - в 1994-м. Ее новизна отчасти извиняет невысокую производительность, а также отсутствие поддержки транзакций и некоторых других механизмов. Однако необходимо отметить одну, но чрезвычайно важную особенность ситуации с Web-сервисами: данная концепция пользуется всеобщей поддержкой, благодаря чему вполне можно рассчитывать на массовое появление высококачественных реализаций и использование этих служб на практике.

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

Вот почему я выступаю за архитектуры, основанные на моделировании: если программа будет автоматически генерироваться по модели, так что разработчику не придется учитывать особенности конкретных инфраструктур, форматов данных, способов их преобразования и пр., а нужно будет лишь запрограммировать прикладную логику, это станет для всех большой победой. По единой модели можно будет сгенерировать приложение, основанное на Web-сервисах, если речь идет о создании крупной современной системы, или для CORBA, если на предприятии используется эта инфраструктура, или для COM. Более того, когда появится очередная новая инфраструктура, генерация приложений для нее будет выполняться точно таким же образом. eWeek: Как встречают архитектуру MDA (Mo-del Driven Architecture -архитектура, основанная на модели) разработчики?

Р.С.: В крупных компаниях она прививается быстро, а в мелких - медленнее. Причина в том, что MDA требует внесения изменений в технологию разработки приложений даже в тех случаях, когда моделирование там уже присутствует.

В тех компаниях, где ранее применялось моделирование, это делалось приблизительно следующим образом. Участники группы моделирования собирались вместе и думали, каким образом функционирует их предприятие и как эту деятельность формализовать. Затем предложенная ими модель фиксировалась в документах, распечатывалась в полном цвете, переплеталась и раздавалась разработчикам, сидящим по своим отдельным закуткам. По мере необходимости эти специалисты собирались для участия в общем обсуждении модели, а затем снова расползались по углам делать то, что им полагается по штату. И все это из-за того, что модель не имела никакого отношения к способу ее реализации.

MDA расставляет все по местам: модель сама по себе объявляется одним из элементов разработки. Преобразование данных, организация их хранения между сеансами работы приложений, обеспечение транзакционной целостности, поддержка различных форматов, связь с инфраструктурами вроде J2EE, .Net, CORBA, COM и пр. - все это автоматически выполняется компиляторами. Описанная схема распространяется уже и на Web-сервисы - у нас есть механизмы отображения UML-моделей (Unified Modeling Language - унифицированный язык моделирования) в код SOAP (Simple Object Access Protocol - простой протокол доступа к объектам) и WSDL (Web Services Description Language - язык описания Web-сервисов). Таким образом, подход, основанный на моделях, позволяет создавать не плакат, прикрепляемый на стену и игнорируемый разработчиками, а некую основу для реальной генерации программного кода. eWeek: Насколько важна для MDA поддержка сообщества разработчиков ПО с открытым исходным текстом?

Р.С.: Открытые стандарты - это нейтральные спецификации, не контролируемые тем или иным вендором, и решение об их поддержке каждый принимает самостоятельно. А открытые исходные тексты представляют собой аналогичные эталонные реализации. Вместе они образуют очень мощную связку. Эталонной реализацией можно и не пользоваться, но вы всегда знаете, что на крайний случай у вас в запасе есть надежный, не контролируемый никакими коммерческими интересами продукт. Как известно, обязательным требованием для окончательного утверждения той или иной спецификации OMG является наличие ее реализации; и OMG уже утвердила ряд спецификаций, реализованных только сообществом open-source. Для нас это очень хорошо. eWeek: Поговаривают, что в области Web-сервисов OMG могла бы действовать и более активно. Как вы это прокомментируете?

Р.С.: Приходится выбирать. Наши ресурсы ограниченны, и необходимо концентрировать их на том, что получается лучше всего. Я назову два основных направления деятельности OMG. На первом месте стоит обеспечение полной поддержки Web-сервисов в Model Driven Architecture. Мы только что закончили работу над стандартом, который фактически готов к утверждению и опубликован на нашем Web-сайте. И у него уже есть с полдюжины реализаций. Теперь можно взять UML-модель и автоматически генерировать по ней WSDL-определения или SOAP-заголовки, так что больше не придется детально разбираться в каждом используемом протоколе.

Механизм отображения на инфраструктуру CORBA тоже готов. Если она у вас установлена и хочется использовать ее для построения Web-службы - раз, два, три - и все готово. Второе направление, более интересное, на мой взгляд, в долгосрочной перспективе, но основная работа по нему еще впереди, - это службы, отсутствующие пока в платформе Web-сервисов: обработка транзакций, обеспечение безопасности, хранение объектов между сеансами работы приложений, администрирование событий, службы имен и каталогов. На платформах CORBA и COM все это существует и совершенствуется вот уже более десяти лет. Нам предстоит преобразовать их в форму UML-моделей, а затем сгенерировать реализации для Web-сервисов. Над этим мы сейчас и работаем.

Версия для печати