Date post: | 24-Dec-2015 |
Category: |
Documents |
Upload: | gwenda-hampton |
View: | 214 times |
Download: | 0 times |
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.