wf 103 - build scalable sharepoint 2013 staged workflows to run locally and in the cloud

33
www.expertpointsolutions.com SharePoint 2013 Workflows Brian Culver SharePoint Fest Chicago October 2013 WF103 Build scalable SharePoint 2013 Staged Workflows to run locally and in the Cloud

Upload: brian-culver

Post on 22-Nov-2014

1.034 views

Category:

Technology


0 download

DESCRIPTION

SharePoint 2013 now supports two workflow platforms. We will walk through using the two workflow platforms and how they are different. We will configure the SharePoint 2013 Workflow Manager and build a workflow that can run locally and in the Azure cloud seamlessly. Attendee Takeaways: 1. Understanding both of the SharePoint 2013 Workflow architectures. 2. Learn to setup and configure the SharePoint 2013 Workflow Manager. 3. Learn to build staged workflows and run them in the local or the Microsoft Azure cloud. http://www.sharepointfest.com/Chicago/agenda/283-wf103

TRANSCRIPT

Page 1: WF 103 - Build scalable SharePoint 2013 Staged Workflows to run locally and in the Cloud

www.expertpointsolutions.com

SharePoint 2013 Workflows

Brian Culver ● SharePoint Fest Chicago ● October 2013 ● WF103

Build scalable SharePoint 2013 Staged Workflows to run locally

and in the Cloud

Page 2: WF 103 - Build scalable SharePoint 2013 Staged Workflows to run locally and in the Cloud

About Brian Culver

• SharePoint Solutions Architect for Expert Point Solutions

• Based in Houston, TX

• Author• SharePoint 2010 Unleashed

• Various White Papers

• Speaker and Blogger

Page 3: WF 103 - Build scalable SharePoint 2013 Staged Workflows to run locally and in the Cloud

Session Agenda

• Why do we use Workflows?

• What about Workflow changed in

SharePoint 2013

• Why are they better in 2013?

• Workflow Manager 1.0

• Building a Workflow in 2013

• Workflows Best Practices

Page 4: WF 103 - Build scalable SharePoint 2013 Staged Workflows to run locally and in the Cloud

• A workflow is basically a series of tasks that produce an outcome.

• In a business scenario, a workflow is a business process.

• Workflows can be used to automate, solve and improve processes:

• Help people to collaborate on documents

• Manage project tasks

• Help organizations to adhere to consistent business processes

• Improve organizational efficiency and productivity

• They enable the people who perform these tasks to concentrate

on performing the work rather than managing the workflow or

process.

Why do we use Workflows?

Page 5: WF 103 - Build scalable SharePoint 2013 Staged Workflows to run locally and in the Cloud

• SharePoint 2013 offers two workflow engine flavors:

• SharePoint 2010 Workflows (based on .NET3.5)

• SharePoint 2013 Workflows (based on .NET4.x)

• SharePoint 2010 Workflows run within SharePoint (the internal

workflow host)

• SharePoint 2013 Workflows run outside of SharePoint in the new

Workflow Manager (formerly labeled as Azure Cloud) Farm

What about Workflow changed in SharePoint 2013?

2010 Workflows

2013 Workflows

SharePoint 2013

Rest Services

Page 6: WF 103 - Build scalable SharePoint 2013 Staged Workflows to run locally and in the Cloud

• Several improvements in several areas:

• Workflow Engine

• For SharePoint 2013 Workflows – taken out of SharePoint

• Uses Workflow Framework in .NET 4.x which is much more robust

• Can be extended and enhanced more easily

• Much more scalable

• SharePoint Designer 2013

• Leverages Visio 2013 to provide a better design experience for

users and developers.

• Business user builds the Workflow in Visio 2013 with SharePoint

2013 Workflow Shapes.

• Designer/Developer can import into SharePoint Designer 2013

and/or Visual Studio 2012.

• Export to Visio 2013 files preserves workflow properties and

details which makes it much more portable between sites and

environments.

Why are they better in 2013?

Page 7: WF 103 - Build scalable SharePoint 2013 Staged Workflows to run locally and in the Cloud

New Workflow Actions, Components and Conditions

What is better in 2013?

Page 8: WF 103 - Build scalable SharePoint 2013 Staged Workflows to run locally and in the Cloud

Stage Shapes

• A stage is a container which can contain any number of shapes and

actions, such as sending an email and logging to the workflow history. A

stage must have only one path in and one path out.

What is better in 2013?

Page 9: WF 103 - Build scalable SharePoint 2013 Staged Workflows to run locally and in the Cloud

• The following rules apply to stages:

• A workflow must have at least one stage. A stage, by default, has a

Start, Enter and Exit shape SharePoint 2013 Workflow template.

• An explicit Start shape is required outside of the stage for the entire

diagram. An explicit Terminate shape outside of the stage is not

required.

• Stage containers cannot be nested. Use other containers within a

stage to nest, such as a Step container.

• Stop Workflow shapes may exist within a stage.

• At the top level, the workflow can contain only stages, conditional

shapes, and Start and Terminate terminators. All other shapes must

be contained within a stage.

What is better in 2013?

Page 10: WF 103 - Build scalable SharePoint 2013 Staged Workflows to run locally and in the Cloud

Loop shapes

• Loops are a series of connected shapes that will execute as a single unit

within a loop container. Like stages, loops are a container shape with an

Enter and Exit shape. A loop shape also requires that an Enter and Exit

shape be added to the edges of the container to define the paths in and

out of the loop. Workflows in SharePoint Server 2013 support two types

of loops: loop n times and loop with condition.

What is better in 2013?

Page 11: WF 103 - Build scalable SharePoint 2013 Staged Workflows to run locally and in the Cloud

• The following rules apply to loops:

• Loops must be within a stage.

• Steps may be within a loop.

• Loops may have only one entry and one exit point.

What is better in 2013?

Page 12: WF 103 - Build scalable SharePoint 2013 Staged Workflows to run locally and in the Cloud

Step shapes

• Steps represent a group of sequential actions to be performed as a

single unit.

What is better in 2013?

Page 13: WF 103 - Build scalable SharePoint 2013 Staged Workflows to run locally and in the Cloud

• The following rules apply to steps:

• Steps must be within a stage.

• Steps may be within a loop.

• Steps may have only one entry and one exit point.

• Steps can contain steps.

To learn more about the workflow Shapes available in the SharePoint

Designer 2013, go to:

http://msdn.microsoft.com/en-us/library/jj164055.aspx

What is better in 2013?

Page 14: WF 103 - Build scalable SharePoint 2013 Staged Workflows to run locally and in the Cloud

• Designer Improvements (with Visio 2013 only)

• Text-Based Designer

• Visual Designer

What is better in 2013?

Page 15: WF 103 - Build scalable SharePoint 2013 Staged Workflows to run locally and in the Cloud

Visual Designer vs Text-Based Designer

Demo

Page 16: WF 103 - Build scalable SharePoint 2013 Staged Workflows to run locally and in the Cloud

SharePoint 2013 Workflows Architecture

• SharePoint 2013 workflows are powered by the .NET 4.x workflow

infrastructure or Windows Workflow Foundation 4 (WF4).

• WF4 was substantially redesigned from prior versions in that it is built

on the messaging functionality provided by the Windows Communication

Foundation (WCF).

• In WF4 workflows, each business process step is represented by a

workflow "activity". Thus, workflow activities represent the underlying

managed objects whose methods drive workflow behaviors.

What is better in 2013?

Page 17: WF 103 - Build scalable SharePoint 2013 Staged Workflows to run locally and in the Cloud

SharePoint 2013 Workflows Architecture

What is better in 2013?

Page 18: WF 103 - Build scalable SharePoint 2013 Staged Workflows to run locally and in the Cloud

SharePoint 2013 Workflows Architecture

• In SharePoint Designer, workflow actions are the user-friendly

representations of the underlying activities from WF4.

• As the workflow executes, each workflow action interacts with the

workflow execution engine which in turn acts on the corresponding

activities.

• The workflow activities are implemented declaratively by using XAML.

• Workflow activities are invoked by using loosely coupled web services

that use messaging APIs (Windows Communication Foundation or WCF)

to communicate with SharePoint Server 2013.

What is better in 2013?

Page 19: WF 103 - Build scalable SharePoint 2013 Staged Workflows to run locally and in the Cloud

SharePoint 2013 Workflows Architecture

• In SharePoint Server 2013, the Workflow Manager Client 1.0 hosts the

WF4 engine and WCF web services.

• Together, the Workflow Manager Client 1.0, SharePoint 2013, and

SharePoint Designer 2013 each provide the functionality that makes up the

SharePoint 2013 Workflow Architecture.

• The Workflow Manager Client 1.0 provides the management of workflow

definitions and hosts the execution processes for each workflow instance.

• The SharePoint 2013 platform provides the framework for building

SharePoint workflows and storing the SharePoint workflows.

What is better in 2013?

Page 20: WF 103 - Build scalable SharePoint 2013 Staged Workflows to run locally and in the Cloud

• So the bad news?

There is no bad news. There is only news.

• SharePoint 2013 does not support all the

actions SharePoint 2010 did.

• Why?

• WorkAround:

• Invoke a SharePoint 2010 Workflows

via the SharePoint Interop (Start

Another Workflow action).

• Bad ALM Story

• Dueling Banjos

• Dictionaries are hard to build dynamically

Is there bad news?

Page 21: WF 103 - Build scalable SharePoint 2013 Staged Workflows to run locally and in the Cloud

Installing the Workflow Manager 1.0

• Download “Workflow Manager 1.0”

• http://www.microsoft.com/en-us/download/details.aspx?id=35375

• Install

• Prerequisites: http://technet.microsoft.com/en-us/library/jj193451.aspx

• WorkflowManager.exe in the Application Servers or Workflow Farm Servers.

• For SharePoint 2013, WorkflowClient.exe in the Web Front Ends.

• Apply the Cumulative Updates

• Service Bus

• Workflow Manager

Workflow Manager 1.0

Page 22: WF 103 - Build scalable SharePoint 2013 Staged Workflows to run locally and in the Cloud

Installing the Workflow Manager 1.0

• Run the “Workflow Manager Configuration”

• “Configure Workflow Manager with Custom Settings”

• Note: Do not pick “Recommended” option

• For more information: http://technet.microsoft.com/en-

us/library/jj658588.aspx

Workflow Manager 1.0

Page 23: WF 103 - Build scalable SharePoint 2013 Staged Workflows to run locally and in the Cloud

The New Story

• Is InfoPath 2013 going away?

• .NET 4 Workflows and Forms

• Generates .ASPX pages

• Can work with InfoPath 2013 as well

• InfoPath 2013 does have new improvements.

• Web service, WCF, REST, JSON

Workflow Forms

Page 24: WF 103 - Build scalable SharePoint 2013 Staged Workflows to run locally and in the Cloud

The New Story

• New features in InfoPath 2013

• The development experience has been drastically improved to work

with Visual Studio 2012

• InfoPath can now be deployed as a sandbox solution

• The publishing process has been simplified

• SharePoint List forms have been enhanced

• An InfoPath form Web part has been added

• The InfoPath Form Service provides richer Web forms

• The InfoPath Form Service follows better compliant standards

• InfoPath now supports digital signatures

Workflow Forms

Page 25: WF 103 - Build scalable SharePoint 2013 Staged Workflows to run locally and in the Cloud

Reusable and Global Reusable Workflows

• Reusable workflows were introduced in SharePoint Designer 2010 along with site workflows. Reusable workflows are associated with a content type instead of a specific list.

• SharePoint provides the ability to reuse content types across multiple sites and lists, and enables associated workflows to execute on any list where the content type has been configured for use.

• Reusable workflows are only aware of site columns on the associated content type, and certain core list metadata columns that are shared across all lists such as “Created” and “Created By”.

• Global Reusable workflows are available for use anywhere within a Site Collection, but the workflow and associated content type must be created in the top-level site of a site collection.

• One of the most powerful features of the reusable workflow is the ability to export for use in other site collections, web applications and SharePoint farms.

• SharePoint Designer automatically packages the workflow and dependencies including forms as a solution package (.WSP) that can be deployed as a sandbox solution, making it possible to also deploy them to hosted SharePoint environments such as Office 365.

Building a Workflow in 2013

Page 26: WF 103 - Build scalable SharePoint 2013 Staged Workflows to run locally and in the Cloud

Site Workflows

• Site workflows were new in SharePoint 2010. Site workflows are published

to a site rather than a content type or list. Since they are not associated with a

specific list or content type, they are not associated with any specific list item

(or within the workflow context, the current item). Since a site workflow does

not have the specific list item associated with the workflow context, some

workflow actions are not available, such as workflow actions triggered when

the current list item changes.

• Site workflows also do not have events in SharePoint that trigger them.

Therefore, site workflows have to be started manually either directly by

user or programmatically.

• Site workflows are essentially best designed to perform administrative

functions on the sites upon which they execute.

• Site workflows greatly benefited from custom workflow actions which can

expand the capabilities far beyond what is provided out of the box.

Building a Workflow in 2013

Page 27: WF 103 - Build scalable SharePoint 2013 Staged Workflows to run locally and in the Cloud

List Workflows

• List workflows have been supported since SharePoint 2007 in SharePoint

Designer. A list workflow is designed and published directly to a specific list

instance.

• List workflows do offer a key feature not found in site workflows or

reusable workflows, the ability to access list columns (columns created

directly on the list).

• A very annoying flaw in list workflows is their affinity to the list where they

were published.

• Cannot be moved or reused on another list or another site.

• List workflows have a place where a small and specific process is

required.

• They are not good choices for complex workflows or workflows that may

need to be used elsewhere, such as another site or list.

Building a Workflow in 2013

Page 28: WF 103 - Build scalable SharePoint 2013 Staged Workflows to run locally and in the Cloud

• Lets build a simple vacation request workflow

Building a Workflow in 2013

Page 29: WF 103 - Build scalable SharePoint 2013 Staged Workflows to run locally and in the Cloud

Building a workflow in SharePoint 2013

Demo

Page 30: WF 103 - Build scalable SharePoint 2013 Staged Workflows to run locally and in the Cloud

• Document the High-Level workflow

• Then break it up into smaller units

• Plan before you build

• Most workflows do not look the same after a couple iterations

• Put in the time to carefully understand the workflow and identify issues

• Create Reusable workflows

• Portable and reusable

• Create smaller, simpler workflows (when possible)

• Larger workflows are harder to reconfigure

• Larger workflows are harder to fix and diagnose

• Larger workflows increase complexity of logic

Workflows Best Practices

Page 31: WF 103 - Build scalable SharePoint 2013 Staged Workflows to run locally and in the Cloud

Questions

??

?

?

Page 32: WF 103 - Build scalable SharePoint 2013 Staged Workflows to run locally and in the Cloud

Constructive Feedback Is Appreciated

Great information,

but would like to

have learned more

about [Insert Topic]Brian – Your

presentation

was …

Good

Demos!

Thanks!

Page 33: WF 103 - Build scalable SharePoint 2013 Staged Workflows to run locally and in the Cloud

Thank you!

Brian Culver, MCM

Twitter:

@spbrianculver

E-mail:

[email protected]

Blog:

http://blog.expertpointsolutions.com/