Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
CASE-MU-5.1 (70 стр.).doc
Скачиваний:
44
Добавлен:
21.11.2018
Размер:
3.57 Mб
Скачать

2. Порядок выполнения

2.1. Изучить теоретические сведения по разработке систем на базе принципов модельно-ориентированной архитектуры. Ознакомиться с базовыми возможностями используемых инструментальных средств. Основным из них является iO-Software ArcStyler Tool Suite версии 3.1 или выше (далее - ArcStyler) – набор средств, обеспечивающих разработку ПО в соответствиями с принципами МОА. В зависимости от используемой версии ArcStyler для построения UML-диаграмм используется Rational Rose 2000 либо MagicDraw UML 9.

2.2. Создать платформо-независимую модель. Для построения PIM-модели следует воспользоваться каркасом ArcStyler MDA. При этом в логическое представление модели добавляется пакет iOCATBase, содержащий платформо-независимые примитивные типы, которые следует использовать в PIM-моделях, а также основные пакеты и классы для поддерживаемых платформ. Все используемые в модели типы полей, типы аргументов и возвращаемых значений методов должны браться из пакета “Logical View::iOCATBase::elementary_datatypes”.

2.3. Создать новый ArcStyler-проект и включить в него построенную ранее PIM-модель.

В диалоге “ArcStyler Project Wizard” выбрать пункт New Project, указать расположение файла проекта и отказаться от использования шаблона проекта. Открыть построенную ранее PIM-модель и утвердительно ответить на вопросы о загрузке подмодулей (subunits) модели и сопоставлении данной модели ArcStyler-проекту. Сохранить ArcStyler-проект при помощи пункта меню “Tools \ArcStyler\Project\Save”.

2.4. Настроить ArcStyler-проект, то есть определить используемые картриджи и пути для генерации исходного кода.

Вызвать диалог конфигурирования ArcStyler-проекта и всей среды в целом, выбрав пункт меню “Tools\ ArcStyler\Configure…”.

Изменить путь к каталогу, в котором будут создаваться файлы исходного кода приложения и файлы настройки. Для этого в разделе C-GEN\Generate в поле “Generated Source Directory” выбрать нужный каталог.

Для добавления картриджа к ArcStyler-проекту выбрать в дереве раздел C-GEN\Cartridges и в правой панели нажать на кнопку Add по соседству со списком используемых картриджей “Chosen Technology Projections”. После добавления картриджа внизу списка используемых картриджей появится набор закладок, на которых можно задавать параметры кодогенерации для выбранного в списке картриджа.

Сохранить конфигурацию ArcStyler выбором пункта меню “Tools\ ArcStyler\Save configuration”.

Рекомендуется сохранять проект после изменения его настроек. В целом порядок сохранения выглядит следующим образом: в первую очередь сохраняется UML-модель, а затем – ArcStyler-проект.

2.5. Аннотировать платформо-независимую модель. Под аннотированием понимается задание стереотипов и установка помеченных значений (tagged values) для классов, атрибутов и методов UML-модели.

Стереотип класса ComponentSegment обозначает, что из данного класса будет сгенерирован компонент выбранной компонентной архитектуры (например, EJB), который при этом будут входить в состав компонента в терминологии UML, чем объясняется суффикс Segment.

После установки данного стереотипа на закладке “ArcStylerEJB” диалога “Class Specification” станет доступным набор помеченных значений, определяющих особенности генерирования исходного кода для EJB-компонентов, а также настройки deployment descriptor’а. В таблице П4.1 приведены основные помеченные значения, необходимые для генерации EJB-компонентов.

Таблица П4.1

Помеченные значения набора ComponentSegment группы ArcStylerEJB

Название

Описание

Набор допустимых значений

Значение по умолчанию

BeanType

Тип компонента

Entity, Session, Message-driven

Entity

PersistenceManagement

Для entity-компонентов определяет тип управления устойчивостью

Cartridge default, Container, Bean

Cartridge default (для JBoss11 – Container)

StateManagement

Для session-компонентов определяет тип жизненного цикла

Stateful, Stateless

Stateless

JNDI Name

Имя компонента в JNDI-хранилище

Совпадает с именем класса

GenDfltFactories

Набор автоматически генерируемых методов ejbCreate

None, EmptyParameterList (с пустым списком параметров), AllAttributesAsParameters (со всеми независимыми атрибутами в списке параметров), Both

EmptyParameterList

Для entity-компонентов необходимо указать атрибут или комбинацию атрибутов, которые используются в качестве первичного ключа. Это выполняется путем установки для элементов первичного ключа (атрибутов) помеченного значения PartOfPrimaryKey группы ArcStylerEJB в true.

Для задания параметров генерации и настройки веб-сервисов используются помеченные значения группы ArcStylerWebService. В таблице П4.2 приведены основные помеченные значения, необходимые для генерации веб-сервисов. Кроме того, для вызываемых через веб-сервис методов класса в группе помеченных значений ArcStylerWebService следует установить значение webService = enabled.

Таблица П4.2

Помеченные значения группы ArcStylerWebService

Название

Описание

Набор допустимых значений

Значение по умолчанию

Urn

Уникальный идентификатор веб-сервиса (точнее, его интерфейса)

urn:generated-webservice

webService

Тип веб-сервиса (для Apache SOAP - контекст, в котором создается класс веб-сервиса)

Not enabled (доступ к классу как к веб-сервису не реализован), Request, Session, Application

Not enabled

rpcrouter

URL реализации веб-сервиса (используется для генерации класса-обертки для веб-сервиса)

http://localhost:8080/soap/servlet/rpcrouter

Результат аннотирования для рассмотренной выше системы онлайновой торговли приведен на рисунке П4.1.

2.6. Определить платформо-зависимые элементы модели.

Как правило, в роли подобных элементов выступают компоненты (в терминологии UML), которые определяют набор модулей приложения и их состав при реализации приложения на конкретной платформе. Так, на платформе J2EE основной формой модуля является JAR-архив, а на платформе .NET – так называемая сборка (assembly).

Компонент со стереотипом EJBArchive представляет собой архив EJB-компонент. Состав архива определяется на закладке Realizes свойств компонента.

Созданные компоненты следует разместить на диаграмме компонентов. Кроме того, необходимо создать диаграмму развертывания, на которой следует привести размещение компонентов по отдельным узлам вычислительной сети.

2.7. Сгенерировать каркас приложения.

ArcStyler добавляет в контекстное меню обозревателя модели Rational Rose свои пункты, объединенные в подменю ‘ArcStyler’. С помощью пунктов этого меню можно осуществлять генерацию каркаса исходного кода приложения, верификацию модели, а также прочие действия, состав которых определяется типом элемента UML-модели.

Кроме того, всегда существует возможность вызова MDA Control Center, в котором можно воспользоваться всеми операциями (features) любого добавленного в проект картриджа.

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

Рис. П4.1. Аннотированная модель системы онлайновой торговли

2.8. Собрать, развернуть и протестировать приложение.

Для каждого компонента создается файл build.xml, содержащий инструкции по сборке, развертыванию и тестированию, а также обеспечивающий запуск Ant командный файл build.bat. При запуске build.bat в качестве параметра следует указывать название конкретной цели.

2.8.1. Собрать компонент с помощью цели build.

2.8.2. Запустить сервер приложений JBoss с помощью цели startServer. При этом JBoss обнаружит EAR-файл приложения и развернет его.

2.8.3. Установить веб-сервис.

2.8.3.1. Запустить сервер Tomcat (цель сборки – startSOAPServer).

2.8.3.2. Развернуть веб-сервис путем задания цели deploysoap.

2.8.3.3. Перезапустить сервер Tomcat с использованием комбинированной цели ‘stopSOAPServer startSOAPServer’.

2.8.4. Для тестирования компонентов с использованием тестовой оболочки JUnit используется цель runAssemblyClient. Если тесты реализованы без использования JUnit, то выполнить их можно с помощью цели runClient.

2.8.5. Последовательность остановки серверов выглядит следующим образом. Сначала останавливается сервер Tomcat, для чего служит цель сборки stopSOAPServer. Затем производится останов сервера приложений JBoss с использованием цели stopServer.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]