IV. Документирование и внедрение
Во время этого этапа высокоуровневая модель процесса преобразуется в модель исполняемого процесса. До автоматизации процесса он, как правило, документируется в форме, которая может быть использована персоналом и партнерами. Этот документ включает информацию, которая определяет поток бизнес-процесса (business process flow), роли вовлеченных сущностей, исключительные ситуации, ожидания и требования к ресурсам. Все это нужно для будущей поддержки и улучшения процесса. И это также может помочь в достижении соответствия некоторым требованиям регулирующих органов.
Следующий после документирования шаг – это внедрение бизнес-процессов. Язык BPEL (Business Process Execution Language) становится очевидным стандартом внедрения для объединения множества синхронных и асинхронных сервисов в коллективные (collaborative) потоки и транзакции. При разработке BPEL воспользовались результатами более чем десяти исследований его предшественников – языков XLANG и WSFL. Он включает следующие концепции:
- Web Services/WSDL - как компонентная модель
- XML - как модель данных
- Шаблоны синхронного и асинхронного обмена сообщениями
- Детерминированная и недетерминированная координация потока
- Иерархическое управление исключительными ситуациями
- Долгоживущая единица работы/компенсации (Long-running unit of work/compensation)
Если высокоуровневый процесс смоделирован на BPMN, он прежде всего экспортируется к скелетному (skeletal) BPEL-процессу, который как правило, состоит из областей действия процесса (process scopes), действий по вызову/получению (invoke/receive activities) и партнерских связей к соответствующим сервисам (partner links to the appropriate services).
Следующие шаги должны быть выполнены в Oracle BPEL Designer, прежде чем данный процесс может быть развернут:
- Идентифицирование операций web-сервисов, которые вызываются различными сервисами;
- Специфицирование типов XSD для сообщений, которыми обмениваются различные сущности;
- Моделирование карты трансформаций для различных типов сообщений, посылаемых и получаемых из различных систем;
- Специфицирование положения конечных точек (endpoint) и параметров соединения для вовлеченных сервисов.
Если мы рассмотрим пример LoanFlow, описанный ранее, то для кода на BPEL, сгенерированного из средства моделирования BPMN, потребуется включение URL для этих сервисов, XSD для прошения об займе и предложения займа, а также определение трансформаций данных между документами, которые передаются между сервисами. показывает процесс LoanFlow, смоделированный в Oracle BPEL Designer.