InfoWorld, США

В OASIS завершено рассмотрение спецификации BPEL 2.0

Наконец-то почти через пять лет после появления первой предварительной версии ассоциация OASIS утвердила общеотраслевую спецификацию языка описания того, каким образом из компонентов, оформленных в виде Web-сервисов, могут строиться бизнес-процессы.

Голосование по WS-BPEL (Web Services Business Process Execution Language) 2.0, или BPEL 2.0, среди членов OASIS было запланировано на апрель, и действительно данный стандарт был официально одобрен.

Джон Эвдемон, сопредседатель технического комитета по BPEL в OASIS и член группы корпорации Microsoft по стратегии развития архитектуры, пояснил, что спецификация BPEL основана на языке XML, который используются для описания взаимодействия сервисов. Этот язык считается критически важным компонентом сервис-ориентированных архитектур (Service-Oriented Architecture, SOA) и связан со стандартами на Web-сервисы семейства WS-*.

«Если исходить из общих целей SOA, то возможность связывать отдельные сервисы в бизнес-процесс, который поддерживает какую-либо практическую задачу бизнеса, чрезвычайно важна, и именно такую возможность нам дает BPEL», — подчеркнула Дайана Джордан, директор программы корпорации IBM по стандартам на программное обеспечение и сопредседатель технического комитета по BPEL в OASIS.

BPEL позволит формировать последовательность сервисов или выполнять их параллельно. Web-сервисы могут использоваться для поддержки последовательности бизнес-операций. Некоторые производители, реализовавшие спецификацию 1.1 в своих продуктах, скорее всего, поддержат и версию 2.0. Джордан отметила, что пользователи могут реализовывать бизнес-процессы с помощью BPEL, интегрировать их в свои сервис-ориентированные архитектуры и чувствовать себя более уверенно, используя формально одобренную версию BPEL.

BPEL впервые был опубликован в августе 2002 года и поддержан целым рядом производителей, в том числе компаниями BEA Systems, IBM и Microsoft. Со временем к этому списку присоединились и другие известные ИТ-компании, в том числе Oracle.

BPEL был передан на рассмотрение в OASIS в мае 2003 года. Версия 1.1 этой спецификации использовалась, но никогда не получала формального одобрения в качестве стандарта OASIS.

«Это достаточно сложный язык», — отметила Джордан, объясняя, почему на подготовку версии BPEL, которая отвечала бы формальным и неформальным условиям ратификации, потребовалось столь долгое время. (По ее словам, потенциальные проблемы в этой спецификации не были решены, и на это уйдет еще немало времени.)

«BPEL действительно открывает новые возможности в организации Web-сервисов», — подчеркнула она.

В BPEL 2.0 внесен целый ряд усовершенствований. К примеру, управляющие конструкции, описывающие потоки процессов, были усовершенствованы за счет введения операторов if-then-else вместо оператора switch, использовавшегося прежде.

«Это делает язык более удобным для разработчиков», — подчеркнул Эвдемон.

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

Кроме того, в BPEL 2.0 используются XSLT (Extensible Style Sheets), служащие для реализации стандартного механизма преобразования изменяющихся данных на базе Web-технологий. Процесс BPEL может, например, получать данные в формате, который необходимо преобразовать.

«Важнейшая характеристика BPEL — эффективность объединения сервисов», — отметил Эвдемон.

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

В новой версии спецификации было улучшено описание абстрактных и исполняемых процессов, предназначенное для использования в B2B-приложениях. По мнению старшего аналитика компании ZapThink Рональда Шмельцера, BPEL имеет свои достоинства и недостатки.

«Существуют серьезные отличия от предыдущей версии 1.1, в том числе была изъята концепция ‘партнера’, используемая для поддержки B2B—взаимодействий и определения программных потоков в организациях, — подчеркнул Шмельцер. — BPEL 2.0 предлагает несколько новых способов объединения сервисов программным образом, а также более качественную поддержку XPath и XSLT для XML как такового, избавляя от необходимости прибегать для интерпретации к C# или Java».

«Проблема, связанная со спецификацией BPEL, заключается в том, что он до сих пор не отражает на должном уровне присутствие человека в потоке работ и обеспечивает создание композиции сервисов исключительно программным образом. Все это заставляет многих относиться к BPEL просто как еще к одному способу кодирования процессов с помощью XML, а не как к языку программирования, — подчеркнул Шмельцер. — Необходимо многое сделать для того, чтобы BPEL стал более декларативным по своей природе для поддержки нерегламентированных процессов, предусматривающих участие человека».