share point2013 office365_workflows_sergeluca_sharepointsaturdaybelgium2015
TRANSCRIPT
Technical Overview of Workflows in SharePoint 2013 & Office 365
#SPSBE08
Serge LucaApril 18th, 2015
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
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
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
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
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)
Demo 4 : calling the SharePoint REST API (POST)
Complex variable ‘Dictionary’
Call web services (HTTP/REST)
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
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
• 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