24

UnboundedConnected Expressive People centric Content centric App business logic

Embed Size (px)

Citation preview

Page 1: UnboundedConnected Expressive People centric Content centric App business logic
Page 2: UnboundedConnected Expressive People centric Content centric App business logic

SharePoint 2013 Workflow: Architecture and ConfigurationMauricio OrdoñezProgram Manager, Microsoft

Page 3: UnboundedConnected Expressive People centric Content centric App business logic

AgendaWhat’s newArchitectureConfiguration

Page 4: UnboundedConnected Expressive People centric Content centric App business logic

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

Page 5: UnboundedConnected Expressive People centric Content centric App business logic

Workflows in SharePoint

People centric

Content centric

App business logic

Tasks, notifications

List items, documents,

sites

Declarative,Long running, Event driven

Page 6: UnboundedConnected Expressive People centric Content centric App business logic

What’s new in SharePoint 2013 workflow

Page 7: UnboundedConnected Expressive People centric Content centric App business logic

ExpressiveStages & TransitionsLoopingModular task processVisual DesignerStart classic workflowParallel block exit conditions

Page 8: UnboundedConnected Expressive People centric Content centric App business logic

Architecture

Page 9: UnboundedConnected Expressive People centric Content centric App business logic

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

Page 10: UnboundedConnected Expressive People centric Content centric App business logic

Access to external data

Page 11: UnboundedConnected Expressive People centric Content centric App business logic

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

Page 12: UnboundedConnected Expressive People centric Content centric App business logic

Assign Task (cont)

Workflow BackendSharePoint

Tasks

Instances

Receive &

Persist

_API

Processing

Register Interest

SiteUser

s

Workflow Frontend

Wait For Notification

Service Bus

Messages

Page 13: UnboundedConnected Expressive People centric Content centric App business logic

• 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

Page 14: UnboundedConnected Expressive People centric Content centric App business logic

Workflow app principals and authorization

Page 15: UnboundedConnected Expressive People centric Content centric App business logic

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

Page 16: UnboundedConnected Expressive People centric Content centric App business logic

• 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

Page 17: UnboundedConnected Expressive People centric Content centric App business logic

Workflow in apps

Page 18: UnboundedConnected Expressive People centric Content centric App business logic

Configuration

Page 19: UnboundedConnected Expressive People centric Content centric App business logic

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.

Page 20: UnboundedConnected Expressive People centric Content centric App business logic

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

Page 21: UnboundedConnected Expressive People centric Content centric App business logic

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.

Page 22: UnboundedConnected Expressive People centric Content centric App business logic

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

Page 23: UnboundedConnected Expressive People centric Content centric App business logic

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

Page 24: UnboundedConnected Expressive People centric Content centric App business logic

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