unboundedconnected expressive people centric content centric app business logic
TRANSCRIPT
SharePoint 2013 Workflow: Architecture and ConfigurationMauricio OrdoñezProgram Manager, Microsoft
AgendaWhat’s newArchitectureConfiguration
What is new in SharePoint workflow
UnboundedConnectedExpressive
Do more with SharePoint Designer
and declarative workflow
Cloud-ready workflow that fully integrates
with the new SharePoint app model
Run on newest workflow hosting
technology for better scale and
management of workflow processing
Workflows in SharePoint
People centric
Content centric
App business logic
Tasks, notifications
List items, documents,
sites
Declarative,Long running, Event driven
What’s new in SharePoint 2013 workflow
ExpressiveStages & TransitionsLoopingModular task processVisual DesignerStart classic workflowParallel block exit conditions
Architecture
SharePoint 2013 and Workflow Service
Sharing
ContentEvents People
Vis
ual S
tud
io
Sh
are
Poin
t D
esig
ner
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
Clie
nt
Access to external data
Assign Task
Workflow BackendSharePoint
Tasks
Instances
Persist
_API GET1
POST2
POST3
Processing
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)
Classic SharePoint 2010 model for workflow consistency is to batch updates on idle/persist
Service Bus
Assign Task (cont)
Workflow BackendSharePoint
Tasks
Instances
Receive &
Persist
_API
Processing
Register Interest
SiteUser
s
Workflow Frontend
Wait For Notification
Service Bus
Messages
…
• SharePoint 2010 workflow authorization• Run as: initiator user• Run as: publisher user (Impersonation Step)• Specific for classic workflow
• SharePoint 2013 workflow authorization• Workflows have identity (app principal)• Default access scope: read/write to site
(Web.Write)• Run as: app & user• Run as: app only (App Step)
Authorization
Workflow app principals and authorization
SharePoint app hosting
App Web (from WSP)
HostwebSharePoint-Hosted
AppReuse web elements (lists, out-
of-box web parts)Client side technologies and
declarative workflows
Provider-hosted App
“Bring your own server hosting infrastructure”
SharePoint
Web
Get remote events from SharePoint Use CSOM/REST + OAuth
Cloud-hosted apps
Your Hosted
Site
Autohosted AppWindows Azure + SQL
Azure provisioned automatically as apps
are installed
Azure SharePoint Web
• SharePoint-hosted apps
• Low barrier to entry• Inherent multi-tenancy and isolation• Workflow is the middle tier
Workflows in appsCloud-hosted apps
• Full power of the web – choose your infrastructure
• Workflow is SharePoint service for business processes
SharePoint Web
App Web
SharePoint Web
App Web
Azure
Your Hosted Site
SharePoint Web
App Web
Lists and other data
Lists and other data
HTML / JS UI
Workflow
Your Hosted App Logic
Workflow in apps
Configuration
Topology: Collocated
Database
Farm Node
WF ManagerSharePoint
Farm Node
WF ManagerSharePoint
Farm Node
WF ManagerSharePoint
load balancer
Note:
In multi-node environments, traffic between SharePoint and WF Manager go through NLB.
Topology: FederatedSP Farm 1
Workflow Cluster
SP Farm 2 load balancer
Workflow Client
Workflow Client
• Each SP farm targets a different Workflow Manager scope
• Multi-tenant
Note:
All SharePoint nodes require installation of Workflow Manager client
WF Manager installing and pairingAvailable via Web Platform Installer or Download CenterWorkflow Manager 1.0Workflow Manager Client 1.0
Pairing PowerShell CommandFarm ScopedRequires Workflow Manager Client on SharePoint machine
Register-SPWorkflowService –SPSite “https://{rootUrl}” –WorkflowHostUri “https://{WfsvcVipDnName}:12290”
Strictly for developer and trial environments, it is possible to configure without SSL in SharePoint (not default)
Switch: -AllowOAuthHttp
Workflow Manager HTTP port: 12291
Note:
OAuth requires SSL in production.
Set Workflow Service Uri to DNS hostname of Virtual IP.
Summary
► Cloud-ready
► Call REST web services
► Complex data
► Custom actions
► Service-oriented
► REST based contracts
► Predictable execution and consistency model
► Richer flow control
► Modular building blocks
► Stages and transitions: a model for real-world process
► Visual Designer: facilitates collaboration between analyst and workflow designer
► Object model designed for extensibility
► Custom workflow experiences
► App friendly
► Loosely coupled integration of Workflow Manager and SharePoint
► Manage and scale workflows independently of SharePoint
► Better transparency for workflow resource consumption
UnboundedConnectedExpressive
Related SessionsSPC212 SharePoint 2013 Workflow Development for Apps and Solutions for SharePoint 2013 with Visual Studio 2012
Developer Breakout Session: Tue 1:45pm, Tim McConnell
SPC045 Creating Custom Workflow Activities and Actions for SharePoint 2013
Developer Breakout Session: Wed 5:00pm, Hyong Guk Kim
SPC089 Developing SharePoint Workflows with SharePoint Designer 2013 and Visio Pro 2013
Developer Breakout Session: Tues 5:00pm, JongHwa Lim and Sam Chung
Introducing Workflow Manager 1.0
Activity Programming Model
Core Runtime
Host Services
.NET WF 4.5,Declarative
Performance, Side by Side Versioning
Multi-tenant, scalableResource management
Durable timers, Persistence, HTTP,
Pub/sub using Service Bus