34

OFC312 Developing Workflows for the 2007 Microsoft Office System and Windows SharePoint Services (version 3) Adam Calderon Principal Engineer - Interknowlogy

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

Page 1: OFC312 Developing Workflows for the 2007 Microsoft Office System and Windows SharePoint Services (version 3) Adam Calderon Principal Engineer - Interknowlogy
Page 2: OFC312 Developing Workflows for the 2007 Microsoft Office System and Windows SharePoint Services (version 3) Adam Calderon Principal Engineer - Interknowlogy

OFC312OFC312Developing Workflows for Developing Workflows for the 2007 Microsoft Office the 2007 Microsoft Office System and Windows System and Windows SharePoint Services SharePoint Services (version 3)(version 3)

OFC312OFC312Developing Workflows for Developing Workflows for the 2007 Microsoft Office the 2007 Microsoft Office System and Windows System and Windows SharePoint Services SharePoint Services (version 3)(version 3)Adam CalderonAdam CalderonPrincipal Engineer - InterknowlogyPrincipal Engineer - InterknowlogyMicrosoft MVP – C#Microsoft MVP – C#

Page 3: OFC312 Developing Workflows for the 2007 Microsoft Office System and Windows SharePoint Services (version 3) Adam Calderon Principal Engineer - Interknowlogy

Session Objectives And Session Objectives And Key TakeawaysKey Takeaways

Session Objective: Session Objective: Office workflow development in Microsoft Visual Studio 2005Office workflow development in Microsoft Visual Studio 2005

Windows SharePoint Services V3 & 2007 Microsoft Office Windows SharePoint Services V3 & 2007 Microsoft Office system workflow built on top of Windows Workflow Foundation system workflow built on top of Windows Workflow Foundation platformplatform

Workflow is a powerful tool for driving customer business Workflow is a powerful tool for driving customer business processesprocesses

Microsoft Office InfoPath 2007 enables symmetric rich/reach Microsoft Office InfoPath 2007 enables symmetric rich/reach form authoringform authoring

Key Takeaways:Key Takeaways:Windows Workflow Foundation is a framework for building Windows Workflow Foundation is a framework for building workflow into applicationsworkflow into applications

A single workflow technology for WindowsA single workflow technology for Windows

WF has good integration into 2007 Office system & OSSWF has good integration into 2007 Office system & OSS

Page 4: OFC312 Developing Workflows for the 2007 Microsoft Office System and Windows SharePoint Services (version 3) Adam Calderon Principal Engineer - Interknowlogy

AgendaAgenda

Options for workflow developmentOptions for workflow development

The business processes we will modelThe business processes we will model

Demo: Using WF in OSS & 2007 Office Demo: Using WF in OSS & 2007 Office systemsystem

Introduce WorkflowIntroduce Workflow

Describe the design, develop, debug Describe the design, develop, debug & deploy steps& deploy steps

Demos: Demos: Implementing Workflows in SPS & Office 2007Implementing Workflows in SPS & Office 2007

Building, Implementing and deploying Building, Implementing and deploying workflows for SharePoint & Office 2007 in workflows for SharePoint & Office 2007 in VS.NET 2005VS.NET 2005

Page 5: OFC312 Developing Workflows for the 2007 Microsoft Office System and Windows SharePoint Services (version 3) Adam Calderon Principal Engineer - Interknowlogy

Windows Workflow Foundation Windows Workflow Foundation Vision:Vision:

Deliver best-in-class workflow platformDeliver best-in-class workflow platform& tools for Microsoft products and& tools for Microsoft products and

partner/customer ecosystempartner/customer ecosystem

Single workflow technologySingle workflow technology for Windowsfor WindowsBase for Microsoft products and ISV/customer solutionsBase for Microsoft products and ISV/customer solutions

One technology for human and system workflowOne technology for human and system workflow

A A frameworkframework not a server product or not a server product or applicationapplication

An extensible framework based on Microsoft .NETAn extensible framework based on Microsoft .NET

Ships as Part of .NET 3.0 (WinFX)Ships as Part of .NET 3.0 (WinFX)

Make workflow Make workflow mainstreammainstream for .NET for .NET developersdevelopers

Strong workflow partner & solution ecosystem Strong workflow partner & solution ecosystem

Reach mainstream application developer Reach mainstream application developer

Page 6: OFC312 Developing Workflows for the 2007 Microsoft Office System and Windows SharePoint Services (version 3) Adam Calderon Principal Engineer - Interknowlogy

Stru

cture

d A

d H

oc

Stru

cture

d A

d H

oc

Microsoft Visual Studio Microsoft Visual Studio and workflow SDKand workflow SDK

Office SharePoint Office SharePoint Designer workflowsDesigner workflows

Out-of-the-Box Out-of-the-Box SolutionsSolutions(with customization)(with customization)

Application Task and Issue Tracking

Routing & ApprovalReview

ApprovalSignature collectionEast Asian workflow

Office Server FeaturesList Moderation

Publishing ProcessDocument Expiration

Document ProcessesDocument ProcessesSpec Review Spec Review

Weekly Status ReportWeekly Status Report

Custom Tracking AppsCustom Tracking AppsService RequestsService Requests

Asset TrackingAsset Tracking

Custom Form ActionsCustom Form ActionsEmail NotificationEmail Notification

Exception HandlingException Handling

LOB Integration

Purchase Order Processing

Product lifecycle management

Workflow ScenariosWorkflow Scenarios

Page 7: OFC312 Developing Workflows for the 2007 Microsoft Office System and Windows SharePoint Services (version 3) Adam Calderon Principal Engineer - Interknowlogy

The Business ProcessThe Business Process

Request feedback

Send Task to Reviewer

Reviewer enters and

sends feedback

Review Completed

Page 8: OFC312 Developing Workflows for the 2007 Microsoft Office System and Windows SharePoint Services (version 3) Adam Calderon Principal Engineer - Interknowlogy

Using WF in SharePoint 2007 & 2007 Office SystemUsing WF in SharePoint 2007 & 2007 Office System

Page 9: OFC312 Developing Workflows for the 2007 Microsoft Office System and Windows SharePoint Services (version 3) Adam Calderon Principal Engineer - Interknowlogy

What is a workflow?What is a workflow?A workflow is a classA workflow is a class

A workflow class may be defined in markupA workflow class may be defined in markup

Imports System.Workflow.ActivitiesPublic Class MyWorkflow Inherits SequentialWorkflow …

End Class

<?Mapping XmlNamespace="Activities" ClrNamespace="System.Workflow.Activities" Assembly="System.Workflow.Activities" ?>

<SequentialWorkflow x:Class="MyWorkflow" xmlns="Activities" xmlns:x="Definition"> …</SequentialWorkflow>

Page 10: OFC312 Developing Workflows for the 2007 Microsoft Office System and Windows SharePoint Services (version 3) Adam Calderon Principal Engineer - Interknowlogy

How is a workflow put together?How is a workflow put together?Workflow constructor configures contained Workflow constructor configures contained activities (like forms & controls)activities (like forms & controls)

Imports System.Workflow.ActivitiesPartial Public Class MyWorkflow Inherits SequentialWorkflow Public Sub New() MyBase.New() InitializeComponent() End SubEnd Class

Partial Public Class MyWorkflow REM designer generated Private Sub InitializeComponent() Me.delay1 = New System.Workflow.Activities.Delay

Me.delay1.ID = "delay1" Me.delay1.TimeoutDuration = System.TimeSpan.Parse("00:00:05")

Me.Activities.Add(Me.delay1)Me.ID = "MyWorkflow"

End Sub Private WithEvents delay1 As System.Workflow.Activities.DelayEnd Class

Page 11: OFC312 Developing Workflows for the 2007 Microsoft Office System and Windows SharePoint Services (version 3) Adam Calderon Principal Engineer - Interknowlogy

What is an activity?What is an activity?

Activities are the building blocks of Activities are the building blocks of workflowsworkflows

The unit of execution, re-use and composition The unit of execution, re-use and composition Basic activitiesBasic activities are steps within a workflow are steps within a workflowComposite activitiesComposite activities contains other activities EG: contains other activities EG: SequenceSequenceBase Activity Library provides out-of-the-box Base Activity Library provides out-of-the-box activity setactivity setPartners and customers author custom activities Partners and customers author custom activities EG: “Review Documents”EG: “Review Documents”

Page 12: OFC312 Developing Workflows for the 2007 Microsoft Office System and Windows SharePoint Services (version 3) Adam Calderon Principal Engineer - Interknowlogy

What is an activity?What is an activity?

Activities are classes:Activities are classes:PropertiesProperties andand eventsevents are defined by the are defined by the activity author and programmable from activity author and programmable from workflowsworkflowsHas Has methodsmethods that are coded by the activity that are coded by the activity author but invoked by the workflow runtime author but invoked by the workflow runtime (EG: Execute) or designer(EG: Execute) or designerCan be built into workflow assemblies or Can be built into workflow assemblies or deployed as re-usable librariesdeployed as re-usable libraries

Page 13: OFC312 Developing Workflows for the 2007 Microsoft Office System and Windows SharePoint Services (version 3) Adam Calderon Principal Engineer - Interknowlogy

What is an activity?What is an activity?

using System.Workflow.ComponentModel;public partial class SendMail : System.Workflow.ComponentModel.Activity{ public SendMail() { InitializeComponent(); } protected override Status Execute(ActivityExecutionContext context) { // my logic here

return Status.Closed; }}public partial class SendMail{ public string subject; public string Subject { get { return subject; }

set { this.subject = value; } } private void InitializeComponent() // designer generated { this.ID = "SendMail"; }}

Page 14: OFC312 Developing Workflows for the 2007 Microsoft Office System and Windows SharePoint Services (version 3) Adam Calderon Principal Engineer - Interknowlogy

Development StepsDevelopment Steps

1.1. Model workflow in Microsoft Visual StudioModel workflow in Microsoft Visual Studio

2.2. Create and bind Microsoft Office InfoPath Create and bind Microsoft Office InfoPath formsforms

3.3. Deploy to Microsoft Office SharePoint Deploy to Microsoft Office SharePoint ServerServer

4.4. Debug the running workflowDebug the running workflow

Page 15: OFC312 Developing Workflows for the 2007 Microsoft Office System and Windows SharePoint Services (version 3) Adam Calderon Principal Engineer - Interknowlogy

Model & Building Workflows In Model & Building Workflows In Visual Studio 2005Visual Studio 2005

Prerequisites:Prerequisites:Office SharePoint Server 2007 Beta 2Office SharePoint Server 2007 Beta 2

.NET 3.0 (WinFX) Runtime Components.NET 3.0 (WinFX) Runtime Components

Microsoft Visual Studio 2005 Extensions for Microsoft Visual Studio 2005 Extensions for Windows Workflow Foundation Beta 2.2 Windows Workflow Foundation Beta 2.2

Microsoft Windows Software Development Kit Microsoft Windows Software Development Kit (SDK) for Beta 2 of Microsoft Windows Vista (SDK) for Beta 2 of Microsoft Windows Vista

2007 Office System Starter Kit: Enterprise 2007 Office System Starter Kit: Enterprise Content Management Starter Kit Content Management Starter Kit

Page 16: OFC312 Developing Workflows for the 2007 Microsoft Office System and Windows SharePoint Services (version 3) Adam Calderon Principal Engineer - Interknowlogy

The Business Process WorkflowThe Business Process Workflow

Request feedback

Send Task to Reviewer

Reviewer enters and

sends feedback

Review Completed

Page 17: OFC312 Developing Workflows for the 2007 Microsoft Office System and Windows SharePoint Services (version 3) Adam Calderon Principal Engineer - Interknowlogy

Create and Bind InfoPath FormsCreate and Bind InfoPath FormsTypes of InfoPath forms in WorkflowsTypes of InfoPath forms in Workflows

Association formAssociation formUser adds workflow to a listUser adds workflow to a list

For setting options on WFFor setting options on WF

Initiation formInitiation formFor manual workflow startFor manual workflow start

Collects workflow parametersCollects workflow parameters

Task completion formTask completion formA user to edit a task from WFA user to edit a task from WF

User edits or enters dataUser edits or enters data

Modification formModification formLinked off WF status pageLinked off WF status page

Can modify in-flight WFCan modify in-flight WF

Page 18: OFC312 Developing Workflows for the 2007 Microsoft Office System and Windows SharePoint Services (version 3) Adam Calderon Principal Engineer - Interknowlogy

Create and Bind InfoPath FormsCreate and Bind InfoPath FormsInfoPath forms are used in these placesInfoPath forms are used in these places

Page 19: OFC312 Developing Workflows for the 2007 Microsoft Office System and Windows SharePoint Services (version 3) Adam Calderon Principal Engineer - Interknowlogy

Hosting Environment Hosting Environment

Create and Bind InfoPath FormsCreate and Bind InfoPath FormsSharePoint hosts the InfoPath formSharePoint hosts the InfoPath form

InfoPath Form Templates

Page 20: OFC312 Developing Workflows for the 2007 Microsoft Office System and Windows SharePoint Services (version 3) Adam Calderon Principal Engineer - Interknowlogy

Hosting Environment Hosting Environment

Create and Bind InfoPath FormsCreate and Bind InfoPath FormsData from SharePoint is passed inData from SharePoint is passed in

InfoPath Form Templates

SharePoint object

_________

_________

_________

Page 21: OFC312 Developing Workflows for the 2007 Microsoft Office System and Windows SharePoint Services (version 3) Adam Calderon Principal Engineer - Interknowlogy

Hosting Environment Hosting Environment

Create and Bind InfoPath FormsCreate and Bind InfoPath FormsSubmit the form, saves data to SharePointSubmit the form, saves data to SharePoint

InfoPath Form Templates

SharePoint object

_________

_________

_________

Page 22: OFC312 Developing Workflows for the 2007 Microsoft Office System and Windows SharePoint Services (version 3) Adam Calderon Principal Engineer - Interknowlogy

Hosting Environment Hosting Environment

Create and Bind InfoPath FormsCreate and Bind InfoPath FormsSharePoint starts the workflowSharePoint starts the workflow

InfoPath Form Templates

SharePoint object

_________

_________

_________

SharePoint -> Task/WF HostSharePoint -> Task/WF Host

Page 23: OFC312 Developing Workflows for the 2007 Microsoft Office System and Windows SharePoint Services (version 3) Adam Calderon Principal Engineer - Interknowlogy

SharePoint Task

•instructions =“Please do this.”

Task data as xml

Create and Bind InfoPath Forms Create and Bind InfoPath Forms

Pushing data from WF task into InfoPathPushing data from WF task into InfoPath

InfoPath Task FormInfoPath Task Form

<z:row xmlns:z=“#RowSetSchema”

ows_MetaInfo_instructions=“”/>

Page 24: OFC312 Developing Workflows for the 2007 Microsoft Office System and Windows SharePoint Services (version 3) Adam Calderon Principal Engineer - Interknowlogy

Deploy to SharePoint ServerDeploy to SharePoint Server

Generate Metadata filesGenerate Metadata filesFeature.XMLFeature.XML

Workflow.XMLWorkflow.XML

Install/activate the “feature”Install/activate the “feature”

IISResetIISReset

Associate workflow to the list/library Associate workflow to the list/library

Page 25: OFC312 Developing Workflows for the 2007 Microsoft Office System and Windows SharePoint Services (version 3) Adam Calderon Principal Engineer - Interknowlogy

Debug the Running WorkflowDebug the Running Workflow

Visual Studio running on server machineVisual Studio running on server machine

Open the workflow in Visual StudioOpen the workflow in Visual Studio

Attach to all of the W3WP ProcessesAttach to all of the W3WP Processes

Start the workflowStart the workflow

Page 26: OFC312 Developing Workflows for the 2007 Microsoft Office System and Windows SharePoint Services (version 3) Adam Calderon Principal Engineer - Interknowlogy

Building the WorkflowBuilding the Workflow

Page 27: OFC312 Developing Workflows for the 2007 Microsoft Office System and Windows SharePoint Services (version 3) Adam Calderon Principal Engineer - Interknowlogy

Call to ActionCall to Action

WF plugs a large hole in the platform that WF plugs a large hole in the platform that used used to be hard because it had to be built by to be hard because it had to be built by handhand

WF provides a design time environment WF provides a design time environment that makes it easy to build even the most that makes it easy to build even the most complex workflowscomplex workflows

The 2007 Office system and SharePoint The 2007 Office system and SharePoint 2007 WF integration is fantastic; 2007 WF integration is fantastic; consequently, integrated solutions are consequently, integrated solutions are easy to design and buildeasy to design and build

Page 28: OFC312 Developing Workflows for the 2007 Microsoft Office System and Windows SharePoint Services (version 3) Adam Calderon Principal Engineer - Interknowlogy

For More Information…For More Information…

WF on the .NET 3.0 (WinFX) Developer WF on the .NET 3.0 (WinFX) Developer Center:Center:http://msdn.microsoft.com/winfx/technologies/workflow/defahttp://msdn.microsoft.com/winfx/technologies/workflow/default.aspxult.aspx

Downloads:Downloads:Microsoft Visual Studio 2005 Extensions for WindowsMicrosoft Visual Studio 2005 Extensions for Windows Workflow Foundation Beta 2.2 Workflow Foundation Beta 2.2 Windows Workflow Foundation - Beta 2.2Windows Workflow Foundation - Beta 2.2 Windows Workflow Foundation Beta 2 HOL Windows Workflow Foundation Beta 2 HOL 2007 Microsoft Office System Beta 22007 Microsoft Office System Beta 2Microsoft® Windows® Software Development Kit Microsoft® Windows® Software Development Kit (SDK) for Beta 2 of Windows Vista and .NET 3.0 (SDK) for Beta 2 of Windows Vista and .NET 3.0 (WinFX) Runtime Components(WinFX) Runtime ComponentsWindows SharePoint Services SDK Beta 2Windows SharePoint Services SDK Beta 2Microsoft Office SharePoint Server SDK Beta 2Microsoft Office SharePoint Server SDK Beta 22007 Office System Starter Kit: Enterprise Content 2007 Office System Starter Kit: Enterprise Content Management Starter KitManagement Starter Kit

Page 29: OFC312 Developing Workflows for the 2007 Microsoft Office System and Windows SharePoint Services (version 3) Adam Calderon Principal Engineer - Interknowlogy

Adam CalderonAdam Calderon

More info on InterKnowlogyMore info on InterKnowlogywww.InterKnowlogy.com www.InterKnowlogy.com

Contact InformationContact InformationE-mail: E-mail: [email protected]@InterKnowlogy.comPhone: Phone: 760-930-0075 x274760-930-0075 x274Blog: Blog:

http://blogs.InterKnowlogy.com/AdamCalderon http://blogs.InterKnowlogy.com/AdamCalderon

About Adam CalderonAbout Adam CalderonMicrosoftMicrosoft®® MVP – C# MVP – C#MicrosoftMicrosoft®® ASP.NET (UI Server Frameworks) ASP.NET (UI Server Frameworks) Advisory CouncilAdvisory CouncilDeveloper / Author / SpeakerDeveloper / Author / Speaker

Page 30: OFC312 Developing Workflows for the 2007 Microsoft Office System and Windows SharePoint Services (version 3) Adam Calderon Principal Engineer - Interknowlogy

Thank You!Thank You!

Page 31: OFC312 Developing Workflows for the 2007 Microsoft Office System and Windows SharePoint Services (version 3) Adam Calderon Principal Engineer - Interknowlogy

ResourcesResourcesTechnical Chats and Webcastshttp://www.microsoft.com/communities/chats/default.mspx http://www.microsoft.com/usa/webcasts/default.asp

Microsoft Learning and Certificationhttp://www.microsoft.com/learning/default.mspx

MSDN & TechNet http://microsoft.com/msdnhttp://microsoft.com/technet

Virtual Labshttp://www.microsoft.com/technet/traincert/virtuallab/rms.mspx

Newsgroupshttp://communities2.microsoft.com/communities/newsgroups/en-us/default.aspx

Technical Community Siteshttp://www.microsoft.com/communities/default.mspx

User Groupshttp://www.microsoft.com/communities/usergroups/default.mspx

Page 32: OFC312 Developing Workflows for the 2007 Microsoft Office System and Windows SharePoint Services (version 3) Adam Calderon Principal Engineer - Interknowlogy

Fill out a session Fill out a session evaluation on evaluation on

CommNet andCommNet and Win an XBOX Win an XBOX

360!360!

Page 33: OFC312 Developing Workflows for the 2007 Microsoft Office System and Windows SharePoint Services (version 3) Adam Calderon Principal Engineer - Interknowlogy

The 2007 Microsoft Office The 2007 Microsoft Office System System Clients. Servers. Clients. Servers. Solutions.Solutions.

Install Beta 2 today! Install Beta 2 today! It’s in your attendee bagIt’s in your attendee bag

Learn more at the Office System TLCLearn more at the Office System TLCDemo Stations / Hands-on-Labs / Chalk-talksDemo Stations / Hands-on-Labs / Chalk-talks

Get more informationGet more informationhttp://www.microsoft.com/office/preview/default.mspxhttp://www.microsoft.com/office/preview/default.mspxhttp://http://msdn.microsoft.commsdn.microsoft.com/office//office/

TalkTalk

LabLab

DemoDemo

Page 34: OFC312 Developing Workflows for the 2007 Microsoft Office System and Windows SharePoint Services (version 3) Adam Calderon Principal Engineer - Interknowlogy

© 2006 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.