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 Report

Transcript 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.