sharepoint 2013 workflows architecture presented by srini sistla @srinisistla
TRANSCRIPT
About me
• AUTHOR• Pro SharePoint 2013 Business Intelligence (Apress)• Pro SharePoint 2010 Business Intelligence (Apress)• Pro SharePoint Migration (Apress)• SharePoint 2013 Development Machine ** (Self Published)
• SPEAKER• INETA, SharePoint Saturday, CAPAREA.NET, SUGDC
• BLOGGER
• SHAREPOINT 2010 ARCHITECT / CONSULTANT / SME
2010 vs. 2013• SharePoint 2010 hosted the Workflow
Foundation (WF) workflow runtime• Tightly coupled workflow to SharePoint
2010
• Workflow data kept in SharePoint content databases
• Challenges:• Designed for on-premise deployments
(scale)
• In SharePoint, extending WF meant you had to be a box admin
• Analytics on current/previous workflow instances hard to acquire
• Executed in the context of SharePoint as super user
• Workflow now treated as a service in SharePoint 2013
• Moved to Windows Azure Workflow• No longer runs in the content farm
• No longer runs on SharePoint WFE / App servers
• Harnesses the latest workflow technology from Microsoft
• Windows Azure Workflow available for on-prem deployments
• Improves stability, scalability & transparency
architecture
Sharing
ContentEvents People
Vis
ual
Stu
dio
Sh
are
Poin
t D
esi
gn
er
SharePoint2010 WF
_API (REST OM)
Workflow Services Manager
Service Bus
Instances Interop
Deployment
Messaging
WF Service Application Proxy
Workflow Manager
OAuth
Access Control
Work
flow
Cli
en
t
SharePoint 2013 and Workflow Service
Sharing
ContentEvents People
Vis
ual
Stu
dio
Sh
are
Poin
t D
esi
gn
er
SharePoint2010 WF
_API (REST OM)
Workflow Services Manager
Service Bus
Instances Interop
Deployment
Messaging
WF Service Application Proxy
Workflow Manager
OAuth
Access Control
Work
flow
Cli
en
t
Enhanced parallel blocks
Do “App-Level” operations with App Step
Rapid design with the Visual and Text-Based Designers
Stages! Looping! Enhanced portability & packaging through WSP and VSDX files
Support classic 2010 workflow type and interoperability
Leverage web services(HTTP/REST)
Complex data types with ‘Dictionary’ variables
Full integration with Project Server workflows
Copy & Paste in the Text-Based Designer
New “Assign A Task” & “Start a Task Process” actions
IMPROVEMENTS
Enhanced parallel blocks
Do “App-Level” operations with App Step
Leverage web services(HTTP/REST)
Copy & Paste in the Text-Based Designer
Stages!
Rapid design with the Visual and Text-Based Designers
Complex data types with ‘Dictionary’ variables
Looping!
New “Assign A Task” & “Start a Task Process” actions
Enhanced portability & packaging through WSP and VSDX files
Support classic 2010 workflow type and interoperability
Full integration with Project Server workflows
IMPROVEMENTS
IMPROVEMENTS
New “Assign A Task” & “Start a Task Process” actions
Enhanced portability & packaging through WSP and VSDX files
Support classic 2010 workflow type and interoperability
Do “App-Level” operations with App Step
Enhanced parallel blocks
Full integration with Project Server workflows
NEARLY 50 NEW/IMPROVED FEATURES AND ACTIONS THIS RELEASE!!!!
IMPROVEMENTS
• Introducing “Stages”• Provides support for repeating & skipping workflow steps
• Declarative workflows have loops• Loop # times / with condition / with expression
• Declarative workflows can call REST/SOAP services
• SharePoint 2010 required developers when:• Call SharePoint API
• Connect & query databases
• Consume feeds (ATOM / REST)
• Call Web Services / REST
• SharePoint 2013 enables workflow authors to do all this declaratively
Workflows in designer
• Improved visual designer• Integrated the Visio designer into SharePoint
• Can switch between visual designer & sentence-style
• Editable properties helper
• Stages & Loops
• Calling REST Web Services
• Designer supports cut / copy / paste / undo / redo / select-all
• Improved email editor (rich formatting)
• Each stage has an entry point & gate• Gate: conditional transition point where workflow exits
• Underlying core in WF4 flow step in a flowchart
• Can contain multiple steps
• Mitigates SharePoint Designer loop limitations
Workflows in visual studio
• Can create WF 3.5 or WF 4 workflows• For WF 4, Azure Workflow required
• For WF 3.5, see Workflow Interop Bridge…
• Focus is around declarative workflows• Push custom code logic to Web services
• Programmatic workflows still possible, but only in Windows Azure Workflow
• Workflow tools: SharePoint Designer & Visual Studio
Designer vs visual studio
SharePoint Designer Visual Studio
Reusability Create reusable WF Create WF templates
Include in SP App
Custom Code
Custom Actions Consume, not create Yes; underlying activities
Visio Integration
Debugging
Interop bridge
• Enables SharePoint 2010 workflows to work in 2013
• Execution engine hosted in SharePoint 2013
• Interop bridge:• Negotiates between two execution engines (SP2010 & SP2013)
• Delegates SP2010 workflows to SharePoint from WAWS
• Invoke SP2010 workflow action from WAWS with InvokeSharePointWorkflow action
Assign Task
Workflow BackendSharePoint
Tasks
Instances
Persist
_API GET1
POST2
POST3
Reserve Task Id
Create Task
Lookup User
GET /…/web/siteuserinfolist/items?$filter=id eq {0}
SiteUser
s
POST /…/web/lists(guid'{0}')/reservelistitemidPOST /…/web/lists(guid'{0}')/items
• REST/OData message format• Retry on failure• Repeatable (idempotent) Create, Read, Update and
Delete• Merge update with conflict resolution (HTTP ETag)
Service Bus
Processing
Assign Task (cont)
Workflow BackendSharePoint
Tasks
Instances
Receive & Persist
_APIRegister Interest
SiteUser
s
Workflow Frontend
Wait For Notification
Service Bus
Messages
…
Processing
Collocated Topology
Database
Farm Node
WF ManagerSharePoint
Farm Node
WF ManagerSharePoint
Farm Node
WF ManagerSharePoint
load balancer
SP Farm 1
Workflow Cluster
SP Farm 2 load balancer
Workflow Client
Workflow Client
• Each SP farm targets a different Workflow Manager scope
• Independent security realms
Federated Topology
Configure
Register-SPWorkflowService –SPSite “http://sp/sites/awfs”
–WorkflowHostUri “http://sp:12291” –AllowOAuthHttp
business requirementA very famous actor, and producer wants to direct movie. He wants to engage, collaborate and send information to his cast and crew in timely fashion. His tech Manager delivers views in Visio diagram. Requirements at high level are –
1. Need a very quick solution
2. Find the actor information from local first and additional information from IMDB
3. Send financial information to the producer
4. Monitor if the finance statement is approved
5. Send daily schedule and notes to the actors
6. Learn if the actors have any schedule conflicts or questions on the notes and are reviewed and approved
7. Maintain all the notes and finance statements in one website and invite the producer, actors and crew to collaborate on the overall progress .
8. Use the provided Visio if possible to build the workflow
actors
LeoActor, Producer
SP Role: Designer, Visio
Expert
AnnActress, Producer
SP Role: Content Owner, Reviewer
JennyActress
SP Role: Content Owner, Approver
WillActor, Director
SP Role: Site Owner, Approver
Solution
• Leverage SharePoint 2013 out of the box features as much as possible for • Quick and Rapid App Development and delivery
• Use SharePoint Designer 2013 workflows and in specific• HTTP/REST Web Services
• Use Dictionary Variables
• Assign A Task
• Stages• Demonstrate on the list what stage of the workflow currently the status is in
• Use new Email features
• Use the provided Visio diagram
Migrating from 2010 to 2013
• 2013 is based on new architecture – Workflow Manager
• Runs on Workflow Foundation 4
• Declarative and is in XAML Format
• 2010 workflows run as-is on 2013 platform
• Recreate them if you need to use them
• Use workflow interop – allows 2010 workflows to run within 2013.
USEFUL DOWNLOADS / links
SharePoint Designer 2013 – http://www.microsoft.com/en-us/download/details.aspx?id=35491
What's new in WF in 2013 – http://technet.microsoft.com/en-us/library/jj219638.aspx
Getting Started - http://technet.microsoft.com/en-us/library/jj227177.aspx
Develop using VS 2012 - http://technet.microsoft.com/en-us/library/jj163199.aspx
Setup configure WF Manger - http://technet.microsoft.com/en-us/library/jj163276.aspx
Workflow Manager 1.0 - http://technet.microsoft.com/en-us/library/jj193528.aspx