ASP.NET на основе Workflow Engine - PullRequest
       12

ASP.NET на основе Workflow Engine

7 голосов
/ 25 ноября 2008

Я работаю над спецификацией проекта для нового приложения, которое будет сильно зависеть от рабочего процесса.

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

По сути, я ищу что-то, что обрабатывает перемещение по определенному набору страниц рабочего процесса при автоматической обработке управления состоянием.

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

Есть предложения?

Примечание: .NET 2.0, так что WWF нет, хотя я думаю, что WWF излишен для моих нужд.

РЕДАКТИРОВАТЬ: Кажется, есть законная необходимость в этом, и нет продукта там ... Так что я мог бы построить это.

Вот что я изображаю:

  • Класс пользовательских страниц с именем WebFlowPage
  • Все WebFlowPage зарегистрированы в Workflow mapper.
  • Каждый WebFlowPage имеет некоторую форму объекта состояния.
  • HttpHandler обрабатывает выбор соответствующей WebFlowPage на основе рабочего процесса и заполнение ее из объекта состояния.

Ответы [ 9 ]

2 голосов
/ 09 декабря 2008

Вы также можете взглянуть на двигатель InRule . Также есть nxBRE .

Они также в основном используются для бизнес-правил. InRule является проприетарным, тогда как nxBRE поддерживает RuleML (стандарт defacto).

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

На данный момент я знаю, что Sharepoint 2007 поддерживает рабочие процессы страниц (с использованием WF), но это подразумевает использование .NET Framework 3 и развертывание sharepoint.

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

2 голосов
/ 24 декабря 2008

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

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

2 голосов
/ 08 декабря 2008

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

Учитывая текущее состояние Windows Workflow Foundation и отсутствие другой структуры, которая абстрагирует концепции рабочего процесса, я бы выбрал WF, если вам нужна сложная логика, асинхронная обработка или ветвления в ваших рабочих процессах.

Отслеживание вашего состояния через рабочий процесс может быть выполнено путем переноса некоторого вида полезной нагрузки xml или сохранения состояния в базе данных,

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

2 голосов
/ 25 ноября 2008

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

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

И каждый раз, когда вы «что-то делаете», вы попадаете на «серверную землю», что означает, что вы можете хранить временные данные все время, как пожелаете ...

Проект LGPL

(PS! Да, я работаю с ним)

2 голосов
/ 25 ноября 2008

Является ли рабочий процесс динамическим или статическим?

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

Множество механизмов документооборота построены для крупномасштабной обработки (например, приложения для кредитных карт). Для небольших масштабов вы должны хотя бы рассмотреть свой собственный, который устранит накладные расходы и зависимость / от движка.

1 голос
/ 04 декабря 2010

Я пользуюсь этим в течение нескольких месяцев http://objectflow.codeplex.com. Не специфично для аспара, но это может соответствовать вашим потребностям

1 голос
/ 08 декабря 2008

Просматривая в Интернете некоторые ресурсы рабочего процесса и BPM, я обнаружил следующий проект: NetBPM . К сожалению, проект, похоже, остановлен.

0 голосов
/ 08 июля 2009

Есть несколько вариантов рабочего процесса. «Aspose» и «Skelta» - это предложения, которые я оцениваю.

Фабиу

0 голосов
/ 25 ноября 2008

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...