Где используется Windows Workflow Foundation?

используется ли WF в пользовательском интерфейсе или на бизнес-уровне? Если на уровне пользовательского интерфейса, то кому-то кодирование в бизнес-слое даже нужно использовать или изучать его?

3 ответов


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

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

EDIT:

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

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


WF-это интерфейс к уровню занятости.

рабочие процессы-это декларативный способ написания программ путем связывания заранее определенных действий, а не императивная модель программирования написания строк кода. Кроме того, у вас есть много графических инструментов, которые позволяют записывать рабочие процессы. Шуч, как Черный жемчуг, K2 и sharepoint designer.

Они очень часто используются и стоят того, чтобы учиться. Я начал использовать тогда в sharepoint и ms crm. Я теперь всегда смотрю для решения моих общих проблем.

вот несколько ссылок: mirosoft msdn.microsoft.com/en-us/netframework/default.aspx Wkik:http://en.wikipedia.org/wiki/Windows_Workflow_Foundation


WF в основном понимается довольно императивно-последовательность хронологических событий.

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

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

с моей точки зрения, однако, заметно, что WF является продуктом версии 1: есть ряд неудобных вещей, которые могут направлять вас в код, который трудно поддерживайте, части инфраструктуры довольно сложны для использования, вы можете найти некоторые несоответствия API здесь и там.

существует также руководство, что вы не должны делать, если вы когда-либо захотите перенести свои рабочие процессы на следующее поколение WF.