Аудитория: разработчики Oracle, системные администраторы, аналитики, которым необходимо получить понимание и навыки объектно-ориентированного анализа и проектирования многозвенных приложений в стандарте J2EE с использованием UML в среде разработки Oracle JDeveloper.
Необходимая подготовка: Желание узнать новые направления в современных технологиях корпорации Oracle
Цель: помочь эффективно использовать UML (Unified Modeling Language) при разработке информационной системы в технологии J2EE. В процессе обучения слушатели научаться применять UML к фундаментальным концепциям объектно-ориентированного анализа и проектирования. Рассматриваются вопросы построения моделей развертывания фармов и кластеров с целью обеспечения надежности и отказоустойчивости систем, механизмы коллективной разработки программного обеспечения. На основе контейнера J2EE OC4J строятся модели WEB приложения. Моделируются приложения для CTM контейнера в технологии EJB, рассматриваются модели взаимодействия между различными контейнерами сервера приложений. По окончанию курса, слушатели получают в электронном виде все приложения и модели, которые были созданы на протяжении курса, а также дополнительную справочную и другую информацию по теме.
Содержание курса:
- Зачем мы создаем модели приложений. Основы языка UML
- Простое приложение «Hello world». Четыре строительных блока UML, ключевые абстракции, механизмы и компоненты.
- Сущности, классы, интерфейсы, прецеденты, активные классы, компоненты, узлы – общее представление.
- Четыре типа отношений UML – связующие элементы между строительными блоками UML.
- Структура пакетов языка UML. Метамодели. Правила и общие механизмы.
- Основы жизненного цикла разработки J2EE приложения
Каскадный, итерационный циклы, краткая история. RUP процесс и особенности распределенных систем – дисциплины развития, тестирования и развертывания J2EE приложений в контейнерах серверов приложений. Риски, связанные с разработкой J2EE приложений.
- Oracle JDeveloper и UML
- Описание прецедентов и формирование UseCase диаграмм с помощью Jdeveloper. Предусловия, постусловия. Расширения, обобщения, включения. Исполнители. Комментарии и словарь терминов.
- Диаграммы последовательностей. Жизненный цикл J2EE приложений. Межсистемные взаимодействия в распределенных J2EE приложениях.
- Диаграммы Моделей Данных. Реляционные отношения в моделях и их описание в UML. Пример разработки конкретной модели данных с загрузкой ее в базу данных. Редактирование модели и синхронизация с базой данных. Описание событий в Базе Данных с помощью UML.
- Концептуальная модель классов. Система обозначений для ассоциаций языка UML. Стандартные ассоциации и роли, обобщения, ограничения в предметной области.
- Операции и атрибуты в контексте класса. Агрегация класса и композиция.
- Интерфейсы и абстрактные классы в нотации UML. Моделирование взаимодействия классов в контексте J2EE сервера – общее понятие о JNDI контексте. Моделирование конкретных классов с помощью диаграмм Jdeveloper.
- Модель предметной области. Общая архитектура Oracle iAS.
Фармы, кластеры, контейнер J2EE. Взаимодействия между различными сервисами внутри контейнера. Концептуальная модель EJB и WEB приложений для контейнера J2EE.
- Моделирование разработки Web приложений.
- Жизненный цикл сервлета. Обязательные методы. Моделирование жизненного цикла обработки запросов и генерирования ответов. Изучение моделей передачи и включения сервлета. Пять контекстов сервлета.
- Компоненты JSP. Архитектура MVC1 и MVC2. Моделирование поведения JSP страниц на стороне сервера и стороне клиента. События в JSP и их отображение в UML.
- Технология Java Server Faces (JSF) и STRUTS. Модели событий, проверок, акций. Взаимодействие между компонентами в JSF технологии. Oracle Application Development Framework (ADF) и моделирование Web приложений. Структура ADF.
- Формирование BC4J диаграмм на основе структуры, размещенной в базе данных. Моделирование поведения BC4J компонент в контексте сервера и Web приложений. Ввод дополнительных правил проверки и ограничений в объектную модель данных с помощью расширений UML.
- Взаимодействие JSP и ВС4J моделей через диаграммы развертывания.
- Моделирование разработки приложений масштаба предприятия (EJB).
- Краткая история EJB. Версии. Почему компонентная модель. Три вида компонент. Представление компонентов EJB в UML – серверное и клиентское отображение. Компоненты управляемые сообщениями (MDB). Моделирование сообщений и роль JMS – два вида сообщений и два вида адресатов.
- Жизненный цикл компонента, управляемого сообщением. Построение диаграммы последовательностей для компонента управляемого сообщением. Управление транзакциями в MDB компонентах.. Отношения MDB компонент и других классов в составе EJB приложения. Взаимодействие со службой JNDI.
- Сеансовые компоненты – типы и диалоговое состояние. Типы интерфейсов сессионных компонент и классы реализации. Локальный и удаленный клиент. Необходимость отказа от удаленных вызовов. Модель диалога компоненты без состояния. Транзакции и демаркация транзакций. Моделирование поведения операций сессионных компонент с различными атрибутами транзакций. Моделирование жизненного цикла компоненты с состоянием. Взаимодействие между различными компонентами Enterprise приложения, и другими классами через JNDI интерфейс. Сеансовые компоненты и Web приложения – моделирование развертывания. Отношения между сеансовыми компонентами с различным типом состояния.
- Компоненты сущности. Деловые объекты. Отображение сущностей в UML. Клиентское и серверное представление сущностных компонент. Моделирование постоянства управляемого контейнером и компонентом, абстракция. Влияние транзакций на операции сущностных компонент. Важность первичного ключа.
- Жизненный цикл компонента CMP и BMP. Сущности и Web приложения – моделирование взаимодействия через локальные интерфейсы. Создание модели конкретного приложения с взаимодействием EJB компонент с JSF страницами. Модель фасадных компонент для сущностей, стандартные операции фасадов.
- Моделирование Web сервисов. Архитектура Web сервисов. Моделирование интерфейсов и классов – реализаторов для Web сервисов. Взаимодействие с другими классами и EJB компонентами. Сервисы с состоянием и без состояния. Диаграммы развертывания Web сервисов и других приложений.
Комплексный Пример моделирования приложения с использованием описанных технологий в среде Jdeveloper.

