2009-05-18 3 views
6

Мы находимся в процессе перезаписи большой унаследованной системы, которая делает обширное (неправильное) использование механизма документооборота. В будущем я хотел бы рассмотреть альтернативы механизму рабочего процесса для нового приложения. Одна очень интересная возможность - это Space-based architecture + Rules Engine. Какие существуют другие парадигмы?Каковы некоторые альтернативы движку Workflow?

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

Редактировать: Я добавил щедрость к этому вопросу, чтобы получить больше отзывов. Я хотел бы услышать от кого-то, кто фактически реализовал альтернативу рабочего процесса. Если ничего не будет сделано, я соглашусь ответить на BPEL, хотя я совершенно без энтузиазма отношусь к самой технологии.

+0

Не знаю, что касается аспекта программирования, но вы посмотрели WWF (Windows Workflow Foundation)? http://msdn.microsoft.com/en-us/netframework/aa663328.aspx – balexandre

+0

Я не ищу реализацию рабочего процесса, а скорее альтернатив шаблону рабочего процесса. – rcampbell

+1

Причина отсутствия ответов заключается в том, что вы didn ' t описать фактическую проблему, которую вы пытаетесь решить. Описание сводится к «тому, что является альтернативой рабочим процессам для приложения, которое организует рабочие процессы», что исключает любой ответ за пределы «рабочих процессов». – ima

ответ

2

Похоже, что такой очевидный ответ, но никто не поднял его, так что здесь идет : вы считали программное обеспечение для управления документами (или контентом)?

0

NetBpm (.NET-порт JBpm) процесс, основанный

+0

Я не прошу об альтернативных реализациях рабочих процессов, а скорее об альтернативах рабочим машинам полностью – rcampbell

2

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

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

1

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

(К примеру, на основе события переднего конца -> основы правила оркестровки -.> Специфический (линейный) обработка рабочего процесса)

1

Если посмотреть на это с 30000 футов у вас есть два варианта:

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

В обоих случаях «правила» могут быть определены в рабочих процессах/оркестрованиях, механизмах или кодах правил.

Мы выбрали внедряет системы на основе следующих критериев:

  • Относительные простые правила, impemented непосредственно в коде
  • комплекс логики в процессе.Чтобы мы могли показать это клиенту, спросите их, понимают ли они это, и знают, что все в порядке, поскольку то, что они ищут, - это то, что выполняется.
  • аранжировка паб/суб для перемещения вещей вокруг на основе набора правил

Я работаю с технологией MS так для типа системы, которую вы описали, я бы реализовал ее в Sharepoint, которая имеет управление документами системных и встроенных рабочих процессов для управления документами. Лицензия на доступ на уровне доступа Windows Sharepoint Services включена в операционную систему.

1

С точки зрения KISS Рабочий процесс - это не что иное, как механизм очередей и правил, если что-то еще - у нас есть система документов, для которой у нас есть рабочий процесс, такой как обработка. Мы рассматривали рабочий процесс websphere, а также WLI из weblogic, но простой с JMS (MDBs, а также просыпающимися consmers) с постоянным хранилищем работал очень хорошо для нас без каких-либо проблем. Я думаю, вы здесь правильно подходите - удачи!

2

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

-1

Вы можете рассмотреть Apache Camel. Это EIP и большинство рабочих процессов Langugae нравится, если выбор поддерживается, но вам нужно написать код для него.