Oracle UCM + BPM: теория

Главная » Enterprise 2.0, Материалы, Статьи, Технологии, Управление бизнес-процессами, Управление корпоративным контентом
Пт, 3/Июл/2009 | Нет комментариев | 202 †
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_components

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

bpm_humantask

Готовых средств для интеграции 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).

В скором времени появятся примеры указанных интеграций.

Метки: , , ,

  • Share/Bookmark
1 Star2 Stars3 Stars4 Stars5 Stars (Голосов нет)
Loading ... Loading ...

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

Добавьте свой комментарий или трэкбэк . Вы также можете подписаться на комментарии по RSS. Будте вежливы. Не ругайтесь. Оффтоп тоже не приветствуем. Спам убивается моментально.
Вы можете использовать эти тэги:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>