- •Использование технологии «архитектура, управляемая моделью» при проектировании информационных систем
- •Существующий программный инструментарий для реализации разработки приложений с использованием технологии mda
- •Возможности и специфика Borland mda, преимущества для разработчиков как причины выбора этого инструментария для разработки
- •Теоретические основы, технические аспекты создания mda-приложений
- •Роль модели приложения в Borland mda
- •Ocl язык объектных ограничений
- •Объектное пространство
- •Дескрипторы
- •Графический интерфейс
- •Автоформы
- •Работа с уровнем данных
-
Использование технологии «архитектура, управляемая моделью» при проектировании информационных систем
-
Существующий программный инструментарий для реализации разработки приложений с использованием технологии mda
Программные средства, которые поддерживают идею и принципы разработки приложений с применением технологии MDA различаются по критерию степени поддержки, то есть существуют инструментарий, который частично поддерживает, а есть и с полной поддержкой технологии MDA.
К наиболее известному инструментарию разработки приложений с использованием технологии MDA, как с частичной, так и с полной поддержкой можно отнести такие программные продукты:
-
Codeless Technology's Codeless
Codeless является уникальным продуктом среди Model Driven Architecture инструментов. В отличие от других продуктов, Codeless предпочитает не генерировать код совсем. С более чем десятилетним ноу-хау в поддержании системы с более чем 30 миллионами строк кода Cobol, Codeless имеет большой опыт в методах генерации кода. И лучший метод генерации кода – не генерировать код совсем. Нет больше проблем по поддержанию кода в современных моделях. Нет больше проблем с новыми компиляциями или новой установкой программного обеспечения. Нет больше проблем отладки незнакомого кода. Но если нет кода, что там?
Платформа Codeless состоит из двух частей: среда разработки Codeless (CDE), которая позволяет разработчикам создавать и поддерживать приложения, и среда приложений Codeless (CAE), которая является средой для выполнения приложений
Основой CDE является программа Application Modeler. В рамках этой программы, можно ввести объектно-ориентированную модель. Модели, которые должны быть использованы для определения приложения, являются UML диаграммы классов и UML диаграммы состояний. После того как основные модели введены в Application Modeler, пользовательский интерфейс может быть добавлен с помощью программы Designer. Когда это завершено, Package Builder используется для создания приложения. Package Builder генерирует файлы обновлений, которые должны быть прочтены CAE.
Среда приложений Codeless являет собой 3-х уровневую архитектуру из сервера и клиентов. Сервер может выполнять все модели, созданные CDE. CAE является одной и той же для каждого приложения, с той лишь разницей, между одним CAE и другим, что файлы обновления различны.
Эти файлы, которые созданы CDE, могут быть вставлены в CAE с использованием программы Package Updater. Таким образом, приложения, построенные с использованием Codeless, все имеют общий внешний вид [13].
-
Dot Net Builders Constructor()
Компания Dot Net Builders, является сертифицированным партнером Microsoft и членом программы интеграции Visual Studio, специализируется на разработке приложений для Microsoft .NET платформы. Их знания и опыт в Model Driven Architecture направлены на создание Windows- и веб-приложений на заказ, используя модельно-ориентированные инструменты и методологии быстрой разработки. Их собственный .NET инструмент разработки, Constructor (),
позволяет им быстро моделировать, проектировать дизайн и создавать надежные, масштабируемые и безопасные решения, основанные на принятых отраслевых стандартах, обеспечивая большую отдачу от инвестиций в клиентов.
Constructor() представляет собой набор модельно-ориентированных средств, основанный на спецификации Meta-Object Facility, которые способствуют быстрой разработке приложений из моделей UML. Constructor() является полностью интегрируемым в Visual Studio .NET. Благодаря автоматизации задач превращения бизнес-моделей в приложения и предоставлении полных объектных основ и основ данных, процесс разработки значительно сокращается. С функциональностью для импорта и поддержания модели вместе с генерированием кода приложения, пользовательских интерфейсов и DDL скриптов, Constructor() позволяет осуществлять разработку систем для платформы .NET без усилий [14].
-
Sparx Systems
Sparx Systems стремится к развитию и разработке поддержки MDA в рамках их инструмента моделирования UML 2.1 Enterprise Architect. Enterprise Architect предлагает ряд инструментов, направленных на MDA процесса развития, в том числе объемный механизм преобразования из PIM в PSM, позволяющий составителям моделей устанавливать несколько PSM от одного PIM и синхронизировать PIM-изменения в PSM по требованию.
В сочетании с генерацией кода шаблонов, UML профилями, UML шаблонами, каркасами, обширными возможностями обратного инжиниринга и полной автоматизацией API для написания сценариев и расширений, Enterprise Architect обеспечивает надежную и расширяемую платформу MDA.
Основным компонентом MDA в Enterprise Architect является шаблон на основе механизма преобразования, который генерирует элементы PSM от PIM. Шаблоны позволяют генерировать высокоспецифичные PSM артефакта из PIM. MDA шаблоны преобразования похожи, и имеют тот же синтаксис, что и шаблоны генерация кода в Enterprise Architect [11].
Enterprise Architect характеризуется:
-
Встроенными преобразованиями для DDL, EJB, Java, C#, XSD;
-
Шаблонами преобразование для определения пользовательских преобразований;
-
Поддержкой языков программирования в базовой версии: C++, Java, C#, VB.Net, Visual Basic, PHP, Delphi;
-
Доступностью плагинов для CORBA, CIM и Python;
-
Поддержкой подключаемых технологий расширения;
-
Расширенной поддержкой для моделирования баз данных и генерации DDL;
-
Поддержкой обратного инжиниринга ряда популярных систем управления базами данных через ODBC, в том числе Oracle, MS Access, SQL Server, PostgreSQL, Progress OpenEdge, и другими.
-
Borland MDA (BMDA)
Под общим названием «Borland MDA» объединяются идеология, технологии и инструментальные средства, входящие в программные продукты компании Borland, которые предназначены для практической реализации MDA-архитектуры в процессе разработки приложений. Термин «Borland MDA» появился в начале 2003 года, когда компанией Borland были приобретены несколько фирм-разработчиков программного обеспечения, занимающихся созданием инструментария для внедрения элементов MDA в процесс разработки.
Наряду с термином «Borland MDA» в ряде источников, относящихся в том числе и к самой компании Borland, используется также и другой, похожий термин — «Model Driven Development», в переводе означающий «разработка, управляемая моделью».
Рисунок 2.1 Состав Borland MDA
На рис. 2.1 представлена достаточно условная общая схема, иллюстрирующая состав элементов, образующих совокупность программных средств Borland MDA.
В нее входят:
-
Средства проектирования и моделирования.
Предназначены для создания модели приложения. Включают в себя UML-редакторы, средства проверки целостности и непротиворечивости UML-модели, редакторы языка OCL, и инструменты импорта-экспорта моделей.
-
Средства разработки.
Обеспечивают программную реализацию объектного пространства, интерфейсы с уровнем представления и уровнем данных. Включают в себя классы и компоненты, используемые разработчиком при создании приложения.
-
Средства генерации.
Обеспечивают генерацию кода приложения на базовом языке (в Delphi — Object Pascal). Генерируемый код представляет собой программную реализацию всех элементов модели на базовом языке. Кроме того, эти средства обеспечивают также генерацию схем реляционных баз данных.
-
Средства отладки.
Предназначены для отладки MDA-приложений. Такие приложения требуют отладки на уровне объектов и сообщений объектного пространства.
-
Средства интеграции.
Обеспечивают интеграцию со средой разработки, с одной стороны, и необходимые настройки связей с уровнем данных (СУБД), с другой стороны.
-
Средства интерпретации и управления.
Обеспечивают функционирование на этапе исполнения, включая интерпретацию и доступ к элементам модели, контроль целостности объектного пространства, контроль взаимодействия с уровнями данных и графическим интерфейсом.
Технология Borland MDA впервые была внедрена в среду разработки Delphi Architect Studio, затем последовала интеграция (существенно переработанная) в Borland C# Builder и, в последствие, все последующие программные среды разработки Borland включают эту технологию [7].