Alexander Malek Lead Program Manager SharePoint Microsoft Corporation BB47.

Post on 24-Dec-2015

214 views 0 download

Tags:

transcript

Asynchronous Messaging With SharePoint Workflows

Alexander MalekLead Program ManagerSharePointMicrosoft Corporation

BB47

Agenda

SharePoint in the Microsoft Workflow Ecosystem

Async Messaging in SharePoint Overview Using WCF and Azure Services Platform

Scenario Overview Demo!

SharePoint Workflow

Part of Microsoft Workflow Ecosystem Office SharePoint Server for IW document-

process applications Windows Server (Dublin) for custom

business applications BizTalk Server for data orchestration

applications

SharePoint Scenarios:

Document Approval, Content Publishing, Document Assembly, Change Tracking

Secured, Well-Managed Infrastructure

Overall SharePoint Platform

BusinessIntelligence

Enterprise ContentManagement

Workflow SearchBusinessDataCatalog

ExtensibleUI

OpenXML FileFormats

WebsiteAndSecurityFramework

UnifiedCommunicationsAnd Collaboration

Asynchronous Human WF Scenarios

Tasks are the core building block of human workflow

Tasks in SharePoint Item in a SharePoint tasks list Acts as a proxy for the actual work Change events to the item are correlated

back into the correct workflow instance for evaluation

Asynchronous Messaging With External Systems

Characteristics of the SharePoint 2007 workflow host .net 3.0-based – no support for .net 3.5

Send/Receive activities EDES-based messaging not extensible

Recommendation: Use “Business Task” pattern Create an item in “business tasks” list Pass ID of item to external system

as callback function Wait on changes to item Build a WCF service to receive the callback

Business Task Pattern

Create Business Task

Start

Call Web Service (with task ID for

callback)

Wait for task to change

End

Using WCF In SharePoint

Possible to host a WCF service in the SharePoint application Requires asp.net compatibility mode Good post on the topic by Michael Washam

Recommendation: Create a separate asp.net application for the service Cleaner separation for your custom code Downside… no context web

Creating B2B Applications using Azure Services Platform

As part of .net Services, there is a new Service Bus offering Makes it easy to connect applications together

over the Internet Services register on the “bus”, and can then

be easily discovered and accessed, across any network topology

Employee Onboarding

Alexander MalekLead Program ManagerSharePoint Designer

demo

Scenario Walkthrough

Contoso Consulting – Remote Employee Onboarding

Onboarding workflow: Assign a task Once approved Submit to external business system Wait for completion message before

completing workflow

Employee Onboarding – Process Diagram

Request Approval Send Task to Approver

Decision

Request changeRevise proposal

PO Rejected

Approver Delegates

Submit Data to Backend System

Log ResultsPO ApprovedUpdate

BizTask

Dev Machine

Single machine Three web applications

SharePoint for approval workflow Windows App Server for back-end process Windows App Server for SharePoint

proxy service

Development Overview

Build SharePoint approval workflow Create and bind InfoPath forms

Build WCF Service for Remote System Connect workflow to service

Build WCF Service for SharePoint, published to Azure-based Service Bus

Connect remote system service to SharePoint service via cloud

Add set of activities to represent approval

Part 1: Assign a Human Task

Request Approval Send Task to Approver

Decision

Request changeRevise proposal

PO Rejected

Approver Delegates

Submit Data to Backend System

Log ResultsPO ApprovedUpdate

BizTask

Use CreateTask, OnTaskChanged, and CompleteTask Activities to define a human task

Hints: Correlation is defined by Correlation

Token and TaskID Guid CompleteTask Activity required to

update task list status

Part 1 Summary

Show using workflow to represent a service

Part 2: Create Remote WCF Endpoint

Request Approval Send Task to Approver

Decision

Request changeRevise proposal

PO Rejected

Approver Delegates

Submit Data to Backend System

Log ResultsPO ApprovedUpdate

BizTask

Demonstrated using a workflow to model a web service

Hints: Update getters/setters to

match service contract

Part 2 Summary

Add business task and code call-out to web service

Part 3: Assign a Business Task

Request Approval Send Task to Approver

Decision

Request changeRevise proposal

PO Rejected

Approver Delegates

Submit Data to Backend System

Log ResultsPO ApprovedUpdate

BizTask

Demonstrated calling a WCF service from a SharePoint workflow, and using a business task to coordinate the work

Hints: Make sure to add end-point

reference in web.config

Part 3 Summary

Create a local service, accessible via the Internet

Part 4: Create Local WCF Endpoint

Request Approval Send Task to Approver

Decision

Request changeRevise proposal

PO Rejected

Approver Delegates

Submit Data to Backend System

Log ResultsPO ApprovedUpdate

BizTask

Demonstrated creating a WCF service published to the Azure-based Service Bus

Hints: Make sure to add end-point

reference in web.config

Part 4 Summary

Use Tasks for Human and System messaging Host WCF services as a separate

app from SharePoint Azure Service Bus for cross-enterprise

communication

Reference: Building Workflow Forms

Summary

APPENDIX

Evals & Recordings

Please fill

out your

evaluation for

this session at:

This session will be available as a recording at:

www.microsoftpdc.com

Please use the microphones provided

Q&A

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