Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

✅ Дешевый VPS-хостинг на AMD EPYC: 1vCore, 3GB DDR4, 15GB NVMe всего за €3,50!

🔥 Anti-DDoS защита 12 Тбит/с!

VPS в 21 локации

От 104 рублей в месяц

Безлимитный трафик. Защита от ДДоС.

🔥 VPS до 5.7 ГГц под любые задачи с AntiDDoS в 7 локациях

💸 Гифткод CITFORUM (250р на баланс) и попробуйте уже сейчас!

🛒 Скидка 15% на первый платеж (в течение 24ч)

 

Модельная архитектура MDA для унифицированной разработки распределенных приложений

Сергей Кузнецов, ИСП РАН

Развитие сетевых технологий во второй половине 1990-х гг. привело к появлению ряда новых интегационных платформ промежуточного программного обеспечения. Хотя обычно по поводу каждой следующей технологии утверждается, что она полностью превосходит возможности всех ранее существовавших технологий и способна все их заменить, на деле оказывается, что реальные преимущества новой технологии распространяются только на очень узкий сегмент приложений. В результате, сегодня отделам ИТ предприятий часто приходится одновременно иметь дело с приложениями, основанными на технологии CORBA, COM/DCOM/ActiveX, Java/RMI, EJB, XML/SOAP, .Net, Web Services и т.д. Далеко не факт, что этот набор платформ не будет расширен в ближайшее время.

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

Рис. 1. Место MDA в общей технологии разработки программного обеспечения

Предложеная OMG модельная архитектура MDA (Model Driven Architecture) позволяет сократить уровень неприятностей обоих типов. На рис. 1 показано место MDA в общей технологии разработки программного обеспечения (конечно, это точка зрения OMG). MDA является ядром, сердцевиной программного обеспечения. Ключевыми технологиями являются UML, CWM и MOF. Это – первый круг. Далее изображены современные платформы разработки, промежуточное программное обеспечение. Здесь представлены различные коммерческие технологии, доступные на сегодняшний день. Это .NET (уже не говорится о COM/DCOM/MTS ), Java и EJB, XML/XMI, Web services и CORBA. Следующий слой описывает различия между инфраструктурами рапределенных систем и компонентными моделями. Как видно, компонентная модель складывается из инфраструктуры распределенных объектов, поддержки транзакций, механизм событий, службой имен и службой поддержки долговременно существующих объектов. Радиальные стрелки представляют собой отраслевые стандарты, типовые модели предметных областей.

В опирающихся на MDA инструментальных средствах используются UML-модели, что позволяет автоматизировать и тем самым упростить разработку приложений на основе любого промежуточного программного обеспечения. Далее, поскольку в любом приложении, основанном на MDA, содержится и UML-модель, и соответствующая ей реализация, разработчики могут импортировать модель в инструментальные средства MDA, и эти средства реализуют интеграционные мосты к новым приложениям (или построют обертки для существующих приложений), даже если эти новые приложения и обертки основываются на других платформах промежуточного программного обеспечения, и для достижения интероперабильности требуются межплатформенные вызовы.

MDA унифицирует и упрощает моделирование, проектирование, реализацию и интеграцию приложений за счет того, что программное обеспечение определяется на модельном уровне с использованием языковых средств UML. В базовой модели приложения MDA специфицируются все детали бизнес-функциональности и поведения способом, независимым от особенностей какой-либо технологии интеграции. В терминологии MDA эта модель называется платформенно-независимой (PIM, Platform-Independent Model).

Работая с PIM, инструментальные средства MDA руководствуются стандартами отображения OMG для генерации промежуточной модели, адаптированной к целевой реализационной платформе промежуточного программного обеспечения. OMG намеревается стандартизовать отображения на все распространенные платформы. К настоящему времени приняты стандарты отображения (профайлы) для технологий EDOC и CORBA, подготовлен стандарт отображения для EJB, разрабатывается стандарт для SOAP/XML.

Этот промежуточный продукт, называемый платформенной моделью (PSM, Platform-Specific Model), отражает детали, связанные не с бизнесом, а с компьютерной реализацией, которые добавляются к PIM архитекторами приложения. Вариант PSM, произведенный инструментальным средством MDA, возможно, потребует некоторой настройки вручную, прежде чем его можно будет использовать на следующем шаге. Объем требуемой ручной работы будет зависеть от степени совершенства инструментального средства, сложности приложения и зрелости MDA в соответствующей прикладной области.

Полностью детализированная PSM содержит ту же информацию, как полностью закодированное приложение, но в форме UML-модели, а не программного кода. На заключительном шаге разработки на основе PSM инструментальные средства MDA генерируют определения интерфейсов, код приложения, make-файлы и корфигурационные файлы для платформы промежуточного программного обеспечения, соответствующей PSM.

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

MDA стала базовой архитектурой стандартов OMG в сентябре 2001 г. В настоящее время MDA опирается на следующие стандарты OMG:

  • UML – универсальный язык моделирования;
  • Common Warehouse Metamodel (CWM) – стандарт для обмена данными между банками данных, системами поддержки принятия решений и технологиями порталов;
  • Meta-Object Facility (MOF) – общий абстрактный язык для описания метамоделей, основа для CWM и UML-метамоделей;
  • XML Metadata Interchange (XMI) – XML-формат для хранения и обмена метаданными.

На рис. 2 показано выраженное на UML соотношение между этими стандартами и технологиями Java.

Рис. 2. Соотношение между стандартами MDA и реализационными технологиями

На первый взгляд может показаться, что MDA предназначена для решения тех же проблем, которые решаются традиционными CASE-средствами поддержки разработки программных систем. Однако это не так. CASE-средствам присущи естественные ограничения, связанные с тем, что в них используются собственные (нестандартизованные) отображения на реализационные технологии. Разработчик программного обеспечения полностью привязан к конкретному CASE-средству. Кроме того, CASE-средства, в лучшем случае, обеспечивают только ограниченные возможности расширения языка спецификаций. MDA позволяет преодолеть эти ограничения, поскольку опирается на стандарты отображения. Очень важно, что MDA опирается на стандарты MOF, XMI и CWM, что позволяет представлять все метаданные в формате XML, облегчая обмен метаданными между различными инструментальными средствами.

В заключение заметим, что реальное внедрение MDA в практику произойдет не раньше, чем (1) OMG примет окончательный вариант стандарта UML 2.0, и (2) какая-либо из компаний не выполнит реализацию достаточно полного набора инструментальных средств MDA.

При подготовке доклада использовались материалы, публично доступные на сайте Object Management Group www.omg.org.

Сергей Кузнецов, ИСП РАН
kuzloc@ispras.ru

Скидка до 20% на услуги дата-центра. Аренда серверной стойки. Colocation от 1U!

Миграция в облако #SotelCloud. Виртуальный сервер в облаке. Выбрать конфигурацию на сайте!

Виртуальная АТС для вашего бизнеса. Приветственные бонусы для новых клиентов!

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

VPS/VDS серверы. 30 локаций на выбор

Серверы VPS/VDS с большим диском

Хорошие условия для реселлеров

4VPS.SU - VPS в 17-ти странах

2Gbit/s безлимит

Современное железо!

Новости мира IT:

Архив новостей

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 7861149
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...