ПОДХОД К СОЗДАНИЮ КОМПЛЕКСНЫХ MDE

advertisement
ПОДХОД К СОЗДАНИЮ КОМПЛЕКСНЫХ MDE-МОДЕЛЕЙ
ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
Алексеев Н.А., Глоба Л.С.
Национальный технический университет Украины «КПИ»,
Институт телекоммуникационных систем
03056, Київ, пер. Индустриальный, 2, тел. (044) 406-82-99,
E-mail: alexeyev@its.kpi.ua ; факс (044) 406-82-99
The work is devoted to the new approach to creation of complex software models which
employ application’s distinction to business logic and interface, both described by XML. Syntax
of offered for describing application’s algorithm is similar to common programming languages.
FaceXML[1] is used to describe user interfaces. Tools for WYSIWYG design of the algorithm
and interface as well as interpreter which executes resulting model are developed.
I. Введение
Существует множество разнородных технологий для создания программного
обеспечения. Реализация зависит от платформы, на которой предполагается работа, от
типа приложения – будь то настольное приложение, веб-приложение, или же веб-сервис,
разработчикам все это нужно учитывать при планировании, проектировании, и
реализации программного обеспечения. Как решение этой и других проблем, была
предложена методология разработки ПО под названием MDE (Model Driven Engineering),
наиболее известной инициативой которой является методология MDA (Model Driven
Architecture). В этой методологии различают два типа моделей: PIM — платформенно
независимая модель и PSM — платформенно зависимая модель. MDA не специфицирует
на каком языке описана PIM, но требует чтобы описание было на языке, который
определен формально и пригоден к автоматической обработке. Но в итоге даже такой
подход приводит к необходимости реализовывать ПО на каждой платформе, даже если и
возможна
автоматическая
генерация
платформенно-зависимого
кода. MDA
сосредотачивается на описании логики, опуская столь важную часть любого
программного продукта, как интерфейс взаимодействия с пользователем. К тому же,
шаги преобразования из PIM в PSM никак не ускоряют процесс разработки, хотя одной
из целей MDA была реализация RAD (Rapid Application Development). Для преодоления
описанных недостатков предлагается методология создания комплексной (и логики, и
пользовательского интерфейса) модели программного обеспечения, способной к
непосредственному выполнению, опуская шаг преобразования из PIM в PSM.
II. Описание методологии
На рис. 1 приведена схема, отображающая архитектуру применяемой технологии,
применяемой в данной методологии. Описание основных архитектурных элементов
приведено ниже:
Скрипт - та часть технологии, которая отвечает за бизнес-логику. Другими
словами это – алгоритм работы приложения. Бизнес-логика описывается посредством
xml-тегов, подобных к синтаксису большинства обычных языком программирования.
Интерфейс – использует FaceXML[1] для кросс-платформенного описания
интерфейса, к событиям которого могут быть привязаны операции из скрипта.
Интерпретатор – интерпретатор реального времени выполнения, выполняющий
приложение. Выполняет его с выводом пользовательского интерфейсом, или без, в
зависимости от параметров. Параметры позволяют задать 3 режима выполнения
приложения:
1. Запуск в виде локального приложения – запуск приложения на локальной
машине с отображением пользовательского интерфейса.
2. Запуск в виде веб-приложения – на локальной машине запускается встроенный в
интерпретатор веб-сервер, и на нем выполняется приложение, интерфейс отображается в
виде HTML (формы), бизнес-логика выполняется на стороне сервера (т.е. локального
компьютера), интерфейс обновляется средствами AJAX[2].
3. Запуск в виде веб-сервиса – на локальной машине запускается встроенный в
интерпретатор веб-сервер, интерфейса пользователя не использует, а работает в режиме
веб-сервиса, предоставляя указанные в скрипте операции и их параметры. Веб-сервис[3]
может быть как RESTful, так и использовать для маршалинга SOAP[4]. Также, при
данном выполнении приложения, можно получить доступ к автоматически
сгенерированному WSDL[5] для импорта этого веб-сервиса.
Интерпретируемый
файл
Інтерпретуємий файл
XML-опис
XML-описание
алгоритма
алгоритму
FaceXML
Интерфейс
Інтерфейс
Скрипт
Скрипт
Вебприложение
програма
Редактор
форм
Редактор
скриптов
скриптів
Інтерпретатор
Интерпретатор
Вебсервіс
сервис
IDE
Локальное
Локальна
приложение
програма
Вебсервер
«Визуальный»
«Візуальний»
текстовый
текстовий
Java
VM
OS API
BEPL
BPEL
OS
Рис. 1. Архитектура системы для построения комплексной MDE-модели ПО
IDE – среда для визуального создания пользовательского интерфейса и/или
скриптов, которые могут взаимодействовать с интерфейсом. Результат сохраняется в
одном файле. Визуальное создание скриптов осуществляется с помощью построения
блок-схем требующегося алгоритма работы, в качестве блоков используя конструкции
переходов, циклов и т.д., а также объектов для работы с БД, сетью и т.д. У каждого блока
есть точки входа – параметры скрипта, который данный блок представляет и точка
выхода – возвращаемое значение. Соединяя в требующейся последовательности входы и
выходы строится алгоритм. Специальный блок – точка начала выполнения привязывается
к некоторому событию от интерфейса или системному событию. Также существует точка
окончания выполнения, куда привязываются все ветки скрипта ведущие к окончанию
обработки события. Каждый блок имеет свойства, специфичные для объекта который он
представляет, например имя базы данных, имя пользователя и пароль. При сохранении
проекта такая блок схема преобразуется в скрипт вышеописанного формата. Также
существует возможность вручную редактировать скрипт представленный блок схемой в
среде, используя вкладку с исходным кодом скрипта.
lII. Выводы
Предлагаемый подход позволит избежать описанные выше проблемы. Используя
FaceXML[1]
для
кросс-платформенного
описания
интерфейса,
а
также
специализированный язык программирования, и промежуточный слой выполнения для
программного обеспечения предлагаемой технологии, позволяет запускать ПО на многих
платформах, как настольных (Windows, Linux, Unix), так и мобильных (Android, Java ME,
Windows Mobile).
Результатом применения данной методологии является модель программного
обеспечения, которая пригодна к выполнению. Разделение технологии на интерфейс и
бизнес-логику, позволяет промежуточному слою интерпретировать приложение и как
локальное, и как веб-приложение, и как веб-сервис без каких-либо изменений со стороны
разработчика.
В случае выполнения в виде веб-сервиса, результат может использоваться в виде
единицы для построения enterprise-приложений, например средствами BPEL[6][7]. В
данном ракурсе технология позволяет перейти к более высокому уровню абстракции, и
отказаться от написания веб-сервисов средствами традиционных языков.
Для написания логики приложения предлагается использовать среду, которая
использует диаграммы и связи между ними, описывая необходимые действия.
Полученная диаграмма автоматически преобразовывается в модель бизнес-логики, а
также привязывается к интерфейсу.
IV. Список литературы
1. Глоба Л.С., д.т.н., проф., Ермольчев А.В., Оленюк В.Н. Инструментарий
проектирования и разворачивания бизнес-процессов в распределенных системах//
источник
2. Ullman, Chris. Beginning AJAX// Wiley Pub., 2007, 498 p. ISBN0470106751
3. Benslimane, Djamal; Schahram Dustdar, and Amit Sheth. Services Mashups: The New
Generation of Web Applications // IEEE Internet Computing, vol. 12, no. 5, 2008
4. Martin Gudgin, Marc Hadley, Noah Mendelsohn,Jean-Jacques Moreau, Henrik Frystyk
Nielsen, Anish Karmarkar, Yves Lafon. SOAP Version 1.2 Part 1: Messaging Framework
(Second Edition) // W3C Recommendation 27 April 2007.
5. Roberto Chinnici, Jean-Jacques Moreau, Arthur Ryman, Sanjiva Weerawarana. Web
Services Description Language (WSDL) Version 2.0 Part 1: Core Language // W3C
Recommendation 26 June 2007
6. OASIS consortium. OASIS Web Services Business Process Execution Language TC Web Services Business Process Execution Language Version 2.0 //OASIS Recommendations,
11 April 2007
7. Anneke Kleppe. MDA Explained, The Model Driven Architecture: Practice and
Promise // Addison-Wesley, 2003, 170p. ISBN 0-321-19442-X
Download