Сведения о вопросе

Killer

21:11, 9th August, 2020

Теги

asp.net   workflow    

Альтернативы Windows Workflow Foundation?

Просмотров: 657   Ответов: 9

Я уже некоторое время использую WWF как часть внутреннего приложения центра обработки вызовов (ASP.NET), и хотя это была хорошая практика в понимании того, как должна работать система документооборота на основе государственных машин, я определенно не влюблен в WWF сам по себе. На мой взгляд так оно и есть:

  1. Чрезмерно сложный, особенно для использования в веб-приложениях (все эти потоковые вещи во время выполнения)
  2. Незрелый (когда-нибудь работал с этим ужасным дизайнером?)
  3. Анемичный в своем текущем наборе функций

Есть ли у кого-нибудь предложения по улучшению структуры рабочего процесса на основе .NET? В частности, я ищу следующие функции:

  1. Состояние на основе машины (сопоставление состояний с доступными действиями)
  2. Фокус на разрешениях пользователей (управление тем, кто имеет доступ к каким действиям)
  3. Возможность запуска рабочих процессов в качестве временных фоновых задач (например, для отправки напоминаний для элементов, которые находились в определенном состоянии в течение x дней)

Это действительно все, что мне нужно. Мне не нужно быть в состоянии "drag and drop" какие-либо действия или визуально проектировать поток. Я совершенно комфортно пишу фактический код, как только запускается определенное действие.



  Сведения об ответе

lesha

17:18, 20th August, 2020

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

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


  Сведения об ответе

lool

05:42, 21st August, 2020

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


  Сведения об ответе

P_S_S

08:13, 21st August, 2020

Попробуйте Drools.NET


  Сведения об ответе

#hash

07:57, 20th August, 2020

Взгляните на движок рабочего процесса . Это облегченная структура рабочего процесса для решений .NET и Java. Он имеет визуальный конструктор HTML5, контроль версий, приличный UI и поддерживает широкий спектр баз данных.


  Сведения об ответе

lool

16:19, 18th August, 2020

Есть ли у вас возможность рассмотреть BizTalk сервер?


  Сведения об ответе

lesha

08:47, 27th August, 2020

Возможно, вы захотите взглянуть на Jazz- http://jazz.codeplex.com /


  Сведения об ответе

ASER

07:32, 21st August, 2020

Мне очень понравилось работать с Oracle BPEL Process Manager. Это часть JDeveloper.

http://www.oracle.com/technology/bpel/index.html http://gemsres.com/story/dec06/313602/jellema-fig1.jpg


  Сведения об ответе

#hash

02:54, 11th August, 2020

Попробовать WF4.5. С тех пор он был полностью переделан .NET4.0.


  Сведения об ответе

ASER

22:34, 23rd August, 2020

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

Ориентированный На Решение Задач

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

управляемый событиями

Рабочего процесса двигателей ориентированной на человека событий (например, Imixs-документооборот ). Это своего рода государственная машина, но обычно она обладает гораздо большей функциональностью. Вы можете запустить новый processinstance, назначив вашему бизнес-объекту начальную задачу (определенную событием start). Кроме того, механизм документооборота позволяет запускать события, назначенные каждой задаче, определенной в вашей модели. Каждое событие (Intermediate CatchEvent) запускает механизм документооборота для переноса запущенного processinstance в следующую задачу (состояние). Пока не будет вызвано новое событие, processinstance 'waits' в текущей задаче (состоянии). Процесс утверждения является типичным примером такого рода человеко-ориентированного рабочего процесса.

Вы можете найти список двигателей здесь .


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться