Web Services
Oracle AS предоставляют инфраструктуру разработки, развертывания и управления Web-сервисами. JDeveloper упрощает процесс создания и размещения сервисов в Oracle AS. Являясь ядром сервера приложения, OC4J обеспечивают надежную масштабируемую систему исполнения повышенной доступности. OEM предоставляет консоль управления Web-сервисами. Реестр UDDI отвечает за процессы публикации и обработки запросов на поиск Web-сервисов.
Oracle AS предоставляет возможность создавать сервисы из следующих компонентов кода:
- классы Java, не сохраняющие информацию о состоянии (stateless);
- классы Java, сохраняющие информацию о состоянии (statefull);
- компоненты Session Enterprise Java Beans (EJB) без состояния;
- компоненты Message Driven Beans (MDB);
- хранимые процедуры PL/SQL.
Oracle AS - единственный сервер приложений, позволяющий представлять хранимые процедуры на языке PL/SQL в виде сервисов web.
Модуль протокола SOAP поддерживает как cookies, так и сессии для Web-сервисов, сохраняющих информацию о сеансе между обращениями. Oracle AS предоставляет инструмент сборки Assembly Tool для облегчения публикации. После того, как приложение размещено на сервере, Oracle AS может автоматически по запросу создавать описание WDSL и клиентские и серверные шаблоны-заглушки.
После того, как описание WDSL создано, можно использовать OEM и пройти ряд HTML-страниц мастера развертывания для регистрации Web-сервиса в базе UDDI. Oracle также предлагает возможность импортировать сервисы из внешних баз UDDI.
Доступ к Web-сервисам возможен из существующих приложений J2EE - JSP, сервлетов, EJB - или динамически по протоколу SOAP. Oracle AS предоставляет оптимизированный посредник (proxy) для обеспечения статического связывания клиентских Java-приложений с Web-сервисами.
Таким образом, Oracle AS предоставляет объединенную среду выполнения как приложений J2EE, так и Web-сервисов. Это позволяет Web-сервисам использовать заложенные в Oracle AS Containers for J2EE механизмы производительности, масштабируемости и отказоустойчивости.
BPEL Process Manager
Web-сервисы и язык выполнения бизнес-процессов (Business Process Execution Language, BPEL) являются промышленными стандартами, на которых базируется сервис -ориентированная архитектура. Назначение программного продукта Oracle BPEL Process Manager - поддержка Web-сервисов и выполнение программ, реализованных на языке BPEL и вызывающих Web-сервисы.
С технической точки зрения, BPEL представляет собой средство для программирования следующих операций - передачи XML-сообщений удаленным сервисам, управления данными в формате XML, асинхронное получение XML-сообщений от удаленных сервисов, управления событиями и исключениями.
Как правило, корпоративные приложения работают на различных технологических платформах; в рамках корпоративных бизнес-процессов происходит обращение к приложениям и информационным ресурсам различного типа: приложения J2EE и .NET, Web-сервисы и ERP-, CRM-системы. Oracle BPEL Process Manager предоставляет инфраструктуру для организации доступа к различным информационным ресурсам посредством Wеб-сервисов и адаптеров, размещения и выполнения объединенных бизнес-процессов, вовлечения человека в процедуры мониторинга, запуска, остановки, продолжения процессов, обработки исключительных ситуаций.
BPEL_Pic1.bmp Логическая архитектура Oracle BPEL Process Manager
Oracle BPEL Process Manager состоит из следующих компонентов:
- Oracle BPEL Process Manager Designer - графический интерфейс моделирования
- Oracle BPEL Process Manager Server - сервер выполнения
- Oracle BPEL Console - Web-интерфейс мониторинга и управления
- Oracle DB - репозиторий сервера выполнения
Сервер выполнения реализован в виде J2EE приложения; в качестве сервера приложения могут быть использованы, наряду с Oracle Application Server, BEA WebLogic, IBM WebSphere, JBoss.
BPEL_Pic2.bmp Компоненты Oracle BPEL Process Manager
Oracle BPEL Process Manager оперирует понятием сервис. Реализация бизнес-процесса состоит из двух этапов: публикация сервисов и оркестровка (orchestration) сервисов. Под оркестровкой подразумевается создание на основе опубликованных сервисов единого интеграционный BPEL-сценария. Публикация означает предоставление доступа к информационному ресурсу через некоторый API. Оркестровка означает сборку и координацию этих сервисов в единое бизнес-приложение.
Публикация сервисов
В качестве сервиса рассматривается любой информационный ресурс, описанный с помощью языка определения Wеб-сервисов (WSDL). Публикация приложения в виде набора сервисов означает возможность программного доступа извне к выделенным функциям приложения или к фрагментам информационного ресурса. В качестве приложением может выступать ERP-система, унаследованные приложения, приложения .Net и J2EE. Сервисы - это строительные блоки, которые получают на входе XML-сообщение, обрабатывают его и возвращают ответное XML-сообщение. При этом за кадром остаются технологические детали взаимодействия с информационным ресурсом, которое может осуществляться с использованием различных протоколов, таких как HTTP, JMS, JCA, Java или SMTP. Интерфейс взаимодействия с отдельным сервисом описывается в файле WSDL.
Благодаря поддержке технологии Apache WSIF, ресурсы с интерфейсами JCA, JMS или Java/EJB могут напрямую использоваться в качестве сервисов без отклонения от спецификации BPEL. Это означает, что не требуется "оборачивать" все информационные системы в оболочку Wеб-сервиса XML/SOAP, что обычно ведет к потере производительности.
Моделирование бизнес-процессов с BPEL
Бизнес-процесс BPEL представляет собой последовательность обращений к сервисам, организованная с использованием операторов циклов, ветвления, параллельной обработки, ожидания внешнего обращения и т.п.
BPEL_Pic3.bmp Oracle BPEL Process Manager Designer
В некоторых случаях целесообразно осуществлять прямые вызовы Java API. Для этого имеется возможность встраивать Java-код в сценарий BPEL, что реализовано как расширение спецификации BPEL.
BPEL_Pic4.bmp Для осуществления прямого вызова Java API используется оператор Java embedding
Благодаря поддержке инструмента сборки Ant, BPEL-процесс может быть размещен на сервере непосредственно с использованием интерфейса BPEL Process Manager Designer или из командной строки.
Мониторинг бизнес-процессов
Для анализа состояния, в котором находится тот или иной BPEL-бизнес, используется Wеб-интерфейс Oracle BPEL Console. Пользователь имеет возможность запустить процесс, посмотреть графическое представление процесса (режим Flow), на каком шаге он находится или результат его завершения. Кроме режима Flow, доступны варианты представления Audit и Debug.
|