3. 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
5. 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
6. 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
7. Why Workflow framework / product?
• Enforce business processes consistently
• Streamline cost and time
• Approvals, notifications
• Monitor and track status of workflows
9. What is MS Workflow
Windows Workflow Foundation
From 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.
10. 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
11. 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
12. 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
13. 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”!
17. 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
23. Custom Activity Library
• Domain Specific Language (DSL)
• Ecosystem around MS workflow platform
• Reusable custom activities
• Consultants operate in Core Domain
24. 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
25. The Tech Stack
• ESS .NET 4.5
Web Forms
Custom MVC (xml config)
• Workflow Engine
.NET 4.5 (WF + WCF) + Ninject,
Automapper, nHibernate etc.
• Workflow Designer
.NET 4.5, WPF
• SQL Server
26. 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!)
28. References
PayGlobal TAP Case study
http://www.microsoft.com/casestudies/Case_Study_Detail.aspx?CaseStudyID=710000001560
PayGlobal Exolvo
www.payglobal.com/exolvo
Visual design of workflows
tinyurl.com/6behpp7
Rehosting The Workflow Designer
https://tinyurl.com/7495qpu
What’s new in Windows Workflow Foundation 4.5
https://tinyurl.com/ne9vhbp
christoph.vollmer@payglobal.com
info@payglobal.com
www.payglobal.com