Вопрос

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

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

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

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

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

Это было полезно?

Решение

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

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

Другие советы

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

Попробуй Drools.NET

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

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

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

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

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

Попробуйте WF4.5.Он был полностью переработан с .NET4.0.

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

Ориентированный на решение конкретных задач

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top