Your SlideShare is downloading. ×
SharePoint Saturday Workflow in Action
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

SharePoint Saturday Workflow in Action


Published on

The story for workflow in SharePoint 2010 has changed significantly. This sessions details the new capabilities that allow for business users designing workflows in Visio, through to SharePoint …

The story for workflow in SharePoint 2010 has changed significantly. This sessions details the new capabilities that allow for business users designing workflows in Visio, through to SharePoint designer improvements and finishing in visual studio.

Published in: Technology
  • Be the first to comment

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide
  • This slide introduces all the new things you can do with workflow on SharePoint 2010. This deck first covers what is new for end-users, next are the new features of SharePoint Designer and finally the new capabilities of Visual Studio 2010 will be discussed. New targets – Site workflowsVisio visualization – show the workflow status using Visio services – Visio services supports client site APIs to further customize the experienceImproved nested logic – In the SPD we have now extremely flexible workflow customization engine – note. SPD is sequential workflow engineNew Task Process designer – Improved tools in SPDCustomizable OOB workflows – you can customize the approval workflows etc. by adding new steps etc.Visual Studio 2010 SharePoint tools – Better support for the developers in the VS2010Workflow Events – Events, which are raised as part of the workflow processPluggable External Data Exchange Services – External execution dependent tasks – Workflow is hydrated, until the response from external system is received
  • There have been many improvements in the field of workflow. Of course Site workflows are now supported, but the real excitement lies in the field of tooling, and the support for external data.
  • Creating ASP.NET workflow forms is a complex undertaking. There are many intricate steps you need to take to ensure that your workflow supports the rich features of the SharePoint workflow environment. Many of the settings that a user can configure on any workflow (like whether it will auto-start on change), need to be persisted through code in the workflow form. The new ASP.NET workflow form support in Visual Studio 2010 make creating Association and Initiation forms much easier. Hopefully the extensibility model of Visual Studio 2010 will enable the community to pick up on the Task and Modification forms.
  • Important to note if there are questions about it, is that the events cannot be used to access workflows as they are re-hydrating after being persisted. So you cannot modify any running worklflow instance.
  • SPWorklowEventReceiver is the base class to create workflow events.
  • A core concept of workflow is calling an external system and waiting (with the workflow persisted in a database) for that system to complete its work. When working with external data in a WF workflow it is important to support the concept of correlation. Correlation provides a generic way for allowing the workflow runtime to route incoming calls from external systems to the right workflow that is waiting for that event. SharePoint 2007 only allowed correlation with SharePoint list data. For a workflow to call into an external system and wait for that system to complete its task you need to route through a hidden SharePoint list.
  • SharePoint 2010 now allows for pluggable external data exchange services. An EDE service lies at the core of the WF environment. It is the component that is called by a workflow to reach out into an external system and get a response back. Creating these services is not an easy task though and requires a solid understanding of the SharePoint workflow environment.
  • From the Workflow perspective the flow of events when working with an external system are as follows.The workflow uses an CallExternalMethod activity which calls a method on the EDE Service (routed through the runtime based on .NET interface)The workflow does other thingsThe workflow uses a HandleExternalEvent activity to wait for a response from the external system. It uses the same correlation information as the first step to ensure the right even will be receivedFrom the perspective of the EDE ServiceThe EDE service receives a call from a workflow (method call)The EDE services calls into an external system. It either receives a response immediately or it will receive a response through a different communication channel such as a WCF service hosted in SharePointIt notifies the runtime that the event has arrived, which notifies the workflow (dehydrating it from the database)
  • Transcript

    • 1. Workflow in SharePoint 2010
      Elaine van Bergen
    • 2. The Connected EnterpriseWhere workflow fits in
      Collaboration happens in SharePoint
      • People at work
      • 3. Data they make and use
      Workflows to manage it
      Two flavours
      • System – move data inand out of SharePoint
      • 4. Human – support peoplewith long-running processes
    • Human Workflow Examples
      • Managing how people work
      • 5. Document approval & feedback
      • 6. Collaborative reviews & discussions
      • 7. Gathering signatures
      • 8. Business logic in action
      • 9. Rules for SharePoint content
      • 10. Applied automatically or on demand
      • 11. “Glue” used to build common business apps
    • "Whats New" for SharePoint 2010
      For the end-user
      • New targets to run a workflow
      • 12. Visio visualization
      For the power-user
      • Improved nested logic
      • 13. New Task Process designer
      • 14. Customizable OOB workflows
      For the developer
      • Visual Studio 2010 SharePoint tools
      • 15. Workflow Events
      • 16. Pluggable External Data Exchange Services
    • Windows Workflow Foundation
      Workflow engine shipped as part of the .NET 3.0 Framework
      Model workflows as state machines or sequential steps
      Long-running and stateful
    • 17. Windows Workflow Foundation
      Workflow Services
    • 18. Workflow Solution Spectrum
      Increasing Functionality
      SharePoint Designer
      Visual Studio
    • 19. Prototype, Design and DevelopSharePoint 2010 offers new development process
      • Envision workflows in Visio
      • 20. Import into SharePoint Designer
      Export to Visual Studio 2010
      • Add code
    • Declarative vs. Code-Based Workflows
      Developed with .NET code
      Compiled to template assemblies
      Packaged as features
      Deployed via WSP packages
      Added to feature galleries
      Activated per-site collection
      Versioned like code
      Can do all of the work in internal code
      and/or call activities
      Code-Based Workflows Declarative Workflows
      Developed as XOML (eXtensible Orchestration Markup Language)
      JIT compiled and run by a template assembly provided by SharePoint
      Published to containers (lists, libraries, etc.)
      Versionable like documents (with help)
      Connect activities together, but the activities do the work
    • 21. A Gartner 2008 survey showed that:
      • 67% of companies that are "doing BPM" changed some of their business processes at least twice a year.
      • 22. 18% needed to make changes on a monthly basis
      • 23. 10% on a weekly basis and
      • 24. 4% on a daily basis
    • Visio to Designer
      Live Demonstration
    • 25. Tool Enhancements
      SharePoint Designer 2010
      • Big design interface improvements
      • 26. Full screen, more available context data, import/export, nested logic
      • 27. It’s what we’ve been using for all of the demos so far
      Visio 2010
      • Allow business analysts to design workflows
      • 28. Provide graphical workflow status (Visio Services)
    • Declarative workflows
      • Performance improvements*
      • 29. InfoPath forms for association, activation, tasks
      • 30. Reusable workflows
      • 31. Content types
      • 32. Association columns
      • 33. Promotable to “globally” reusable
      • 34. Out-of-box workflows work this way now
      • 35. Site workflows*
      • 36. Workflows on document sets*
      • 37. Impersonation steps*
      • 38. Export to Visual Studio
      *not just for declarative workflows; also for code-based workflows
    • 39. Reusable Workflows
      • Not tightly coupled to specific lists
      • 40. Associated with lists or content types
      • 41. Association columns
      • 42. Promotable to “globally” reusable
      • 43. Out-of-box workflows work this way now
    • SharePoint 2010 Workflow Targets
      List Item
    • 44. Site Workflows
      Bound to site, not to a list or content type
      Started manually
      Accessible from Site Actions menu
      • Go to View All Site Content to see them
      Perfect for workflows that:
      • Work on groups of content
      • 45. Work mostly on non-SharePoint content
    • Custom activities
      Plug in your own custom activities
      • Fully trusted deployment model
      • 46. Sandboxed code in the user solution gallery
      Build on top of existing activities
      • OfficeTask exposed in Visual Studio
      Flexibility of custom code, reusable in code-based and declarative workflows alike
    • 47. New and improved out-of-the-box actions
      User profile lookups
      Document sets
      Declare record
      Set permissions
      Read/write to external lists
      Utility actions
      Task Processes
      • e.g., Office Task
      • 48. Composite activities
      • 49. Design dialogs
    • How It Works: The “OfficeTask”
      Workflow activity
      Workflow activity
      Approval start behavior
      Approval in progress
      Approval end behavior
      For each task…
      Exit conditions
      Task start behavior
      Task in progress
      Task end behavior
    • 50. Example: Expense Reporting
      Workflow activity
      Workflow activity
      Check metadata on uploaded report
      Approval in progress
      Set status to either Approved or Rejected, and notify submitter
      If anyone rejects, cancel the approval
      Task start behavior
      Send daily reminders when due date passes
      Task end behavior
    • 51. Designer
      Live Demonstration
    • 52. What’s new in Visual Studio 2010
      Site Workflows
      ASP.NET Form Templates
      New events
      External Data Exchange
    • 53. Developing Site Level Workflows
      Site Workflows
      • List / Item properties are null
      • 54. No auto-start
    • Creating ASP.NET Workflow Forms
      Generates the required code
      Updates the elements.xml file
      • Association
      • 55. Initiation
    • Workflow Events
      Events fired during workflow lifetime
      • Started, Completed…
      • Call sub-workflows and wait for completion
      • 56. Provide more elaborate error handling
      Familiar model for developers
    • 57. SPWorklowEventReceiver
      public class MyWorkflowEventReceiver
      : SPWorkflowEventReceiver
      public override void WorkflowStarting(
      SPWorkflowEventProperties properties)
      // your code here
      Base class for handling workflow events
      Register on site / list / content type
    • 58. External Data in SharePoint 2007
      External Data
      SharePoint Data
      Correlated Events
    • 59. Pluggable EDE Services
      Interact with LOB systems by using custom External Data Exchange services
      Requires low-level understanding of WF layer
      You can write your own events
      • No partial trust
    • Flow of Events
      Call External Method
      Raise Event
      External System
      EDE Service
      External System
      WCF Service
    • 60. Visual Studio
      Live Demonstration
    • 61. Question and Answer Time
    • 62. Feedback details
      Connect to the “GUEST” wireless network
      Browse to the URL
      At the Cliftons log on screen use these credentials
      User: CSC
      Password: 9A4F
      Select “forms authentication” and then log on with the details you were emailed during the week
      If you need a logon or need help, see Brian or Lewis at the front desk
      How to do tell us what you think
    • 63. Thanks for Listening!
      And Thank You To Our Sponsors!