Использование Windows Workflow в крупных веб-приложениях

Хотя в большинстве примеров, которые я проверял в Интернете, WF используется для выполнения шагов, подобных мастеру, или для разработки пользовательского интерфейса на основе рабочего процесса, а поскольку Windows Workflow может работать с конечными автоматами, и, если мы говорим, у нас есть веб-сайт, подобный Stackoverflow. com, В каких областях приложения мы бы использовали основу WorkFlow?

Примеры:

  • Вопрос пользователя набрал 10 голосов, дайте его владельцу бронзовый значок.
  • Вопрос только что набрал 10 000 просмотров, установите флаг top_question.

Следует ли обрабатывать эти небольшие (но их действительно слишком много) события с помощью Windows Workflow?
Можно ли размещать какие-либо компоненты WF поверх встроенного WF для облегчения таких операций?


person Ken D    schedule 21.07.2011    source источник


Ответы (3)


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

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

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

person Hector Correa    schedule 25.07.2011

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

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

В конце концов, это был настоящий беспорядок, и я был счастлив, что наш проект был совсем маленьким:

  • дизайнер регулярно вылетал (честно говоря, это был дизайнер VS 2008, VS 2010 более стабильна)
  • загрузка рабочих процессов среднего размера в IDE была мучительно медленной
  • рабочие процессы среднего размера гораздо труднее читать, чем исходный код. Это не специфично для wwf, а проблема всех сред визуального кодирования.
  • нет готового пользовательского интерфейса для управления запущенными экземплярами рабочего процесса
  • Я не уверен на 100%, но думаю, что в wwf нет управления версиями рабочих процессов. Если у вас уже запущено несколько экземпляров рабочего процесса, и вы хотите изменить рабочий процесс, возникнут проблемы.

WWF может быть решением конкретной проблемы, но я с трудом могу представить себе веб-приложение, которое выиграет от wwf.

person Mathias F    schedule 25.07.2011

Я использовал конечный автомат с WF (.net 3.5) и продукт, выпущенный в производство. Это была электронная система закупок, в которой запрос на покупку, заказ на покупку должны были пройти через несколько состояний (утверждающий, запрашивающий и т. Д.). Однако мы сталкиваемся с несколькими проблемами, например, если ваш конечный автомат изменится после производства, экземпляры, уже находящиеся в базе данных, должны запускаться в соответствии с новым конечным автоматом вручную, иначе это приведет к ошибке. Я думаю, что работа конечного автомата с простым приложением, если у вас сложная логика, такая как взаимодействие с утверждением пользовательского интерфейса, может вызвать некоторые проблемы. Я еще не проверял .net 4.0 WF, возможно, у него будут решения.

person marvelTracker    schedule 30.07.2011
comment
поддерживает ли wwf динамические рабочие процессы, то есть позволяет ли администратору изменять рабочий процесс через некоторый интерфейс, который является частью самого приложения. - person Muhammad Adeel Zahid; 30.07.2011