Использование рабочего процесса Windows в больших веб-приложениях - PullRequest
9 голосов
/ 21 июля 2011

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

Примеры:

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

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

Ответы [ 3 ]

3 голосов
/ 25 июля 2011

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

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

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

1 голос
/ 30 июля 2011

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

1 голос
/ 26 июля 2011

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

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

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

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

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

...