Developing Workflows: Things I've learnt along the way
-
Upload
jackie-pollock -
Category
Technology
-
view
3.094 -
download
0
description
Transcript of Developing Workflows: Things I've learnt along the way
Presented By:
Email:
Developing Workflows: Things I’ve learnt along the way
Jackie Pollock
Who am I?
2
• Software Engineer at Kainos Software• Enterprise Content Management (ECM)• Technology Stack:
- Autonomy Records Management- ASP.NET / C#- K2 Workflow
• NIMTUG Steering Group Member
Overview
• Defining a Workflow• Designing Workflows• Considerations while developing• Long term maintenance
3
What is a Workflow?
• Definition:
The automation of a business process, in whole or in
part, during which documents, information or tasks
are passed from one participant to another for
action, according to a set of procedural rules.
4
Workflow Engine Products
• Windows Workflow Foundation (WF)• K2 BlackPearl• SharePoint• K2 BlackPoint
5
Workflow GUI Products
• Custom ASP.NET sites• WinForm Applications• InfoPath Forms• SharePoint Lists
6
Designing Workflows
• Thought Processes- Pen & paper- Visio
• Process Flow- Keep flow generic- Finishing workflow cleanly- Sleeping processes
7
Designing Workflows
• Data Storage- Application database- Process fields- Process database
• Design Patterns- Independent- Sequential- Interdependent/Networked
8
Designing Processes- Sequential
9
Designing Processes - Interdependent
10
Developing Workflows
• Starting Processes- Code linking into API
Database Trigger ASP.NET/ WinForm Application EDRM System Scanning Release Script eg Kofax, Teleform
- Manual start from user
11
Developing Workflows
• Separation of Concerns- Process code- Process logic
• Unit Testing- Setup test harness for process- Unit tests on process logic
• Logging- Always give workflow status and unique identifier- Give as much information on current state as possible
12
Developing Workflows
• Breaking out of process blocks- Using GoTo within process block
- Use next stage variable instead
- Use flags to block off functionality
13
Goto within stage - Initial Setup
14
Goto within stage- After goto fires
15
Developing Workflows
• Returning to Previous Stages- Resetting values- If statements without else statements
16
Supporting/ Maintenance
• Ability to recreate workflows- Data and location in workflow
• Redeployment of code- Workflow/ Logic
• Transferring running processes to new workflow versions
• Long term sleeping processes
17
Summary
• Easier to manage simpler processes• Think about loopbacks to previous stages• Data Storage• Log everything about state of affairs• Unit Testing• Recreating workflows and redeployment of code
18
Thanks for listening
Any Questions?
19
Presented By:
Email:
Developing Workflows: Things I’ve learnt along the way
Jackie Pollock