Как стать автором
Обновить

Комментарии 16

Почему выбрали Activiti, а не, например, Bonita?
Ох… На этот вопрос бесконечно сложно ответить.
Были сжатые сроки на выбор, отсутствие опыта и незнание всего того, что я постарался изложить в своем посте (это исходные).
Дальше было желание получить продукт, который бесшовно встроился бы в приложение. Мы примерно представляли, что может захотеть приложение и имели в виду, что, скорее всего, понадобится Camel, работа с веб-сервисами — само собой, плюс еще были намерения поработать с шиной. Но четкой уверенности не было и закладывать в проект какое-нибудь дорогущее решение — не выход.
Т.е. что мы имеем — нужна хорошая интеграция со стеком Apache — и у Activiti все это есть.
Продукт будет нагруженным и кластеризация необходима без вариантов — тут есть.
Обещана нормальная поддержка JEE7, в частности CDI.

А если в двух словах — продукт выбрался скорее не за плюсы, которых у него достаточно, а за отсутствие явных минусов. Могу сказать, что за время работы он не дал повода пожалеть, что не потратили на выбор еще месяц-другой.
Ну и, просто так получилось. У JBoss-овского решения было тоже немало шансов попасть в работу, но выиграл Apache. И не в последнюю очередь из-за хорошей поддержки, когда я собирал тестовый примерчик. Как-то так.
Про бесплатный BPMN-редактор — не смотрели на Bizagi BPMN? У меня был небольшой опыт работы с ним в роли бизнес-аналитика, в целом осталось хорошее впечатление.
Bizagi точно ставил (когда тестировал, забил себе редакторами рабочую машину так, что потом сидел и думал на тему просто переустановить всю систему. Но обошлось.)

Чем именно он не подошел — уже не вспомню. Сейчас поставлю, отвечу более аргументировано.
Да, вспомнил. На тот момент он не поддерживал полностью нотацию BPMN2 и экспорт в соответствующий формат.
Полноценная работа со вторым BPMN заявлена как New feature в последней версии. Поэтому отложили.
В том и дело, что вроде. Сейчас заявлена GPL3, когда я разбирался — была еще и Commercial. При скачивании с самого что ни на есть sourceforge становилась evaluation-версия (сейчас по скриншотам тоже видно это слово в хидере окна). И бесплатно скачанная версия намекала, что было бы неплохо заплатить. Если бы оно использовалось только внутри команды и не было бы альтернатив (а они были) — использовали бы эвалуэйт, но отдать такое безобразие заказчику проекта — это было бы ну просто не солидно.

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

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

Вот так комплектное веб-приложение победило все не подогнанные под Activiti редакторы и один плагин к Эклипсу впридачу. Как плюшку мы получили возможность хранить, редактировать и управлять процессами через единую точку входа откуда угодно (в рамках корпоративной политики безопасности, конечно же).
В эклипсовском редакторе есть баг с catching/throwing модулями для event и message. Если не заполнить им поле (а оно по-умолчанию пустое) eventRef или messageRef, то при сохранении будет NullPointerException (не виден без консоли) и диаграмма молча не сохраняется. Но если заполнить, даже после такого кривого сохранения, то всё сохраняется нормально.
Вот она не попадалась.
Не расскажете что-нибудь про нее, если есть опыт использования?
Ребята кто не совсем доволен Activiti
И кто хочет сконцентироватся BPMN Очень советую форк Camunda

Camunda BPMN Platform развивается быстрее и ИМХО «правильнее» Activiti
Чуваки в Германии явлаются реальной конкуренцией всяким там Ораклам
Я лично принимал участие во внедерении Camunda BPMN в одной страховой комапнии.
У Camunda BPMN Комьюнити хорошее, кодеры хорошие, Понимание БПМН отличное…

Лучшая связка IMX: Jboss + Camunda + Cycle + Signavio

Кстати это тоже их проектик:
bpmn.io/

Подтверждаю, в проекте на ruby on rails используем camund`у
если надо BPMN + DMN то очень удобно и наглядно
если нет — то можно обойтись обычной стэйт машиной

Я весь последний год активно изучал BPM-системы и в итоге проект отложил.

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

Я думаю, что будущее за интегрированными системами коллективный такскменеджер+adaptive case management+BPM движок+облегчённая интеграция с облачными и корпоративными сервисами. Пример такой штуки — www.effektif.com/
Частично (даже практически полностью) я с Вами согласен. Чистый BPMN-way требует очень значительной ломки устоявшихся практик. Подход, предлагаемый Вами позволяет сохранить нормальный подход к программированию и при этом пользоваться плюшками BPMN.

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

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

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

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

Кстати, именно такой подход (изменение формальных процедур) часто встречается там, где наиболее популярны BPM-системы. Банки, страхование, госструктуры. У того же Bizagi самый распиареное внедрение это пенсионный фонд Колумбии.
Это все уже есть. Открытая безплатнай платформа… camunda.com
Чуваки начинали именно из явы… Но приэтом участвуют в развитии стандартов BPMN 2.0, ACM…
Для меня нет ничего лучшего… Нигода в жизни больше не свяжусь с клозд-сорсными говно-монстрами от Oracle или SAP.
все пробовали на живых клиентах… ;)
Правда я уже год как на другой тематике… но камунду даже для частным образом автоматизации дома хочу использовать что-бы в теме оставаться… ;)
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации