Лабораторная работа № 5
Задание: Реализовать веб-сервис и клиентское приложение (по аналогии с лабораторной работой № 3). Веб-сервис должен быть реализован с использованием технологии Windows communication Foundation (WCF). Обращение должно производиться к веб-сервису, разработанному студентом с любым другим вариантом задания.
Ресурсы:
Примеры WCF:
http://wladm.narod.ru/C_Sharp/wcfservice.html
https://msdn.microsoft.com/ru-ru/library/bb412178(v=vs.110).aspx
Книги:
Cibraro P. и др. Professional WCF 4: Windows Communication Foundation with .NET 4
Лабораторная работа № 6
Задание: Реализовать создание объектов классов, реализованных в лабораторной работе 1 с помощью механизмов Windows Workflow Foundation (WWF). Так же в завершении процессов объекты должны сохраняться в файл (сериализация).
Windows Workflow Foundation (WF) представляет собой технологию компании Microsoft для определения, выполнения и управления рабочими процессами (англ. workflow). Данная технология входит в состав .NET Framework 3.0, который изначально установлен в Windows Vista и может быть установлен в Windows 2003 Server и Windows XP SP2. WF ориентирована на визуальное программирование и использует декларативную модель программирования.
При помощи WF могут быть описаны три типа процессов:
последовательный процесс (Sequential Workflow) — переход от одного шага в другой без возвратов обратно;
конечный автомат (State-Machine Workflow) — переход из одного состояния в другое, возможны и произвольные возвраты в предыдущие состояния;
процесс, управляемый правилами (Rules-driven Workflow) — частный случай последовательного процесса, в котором переход на следующий шаг определяется набором правил.
Возникает вопрос о целесообразности затрат времени и усилий на создание графических моделей. Ответом на него может послужить список преимуществ, приведенный Дэйвом Грином (Assistant General Counsel, Microsoft (Copyright & Trade Secrets)). Перечислим основные преимущества построения графических моделей, предоставляемые WWF:
Визуализация полезна как для разработчика в процессе создания и поддержки программного продукта, так и для пользователя рабочего потока, который хочет быть уверен в том, что все происходит в том порядке, в котором и должно происходить. Также визуализация может быть полезна системным администраторам (IT Ops) для поиска причин некорректного поведения или выявления некорректного поведения.
Выразительность. Модель рабочего потока – это язык предметной области, приспособленный под конкретную решаемую задачу. Для примера можно рассмотреть процесс рецензирования, при котором, три положительных голоса из пяти означают, что документ отрецензирован вне зависимости от других двух рецензий, которые в таком случае можно не делать. Описывать такое поведение с помощью классических языков программирования довольно утомительный процесс, в то время как в WWF включены конструкции, которые позволяют легко решить такую проблему.
Выполнение. Среда выполнения может исполнять модель непосредственно, без преобразования в промежуточный вид. Кроме того, в технологии WWF реализована поддержка таких известных типовых задач для долго выполняющихся рабочих потоков (long running workflow), как поддержка состояний, транзакции. Включение их в модель и работа с ними контролируется простыми и выразительными элементами модели.
Мониторинг. Использование моделей дает возможность без каких- либо дополнительных затрат получать набор событий с понятной семантикой. Этот набор в свою очередь, может быть использован для мониторинга экземпляров рабочих потоков или агрегирования информации о них. WWF позволяет также декларативно описывать события, которые интересуют пользователя.
Различные интерпретации. Модели порождают модели. В качестве примера можно привести преобразование модели рабочего потока в модель, построенную по паттерну обмена сообщений, необходимых для общения с ней.
Композиция. Если приложение разработано в виде потока и набора элементарных работ, тогда атомарные элементы работы с понятными интерфейсами могут быть использованы повторно другими рабочими потоками. В свою очередь, рабочие потоки сами по себе подходят под определение работы и могут быть использованы другими рабочими потоками.
Манипуляция. Часто возникает необходимость создать или модифицировать рабочий поток на лету. Если такое изменение затрагивает код, могут возникнуть проблемы с безопасностью, сложно отследить какой код вставлять можно, а какой – небезопасно Использование моделей позволяет динамически создавать и изменять функциональность. WWF позволяет динамически изменять как типы потоков, так и выполняющиеся экземпляры потоков.
Ресурсы:
http://habrahabr.ru/post/46409/
http://habrahabr.ru/company/luxoft/blog/181562/
http://www.dispatchertimer.com/workflow-foundation/wf-tutorial-part-1-an-introduction-to-windows-workflow-foundation/
http://www.dispatchertimer.com/workflow-foundation/wf-tutorial-part-2-create-a-simple-workflow/
https://code.msdn.microsoft.com/Windows-Workflow-deed2cd5
https://msdn.microsoft.com/en-us/library/dd851337.aspx
Книги:
Collins Mark. Beginning WF Windows Workflow in .NET 4.0
