Введение в UML. Обзор UML. Зачем нужно использовать платформу J2EE и язык XJML совместно. Проблемы моделирования J2EE в UML, страница 4

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

В дополнение к способности создавать универсальные модели, средства моделирования языка UML совершенствуются, и вскоре их можно будет применять для наложения на проект системы согласованных и общепринятых шаблонов взаимодействия объектов. Рассмотрим, например, вопрос, когда нужно использовать сеансовые компоненты с поддержкой состояний когда — не имеющие состояний, а также когда использовать компоненты JavaServer Pages (JSP), а когда— сервлеты. В будущем такие разновидности проектных решений можно будет кодировать в самом средстве моделирования и применять при необходимости.

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

Проблемы моделирования J2EE в UML

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

В проблеме использования неспециализированного UML для моделирования J2EE есть нечто подобное. Можно выполнить нужную работу, но ее эффективность и вероятность успешного результата будет меньше, чем хотелось бы.

Более конкретно, спецификации, из которых состоит J2EE, ставят несколько различных проблем моделирования.

·  Класс Enterprise JavaBeans (EJB) реализует деловые методы интерфейса Remote (удаленного), но не сам интерфейс. Это противоречит стандартной концепции реализации интерфейса, принятой в UML.

·  Компонент EJB, по определению, связан с местным (Ноте) и удаленным (Remote) интерфейсами. Необходимо, чтобы разработчик модели на языке UML учитывал эту особенность архитектуры.

·  Сервлеты и EJB имеют связанные с ними описатели развертывания.

·  В отличие от большинства других классов Java, EJB, сервлеты и JSP вместе со своими описателями развертывания содержатся в файлах архива определенного типа.

·  Атрибуты компонента-сущности отображаются на элементы в базе данных.

·  Компоненты EJB имеют аспекты транзакций и безопасности.

·  Сеансовые EJB потенциально могут иметь значимое динамическое поведение.

·  Компоненты-сущности могут применять различные схемы персистентности.