Что дает автоматизация бизнес-процессов с применением IBM BPM и J2EE?

Источник: habrahabr

 


Обзор на основе опыта разработки корпоративных систем с использованием J2EE и IBM BPM 7.0 и 7.5.

Данная статья, как, надеемся, и следующие, даст понимание, что ожидают бизнес-заказчики от использования IBM BPM (Business Process Management) платформы и что они в результате получают.

А с другой стороны, что получают разработчики - упрощение или усложнение работы.

Введение

Знакомство с IBM BPM начнем с небольшого предисловия. Для начала, напишем, что IBM BPM - это общее название, которое объединяет ряд продуктов IBM из линейки WebSphere предназначенных для управления бизнес-процессами. 

Основными из них являются (см. Рисунок2):

  • WAS (WebSphere Application Server) - J2EE Application Server, базовая программная платформа.
  • ESB (WebSphere Enterprise Service Bus) - корпоративная шина данных, на которой размещаются все сервисы с бизнес-логикой.
  • Process Server (WebSphere Process Server) - непосредственно сама платформа для выполнения бизнес-процессов в версии 7.0. А в версии 7.5, кроме самого Process Server есть еще движок от Lombardi. Об их сравнении уже будет в следующих статьях.

Какие задачи помогает решать BPM

В течении нескольких последних лет, мы реализовывали различные виды проектов с использованием BPM, в основном в банковской сфере. 
Исходя из опыта, можно описать основные преимущества использования готовых решений от IBM по сравнению с написанием "своих решений":

  1. Визуальное моделирование и выполнение бизнес-процессов.
  2. Набор готовых компонент для построения гибких бизнес-процессов: условия, параллельные ветки, ожидания, события и т.д.
  3. Взаимодействие с пользователем для выполнения ручных действий (Human Tasks)
  4. Гибкость в переконфигурировании бизнес-процессов.
  5. Управляемость бизнес-процессов. Обеспечивается встроенными средствами, например, такой утилитой как Process Choreographer, которая дает возможность как мониторить выполняющиеся экземпляры бизнес-процессом, изменять их состояние, так и, в случае необходимости, вручную изменять данные или даже ход выполнения конкретного экземпляра.
  6. Поддержка транзакционности при выполнении бизнес-задач.
  7. Поддержка версионности бизнес-процессов.
  8. Стабильность работы. Обеспечивается соответствующим конфигурированием серверов в виде кластера с распределением нагрузки (load balancing). Минимальное время простоя гарантирует конечно конфигурирование кластера со всеми активными нодами.
  9. Продуктивность. Организация BPM платформы в виде кластера дает хорошую масштабируемость системы, за счет добавления в систему новых серверов в виде кластерных нод.

Архитектура

Архитектурно взаимодействие основных компонент BPM можно представить довольно просто, см. Рисунок 3: 

1. WebSphere Process Server:

  • Содержит смоделированные бизнес-процессы как шаблоны
  • Запускает на выполнение экземпляры бизнес-процессов на основании смоделированных шаблонов.
  • Экземпляры бизнес-процессов на вход принимают объекты данных (Business Object) и выполняют заложенную бизнес-логику, при этом могут обращаться к различным сервисам через ESB.

2. WebSphere Enterprise Service Bus: 
  • Содержит сервисы с бизнес-логикой, которые предоставляют необходимый унифицированный уровень доступа к требуемым системам и базам данных
  • ESB Сервисы выполняют обработку и трансформацию входных и получение требуемых выходных данных для решения конкретных задач.
  • ESB Сервисы могут обращаться как к внешним, так и к внутренним системам и базам данных.
  • ESB Сервисы, для выполнения требуемой бизнес-логики, могут использовать как готовые компоненты WebSphere ESB, так и созданные разработчиками, например, с использованием Java.

Разработка

Основная разработка ведется в WebSphere Integration Developer (WID) - начиная с версии 7.5, это уже Designer. WID разработан на базе Eclipse и позволяет как создавать бизнес-процессы и ESB сервисы, так и писать и отлаживать код, например, на Java.

Дополнительно, можно использовать и некоторые другие инструментарии от IBM, такие как:

  • WebSphere Modeler для предварительного моделирования бизнес-процессов.
  • Portlet Factory для создания визуальных Портлетов.
  • IBM Process Designer - среда разработки BPMN-процессов, заменяющая Lombardi Teamworks.

Визуальная часть

Для построения визуальной части систем по работе с бизнес-процессами IBM BPM предлагает 3 основные варианта, см. Рисунок 5:

  1. Использовать еще одно решение от IBM - WebSphere Portal. Разработчики могут создавать Портлеты под этот портал, используя часть уже "готовой" функциональности, такой как интеграцию с Process Server, готовый контроль по управлению задачами (Task List) и др.
    Данный вариант наиболее приемлем для построения "единого корпоративного портала", в котором будут реализованы все рабочие места пользователей компании.
  2. Использовать WebSphere Business Space. Это решение от IBM является частью Process Server и представляет собой веб-приложение с набором уже готовых виджетов для управления бизнес-процессами. Для добавление новой функциональности можно как конфигурировать "стандартные виджеты", так и создавать новые.
    Данный вариант удобен для быстрого старта в начале работы с BPM, но имеет ряд ограничений и недостатков при реальной эксплуатации, таких как: медленная работа JavaScript в Internet Explorer, оформление форм только в виде виджетов и т.д.
  3. Использовать внешний интерфейс Process Sever-а (API). Визуальную часть можно разработать на любом языке, фрейморке, платформе, а интеграцию с BPM реализовать через подключение готового и доступного API самого Process Server.
    Данный вариант наиболее приемлем при добавлении новых форм по управлению бизнес-процессами в уже разработанную систему компании с пользовательским графическим интерфейсом.

Заключение

В качестве заключения, хочется написать при каких основных условиях, с нашей точки зрения, использование IBM BPM является наиболее эффективным:

  1. Использование IBM BPM как единой платформы для автоматизации бизнес-процессов компании. Замечание: частичное применение BPM может привести к большим накладным расходам как на разворачивание, так и на поддержку самой платформы.
  2. Создание и развитие корпоративной шины данных (ESB) компании для размещения сервисов с бизнес-логикой. Важным аспектом построения ESB с сервисно-ориентированной архитектурой (SOA) .
  3. Наличие высококвалифицированных системных администраторов, которые смогут как развернуть, так и поддерживать BPM платформу с необходимым уровнем масштабируемости, отказоустойчивости и безопасности.
  4. Наличие высококвалифицированных разработчиков и архитекторов Java и J2EE. К сожалению или к счастью, BPM не может решить все бизнес-задачи компании простым конфигурированием или использованием уже готовых компонент. Поэтому Java разработчики необходимы для создания высокопроизводительных и надежных решений с требуемой функциональностью и в требуемые сроки.

Страница сайта http://185.71.96.61
Оригинал находится по адресу http://185.71.96.61/home.asp?artId=39516