47
Technical Overview of Workflows in SharePoint 2013 & Office 365 # SPSBE08 Serge Luca April 18 th , 2015

Share point2013 office365_workflows_sergeluca_sharepointsaturdaybelgium2015

Embed Size (px)

Citation preview

Technical Overview of Workflows in SharePoint 2013 & Office 365

#SPSBE08

Serge LucaApril 18th, 2015

Platinum

Gold

Silver

Thanks to our sponsors!

Serge Luca

Brussels

@sergeluca

Freelance, author, speaker

SharePoint MVP since 2007

With another (SQL Server) MVP : www.shareql.com

Works with SharePoint since v1 in 2002

Author of Workflow Foundation certification exam for Microsoft

About Me

Agenda

Agenda

Introduction

Workflow Architecture

Creating workflows with SharePoint Designer 2013

Creating workflows with Visual Studio

4 Very Important Good Practices

Conclusions

Q&A

Introduction

• SP 2013 improvements for developers

Access servicesWorkflow

SharePoint client object model (CSOM, REST)

Office and SharePoint Store

Apps et cloud app model

Search Workflows

Workflow business scenarios :

Human Resources• Employee On/Off-boarding• Performance Management• Leave Requests• Complaints Handling

Information Technology• Help Desk• HW/SW Provisioning• Upgrade &

Maintenance• Change Management

Sales• RFI/RFP Management• Pricing Negotiations• SOW Processing• Opportunity

Management

Finance• Expense Management• Invoice Processing• Project Approvals

Procurement• Purchase Orders• RFI/RFP• Services Agreements• Vendor Management

Facilities• Work Orders• Lease Agreement• Move In/Out Requests• Asset Tracking

Product Management• Requirements

Management• Release Management• Stage-Gate Process

Customer Support• Case Management

Marketing• Campaign Planning• Collateral Review• Press Release

Operations• Monitoring/Data

Collection• Quality Control &

Testing

SP2013 Workflows Architecture

2 workflow platforms

2 workflow platforms

SP 2013 farm Workflow FarmWorkflow Farm

SharePoint 2010 workflows

Windows Server

SQL Server

Non supporté en SharePoint Foundation

SharePoint 2013 workflows

Windows Server

SQL Server

Workflow Farm = 1 or 3 machines (not 2, not 4,…)

• Collocated = Workflow Manager on (1 or 3 ) SP machines• Federated = Workflow Manager farm serving multiple

SharePoint Farms• Distributed = Multiple Workflow Manager farms serving

multiple SharePoint tenants and potentially SharePoint Farms

Topologies

Topologies: co-located (from Harbar & wilén)

Running Workflow Manager on adequately resourced Web Servers in the SharePoint farmCarefully factor this into your overall farm topology design

load balancer

Workflow Manager

Workflow Manager

Workflow Manager

Topologies: Federated (from Harbar & wilén)

Workflow Manager farm serving multiple SharePoint Farms

load balancer

Workflow Manager

Scope 1(SP Farm 1)

Scope 2(SP Farm 2)

Topologies: ‘Distributed’ (from Harbar & wilén)

Multiple Workflow Manager farms serving multiple SharePoint tenantsAnd potentially SharePoint Farms

load balancer

Workflow Manager

Scope 1(SP Tenant1)

Scope 2(SP Tenant 2)

Workflow Manager

Scope 1(SP Tenant3)

Scope 2(SP Tenant 4)

SP Tenant 1

SP Tenant 2

SP Tenant 3

SP Tenant 4

SharePoint 2013 and Workflow Service

Sharing

ContentEvents People

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

Comparing 2010 and 2013 Workflows

SharePoint 2010 SharePoint 2013

Legacy (backward comp, i.e upgrade)

Future

Coupled to SP servers Decoupled (other consuming platforms)

In process Out process, on premise or cloud (Azure if O365)

Declarative or custom code

Declarative

SP Foundation and SP server

SP server

Content types No*

App friendly

.Net framework used by SP (.Net 3.51)

.Net framework xxx (.Net 4.5 today, xxx tomorrow)

• Like in SharePoint 2010: Lists workflows

• Collect Feedback*• Collect Signatures*• Approval*• Disposition Approval*• Tree State*

Sites workflows

History List Tasks List Association forms Initiation forms Tasks forms

17

* out of the box

Which Microsoft Workflow tool ?

SharePoint Designer 2013

Visual Studio 2013

Power Users, SP devs SP devs

Can use Visio No

Cannot debug Can debug, including SP online

No ALM support Full ALM support

Cannot be part of Apps Can be part of Apps

18

SharePoint Designer 2013 and workflows

Demo 0. Workflow, forms,…

What’s new in SPD workflows

Complex variable ‘Dictionary’

Full integration of Project server workflows

Support SP2010 workflows + interoperability

Call web services (HTTP/REST)

Improved parallel blocks

Portability WSP and VSDX (Visio) files

LoopsText mode or graphical mode editor

App level operation with App Step

Stages Actions “Assign A Task” & “Start a Task Process”

copy & paste

Demo 1

Text mode or graphical mode editor

App level operation with App Step

Stages Actions “Assign A Task” & “Start a Task Process”

copy & paste

Why are Web Services super important in your workflow strategy ?

23

• Reason 1. No custom code in the workflow Manager platform->no advanced customizations ->Wrap custom code in web services and invoke web services from the workflow (can access SharePoint with the SP REST api)

• Reason 2. If you move to a tool like Nintex or K2,…your work is reusable

• http://api.worldweatheronline.com/free/v1/weather.ashx?q=geneva&format=json&num_of_days=2&key=txq75v64h4szxyqft7e9kcyx

24

25

Demo 2 : calling REST/JSON web services

Complex variable ‘Dictionary’

Call web services (HTTP/REST)

https://contoso.com/_api/web/Lists/GetbyTitle('Announcements')/items

27

•How can I access SharePoint list items by using the SP REST API ?

Demo 3 : calling the SharePoint REST API (GET)

Complex variable ‘Dictionary’

Call web services (HTTP/REST)

• Create a SharePoint list with the SP Rest api

29

Demo 4 : calling the SharePoint REST API (POST)

Complex variable ‘Dictionary’

Call web services (HTTP/REST)

Visual Studio and workflows

Do your remember ?

SharePoint Designer 2013

Visual Studio 2013

Can use Visio No

Power Users, SP devs SP devs

Cannot debug Can debug, including online

No ALM support Full ALM support

Cannot be part of Apps Can be part of Apps

32

• Main benefit : great integration with the SharePoint App Model

• A VS workflow can be deployed as an App Each app is isolated in an individual child site (“App Web”)

• VS workflows logically “run” in the App Web: Site workflows are associated with the App Web Site List workflows are associated with lists in the App Web Site Use the AppWeb task lists Use the AppWeb history list Actually the workflows physically run in Workflow Manager

33

•Workflows in Apps : 2 main options:

Option 1.The workflow is hidden in the App

Option 2.The workflow is visible in SharePoint (new since June 2014) = “Integrated workflow app” (!only O365)

34

The workflow is hidden in the App

35

Demo 5 : (App) Workflow hidden in the App

Integrated workflow apps

• How to make an Integrated workflow app ?

38

Demo 6 : (App)Workflow visible in SharePoint

Very Important Good Practices

4 Best practices

• Keep the forms simple, add logic to workflows• Split large workflows into small workflows

Easier to reuse, test,debug, cancel, fix, error handling,

• State Machine more flexible State machines launch small workflows maintained by different teams

• Web services Reusability Decoupling from vendors LOB integration

41

Conclusions

• Workflow Manager nice, but no custom task forms/Visio• Third party tools still in the SP 2010 “workflow

platform”• Don’t throw away the old workflow platform

• SharePoint Designer workflows can access Web Services & the SP api (REST)• Decouple your workflows !• Read (GET) easier than Modify (POST)

• Devs should always create VS workflows (Apps)

• Task delegation is missing…

• Apps are the future…

• A real forms engine is missing !

Conclusions

Q&A

Thank you!

We appreciate your feedbackhttp://spsbe.be