280 likes | 717 Views
SESSION CODE: OSP320. Workflow Development in Microsoft SharePoint Server 2010 with Microsoft Visual Studio 2010. Jon Flanders. Outline. What’s new with Workflows in SharePoint Server 2010? Support for .NET 3.5 SPD -> Export -> Visual Studio -> Import Site Workflows Custom Local Services
E N D
SESSION CODE: OSP320 Workflow Development in Microsoft SharePoint Server 2010 with Microsoft Visual Studio 2010 Jon Flanders
Outline • What’s new with Workflows in SharePoint Server 2010? • Support for .NET 3.5 • SPD -> Export -> Visual Studio -> Import • Site Workflows • Custom Local Services • Workflow Event Receivers • Visual Studio Tools
.NET framework version • SharePoint 2010 has a dependency on .NET 3.5 • Workflows in SharePoint Server 2010 are *not* WF 4.0 Workflows • .NET Framework release schedule doesn’t align with SharePoint Server 2010 • Would have delayed SharePoint Server 2010 significantly to take a dependency on WF 4.0
NEW! SPD Workflow Import • SPD has a new reusable declarative Workflow template • Once deployed it can be saved to a template (.wsp) • Template can be imported into Visual Studio 2010 and modified Deploy Package Save to File System Create New ProjectImport WSP File system WSP
NEW! Site Workflows • In SP 2010, Workflows don’t have to be associated with a List instance • No need to create a “dummy” list just to get a workflow to run • Potential uses • Accessing External Data - BCS • General Business Logic • Managing Site permissions • Managing Site or Item (across Lists) creation
Creating a Site Workflow • Pick “Site” when creating Workflow in Visual Studio 2010 • Manage via “Site Workflows” under “Site Actions” • Workflow must be started manually • Requires instantiation form
Workflow Forms • Visual Studio 2010 SharePoint tools have templates for • Workflow Initiation Form • Workflow Association Form • Add them at Workflow node level in Solution Explorer and the Elements.xml is automatically modified
SPS/Workflow communication • Workflow communication in SharePoint is done via ExternalDataExchange (EDS) • Built on top of Workflow Queue Infrastructure • EDS uses an interface definition for workflow/host communication • “Local Service” implements interface • HandleExternalEvent triggered by firing interface event • CallExternalMethod calls interface method • SPS communication Activities are strongly-typed versions of HEE, CEM
WF Communication Host WF Runtime Some Time May Elapse Workflow Local Service Queue Activity Activity Workflow PersistedTo Storage Workflow RestoredFrom Storage MSG MSG
NEW! Local Service extensibility • Before SP 2010, only the SP-defined Local Service could be used • SPS 2010 enables adding custom Local Services • Can use CEM/HEE or • wca.exe tool to create strongly-typed Activities (e.g. OnWorkflowActivated/CreateTask)
Building a custom Local Service • Define an EDS interface • Create a class that derives from the SPWorkflowExternalDataExchangeService base class • Implement the EDS interface • Need to add an entry to the web.config • WorkflowServices configuration section
Using Local Services • Configure Activities that use Local Service • HandleExternalEvent/CallExternalMethod • Or use WCA.exe to generate strongly-typed versions
NEW! Workflow Event Receivers • SharePoint’s WorkflowRuntime is “closed” • No way to hook into WorkflowRuntime events • Workflow Event Receives in SharePoint Server 2010 are code-based Event Receivers • Similar to List Event Receivers • Support built into Visual Studio 2010 SharePoint tools • EventReceiver Project or Item template
SPWorkflowEventReceiver • New SPEventReceiverBase-derived class for 2010 • Derived and override methods for needed functionality • Starting • Started • Postponed • Completed • Register as EventReceiver for a list • Associates with list workflows automatically
Workflow Event Receiver • public class MyWorkflowEventReceiver : SPWorkflowEventReceiver • { • public override void WorkflowStarting(SPWorkflowEventProperties p) • { • base.WorkflowStarting(properties); • } • public override void WorkflowStarted(SPWorkflowEventProperties p) • { • base.WorkflowStarted(properties); • } • public override void WorkflowPostponed(SPWorkflowEventProperties p) • { • base.WorkflowPostponed(properties); • } • public override void WorkflowCompleted(SPWorkflowEventProperties p) • { • base.WorkflowCompleted(properties); • } • }
Summary • Workflows are (have been) a powerful way to model functionality in SharePoint • Improvements to the engine and tools in SharePoint Server 2010/Visual Studio 2010 make Workflow an even more attractive way to develop in SharePoint • SPD Export • EventReceivers • Local Services • Visual Studio
Related Content • Workflow in SharePoint 2010: Overview • Overview: Creating Workflows With SharePoint Designer 2010, InfoPath, And Visio • Introduction To SharePoint Designer 2010: Top 10 great things to know
Required Slide Track PMs will supply the content for this slide, which will be inserted during the final scrub. Track Resources • For More Information – http://sharepoint.microsoft.com • SharePoint Developer Center – http://msdn.microsoft.com/sharepoint • SharePoint Tech Center – http://technet.microsoft.com/sharepoint • Official SharePoint Team Blog – http://blogs.msdn.com/sharepoint
Required Slide Speakers, please list the Breakout Sessions, Interactive Sessions, Labs and Demo Stations that are related to your session. Related Content • Breakout Sessions – See Conference Guide for full list of OSP Track Sessions • Interactive Sessions – OSP Track has 10 Interactive Sessions – OSP01-INT – OSP10-INT • Hands-on Labs – OSP01-HOL – OSP20-HOL • Product Demo Stations – Yellow Section, OSP • Office 2010, SharePoint 2010, Project Server 2010, Visio 2010 have kiosks and demos
Required Slide Resources Learning • Sessions On-Demand & Community • Microsoft Certification & Training Resources www.microsoft.com/teched www.microsoft.com/learning • Resources for IT Professionals • Resources for Developers • http://microsoft.com/technet • http://microsoft.com/msdn
Required Slide Complete an evaluation on CommNet and enter to win!
Sign up for Tech·Ed 2011 and save $500 starting June 8 – June 31st http://northamerica.msteched.com/registration You can also register at the North America 2011 kiosk located at registrationJoin us in Atlanta next year
© 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.