1 / 40

Автоматизация бизнес процессов на базе SharePoint Workflow 2010

Автоматизация бизнес процессов на базе SharePoint Workflow 2010. Михаил Бондаревский Email: bondarevsky@gmail.com MCTS: MOSS, ASP.NET, WF, WCF, ADO.NET. План доклада. SharePoint Workflow 2010 – платформа для автоматизации бизнес-процессов Средства разработки

lazzaro
Download Presentation

Автоматизация бизнес процессов на базе SharePoint Workflow 2010

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Автоматизация бизнес процессов на базе SharePoint Workflow 2010 Михаил Бондаревский Email: bondarevsky@gmail.com MCTS: MOSS, ASP.NET, WF, WCF, ADO.NET

  2. План доклада • SharePoint Workflow 2010 – платформа для автоматизации бизнес-процессов • Средства разработки • Visio, SharePoint Designer, Visual Studio • Настройка стандартных рабочих процессов • Различные типы рабочих процессов • Визуализация хода выполнения • Модель внешних подключаемых сервисов

  3. SharePoint WF 2010 – платформа для автоматизации бизнес процессов Человеческий фактор • задачи • столбец состояния, • история, • визуализация (новое!), • уведомления Workflow Foundation 3.5 SP1.NET Framework (не 4.0!) • SharePoint Workflow использует переработанный «движок» WF

  4. SharePoint Workflow 2010способы расширения функциональность БраузерVisio SharePoint Designer Visual Studio

  5. Стандартные рабочие процессы SharePoint • Сбор отзывов, Утверждение и другие • Тонкая настройка стандартных рабочих процессов c помощью • SharePoint Designer 2010 • Visual Studio 2010

  6. Пример: авансовый отчет • Множество вариантов, но большинство следуют схожему сценарию • Сотрудники взаимодействуют со списком/библитекой документов SharePoint через завершение задач

  7. Инструменты разработки рабочих процессов • Новый инструмент Visio 2010 • Существенные улучшения в SharePoint Designer • Двухстороння интеграция м/у Visio и SPD через единый формат обмена VWI • Импорт SPD WF в Visual Studio 2010

  8. Visio 2010 • Позволяет создавать РП без детализации • Целевая аудитория – бизнес-аналитки • Доступны все поддерживаемые SPD действия в виде фигур (stencils) • Проверка схемы • Единый формат обмена м/у SPD

  9. Visio: Холст для рисования РП

  10. Visio: Фигуры (Stencils) • Действия рабочего процесса • Условия рабочего процесса

  11. Visio: Проверка схемы

  12. Формат Visio Workflow Interchange (VWI) • Формат обмена м/у Visio и SPD • *.vwi =Zip • workflow.vdx • workflow.xoml • [Content_Types].xml • workflow.xoml.rules

  13. ДЕМО Создание рабочего процесса в Visio 2010

  14. SharePoint Designer 2010 • Поддержка 3-х типов рабочего процесса • Новый редактор рабочего процесса • Новые действия (actions) и условия(conditions) • Кастомизация OOTB рабочих процессов • Импорт и экпорт в Visio • Экспорт как WSP-пакет

  15. SPD: Новые действия и условия • Более 10 новых действий (codeplex ) • Lookup Manager of a User • Declare Record • Set Workflow Status • Check In/Out • Copy/Create List Item • … • 6 новых условий

  16. SPD: Три типа рабочего процесса

  17. SPD: редактор рабочего процесса • «Горячие» клавиши • Автодополнение • Интерактивная проверка ошибок

  18. SPD: Кастомизация OOTB РП

  19. SPD: Импорт/Экспорт в Visio

  20. Visio Services: Визуализация • Статус рабочего процесса в графическом виде

  21. Visio Services: добавление визуализации РП на страницу _controstemplate\WorkflowStatus.ascx <VisioWebControls:VisioWebAccess id="VisioWebAccess1" runat="server" webpart="true" height="400px"> <WebPart xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/WebPart/v2"> <Title>Workflow Visualization</Title> <Description></Description> <FrameType>Standard</FrameType> </WebPart> </VisioWebControls:VisioWebAccess>

  22. ДЕМО Создание рабочего процесса в SharePoint Designer 2010

  23. Visual Studio 2010 • Обновленный шаблон проекта • поддержка ASPX форм (Assoc, Init) • List/Site рабочий процесс • Новые типы активити • Импорт рабочего процесса как WSP

  24. VS: Новые Activity

  25. Рабочие процессы сайта • Контекст SPWeb • Активация • Через Site Actions • Объектная модель varassoc = spWeb.WorkflowAssoications.GetAssociationByName(“Demo Site WF”, CultureInfo.InvarianCulture); var result = spSite.WorkflowManager.StartWorkfow(null, assoc, String.Empty, SPWorkflowRunOptions.Synchronous);

  26. VS: Импорт декларативного WF как WSP

  27. ДЕМО Создание рабочего процесса в VS 2010

  28. Инструменты разработки • Visio 2010 <-> SharePoint Designer 2010 • SharePoint Designer 2010 -> Visual Studio 2010

  29. Событийная модель События,возникающие в течении ЖЦ РП Started, Completed… SPWorkflowEventReceiver базовый класс для обработки событий может быть зарегистр. site/list/content type Сценарии Вызвать вложенный РП Реализовать аудит

  30. Взаимодействие с внешними системами Рабочий процесс Способы: • веб-сервисы и «Задачи» • модель внешних подключаемых сервисов (Новое!SharePoint 2010) SharePoint Внешняя система

  31. SharePoint Workflow SharePoint Worker Process Вашрабочий процесс • SharePoint Activity Library Специфичный для SharePoint компонент Workflow Foundation • Base Activity Library Runtime Engine: базовые сервисы Scheduler Rules Tracking Runtime Services: специфичная реализация SharePoint БД содержимого Transactions Persistence Notifications Roles Tracking Messaging

  32. Предопределенные сервисы

  33. External Data Exchange Service EDE сервис

  34. EDE: Определение контракта [ExternalDataExchange] public interface IMyEDEService { void MessageOut(string msg); event EventHandler<MyEventArgs> MessageIn; } [Serializable] class MyEventArgs: ExternalDataEventArgs {}

  35. EDE: Реализация сервиса Реализовать класс, производный от SPWorkflowExternalDataExchangeService, IMyEDEService public abstract class SPWorkflowExternalDataExchangeService { public virtual void AfterWorkflowRun(GuidinstanceId); public virtual void BeforeWorkflowRun(SPWorkflow workflow, IPendingWorkpendingWork); public abstract void CallEventHandler(Type eventType, string eventName, object[] eventData, SPWorkflow workflow, string identity, IPendingWorkworkHandler, object workItem); public abstract void CreateSubscription(MessageEventSubscription subscription); public abstract void DeleteSubscription(GuidsubscriptionId); public static void RaiseEvent(SPWeb web, GuidworkflowId, Type eventType, string eventName, object[] eventData); public static void RaiseEvent(SPWeb web, intuserId, GuidworkflowId, Type eventType, string eventName, object[] eventData, SPWorkflowRunOptionsrunOptions); public delegate void BatchOperation(System.Transactions.Transaction transaction, params object[] arguments); }

  36. EDE: Модификация web.config <WorkflowServices> <WorkflowService Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" Class="Microsoft.SharePoint.Workflow.SPWinOEWSSService"> </WorkflowService> <WorkflowService Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" Class="Microsoft.SharePoint.Workflow.SPWinOETaskService"> </WorkflowService> <WorkflowServiceAssembly="Rusug.MyFirstPluggableWorkflowService, Version=1.0.0.0, Culture=neutral, PublicKeyToken=xxxxxx“ Class="Rusug.MyFirstPluggableWorkflowService"> </WorkflowService> </WorkflowServices>

  37. EDE: Использование • CallExternalMethodActivityи HandleExternalMethodActivity • Утилита Wca.exe (.NET Framework)

  38. «Папки» c рабочим процессом • Document Set – тип контента (производный от Folder) • Doc set поддерживает ассоциации РП

  39. Вопросы • Email: bondarevsky@gmail.com

More Related