BPM, создание SOA c использованием средства разработки Oracle JDeveloper и сервера приложений Oracle Weblogic (вводная часть)
SOA
Курс будет интересен начинающим разработчикам WEB серверных приложений и приложений в архитектуре SOA.
Для решения поставленных задач будут использоваться средства разработки Oracle Jdeveloper.
Аудитория
- Начинающим разработчикам WEB серверных приложений
- Бизнес аналитики, интеграторы, переводящие свои приложения на платформу распределенных вычислений.
Предварительный уровень подготовки
Реляционные базы данных Знания ООП, язык программирования Java, основные компоненты технологии JEE.
Задача: показать на примерах возможности построения сервис ориентируемых систем с использованием современных средств разработки.
Программа курса
- Жизненный цикл SOA - моделирование, сборка, развертывание, управление. Составляющие управления процесами - BPEL, BPMN, BPM Studio, BPM Composer, BAM, Управление правилами.
- Сервер приложений Oracle Weblogic и архитектура SOA. Процесс инсталяции SOA сервера. Кластерная архитектура сервера и сервер, работающий в режиме Stand Alone. Развертывание SOA компонент на сервере, утилита RCU, средства мониторинга за SOA компонентами. Управление SOA сервером через консоль и приложение OEM.
- IDE среда разработки SOA приложений - Oracle Jdeveloper. Интеграция в среду разработки механизмов для управления жизненным циклом SOA.
- Открытые стандарты группы W3C. XML – основа обмена данными между приложениями. Краткое введение в XML. Понятие DOM, XSD, механизмы разбора документов. Визуальное построение схемы XSD. Связывание XML данных с объектами java, стандарты JAXB 2. Marshaller и Unmarshaller данных.
- Понимание протокола SOAP. На самом деле ли он такой простой? Сообщение протокола SOAP. Типы сообщений протокола SOAP. Использование различных методов упаковки данных в конверт SOAP. WSDL, UDDI. RPC-стиль. Стиль Document. Обзор стандартов. Визуальное построение файла интерфейса WSDL. Основные блоки WSDL файла. Создание сообщений и формирование параметров. Описание операций, видов связывания и точек размещения сервисов.
- Обзор распределенных вычислений. Web-сервис – это просто еще одна программа, выполняющаяся в недрах вашей вычислительной инфраструктуры. Web-сервисы – это технология работы с сообщениями, в которой передача сообщений основана на XML. Ключевые функций, которые применяются для управления Web-сервисами. В их числе - развертывание, конфигурирование и обеспечение безопасности. SOA не является чем-то новым: IT-отделы компаний успешно создавали и развертывали приложения, поддерживающие сервис - ориентированную архитектуру, уже много лет - задолго до появления XML и Web-сервисов. SOA - это не технология, а способ проектирования и организации информационной архитектуры и бизнес функциональности.
- Разработка и размещение на сервере Web сервиса, полученного в результате компиляции WSDL файла. Заглушка и скелет сервиса.
- Подготовка пакета Oracle для публикации в качестве сервиса. Отображение типов данных Oracle SQL и PL SQL на методы сервиса. Формирование WSDL файла на основе описания процедур и функций в пакете Oracle. Использование JDBC и SQLJ стандарта для доступа к хранимым процедурам Oracle. Класс – заглушка, сформированный автоматически средствами Oracle JDeveloper. Основы использования Java в базе данных. Загрузка в Oracle Java классов для доступа из базы данных к Web сервисам. Формирование запросов к сервисам из SQL и PL SQL – Oracle база данных - клиент для сервера приложений. Управление безопасностью для доступа из базы данных к серверу приложений.
- Использование технологии EJB 3 для формирования Web сервиса. Еще одно клиентское представление для сессионного EJB компонента – web сервис клиент. Использование фасадных методов EJB для публикации в качестве операций. Аннотации в EJB и сервлетах для публикации сервисов. Обеспечение безопасного доступа к выполнению методов через web сервис интерфейс. Сущностные бины для взаимодествия с данными.
- Разработка и развертывание веб-сервисов, реализованных как классы и интерфейсы Java. Автоматическое формирование WSDL файла из Java интерфейса. Доступ к домашней странице веб-сервисов OracleAS. Передача параметров сервису из Web интерфейса, анализ нагрузки на сервис, формирование AJAX скрипта для доступа к сервису из динамических HTML – AJAX страниц. Вызов веб-сервиса в приложении клиента. Генерация файла-заглушки и вызов веб-сервиса. Политика безопасного доступа к методам сервиса.
- Что такое Oracle Business Process Composer в среде JDeveloper. Создание BPM проекта. Рабочее пространство управления процессом.
- Создание задачи и работа с ней в рабочем пространстве. Настройка правил, периодов ожиданий, уведомлений. Создание подзадач в задачах. Действия в задачах, которые требуют ввода пароля пользователя. Маршрутизаторы задач.
- Использование экземпляра процесса. Поиск экземпляра процесса, просмотр, останов и удаление. Создание пользовательских страниц в рабочем пространстве. Обеспечение взаимодействия между страницами и процессами.
- Стандартные информмационные панели. Панели участников и процессов. Создание пользовательских панелей. Определение правил на панелях. Управление рабочей нагрузкой между пользователями. Установка правил для пользователей и групп пользователей. Управление рабочим пространством процесса. Правила, группы и пользователи в рабочем пространстве. Изменение потока работающего процесса.
- Использование Process Spacces.
- Обмен синхронными и асинхронными сообщениями. Обработка исключений. Общая архитектура BPEL PM. BPEL Designer на базе среды разработки JDeveloper. Инсталляция, конфигурация, начало работы. Конфигурация Oracle BPEL консоли. Запуск сервера и дизайнера. Порядок создания простого BPEL процесса – “HelloWorld”. Конфигурация WSDL интерфейса для BPEL процесса. Конфигурация базового скелетона для процесса. Использование утилиты ANT для сборки и размещения процесса на сервере приложений. Настройка build файла для отправки приложения на сервер.
- Оркестровка сервисов с помощью BPEL. Поддержка моделирования BPEL-процессов в среде JDeveloper. Импорт XML-схем и WSDL-локаторов. Поддержка проверки правильности, развертывания и управления жизненным циклом. Синхронные и асинхронные процессы.
- Усовершенствование BPEL-процессов: параллельная обработка и условные переходы. Обработка в параллельных потоках. Ветвление с параллельным выполнением процессов. Условное ветвление. Формы уведомления.
- Повышение надежности процессов, используя средства обработки ошибок и управления исключительными ситуациями. Определение событий. Конфигурирование тайм-аутов. Обработка ошибок. Перехват исключительных ситуаций. Управление компенсирующими операциями.
- Включение в BPEL-процессы сервисов трансформаций. Сервис и инструмент трансформаций. Пакетирование трансформаций. Стандартные, пользовательские и расширенные функции. Тестирование и анализ отображения. Генерация XML-экземпляра. Инструмент XSLT Mapper.
- Вызов BPEL-сервисов через адаптеры. Среда адаптеров, основанная на стандартах. Выбор сервиса адаптера. Конфигурирование адаптера файлов. Поддерживаемые и связываемые адаптеры. Интегрированная среда адаптеров. Адаптер Oracle Applications. Вызов в BPEL-процессе адаптера файлов как сервиса. Вызов в BPEL-процессе адаптера базы данных как сервиса. Добавление обработки исключительных ситуаций в системе базы данных. Добавление операции цикла While. Добавление ветви обработки исключительных ситуаций для операции области действия Scope. Добавление операции ожидания Wait
- Администрирование и мониторинг BPEL-процессов. BPEL-консоль. Управление жизненным циклом BPEL-процесса. Администрирование диспетчера BPEL Process Manager.
- Интеграция Java-приложений и BPEL-процессов. Оперативное встраивание Java-кода. Интеграция в среде вызова веб-сервисов WSIF (Web Services Invocation Framework). Вызов BPEL-процесса из JSP-страниц, среды JavaServer Faces (JSF) и интегрированной среды разработки приложений ADF. Включение Java/J2EE-сервисов в BPEL-процесс. Развертывание JCA-адаптера и его использование в BPEL-процессе. Реализация веб-сервиса как BPEL-клиента. Реализация в BPEL-процессе компонента, управляемого сообщениями, для организации асинхронного обмена сообщениями.
- Определение правил для операции создания параллельных ветвей FlowN и использование этой операции. Вызов различных сервисов в зависимости от входных данных пользователя или критериев выбора. Связующие наборы. Реализация связующих наборов и операций обработки тайм-аутов.