Как вы знаете, когда вам нужно решение BPM? - PullRequest
25 голосов
/ 02 февраля 2011

Мой клиент ищет решение для управления бизнес-процессами (BPM).Что им нужно, так это простая маршрутизация документов и система утверждения.Каковы драйверы для внедрения системы BPM?Каков порог, когда разработчик должен предложить внедрить решение BPM вместо инструмента рабочего процесса или пользовательской разработки?

Когда подходит jBPM?Когда конечный автомат встроен в приложение?Какие проблемы должны существовать, которые определяют, что вам нужно использовать решение, подобное jBPM?

Я ищу примеры из реальной жизни: «Мы пытались создать решение самостоятельно, но в итоге выбрали AquaLogic / jBPM/ Ломбарди из-за _ ".Пожалуйста, заполните поле.

Ответы [ 6 ]

26 голосов
/ 08 февраля 2011

BPM Acid Test (от Essential Business Modeling, Michael Havey, опубликовано O'Reilly).

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

  • Длительное выполнение -

От начала до конца процесс охватывает часы, дни, недели, месяцы, или более*

  • Бурный, большую часть времени спит -

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

  • Управление системными или человеческими коммуникациями -

Процесс отвечает за управление и координацию коммуникаций между различными системными или человеческими субъектами.

... Например, в банкомате, который позволяет пользователям запрашивать баланс своего счета, снимать наличные, вносить депозитные чеки и наличные деньги, а также оплачивать счета - любое чувство процессамимолетный и несущественный;Банкомат - это онлайн-процессор транзакций, а не приложение, ориентированное на процессы.

22 голосов
/ 10 февраля 2011

Я написал механизм документооборота, потому что мой работодатель хотел иметь IP, смоделированный по образцу jBPM.Теперь причина, по которой вы используете такой инструмент вместо того, чтобы создавать свой собственный конечный автомат, заключается в том, чтобы приспосабливать изменения без изменения постоянства и поддерживать крайние случаи процессов рабочего процесса, как я объясню.

Адаптация изменений без изменения стойкости

Ваша типичная, или, возможно, лучше сказать, «наивная» реализация с конечным автоматом состоит из набора таблиц базы данных, тесно связанных с управляемыми данными и обработкой их.протекает через.Может быть способ сохранить прошлые версии и отследить, кто предпринял какие действия в течение этого процесса.Где это сталкивается с проблемами изменения данных и структуры процесса.Затем эти тесно связанные таблицы необходимо изменить, чтобы отразить новую структуру, и они могут быть несовместимы со старой.

Механизм документооборота преодолевает эту проблему двумя способами, используя сериализацию для представления данных и процесса и абстрагируя точки интеграции, в частности безопасность.Аспект сериализации означает, что данные и процессы могут перемещаться вместе через систему.Это позволяет экземплярам данных одного типа следовать совершенно разным процессам до такой степени, что процесс может быть изменен во время выполнения, например, путем добавления нового состояния.И ничего из этого не требует изменения основного хранилища.

Точки интеграции - это средство внедрения алгоритмов в процесс и связи с хранилищами аутентификации (т. Е. Пользователи, которые должны предпринять действия).Внедренные алгоритмы могут включать в себя определения того, завершено ли состояние или нет, тогда как примером хранилища аутентификации является LDAP.

Теперь компромисс - это сложный поиск.Например, поскольку данные сериализуются, обычно невозможно запрашивать историческую информацию, кроме как извлекать записи, десериализовать и анализировать с использованием кода.

Edge Cases

Другим аспектом инструмента рабочего процесса является опыт, встроенный в его дизайн и функциональность, который вы, скорее всего, даже не подумаете о том, чтобы катиться по собственной инициативе, и можете пожалеть о том, что вам это понадобится.Два случая, которые приходят мне в голову, это временные задачи и параллельные пути выполнения.

Временные задачи назначают субъекта ответственности за данные по истечении определенного периода времени.Например, скажем, пресс-релиз написан и представлен для одобрения, а затем заседает неделю без рассмотрения.То, что вы, вероятно, хотите, чтобы ваша система делала, - это идентифицируйте этот затянувшийся документ и привлеките внимание соответствующих сторон.

Пути параллельного выполнения в моем опыте встречаются редко (системы управления контентом), но все еще возникают достаточно часто.Идея состоит в том, что данный фрагмент данных отправляется по двум различным путям просмотра или обработки, но для повторного объединения на более позднем этапе.Проблема такого типа требует наличия полезных алгоритмов слияния и умения представлять данные одновременно.Вставить это в домотканое решение по факту намного сложнее, чем может показаться, особенно если вы хотите отслеживать исторические данные.

Заключение

Если ваша система вряд ли изменится, переход на другую может оказаться более простым решением, особенно если изменения могут испортить старую информацию.Но если вы подозреваете, что нуждаетесь в таком типе долговечности или столкнетесь с некоторыми из этих необычных, но непростых сценариев, инструмент рабочего процесса обеспечивает гораздо большую гибкость и страховку, чтобы вы не загнали себя в угол в качестве данных и бизнес-процессов.менять.

6 голосов
/ 02 февраля 2011

Может быть, поможет несколько вопросов.

Изменится ли процесс?Будет ли жить более старая версия процесса, когда появится новая версия процесса?Следует ли измерять время выполнения процессов (и каждого шага)?

Это касается бизнес-процессов (управление состоянием нескольких ресурсов) или жизненных циклов ресурсов (только состояние одного документа / ресурса)?...

Извините, если не так много ответов.

3 голосов
/ 08 апреля 2013

Я бы более внимательно посмотрел на бизнес-потребности, которые стимулируют ваши усилия (например, «бизнес-кейс»).В моем понимании BPM / рабочий процесс может иметь одну или несколько из следующих целей :

1.Автоматизация действий

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

2.Отслеживание каждого процесса

Компаниям необходимо установить отслеживание, когда существует значительное количество процессов, и бизнес-пользователи теряют их отслеживание, как правило, запускают их в офисных документах, электронных письмах.Каждый внешний запрос статуса (например, от клиента) превращается в расследование.

3.Установить контроль

Для менеджеров обычно важно получить общее представление о процессе и изучить его статистически: посмотреть, соблюдаются ли KPI, какие-либо задержки, исключения и т. Д.

4.Управление внутрипроцессным обменом документами и совместной работой

BPM часто служат инструментом обмена документами, поскольку они часто позволяют переключаться с электронной почты и устного общения на отслеживаемый обмен в BPM

5.Автоматизировать обмен данными между корпоративными системами

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


Теперь полнофункциональные готовые к использованию BPM хороши для 2, 3, а иногда и 4. jBPM и другие механизмы рабочих процессов хороши для 1 и 3, но сважное предостережение - они требуют сложной конфигурации / разработки.

Механизмы управления процессами на основе SOA (иногда называемые также BPM!) Хороши для (5) и (3).

Пожалуйста, не стесняйтесь добавлять в список и спорить!Я разместил это в своем посте в блоге и подробно рассказал здесь: http://processmate.net/do-you-need-a-bpm-or-a-workflow/

1 голос
/ 15 ноября 2018
  • Когда вы хотите обеспечить гибкость (легкое изменение) процесса, даже для запущенных процессов.
  • Когда вы хотите, чтобы бизнес-пользователи контролировали процесс. Это эксперты в области, которые владеют и определяют процессы. Используя BPM-решение, вы позволяете им управлять процессом с помощью инструментов моделирования вместо языков программирования. Это важно.
  • Когда вы хотите, чтобы система легко масштабировалась. Обычно системные администраторы имеют возможность контролировать и управлять системой. Если это должно быть возможно и для бизнес-пользователей, то BPM может быть хорошим выбором.
1 голос
/ 09 февраля 2011

В конечном счете, все бизнес-системы, которые занимаются обработкой бизнес-информации, представляют собой BPM или системы рабочих процессов.Обработка информации любого бизнеса может быть описана в терминах рабочих процессов или «бизнес-процессов», включая роли и действия.

Тот факт, что эти бизнес-операции часто описываются на Java, C # или других языках программирования, является в основном просто результатом автоматизации без достаточно зрелой технологии для назначения и описания бизнес-процессов с помощью автоматических агентов.

Акцент был сделан на рост, время выхода на рынок и т. Д., И компьютеризация осуществлялась без должного обдумывания долгосрочного обслуживания и гибкости.99% того, что сейчас в коде, не должно быть.

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

Бизнес-процессы должны предписываться, описываться и читаться экспертами по бизнес-операциям.Повышение гибкости будет становиться все более узнаваемым по мере того, как технология, которая позволяет этому (системам рабочих процессов) становиться лучше и более широко принятой, поскольку мировая экономика не делает акцент на «росте».

...