Реферат: Бизнес-процессы и XML

Предлагаемый вниманию читателя материал завершает рассмотрение вопросов, поднятых в статьях "Корпоративная сервисная шина - "бюджетные" подход к решению задач интеграции" и "Сервис-ориентированная архитектура". Напомним, речь шла о новом интеграционном подходе - корпоративной сервисной шине (ESB) - реализация которого неразрывно связана с концепцией сервис-ориентированной архитектуры (SOA). ESB - это слой промежуточного программного обеспечения, предназначенного для передачи данных между приложениями и системами через шинную архитектуру. Для описания систем и приложений на уровне бизнес-процессов разработано несколько спецификаций, особое место среди которых занимает язык BPEL4WS. Именно об этом языке и рассказывается в данной статье.

Немного истории

В августе 2002 года, осознав сложность обращения к Web-сервисам в синхронной и асинхронной средах, корпорации BEA, IBM, Microsoft, SAP и Siebel в результате совместных усилий разработали язык реализации бизнес-процессов для Web-сервисов (Business Process Execution Language for Web Services, сокр. BPEL4WS или просто BPEL). В апреле 2003 на рассмотрение международной организации OASIS была передана спецификация следующей версии этого языка - BPEL4WS 1.1. В настоящий момент спецификация BPEL опубликована на сайте IBM и OASIS. Стоит отметить, что различия между редакциями 1.0 и 1.1 не носят принципиального характера.

Введение

Как известно, Web-сервисы - это автономные, модульные приложения, предназначенные для реализации бизнес-процессов. Web-сервисы опираются на ряд отраслевых стандартов: WSDL (для описания), UDDI (для информирования и публикации) и SOAP (для обмена сообщениями). Эти спецификации не зависят от платформы и языка, благодаря чему пользователи могут связывать различные компоненты из разных организационных структур. Тем не менее, ни один из этих стандартов не предусматривает определения бизнес-семантики Web-сервисов. Таким образом, Web-сервисы оказываются изолированными. Для решения этой проблемы необходимо соединить Web-сервисы и указать, как их совместно использовать для реализации более сложной функциональности - как правило, для реализации бизнес-процессов.

Язык BPEL позволяет задавать бизнес-процессы и то, как они связаны с Web-сервисами, а также, как бизнес-процессы используют Web-сервисы для достижения поставленных задач и какие Web-сервисы предоставляются бизнес-процессом.

Язык BPEL: основные понятия

В самом общем виде BPEL можно определить как язык, предназначенный для определения поведения бизнес-процессов с помощью Web-сервисов.

Действительно, с помощью языка WSDL можно осуществлять интеграцию в рамках лишь двух моделей - синхронного взаимодействия без сохранения состояния обмена и асинхронных взаимодействий с обменом некоррелированными сообщениями. Язык BPEL позволяет использовать Web-сервисы при последовательном одноранговом (peer-to-peer) обмене сообщениями - как синхронных, так и асинхронных, причем с сохранением состояния процесса, который может иметь большую продолжительность по времени и затрагивать более двух участников. В результате, эта спецификация значительно расширяет возможности использования Web-сервисов для интеграции систем, приложений, систем B2B.

Язык BPEL объединяет возможности языка WSFL (Web services flow language, Язык организации потоков Web-сервисов), разработанного компанией IBM, и языка XLANG, используемого в Microsoft BizTalk Server 2002. BPEL включает WSFL для поддержки графоориентированных процессов, а XLANG - для поддержки структурных конструкций для процессов. Таким образом, BPEL предназначен для поддержки реализации бизнес-процессов любой сложности, а также для описания интерфейсов бизнес-процессов. Надо отметить, что язык BPEL "неразрывно связан" со спецификациями WS-Coordination ("Координация Web-сервисов") и WS-Transaction ("Транзакции Web-сервисов"), которые были определены для совместного использования с BPEL и разработаны для координации транзакций и процессов. Так, в спецификации WS-Coordination описываются стандартные механизмы создания и регистрации протоколов транзакций, которые координируют выполнение распределенных операций в среде Web-сервисов. С помощью спецификации WS-Transaction можно отслеживать успех или неудачу каждого отдельного скоординированного действия в бизнес-процессе, задавать гибкую модель транзакций, которая обеспечивает целостность и надежность операций в распределенной среде Web-сервисов и позволяет бизнес-процессам обрабатывать сбои в ходе выполнения.

BPEL можно рассматривать как некий язык программирования, который "находится посередине" между декларативным и процедурным программированием. Как и в любом языке программирования, в BPEL определены зарезервированные слова, которые перечислены ниже:

Вызов операции с помощью Web-сервиса (<invoke>).

Ожидание внешнего сообщения (<receive>).

Генерация ответа для входных/выходных данных (<reply>).

Ожидание в течение некоторого времени (<wait>).

Копирование данных между позициями (<assign>).

Индикация ошибки или сбойной ситуации (<throw>).

Остановка реализации всего сервиса (<terminate>).

Отсутствие действий (<empty>).

Определение последовательности выполнения действий (<sequence>).

Ветвление с помощью оператора выбора (<switch>).

Определение цикла (<while>).

Выполнение одного из нескольких альтернативных маршрутов (<pick>).

Индикация того, что шаг должен быть выполнен параллельно (<flow>).

Индикация обработки ошибочной логики с помощью <throw> и <catch>.

Поскольку BPEL - это фактически диалект языка XML, скрипт BPEL можно создавать "вручную", либо, что, вероятно, более предпочтительно, воспользоваться одним из существующих программных инструментов для генерации скриптов.

Скрипт BPEL - это документ XML, который соответствует схеме BPEL. Он интерпретируется во время исполнения процессором BPEL, который выявляет ключевые слова и выполняет соответствующую обработку.

Приведенные выше команды BPEL также известны как процессы (activity). Возможны две разновидности описания процессов:

Исполняемые бизнес-процессы - процессы, которые моделируют фактическое поведение участника бизнес-взаимодействия.

Бизнес-протоколы, которые, наоборот, используют описания процесса для указания поведения каждой стороны, задействованной в протоколе при обмене сообщениями, без раскрытия внутреннего поведения. Описания процесса для бизнес-протокола называются абстрактными процессами.

BPEL можно использовать для моделирования и абстрактного, и исполняемого процессов, т.е. либо для описания бизнес-процесса с целью моделирования или представления (абстрактный процесс), либо для создания исполняемого бизнес-процесса.

Наконец, корректная и полная реализация стандарта BPEL должна поддерживать следующий набор стандартов Web-сервисов:

--> ЧИТАТЬ ПОЛНОСТЬЮ <--

К-во Просмотров: 128
Бесплатно скачать Реферат: Бизнес-процессы и XML