Oracle UCM + BPM: теория
Системы управления бизнес процессами (Business Process Management) становятся все более и более популярными в последнее время. Вообще говоря, BPM берет свое начало от технологии Workflow, которая в первую очередь была направлена на автоматизацию работы некого процесса. Она направляла потоки операций (собственно перевод слова workflow) в соответствии с определенными правилами и законами. Системы BPM выполняют более сложные задачи, в первую очередь они моделируют реальные бизнес процессы предприятия, а во-вторую они являются интеграционной платформой, которая объединяет всех участников процесса, неважно люди это или системы. В целом получается трехзвенная модель: процессы – люди – системы. Причем процессы с участием людей обладают целым рядом особенностей таких как:
- Необходимость напоминать участникам процесса, что от них требуется некое действие;
- Человек может долго не реагировать не требующее решения задачу;
- Человек может допускать ошибки в работе;
- Человек может делегировать свои полномочия другим лицам;
- и т.д.
С другой стороны процессы без участия людей отличаются следующими особенностями:
- Большие объемы данных;
- Применение жестких стандартов и правил;
- Автоматическая обработка событий;
- Постоянный контроль и верификация шагов;
- Высока производительность;
- и т.д.
Среди всех бизнес процессов существует целый ряд процессов, которые связаны с контентом, такие процессы будем называть контент-ориентированными бизнес-процессами. Таким образом дадим определение контент-ориентированному бизнес-процессу – это процесс, для которого выполняется хотя бы одно из следующих условий:
- Контент является входом процесса;
- Контент определяет ход процесса;
- Контент является результатом процесса.
По моему мнению, все контент-ориентированные бизнес-процессы можно разделить на 4 группы (тут можно поспорить конечно
):
- Жизненный цикл контента;
- Транзакционный контент;
- Коллективная работа c контентом;
- Подпроцесс большого корпоративного бизнес-процесса;
Компания Oracle предлагает целую линейку продуктов для работы с контентом – Enterprise Content Management. Основным продуктом линейки является Oracle Universal Content Management (UCM). В составе решения есть встроенный механизм Workflow, который полностью ориентирован на автоматизацию потока операций, связанных с жизненным циклом контента таких как: регистрация, классификация, эскалация, продвижения по жизненному циклу, совместная работа, редакционные правки, утверждения, согласования и контроль версий. Особенность заключается в том, что механизм UCM Workflow достаточно прост и легок. Технологически он построен на внутреннем языке контент-сервера – IDoc Script. При необходимости интеграции некого процесса с внешними системами приходится программировать. С другой стороны вместе c UCM поставляется BPEL Process Manager (урезанная лицензия, которая позволяет использовать его только совместно с UCM) и специальный компонент UCM-BPEL Component, который позволяет вызывать BPEL процессы из стандартного UCM Workflow. В целом BPEL PM – это мощная технологичная промышленная платформа, позволяющая реализовывать бизнес-процессы любой сложности. Но его основная проблема – необходимость программирования и глубоких знаний в XML и Java. BPEL – это продукт для сервис-ориентированной среды, основной задачей которого является оркестровка Web-сервисами и интеграция приложений. В его арсенале конечно есть возможность включения человека в бизнес процесс по средством механизма Human Task’ов, но возможности ограничены. Существует еще стандарт BPEL4People – это как раз попытка добавить в стандарт BPEL недостающих элементов, связанных с участием людей в бизнес процессах. Но это пока будущее.
Кроме стандартного механизма Workflow и BPEL в UCM можно использовать еще механизм BPM (ALBPM). BPM ориентирован именно на бизнес-процессы с участием людей. Он работает на более высоком уровне, нежели BPEL, тем самым позволяя построить общую картину. Также надо отметить, что BPM – это не просто движок, а целый подход к моделированию, автоматизации, управлению и оптимизации корпоративных бизнес-процессов. Причем он также включает в себя и BPEL – это технологическую платформу для интеграции. Ниже представлена функциональная архитектура BPM:

Кроме того BPM предоставляет целый набор решений для построения бизнес-процессов с участием людей:

Готовых средств для интеграции UCM и BPM на сегодняшний день пока нет. Но настроить такую интеграцию достаточно легко и просто.
Интеграция UCM и BPM бывает в двух направлениях:
1. Из UCM вызывается BPM процесс.
- В BPM Studio создается процесс, формы, объекты, атрибуты, роли, участники и т.д. Далее для вызова этого процесса из внешних приложений необходимо создать интерфейс процесса (Generate Process Interface), т.е. по сути создать набор Java-классов, которые являются прокси классами для указанного процесса (Web-сервиса). Из этих классов необходимо сформировать библиотеку.
- В UCM необходимо создать специальный компонент для работы с BPM-процессом. К созданному новому компоненту необходимо подключить Java-библиотеки: activation.jar, appserv-ws.jar, javaee.jar и созданную на предыдущем шаге прокси-библиотеку. После этого необходимо создать сервис в компоненте, который будем реализовываться на Java. Написать на Java вызов BPM-процесса с передачей параметров и указать его для сервиса.
- Создать в UCM workflow и на первом шаге вызывать созданный ранее сервис.
2. Из BPM вызываются сервисы UCM
- BPM поддерживает кучу различных внешних интерфейсов:
- CORBA Service
- Enterprise Java Bean
- J2EE Applcation Server
- JMS Messaging Service
- JMX Service
- JNDI Directory Server
- JPD
- Java Class Library
- Mail Incoming Service
- Mail Outgoing Service
- Microsoft .NET Service
- Microsoft COM Service
- Oracle Service Bus
- SAP Service
- SQL Database
- Server Configuration
- Web Service
- UCM поддерживает (наружу) также целый ряд интерфейсов:
- Web Service
- J2EE
- Enterprise Java Bean
- Apache Axis
- Java
- и т.д.
- Собственно необходимо выбрать пересечение технологий и настроить интеграцию. Самая простая – это интеграция с помощью Web-сервисов. Для этого надо зарегистрировать в BPM: Server Configuration – адрес доступа к серверу UCM (http://server:80) с указанием логина и пароля, затем Web-сервисы, которые смотрят наружу и внутрь. Например: для Web-сервиса CheckInService надо указать транспорт (HTTP), конфигурацию сервера, созданную на предыдущем шаге и путь к сервису (/idc/idcplg). Также достаточно просто настроить интеграцию с помощью Java Class Library. В состав UCM входит Content Integration Suite – это набор Java библиотек для интеграции. Он состоит из двух частей: собственно Content Integration Suite Client (CIS) – для интеграции (J2EE) с объектной моделью и enterprise бинами и Remote IntraDoc Client (RIDC) – для удаленного вызова сервисов контент-сервера посредством HTTP или Socket транспорта. Самое простое подключить RIDC в BPM проект и вызывать методы RIDC в BPM процессах.
В интеграции остаются не решенными два вопроса:
- Передача параметров и объектов – решается достаточно просто, из UCM в BPM передается идентификатор объекта (dID, dDocName), затем BPM открывает этот объект посредством выбранного вами механизма (Web-сервисы, CIS, RIDC). BPM процесс изменяет атрибуты объектов и вызывает сервисы.
- Пользователи и роли – эта проблема сложнее, поскольку либо надо настраивать UCM и BPM на один внешний каталог пользователей, либо синхронизовать два каталога, либо настраивать алгоритм динамического соответствия пользователей и ролей (например на основе специальных атрибутов из UCM).
В скором времени появятся примеры указанных интеграций.


























Оставить комментарий