2005 г.

Бизнес-процессы и XML

Подготовлено: по материалам зарубежных сайтов
Перевод:

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

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

В августе 2002 года, осознав сложность обращения к Web-сервисам в синхронной и асинхронной средах, корпорации BEA, IBM, Microsoft, SAP и SiebelSiebel— американская компания, производитель программного обеспечения для организаций, пионер и долговременный лидер рынка CRM-систем, поглощённая в начале 2006 года корпорацией Oracle за $5,8млрд. Основана в 1993 году Томасом Зибелем (англ.Thomas Siebel), руководившим компанией всё время её существования и Патрисией Хаус (англ.Patricia House). Основной продукт компании— одноимённая тиражируемая система управления взаимоотношениями с клиентами, с 2006 года распространяемая новым правообладателем под наименованием Oracle Siebel CRM. в результате совместных усилий разработали язык реализации бизнес-процессов для 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Одноранговая, децентрализованная или пиринговая (от англ.peer-to-peer, P2P — равный к равному) сеть — это оверлейная компьютерная сеть, основанная на равноправии участников. В такой сети отсутствуют выделенные серверы, а каждый узел (peer) является как клиентом, так и сервером. В отличие от архитектуры клиент-сервера, такая организация позволяет сохранять работоспособность сети при любом количестве и любом сочетании доступных узлов. Участниками сети являются пиры.) обмене сообщениями - как синхронных, так и асинхронных, причем с сохранением состояния процесса, который может иметь большую продолжительность по времени и затрагивать более двух участников. В результате, эта спецификация значительно расширяет возможности использования Web-сервисов для интеграции систем, приложений, систем B2B.

Язык BPEL объединяет возможности языка WSFL (Web services flow language, Язык организации потоков Web-сервисов), разработанного компанией IBM, и языка XLANG, используемого в Microsoft BizTalk Server 2002. BPEL включает WSFL для поддержки графоориентированных процессов, а XLANG - для поддержки структурных конструкций для процессов. Таким образом, BPEL предназначен для поддержки реализации бизнес-процессов любой сложности, а также для описания интерфейсов бизнес-процессов. Надо отметить, что язык BPEL "неразрывно связан" со спецификацияСпецификация— (позднелат.specificatio, от лат. species - род, вид, разновидность и facio - делаю) инженерный термин, обозначающий набор требований и параметров, которым удовлетворяет некоторая сущность. К примеру, мост через реку удовлетворяет таким параметрам, как максимальный общий вес нагрузки, максимальная нагрузка на ось, максимальная скорость ветра ит.д.ми WS-Coordination ("Координация Web-сервисов") и WS-Transaction ("ТранзакцииТранзакция (англ.transaction)— в информатике, группа последовательных операций, которая представляет собой логическую единицу работы с данными. Транзакция может быть выполнена либо целиком и успешно, соблюдая целостность данных и независимо от параллельно идущих других транзакций, либо не выполнена вообще и тогда она не должна произвести никакого эффекта. Транзакции обрабатываются транзакционными системами, в процессе работы которых создаётся история транзакций. Web-сервисов"), которые были определены для совместного использования с BPEL и разработаны для координации транзакций и процессов. Так, в спецификации WS-Coordination описываются стандартные механизмы создания и регистрации протоколов транзакций, которые координируют выполнение распределенных операций в среде Web-сервисов. С помощью спецификации WS-Transaction можно отслеживать успех или неудачу каждого отдельного скоординированного действия в бизнес-процессе, задавать гибкую модельМодель (фр.modle, от лат.modulus— «мера, аналог, образец»)— некоторый материальный или мысленно представляемый объект или явление, являющийся упрощённой версией моделируемого объекта или явления (прототипа) и в достаточной степени повторяющий свойства, существенные для целей конкретного моделирования(опуская несущественные свойства, в которых он может отличаться от прототипа). транзакций, которая обеспечивает целостность и надежностьНадёжность— свойство объекта сохранять во времени в установленных пределах значения всех параметров, характеризующих способность выполнять требуемые функции в заданных режимах и условиях применения, технического обслуживания, хранения и транспортирования (ГОСТ 27.002—89). операций в распределенной среде 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-сервисов:

  • WSDL 1.1
  • XML Schema 1.0
  • XPath 1.0
  • WS-Addressing
  • UDDI v2.0
  • WS-Security - необязательно, но весьма желательно.

Заключение

Ряд аналитиков, в том числе и сотрудники исследовательской компанииЮридическое лицо— созданная и зарегистрированная в установленном законом порядке организация, которая имеет в собственности, хозяйственном ведении или оперативном управлении обособленное имущество и отвечает по своим обязательствам этим имуществом, может от своего имени приобретать и осуществлять имущественные и личные неимущественные права, нести обязанности, быть истцом и ответчиком в суде. Юридические лица должны иметь самостоятельный баланс или смету. Gartner, полагают, что язык BPEL является явным лидером среди спецификаций в области управления Web-сервисами. Так, другие стандарты - как, например, BPML (Business Process Modeling Language, Язык моделирования бизнес-процессов), WSCI (Web Service Choreography Interface, ИнтерфейсИнтерфейс (от англ.interface— поверхность раздела, перегородка)— совокупность средств, методов и правил взаимодействия (управления, контроля ит.д.) между элементами системы. взаимодействия Web-сервисов), XPDL (XML Process Definition Language, Язык описания процессов) и BTP (Business Transaction Protocol, ПротоколПротокол (от др.-греч. protos— «первый» и kolla— «клей»)— первый лист, приклеенный к свитку. На нем фиксировались титульная информация (например, дата написания, имя писателя) и краткое основное содержание свитка. бизнес-транзакций) - обладают техническими достоинствами, однако, не поддерживаются большинством поставщиков и не признаны авторитетными органами стандартизации. В связи с этим в Gartner считают, что в 2005 году окончательная редакция спецификации BPEL станет основным отраслевым стандартом для организации потоков Web-сервисов (с вероятностью 0.7).

Публикации

  1. Клив Финкельштейн (Clive Finkelstein) "Корпорация: языки управления бизнес-процессами, часть1 - BPEL" ().
  2. Фрэнк Лейманн (Frank Leymann), Дитер Роллер (Dieter Roller) "Беглый обзор языка BPEL4WS" ()
  3. Фрэнк Лейманн (Frank Leymann), Дитер Роллер (Dieter Roller) "Цели спецификации языка BPEL4WS" ("").
  4. Материалы, опубликованные на сайте Консорциума по интеграции ().
  5. Спецификация "Язык реализации бизнес-процессов для Web-сервисов, версия 1.1" ().
Мы рекомендуем еще посмотреть:

Мероприятия компанииЮридическое лицо— созданная и зарегистрированная в установленном законом порядке организация, которая имеет в собственности, хозяйственном ведении или оперативном управлении обособленное имущество и отвечает по своим обязательствам этим имуществом, может от своего имени приобретать и осуществлять имущественные и личные неимущественные права, нести обязанности, быть истцом и ответчиком в суде. Юридические лица должны иметь самостоятельный баланс или смету..
 за 

СписокСписок— письменный перечень, число, состав; документ, содержащий перечень каких-либо сведений; в переносном смысле— буквальное, точное воспроизведение, копия; рукописная копия древнего памятника письменности. мероприятий за 8 сентября 2009 г.
  МероприятиеДата проведенияНаправление
  Учебные курсы
 ICND2 1.0C 07 по 11 сентября 2009 г.Оборудование Cisco
 Администрирование OmniPCX EnterpriseC 07 по 11 сентября 2009 г.Телефония Alcatel
Основной целью курса является подготовка слушателей к самостоятельному администрированию Alcatel OmniPCX Enterprise. Рассмотрены основные возможности станций, вопросы подключения к ТфОП, особенности настройки российских протоколов сигнализации, настройки маршрутизации исходящих и распределения входящих вызовов, управления привилегиями пользователей. Курс описывает решение наиболее часто встречающихся задач, с которыми может столкнуться администратор в процессе ежедневной работы с телефонной станцией.

Авторизация
Логин
Пароль
Регистрация >
  Мероприятия « 2009 »   
« сентябрь » 
Пн   7142128
Вт  18152229
Ср  29162330
Чт  3101724 
Пт  4111825 
Сб  5121926 
Вс  6132027 
Ближайший учебный курс ND 3321 СКС SYSTIMAX пройдёт c 18 по 21 августа 2009 г.
Подать заявку
2009 IT и оборудование для бизнеса, S-NETWORKS. Информационные технологии и Информационное оборудование