Разработка Сервис Ориентированных приложений (SOA) c использованием средства разработки Oracle JDeveloper и сервера приложений Oracle AS Weblogic
JV-4
На современном этапе развития программного обеспечения уделяется особое внимание созданию надежных, масштабируемых и переносимых приложений, которые не зависят от поставщиков и платформ. Компании, поставляющие готовые решения – SAP, Oracle, HP и многие другие, в настоящий момент уделяют большое внимание взаимодействию между своими приложениями посредством WEB сервисов. На смену технологиям Borland MIDAS и другим, пришли новые, обеспечивающие надежность взаимодействия готовых решений внутри корпорации. Это в первую очередь архитектура, ориентируемая на сервисы со своим протоколом SOAP.
В этом курсе будут рассмотрены основы создания распределенных приложений, основанные на Web сервисах, с помощью продукта Oracle Jdeveloper, для серверов приложений стандарта JEE. С помощью “оркестровки ” WEB сервисов, с использованием языка BPEL, в одну корпоративную задачу будут собраны различные службы, поставляющие данные из различных бизнес процессов. Использование языка UML позволит наглядно отобразить взаимодействие между процессами масштаба предприятия.
Для решения поставленных задач будут использоваться средства разработки Oracle Jdeveloper
Аудитория
- Начинающие разработчики WEB серверных приложений и приложений в архитектуре SOA.
- бизнес аналитики,
- интеграторы,
- разработчики Xbase, переводящие свои приложения на платформу распределенных вычислений.
Цель курса
Показать на примерах возможности построения сервис ориентируемых систем с использованием современных средств разработки. Приложения не должны зависеть от платформ, средств разработки, они должны быть настраиваемы, масштабируемы, надежны. Взаимодействие с готовыми решениями (SAP, HP, Oracle) – основная задача интеграторов предприятий. Слушатели получат методики доступа к различным серверам базы данных с использованием технологий JEE – EJB. Разрабатывается SOAP приложение с поставкой Web сервисов, а также клиентские места для доступа к стандартным серверам приложений технологии JEE. Оркестровка WEB сервисов осуществляется с помощью Oracle BPEL Designer.
Предварительный уровень подготовки
Необходимая подготовка: реляционные базы данных Знания ООП, язык программирования Java, основные компоненты технологии JEE.
Программа курса
- Обзор распределенных вычислений. Web-сервис – это просто еще одна программа, выполняющаяся в недрах вашей вычислительной инфраструктуры. Web-сервисы – это технология работы с сообщениями, в которой передача сообщений основана на XML. Ключевые функций, которые применяются для управления Web-сервисамиВ их числе - развертывание, конфигурирование и обеспечение безопасности. SOA не является чем-то новым: IT-отделы компаний успешно создавали и развертывали приложения, поддерживающие сервис - ориентированную архитектуру, уже много лет - задолго до появления XML и Web-сервисов. SOA - это не технология, а способ проектирования и организации информационной архитектуры и бизнес функциональности.
- Открытые стандарты группы W3C. XML – основа обмена данными между приложениями. Краткое введение в XML. Понятие DOM, XSD, механизмы разбора документов. Визуальное построение схемы XSD. Разбор документов Java приложениями и средствами сервера базы данных Oracle. Загрузка схемы XSD в базу данных. Формирование объектно – реляционной модели в базе данных. Использование протокола WebDAV для загрузки документов в хранилище данных. Связывание XML данных с объектами java, стандарты JAXB 1, JAXB 2. Marshaller и Unmarshaller данных.
- Разработка и развертывание приложений в среде Oracle Application Server (Weblogic) . Файлы web.xml, war, ear. Последовательность сборки и отправки приложений на сервер. Формирование многомодульных приложений. Разработка приложений для доступа к данным – стандарт EJB 3. Использование технологии Oracle ADF для быстрой разработки модулей доступа к данным – DataControl и DataBinding файлы.
- Стандарты SOAP, WSDL, UDDI. RPC-стиль. Стиль Document . Обзор стандартов. Визуальное построение файла интерфейса WSDL. Основные блоки WSDL файла. Создание сообщений и формирование параметров. Описание операций, видов связывания и точек размещения сервисов.
- Использование WSI анализатора. Инсталляция анализатора в среде Oracle JDeveloper. Анализ созданного WSDL документа. Обнаружение и исправлении ошибок в описании интерфейса WSDL.
- Разработка и размещение на сервере 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 страниц. Вызов веб-сервиса в приложении клиента. Генерация файла-заглушки и вызов веб-сервиса. Политика безопасного доступа к методам сервиса.
- Понимание протокола SOAP (Simple Object Access Protocol, простой протокол доступа к объектам). На самом деле ли он такой простой? Сообщение протокола SOAP. Типы сообщений протокола SOAP. Использование различных методов упаковки данных в конверт SOAP.
- SOA "подталкивает" к использованию альтернативных технологий и подходов (таких как обмен сообщениями) для построения приложений посредством связывания сервисов, а не посредством написания нового программного кода. Потребление веб-сервисов стиля Document в среде Oracle JDeveloper. Java API для доступа к службам сообщений (JMS). Веб-сервисы JMS. Разработка MDB компонент и управление ими через службы JMS сервера приложений. Асинхронныое выполнение заданий через сервисы. Передача простых и объектных сообщений из сервиса в MDB компоненты. У правление службой JTimer через опубликованные сервисы на сервере приложений.
- Разработка клиентских приложений в других языках приложения. Встраивание вызова сервиса в статические HTML страницы, JSP и JSF приложения. (AJAX)
- До появления концепции SOA при разработке систем в качестве отправного момента для программирования бизнес логики использовались диаграммы рабочих потоков и блок-схемы систем. Разработанные вручную программы тщательно тестировались, после чего внедрялись. Сегодня ситуация изменилась коренным образом: современные инструменты управления бизнес-процессами позволяют обойтись без ручной разработки и тестирования. Так, с помощью методов моделирования можно проверять корректность исполнения бизнес логики, представленной в диаграммах, а затем автоматически получать описания этих диаграмм на XML-языках управления бизнес-процессами. Таким средством является язык BPEL
- Обмен синхронными и асинхронными сообщениями. Обработка исключений. Общая архитектура 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 и использование этой операции. Вызов различных сервисов в зависимости от входных данных пользователя или критериев выбора. Связующие наборы. Реализация связующих наборов и операций обработки тайм-аутов onAlarm.