Jon Flanders Session Code: INT203 Larry Mead Microsoft Corp. Session objectives Have an understanding of how SharePoint can be used for application composition Overview of SharePoint.
Download ReportTranscript Jon Flanders Session Code: INT203 Larry Mead Microsoft Corp. Session objectives Have an understanding of how SharePoint can be used for application composition Overview of SharePoint.
Jon Flanders Session Code: INT203 Larry Mead Microsoft Corp.
Session objectives
Have an understanding of how SharePoint can be used for application composition Overview of SharePoint 2010 workflow features Overview of building workflows in SharePoint 2010
Agenda
The problem with legacy migrated systems Using SharePoint for end to end integration Workflow and application composition 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
Migration Without Integration
SharePoint Integration Points
Why use SharePoint for Integration?
Already commonly used by Microsoft enterprise customers What types of applications can be brought together with SharePoint?
Just about anything from legacy applications and applicatins to the cloud What’s Missing?
Workflow capabilities of WF!
SharePoint Workflow Composition
Cloud Applicatoins Windows Azure
SharePoint Workflow Services
SharePoint Portal
WCF Services .NET Services
Legacy Programs
BizTalk Server
Other Enterprise Applications
Mainframe integration Approach Presentation layer
DWH Migated CICS HIS BATCH CICS TSO
.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
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 WSP File system
SPD Export – Visual Studio 2010 Import
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
Building and Deploying a Site Workflow
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 Local Service MSG Queue Activity Activity
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
Building and Deploying a Custom Local Service for Legacy & External Integration
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);
Building and Deploying a Workflow Event Receiver
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
© 2009 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.
Resources
www.microsoft.com/teched Sessions On-Demand & Community www.microsoft.com/learning Microsoft Certification & Training Resources http://microsoft.com/technet Resources for IT Professionals http://microsoft.com/msdn Resources for Developers
Complete an evaluation on CommNet and enter to win an Xbox 360 Elite!
© 2009 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.