windows workflow

28
PRESENTED BY Why Workflow? April 2014 Christoph Vollmer

Upload: dwcarter74

Post on 17-Jun-2015

338 views

Category:

Software


1 download

DESCRIPTION

Presentation from Christoph Vollmer to the Christchurch .Net User Group.

TRANSCRIPT

Page 1: Windows Workflow

PRESENTED BY

Why Workflow?

April 2014

Christoph Vollmer

Page 2: Windows Workflow

Introduction

What is a Workflow?

Why Workflow?

Our Journey

Summary and Questions

Agenda

Page 3: Windows Workflow

Who is PayGlobal?

• Market-leading provider of payroll and HR solutions

in Australia and NZ

• Paying over 500,000 staff, 520+ clients, 850+ sites

• Over 20 years experience in workforce management

solutions

• 120+ staff - Christchurch, Auckland, Sydney,

Melbourne and Perth

• Microsoft Gold Partner

Page 4: Windows Workflow

Who is PayGlobal?

Page 5: Windows Workflow

What is a Workflow?• Movement of work items through a sequence of

actions or tasks

• People– Initiate process– Action something– Resolve exceptions

• Software– Workflow framework, several different

frameworks available for different platforms

Page 6: Windows Workflow

Why a Workflow framework?• Business Process Automation via business logic

declared in flexible Workflows

• Less logic hardcoded

• Less technical users can:– Inspect logic– Make changes– Visualize and Track

• Persisting and resuming workflows

MS Workflow

Page 7: Windows Workflow

Why Workflow framework / product?

• Enforce business processes consistently

• Streamline cost and time

• Approvals, notifications

• Monitor and track status of workflows

Page 8: Windows Workflow

Example

Law firm– Information-intensive– Document-driven– All workflows similar but different for each

law firm / attorney

Page 9: Windows Workflow

What is MS Workflow

Windows Workflow FoundationFrom Wikipedia, the free encyclopedia:

“Windows Workflow Foundation (WF) is a Microsoft technology that provides an API, an in-process workflow engine, and a rehostable designer to implement long-running processes as workflows within .NET applications.”

Too complex for a short presentation.

Page 10: Windows Workflow

Our Workflow Journey

2003• Original Self Service website

2009• Prototyping on WF4 Beta

2010• Built Workflow Engine and first modules

2011• Exolvo launched on Workflow

2012

• New Workflow Modules• Microsoft Workflow TAP

2013

• Notification Flows

Page 11: Windows Workflow

Why Workflow at PayGlobal?

• Needed greater configurability in the product

• Customer business processes varied a lot

• Good fit for processes in industry vertical (HRIS)

• Long running business processes

• Generic codebase

• Best practice templates

Page 12: Windows Workflow

How we use it

• Employee Self Service– Hazards / Incidents– Leave Requests– Timesheets– Allowances– etc.

• Conditional workflows

• Time sensitive

• Stop processing of workflow until a date is reached

• Example: Send reminder email after three days of

no action

Page 13: Windows Workflow

PayGlobal specific types of Workflow

• Form Flow– HTML UI– Not persisted to database

• Process Flow– Background– Persisted to database

• Notification Flow– Background– Not persisted

MS Workflow only knows about “Workflow”!

Page 14: Windows Workflow

Form Flow

Page 15: Windows Workflow

Process Flow

Page 16: Windows Workflow

Notification Flow

Page 17: Windows Workflow

PayGlobal Workflow Engine

• Executes business processes

• Schedules, executes, persists

• Manages data (arguments and variables)

• Interprets events e.g. due dates expiring

• Maintains state of long running processes

Page 18: Windows Workflow

PayGlobal Workflow Designer

• Used by consultants to configure workflows

• Stores history of all changes

Page 19: Windows Workflow

PayGlobal Workflow Designer

Page 20: Windows Workflow

PayGlobal Workflow Designer

Page 21: Windows Workflow

PayGlobal Workflow Designer

Page 22: Windows Workflow

Form Flow (HTML UI via Workflow)

Page 23: Windows Workflow

Custom Activity Library• Domain Specific Language (DSL)

• Ecosystem around MS workflow platform

• Reusable custom activities

• Consultants operate in Core Domain

Page 24: Windows Workflow

Challenges

• Versioning – Improvements with .NET WF 4.5

• WF API Complexity – polling for expired workflows

• Steep learning curve - Developers and Consultants

• Unit Testing Activities – Use thin facades instead

Page 25: Windows Workflow

The Tech Stack

• ESS .NET 4.5Web FormsCustom MVC (xml config)

• Workflow Engine.NET 4.5 (WF + WCF) +

Ninject, Automapper, nHibernate etc.

• Workflow Designer.NET 4.5, WPF

• SQL Server

Page 26: Windows Workflow

Summary

• Long running business processes that need to configurable

• Non-developers can make changes

• Great flexibility (Form Flow)

• Core domain building blocks = powerful, expressive

• Look out for up-to-date documentation (.NET 4.5!)

Page 27: Windows Workflow

Questions

Page 28: Windows Workflow

References

PayGlobal TAP Case studyhttp://www.microsoft.com/casestudies/Case_Study_Detail.aspx?CaseStudyID=710000001560

PayGlobal Exolvowww.payglobal.com/exolvo

Visual design of workflowstinyurl.com/6behpp7

Rehosting The Workflow Designerhttps://tinyurl.com/7495qpu

What’s new in Windows Workflow Foundation 4.5https://tinyurl.com/ne9vhbp

[email protected]@payglobal.com www.payglobal.com