Руководство по инструменту: Моделирование структуры приложения J2EE в Rational Rose
В этой памятке по инструменту описан процесс моделирования структуры приложения J2EE с помощью Rational Rose.
Инструмент: Rational Rose
Взаимосвязи
Связанные элементы
Основное описание

Назначение

При проектировании компонентов J2EE в среде J2EE эти компоненты будут представлены в виде классов Rose и кооперации классов.  

Обычно в приложении J2EE применяется реляционная база данных. Для этой базы данных разработчик проектирует Модель данных, которая будет представлена в Rose с помощью Rose Data Modeler. 

Для моделирования приложения J2EE в Rose выполните следующие шаги:

Дополнительная информация о J2EE приведена в разделе Концепция: Обзор J2EE (Java 2 Platform Enterprise Edition).  

Общая информация о процессе разработки компонентов с помощью платформы J2EE приведена в разделе Концепция: Решения по разработке компонентов .

См. также:

Настройка Rational Rose для проекта J2EE

Настройте программу Rational Rose, как указано в разделе Памятка по инструменту: Подготовка Rational Rose к созданию проекта.

Также подключите встраиваемый модуль Rose Java и настройте параметры проекта.

Дополнительная информация о настройке модуля Rose Java приведена в разделе Web-справки Rational Rose справка Rose Java > Каким образом > Задать свойства проекта.

Планирование модели проектирования

Создание пакетов и уровней в Модели проектирования

В разделе Памятка по инструменту: Управление моделью проектирования с помощью Rational Rose описана процедура создания пакетов и уровней в компоненте Продукт работы: Модель проектирования, начиная с шаблона модели RUP, который поставляется вместе с Rose.  В этом шаблоне содержится каркас модели проектирования, включая заполнители для пакетов разных типов, подсистем и диаграмм, которые будут созданы в процессе проектирования (Задача: Проектирование прецедентов, Задача: Проектирование классов и Задача: subsystem_design_real-time_design).    

См. также:

Обратите внимание, что структура пакета в компоненте Продукт работы: Модель проектирования может не совпадать со структурой пакета в компоненте Продукт работы: Модель реализации. При прямом проектировании классов Java структура их пакета определяется на основе структуры пакетов в Модели реализации.

справка  Дополнительная информация о пакетах приведена в разделе Web-справки Rational Rose Пакет.

Добавление пакетов языка Java

Для получения доступа к службам платформы J2EE ("системный уровень") к Java и J2EE нужно добавить пакеты языка Java. Эти пакеты используются при создании в модели собственных классов. Например, для определения операции, которая возвращает класс String на языке Java, в модели необходимо установить пакет java.lang языка Java, в котором содержится класс String.

 Дополнительная информация приведена в разделах Web-справки Rational Rose:

  • справка Rose Java > Концепции > Работа со средами Java

  • справка  Rose Java > Каким образом > Загрузить в модель библиотеки классов Java

Добавление пакета Схемы

Пакет Схемы содержит проекты таблиц баз данных приложения.  Дополнительная информация приведена в разделе Памятка по инструменту: Проектирование и моделирование баз данных с помощью Rational Rose Data Modeler.

Моделирование объектов JavaBean и классов Java

В этом разделе не содержится информация о моделировании объектов EJB (см. раздел Моделирование объектов EJB) и о моделировании классов представления, например, страниц HTML и JSP (см. раздел Моделирование уровня представления).

В этом разделе также нет инструкций по моделированию остальных объектов JavaBean и классов Java (например, служебных классов) для любых приложений Java. Дополнительная информация приведена в следующих разделах:

Моделирование объектов EJB

Дополнительная информация об объектах EJBs приведена в разделе Руководство: Объект EJB (Enterprise JavaBean).

Ниже перечислены шаги для моделирования объекта EJB в Rose:

Создание подсистемы проектирования для объекта EJB

В общем случае объекты EJB группируются в подсистемы проектирования.  

Подсистемы проектирования используются для сохранения параметров поведения в "пакете", который предоставляет явный и формальный интерфейсы и не выводит (по соглашению) свое содержимое.  

Дополнительная информация о создании подсистем проектирования приведена в разделе Памятка по инструменту: Управление подсистемами с помощью Rational Rose.

Определение типа объекта EJB и структуры его хранилища

Перед созданием в Rose объекта EJB необходимо определить его тип: сущностный объект, сеансовый объект или принимающий объект. Для сущностного объекта нужно выбрать постоянное соединение, управляемое контейнером (CMP) или постоянное соединение, управляемое EJB (BMP). Для сеансового объекта нужно определить его тип: с сохранением или без сохранения состояния.

См. раздел Руководство: Объект EJB (Enterprise JavaBean).

Создание классов объекта EJB с помощью Rose Java

Rose Java предоставляет набор окон для создания в Rose классов объектов EJB и управления этими классами.

  справка  Дополнительная информация приведена в разделе Web-справки Rational Rose Rose Java > Каким образом > Работать с объектами EJB и сервлетами.  

С помощью Rose Java можно выполнять следующие операции:

  • создавать объекты EJB с самого начала

  • преобразовывать существующие в модели классы в EJB - Rose Java преобразовывает существующий класс в удаленный интерфейс EJB и создает новые классы для домашнего интерфейса и класса JavaBean 

  • добавлять к EJB методы поиска

  • добавлять в стандартный интерфейс любые методы рабочего цикла и агента поиска, заданные в классе реализации объекта JavaBean

  • обновлять свойства класса объекта EJB (например, изменять имя стандартного интерфейса), свойства хранилища (отдать его под управление объекта JavaBean или контейнера) и свойства файла описания (поля, управляемые контейнером или записи среды).

В состав сущностного или сеансового объекта JavaBean, созданного с помощью Rose Java входят следующие элементы:

  • класс стандартного интерфейса

  • класс удаленного интерфейса

  • класс объекта JavaBean

  • свойства, определяющие базовый файл описания ejb-jar.xml объекта EJB; этот файл сохраняется в свойствах класса объекта EJB

  • операции и атрибуты, необходимые для спецификации объекта EJB (например, методы обратного вызова), создаются в стандартном интерфейсе, удаленном интерфейсе и классе JavaBean

Эти классы, созданные утилитой Rose Java EJB, моделируются в соответствии с преобразованием, определенным в стандарте Sun JSR-000026 UML/EJB Mapping Specificationзначок справки Дополнительная информация приведена в разделе Web-справки Rational Rose Rose Java > Концепции > О поддержке платформы Java 2, Enterprise Edition (J2EE)

Дополнительная информация о спецификациях объекта EJB 1.1 или 2.0 приведены на Web-сайте http://java.sun.com/ по ссылкам Docs & Training > Java 2 Platform, Enterprise Edition > Enterprise JavaBeans Specification.

Добавление операций и атрибутов

После создания классов EJB можно добавить операции (например, бизнес-методы) и атрибуты.

Rose Java предоставляет набор окон для создания в Rose классов объектов EJB и управления этими классами.

  справка  За информацией обратитесь к разделу Web-справки Rational Rose Rose Java > Каким образом > Работать с объектами EJB и сервлетами > Добавление методов в класс объекта JavaBean topic in the Rational Rose online help.

Дополнительная информация по добавлению операций и атрибутов приведена в следующих разделах:

Моделирование классов:  Взаимосвязи

Диаграммы классов создаются как часть задачи Задача: Проект класса, в которой вы моделируете взаимосвязи (такие как связи, зависимости и отношения наследования) между классами.

Шаблон модели Rational Unified Process Rose, предоставленный Rose, предлагает начальную структуру диаграммы класса, которую необходимо создать.

Дополнительная информация о моделировании взаимосвязей между классами приведена в разделе Задача: Проектирование классов.

Моделирование классов: Взаимодействие

В процессе задачи Задача: Эскиз прецедента вы создаете сообщения диаграмм схем связей, которые затем используются для описания взаимодействий между объектами. Создайте диаграммы схем связей для описания главного и альтернативного потоков событий для каждой реализации прецедента в модели проекта.  

Проектировщик объекта EJB может использовать диаграмму схемы связей в следующих целях:

  • добавление операций и аргументов классов, участвующих во взаимодействии

  • документирование операций, которые будут вызываться классом в процессе взаимодействия

  • документирование действий объекта при получении сообщения, например, с помощью прикрепления сценария к сообщению. значок справки  Дополнительная информация приведена в разделе справки Rational Rose > Как > Создать и работать в модели > Использование сценариев в диаграммах схемы связей.

См. также:

Моделирование хранилища объекта EJB

EJB Сущность представляет объектно-ориентированное представление постоянных данных приложения.   Моделирование класса EJB как сущности и маркировка класса как Persistent указывает на то, что Роль: Проектировщику базы данных потребуется преобразовать объект EJB в Модель данных при выполнении задачи Задача: Проектировка базы данных.

Роль: Проектировщик базы данных создает модель данных приложения при выполнении задачи Задача: Проектировка базы данных.

Rose предоставляет поддержку проектировки базы данных с помощью утилиты Rational Rose Data Modeler, которая позволяет преобразовывать постоянные классы модели объекта в модель данных и наоборот.

Преобразование классов модели объекта в таблицы модели данных документируется в поле Преобразовано из спецификации Rose таблиц модели данных.

См. также разделы Продукт работы: Модель данных и Руководство: Модель данных

Дополнительная информация о программе Rose Data Modeler приведена в разделе Памятка по инструменту: Проектирование и моделирование баз данных с помощью Rational Rose Data Modeler.

Замечания по моделированию сеансовых объектов EJB

Объекты JavaBean сеанса могут записывать и читать данные - смотрите Руководство: Проектирование объектов Enterprise JavaBean (EJB) - Прямой доступ в сравнении с сущностными объектами EJB.  

В такой ситуации следует использовать классы объектов доступа к данным (DAO) для разделения сведений о соединении с базой данных EJB и доступа с помощью интерфейса javax.sql. 

Замечания по моделированию сущностных объектов EJB, управляемых объектами JavaBean

Сущностные объекты JavaBean читают и записывают таблицы базы данных с помощью API JDBC. Используйте классы DAO для разделения сведений о соединении с базой данных EJB и доступа с помощью интерфейса javax.sql. 

Замечания по моделированию сущностных объектов EJB, управляемых контейнером

Нет необходимости проектировать классы DAO для сущностного EJB, управляемого контейнером, поскольку его хранилище управляется контейнером EJB.

Моделирование транзакций

Транзакции определяют набор атомарных вызовов операций, который или выполняется целиком, или не выполняется ни один из вызовов этого набора. В контексте хранилища транзакция определяет набор изменений для набора объектов, который также может быть выполнен только целиком. Транзакции обеспечивают непротиворечивость, переводя набор объектов из одного согласованного состояния в другое.

Общая информация об управлении транзакциями приведена в разделе Концепция: Обзор J2EE (Java 2 Platform Enterprise Edition) - Управление транзакциями.

Создайте модель транзакций EJB, как это описано в Задача: проектирование прецедентов - Моделирование транзакций.  Во время реализации вы решаете на основании своей файл модели, как разделять транзакции: декларативно - в файле описания, определяя атрибут транзакции метода EJB как Required, RequiresNew, NotSupported, Supports, Mandatory или Never, - или программно, т.е с помощью API Java Transaction.

Моделирование защиты

Определите в проекте, может ли защита приложения управляться декларативно, с помощью ролей защиты и прав доступа в файле описания EJB, или программно, с помощью API защиты J2EE.

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

Общая информация об управлении защитой приведена в разделе Концепция: Обзор J2EE (Java 2 Platform Enterprise Edition) - Управление защитой.

Компонент прямого проектирования EJB

Генерация классов Java EJB методом прямого проектирования осуществляется с помощью Rose Java, как это описано в Наставник по инструменту: Генерация элементов из модели с помощью Rational Rose. Файл описания EJB ejb-jar.xml будет сгенерирован автоматически в результате прямого проектирования класса bean-объекта EJB.

Компоненты обратного проектирования EJB

Можно применить обратное проектирование к существующему EJB с помощью Rose Java, как это описано в Наставник по инструменту: Обратное проектирование с помощью Rational Rose. Необходимо создать с помощью обратного проектирования файл .jar, содержащий классы EJB и файл описания, так чтобы Rose Java могла определить, какие взаимосвязи между классами (например, какой класс является домашним интерфейсом) были созданы при обратном проектировании.  

Моделирование уровня пользовательского интерфейса

Создайте модель уровня Пользовательский интерфейс приложения J2EE как для web-приложения. В общем случае, стереотипы <<пограничных>> классов анализа являются подходящими кандидатами для классов и коопераций классов на уровне Пользовательский интерфейс. Пограничные классы могут быть реализованы, например, в виде страниц JSP, сервлетов, страниц HTML или автономных клиентов Java, в зависимости от проекта.

Дополнительная информация приведена в следующих разделах: 

Связанные действия:

См. также:

Прямое и обратное проектирование классов оформления

Классы оформления можно создать с помощью прямого и обратного проектирования. Rose Java поддерживает:

  • Обратное проектирование web-приложений (.war). значок справки Дополнительная информация приведена в разделе Web-справки Rational Rose Rose Java > Каким образом > Произвести обратное проектирование из   Источника Java в Rose .

  • Создание нового класса сервлета с помощью соответствующих методов.   справка Дополнительная информация приведена в разделе Web-справки Rational Rose Rose Java > Каким образом > Работать с объектами EJB и сервлетами.