developing workflows: things i've learnt along the way
DESCRIPTION
Presentation initially delivered at DeveloperDeveloperDeveloper Dublin (dddie). Discusses developing workflows using K2 Blackpearl and some design considerations while you are doing so.TRANSCRIPT
![Page 1: Developing Workflows: Things I've learnt along the way](https://reader037.vdocument.in/reader037/viewer/2022103013/5458ba2aaf79590b088b552b/html5/thumbnails/1.jpg)
Presented By:
Email:
Developing Workflows: Things I’ve learnt along the way
Jackie Pollock
![Page 2: Developing Workflows: Things I've learnt along the way](https://reader037.vdocument.in/reader037/viewer/2022103013/5458ba2aaf79590b088b552b/html5/thumbnails/2.jpg)
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
![Page 3: Developing Workflows: Things I've learnt along the way](https://reader037.vdocument.in/reader037/viewer/2022103013/5458ba2aaf79590b088b552b/html5/thumbnails/3.jpg)
Overview
• Defining a Workflow• Designing Workflows• Considerations while developing• Long term maintenance
3
![Page 4: Developing Workflows: Things I've learnt along the way](https://reader037.vdocument.in/reader037/viewer/2022103013/5458ba2aaf79590b088b552b/html5/thumbnails/4.jpg)
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
![Page 5: Developing Workflows: Things I've learnt along the way](https://reader037.vdocument.in/reader037/viewer/2022103013/5458ba2aaf79590b088b552b/html5/thumbnails/5.jpg)
Workflow Engine Products
• Windows Workflow Foundation (WF)• K2 BlackPearl• SharePoint• K2 BlackPoint
5
![Page 6: Developing Workflows: Things I've learnt along the way](https://reader037.vdocument.in/reader037/viewer/2022103013/5458ba2aaf79590b088b552b/html5/thumbnails/6.jpg)
Workflow GUI Products
• Custom ASP.NET sites• WinForm Applications• InfoPath Forms• SharePoint Lists
6
![Page 7: Developing Workflows: Things I've learnt along the way](https://reader037.vdocument.in/reader037/viewer/2022103013/5458ba2aaf79590b088b552b/html5/thumbnails/7.jpg)
Designing Workflows
• Thought Processes- Pen & paper- Visio
• Process Flow- Keep flow generic- Finishing workflow cleanly- Sleeping processes
7
![Page 8: Developing Workflows: Things I've learnt along the way](https://reader037.vdocument.in/reader037/viewer/2022103013/5458ba2aaf79590b088b552b/html5/thumbnails/8.jpg)
Designing Workflows
• Data Storage- Application database- Process fields- Process database
• Design Patterns- Independent- Sequential- Interdependent/Networked
8
![Page 9: Developing Workflows: Things I've learnt along the way](https://reader037.vdocument.in/reader037/viewer/2022103013/5458ba2aaf79590b088b552b/html5/thumbnails/9.jpg)
Designing Processes- Sequential
9
![Page 10: Developing Workflows: Things I've learnt along the way](https://reader037.vdocument.in/reader037/viewer/2022103013/5458ba2aaf79590b088b552b/html5/thumbnails/10.jpg)
Designing Processes - Interdependent
10
![Page 11: Developing Workflows: Things I've learnt along the way](https://reader037.vdocument.in/reader037/viewer/2022103013/5458ba2aaf79590b088b552b/html5/thumbnails/11.jpg)
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
![Page 12: Developing Workflows: Things I've learnt along the way](https://reader037.vdocument.in/reader037/viewer/2022103013/5458ba2aaf79590b088b552b/html5/thumbnails/12.jpg)
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
![Page 13: Developing Workflows: Things I've learnt along the way](https://reader037.vdocument.in/reader037/viewer/2022103013/5458ba2aaf79590b088b552b/html5/thumbnails/13.jpg)
Developing Workflows
• Breaking out of process blocks- Using GoTo within process block
- Use next stage variable instead
- Use flags to block off functionality
13
![Page 14: Developing Workflows: Things I've learnt along the way](https://reader037.vdocument.in/reader037/viewer/2022103013/5458ba2aaf79590b088b552b/html5/thumbnails/14.jpg)
Goto within stage - Initial Setup
14
![Page 15: Developing Workflows: Things I've learnt along the way](https://reader037.vdocument.in/reader037/viewer/2022103013/5458ba2aaf79590b088b552b/html5/thumbnails/15.jpg)
Goto within stage- After goto fires
15
![Page 16: Developing Workflows: Things I've learnt along the way](https://reader037.vdocument.in/reader037/viewer/2022103013/5458ba2aaf79590b088b552b/html5/thumbnails/16.jpg)
Developing Workflows
• Returning to Previous Stages- Resetting values- If statements without else statements
16
![Page 17: Developing Workflows: Things I've learnt along the way](https://reader037.vdocument.in/reader037/viewer/2022103013/5458ba2aaf79590b088b552b/html5/thumbnails/17.jpg)
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
![Page 18: Developing Workflows: Things I've learnt along the way](https://reader037.vdocument.in/reader037/viewer/2022103013/5458ba2aaf79590b088b552b/html5/thumbnails/18.jpg)
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
![Page 19: Developing Workflows: Things I've learnt along the way](https://reader037.vdocument.in/reader037/viewer/2022103013/5458ba2aaf79590b088b552b/html5/thumbnails/19.jpg)
Thanks for listening
Any Questions?
19
![Page 20: Developing Workflows: Things I've learnt along the way](https://reader037.vdocument.in/reader037/viewer/2022103013/5458ba2aaf79590b088b552b/html5/thumbnails/20.jpg)
Presented By:
Email:
Developing Workflows: Things I’ve learnt along the way
Jackie Pollock