windows workflow

Post on 17-Jun-2015

338 Views

Category:

Software

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

PRESENTED BY

Why Workflow?

April 2014

Christoph Vollmer

Introduction

What is a Workflow?

Why Workflow?

Our Journey

Summary and Questions

Agenda

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

Who is PayGlobal?

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

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

Why Workflow framework / product?

• Enforce business processes consistently

• Streamline cost and time

• Approvals, notifications

• Monitor and track status of workflows

Example

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

law firm / attorney

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.

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

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

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

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”!

Form Flow

Process Flow

Notification Flow

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

PayGlobal Workflow Designer

• Used by consultants to configure workflows

• Stores history of all changes

PayGlobal Workflow Designer

PayGlobal Workflow Designer

PayGlobal Workflow Designer

Form Flow (HTML UI via Workflow)

Custom Activity Library• Domain Specific Language (DSL)

• Ecosystem around MS workflow platform

• Reusable custom activities

• Consultants operate in Core Domain

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

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

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!)

Questions

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

christoph.vollmer@payglobal.cominfo@payglobal.com www.payglobal.com

top related