SlideShare a Scribd company logo
1 of 20
Developing Workflows: Things I’ve learnt along the way Jackie Pollock j.pollock@kainos.com
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 ,[object Object]
Use next stage variable insteadUse 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 listeningAny Questions? 19

More Related Content

What's hot

K2 for SharePoint 2013 Keynote: Cloud first, mobile first solution architecture
K2 for SharePoint 2013 Keynote: Cloud first, mobile first solution architectureK2 for SharePoint 2013 Keynote: Cloud first, mobile first solution architecture
K2 for SharePoint 2013 Keynote: Cloud first, mobile first solution architectureAdis Jugo
 
Embedding K2 smartforms
Embedding K2 smartformsEmbedding K2 smartforms
Embedding K2 smartformsGemma Adair
 
k2.net PPT
k2.net PPTk2.net PPT
k2.net PPTmadala
 
10 Best Enterprise Apps to Look for in 2015
10 Best Enterprise Apps to Look for in 201510 Best Enterprise Apps to Look for in 2015
10 Best Enterprise Apps to Look for in 2015K2
 
SharePoint 2013 Workflow from K2
SharePoint 2013 Workflow from K2SharePoint 2013 Workflow from K2
SharePoint 2013 Workflow from K2K2
 
K2 - Business Apps for SharePoint
K2 - Business Apps for SharePointK2 - Business Apps for SharePoint
K2 - Business Apps for SharePointGemma Adair
 
K2: When to use 3rd party products for SharePoint application development?
K2: When to use 3rd party products for SharePoint application development?K2: When to use 3rd party products for SharePoint application development?
K2: When to use 3rd party products for SharePoint application development?SPSSTHLM
 
Build and Run Reliable SharePoint Workflow Apps
Build and Run Reliable SharePoint Workflow AppsBuild and Run Reliable SharePoint Workflow Apps
Build and Run Reliable SharePoint Workflow AppsGemma Adair
 
Slides m365 file management and collaboration (infinys)
Slides m365 file management and collaboration (infinys)Slides m365 file management and collaboration (infinys)
Slides m365 file management and collaboration (infinys)Agusto Sipahutar
 
Share point development services case study
Share point development services case studyShare point development services case study
Share point development services case studyNandita Nityanandam
 
emediaIT - Sharepoint 2010 and K2 Breakfast - 2010.04.22
emediaIT - Sharepoint 2010 and K2 Breakfast - 2010.04.22emediaIT - Sharepoint 2010 and K2 Breakfast - 2010.04.22
emediaIT - Sharepoint 2010 and K2 Breakfast - 2010.04.22Venketash (Pat) Ramadass
 
InfoPath alternatives and the potential of PowerApps
InfoPath alternatives and the potential of PowerAppsInfoPath alternatives and the potential of PowerApps
InfoPath alternatives and the potential of PowerAppsMaarten Visser
 
Extending SharePoint 2010 To Line of Business Integration A
Extending SharePoint 2010 To Line of Business Integration AExtending SharePoint 2010 To Line of Business Integration A
Extending SharePoint 2010 To Line of Business Integration Aridwansassman
 
Intro to SharePoint for Developers
Intro to SharePoint for DevelopersIntro to SharePoint for Developers
Intro to SharePoint for DevelopersRob Wilson
 
InfoPath alternatives and the PowerApps potential
InfoPath alternatives and the PowerApps potentialInfoPath alternatives and the PowerApps potential
InfoPath alternatives and the PowerApps potentialMaarten Visser
 
Ridwan sassman Sharepoint Saturday Sharepoint 2013 Workflows
Ridwan sassman Sharepoint Saturday Sharepoint 2013 WorkflowsRidwan sassman Sharepoint Saturday Sharepoint 2013 Workflows
Ridwan sassman Sharepoint Saturday Sharepoint 2013 Workflowsridwansassman
 
K2 for SharePoint Brochure
K2 for SharePoint BrochureK2 for SharePoint Brochure
K2 for SharePoint BrochureGemma Adair
 
Tech Ed 2010 Attended Sessions
Tech Ed 2010 Attended SessionsTech Ed 2010 Attended Sessions
Tech Ed 2010 Attended Sessionsridwansassman
 
Office 365 Deployment Strategies
Office 365 Deployment StrategiesOffice 365 Deployment Strategies
Office 365 Deployment StrategiesBert Johnson
 
Overview: Creating Workflows with Visio, InfoPath and SharePoint Designer 2010
Overview: Creating Workflows with Visio, InfoPath and SharePoint Designer 2010Overview: Creating Workflows with Visio, InfoPath and SharePoint Designer 2010
Overview: Creating Workflows with Visio, InfoPath and SharePoint Designer 2010ridwansassman
 

What's hot (20)

K2 for SharePoint 2013 Keynote: Cloud first, mobile first solution architecture
K2 for SharePoint 2013 Keynote: Cloud first, mobile first solution architectureK2 for SharePoint 2013 Keynote: Cloud first, mobile first solution architecture
K2 for SharePoint 2013 Keynote: Cloud first, mobile first solution architecture
 
Embedding K2 smartforms
Embedding K2 smartformsEmbedding K2 smartforms
Embedding K2 smartforms
 
k2.net PPT
k2.net PPTk2.net PPT
k2.net PPT
 
10 Best Enterprise Apps to Look for in 2015
10 Best Enterprise Apps to Look for in 201510 Best Enterprise Apps to Look for in 2015
10 Best Enterprise Apps to Look for in 2015
 
SharePoint 2013 Workflow from K2
SharePoint 2013 Workflow from K2SharePoint 2013 Workflow from K2
SharePoint 2013 Workflow from K2
 
K2 - Business Apps for SharePoint
K2 - Business Apps for SharePointK2 - Business Apps for SharePoint
K2 - Business Apps for SharePoint
 
K2: When to use 3rd party products for SharePoint application development?
K2: When to use 3rd party products for SharePoint application development?K2: When to use 3rd party products for SharePoint application development?
K2: When to use 3rd party products for SharePoint application development?
 
Build and Run Reliable SharePoint Workflow Apps
Build and Run Reliable SharePoint Workflow AppsBuild and Run Reliable SharePoint Workflow Apps
Build and Run Reliable SharePoint Workflow Apps
 
Slides m365 file management and collaboration (infinys)
Slides m365 file management and collaboration (infinys)Slides m365 file management and collaboration (infinys)
Slides m365 file management and collaboration (infinys)
 
Share point development services case study
Share point development services case studyShare point development services case study
Share point development services case study
 
emediaIT - Sharepoint 2010 and K2 Breakfast - 2010.04.22
emediaIT - Sharepoint 2010 and K2 Breakfast - 2010.04.22emediaIT - Sharepoint 2010 and K2 Breakfast - 2010.04.22
emediaIT - Sharepoint 2010 and K2 Breakfast - 2010.04.22
 
InfoPath alternatives and the potential of PowerApps
InfoPath alternatives and the potential of PowerAppsInfoPath alternatives and the potential of PowerApps
InfoPath alternatives and the potential of PowerApps
 
Extending SharePoint 2010 To Line of Business Integration A
Extending SharePoint 2010 To Line of Business Integration AExtending SharePoint 2010 To Line of Business Integration A
Extending SharePoint 2010 To Line of Business Integration A
 
Intro to SharePoint for Developers
Intro to SharePoint for DevelopersIntro to SharePoint for Developers
Intro to SharePoint for Developers
 
InfoPath alternatives and the PowerApps potential
InfoPath alternatives and the PowerApps potentialInfoPath alternatives and the PowerApps potential
InfoPath alternatives and the PowerApps potential
 
Ridwan sassman Sharepoint Saturday Sharepoint 2013 Workflows
Ridwan sassman Sharepoint Saturday Sharepoint 2013 WorkflowsRidwan sassman Sharepoint Saturday Sharepoint 2013 Workflows
Ridwan sassman Sharepoint Saturday Sharepoint 2013 Workflows
 
K2 for SharePoint Brochure
K2 for SharePoint BrochureK2 for SharePoint Brochure
K2 for SharePoint Brochure
 
Tech Ed 2010 Attended Sessions
Tech Ed 2010 Attended SessionsTech Ed 2010 Attended Sessions
Tech Ed 2010 Attended Sessions
 
Office 365 Deployment Strategies
Office 365 Deployment StrategiesOffice 365 Deployment Strategies
Office 365 Deployment Strategies
 
Overview: Creating Workflows with Visio, InfoPath and SharePoint Designer 2010
Overview: Creating Workflows with Visio, InfoPath and SharePoint Designer 2010Overview: Creating Workflows with Visio, InfoPath and SharePoint Designer 2010
Overview: Creating Workflows with Visio, InfoPath and SharePoint Designer 2010
 

Similar to Developing Workflows: Key Lessons

Practical automation for beginners
Practical automation for beginnersPractical automation for beginners
Practical automation for beginnersSeoweon Yoo
 
Microsoft Office SharePoint Server 2007 - Overview
Microsoft Office SharePoint Server 2007 - OverviewMicrosoft Office SharePoint Server 2007 - Overview
Microsoft Office SharePoint Server 2007 - OverviewAbhishek Bhowmick
 
SharePoint 2013 Dev Features
SharePoint 2013 Dev FeaturesSharePoint 2013 Dev Features
SharePoint 2013 Dev FeaturesRicardo Wilkins
 
Electronic Document Management Case Study
Electronic Document Management Case StudyElectronic Document Management Case Study
Electronic Document Management Case StudyDougWinning
 
UiPath Document Understanding Framework: A Crash Course
UiPath Document Understanding Framework: A Crash CourseUiPath Document Understanding Framework: A Crash Course
UiPath Document Understanding Framework: A Crash CourseUiPathCommunity
 
Oracle data integrator training from hyderabad
Oracle data integrator training from hyderabadOracle data integrator training from hyderabad
Oracle data integrator training from hyderabadFuturePoint Technologies
 
Aiim Seminar - SharePoint Crossroads May 23 - Bending but Not Breaking - Spea...
Aiim Seminar - SharePoint Crossroads May 23 - Bending but Not Breaking - Spea...Aiim Seminar - SharePoint Crossroads May 23 - Bending but Not Breaking - Spea...
Aiim Seminar - SharePoint Crossroads May 23 - Bending but Not Breaking - Spea...Bill England
 
Building Workflow Applications Through the Web
Building Workflow Applications Through the WebBuilding Workflow Applications Through the Web
Building Workflow Applications Through the WebT. Kim Nguyen
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Introduction to Windows Workflow Foundation
Introduction to Windows Workflow FoundationIntroduction to Windows Workflow Foundation
Introduction to Windows Workflow FoundationAndrei Oros
 
Scaling PHP Applications with Zend Platform
Scaling PHP Applications with Zend PlatformScaling PHP Applications with Zend Platform
Scaling PHP Applications with Zend PlatformShahar Evron
 
Case Study: Experiences Using IBM Rational Method Composer to Deliver a BPM I...
Case Study: Experiences Using IBM Rational Method Composer to Deliver a BPM I...Case Study: Experiences Using IBM Rational Method Composer to Deliver a BPM I...
Case Study: Experiences Using IBM Rational Method Composer to Deliver a BPM I...ghodgkinson
 

Similar to Developing Workflows: Key Lessons (20)

Activity Management, SaaS, Cloud Computing
Activity Management, SaaS, Cloud ComputingActivity Management, SaaS, Cloud Computing
Activity Management, SaaS, Cloud Computing
 
Task Complexity Metrics - Ben Colborn
Task Complexity Metrics - Ben ColbornTask Complexity Metrics - Ben Colborn
Task Complexity Metrics - Ben Colborn
 
Practical automation for beginners
Practical automation for beginnersPractical automation for beginners
Practical automation for beginners
 
Microsoft Office SharePoint Server 2007 - Overview
Microsoft Office SharePoint Server 2007 - OverviewMicrosoft Office SharePoint Server 2007 - Overview
Microsoft Office SharePoint Server 2007 - Overview
 
SharePoint 2013 Dev Features
SharePoint 2013 Dev FeaturesSharePoint 2013 Dev Features
SharePoint 2013 Dev Features
 
Electronic Document Management Case Study
Electronic Document Management Case StudyElectronic Document Management Case Study
Electronic Document Management Case Study
 
UiPath Document Understanding Framework: A Crash Course
UiPath Document Understanding Framework: A Crash CourseUiPath Document Understanding Framework: A Crash Course
UiPath Document Understanding Framework: A Crash Course
 
Oracle data integrator odi training
Oracle data integrator odi trainingOracle data integrator odi training
Oracle data integrator odi training
 
Oracle data integrator training from hyderabad
Oracle data integrator training from hyderabadOracle data integrator training from hyderabad
Oracle data integrator training from hyderabad
 
Aiim Seminar - SharePoint Crossroads May 23 - Bending but Not Breaking - Spea...
Aiim Seminar - SharePoint Crossroads May 23 - Bending but Not Breaking - Spea...Aiim Seminar - SharePoint Crossroads May 23 - Bending but Not Breaking - Spea...
Aiim Seminar - SharePoint Crossroads May 23 - Bending but Not Breaking - Spea...
 
Building Workflow Applications Through the Web
Building Workflow Applications Through the WebBuilding Workflow Applications Through the Web
Building Workflow Applications Through the Web
 
PRUEXX - It's coming
PRUEXX - It's comingPRUEXX - It's coming
PRUEXX - It's coming
 
Presentation
PresentationPresentation
Presentation
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Resume_Bhabani_Prasad_Mohanty
Resume_Bhabani_Prasad_MohantyResume_Bhabani_Prasad_Mohanty
Resume_Bhabani_Prasad_Mohanty
 
Introduction to Windows Workflow Foundation
Introduction to Windows Workflow FoundationIntroduction to Windows Workflow Foundation
Introduction to Windows Workflow Foundation
 
Scaling PHP Applications with Zend Platform
Scaling PHP Applications with Zend PlatformScaling PHP Applications with Zend Platform
Scaling PHP Applications with Zend Platform
 
Hands-on Microsoft Flow
Hands-on Microsoft FlowHands-on Microsoft Flow
Hands-on Microsoft Flow
 
Desktop integration & ECM
Desktop integration & ECMDesktop integration & ECM
Desktop integration & ECM
 
Case Study: Experiences Using IBM Rational Method Composer to Deliver a BPM I...
Case Study: Experiences Using IBM Rational Method Composer to Deliver a BPM I...Case Study: Experiences Using IBM Rational Method Composer to Deliver a BPM I...
Case Study: Experiences Using IBM Rational Method Composer to Deliver a BPM I...
 

Recently uploaded

My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 

Recently uploaded (20)

My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 

Developing Workflows: Key Lessons

  • 1. Developing Workflows: Things I’ve learnt along the way Jackie Pollock j.pollock@kainos.com
  • 2. 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
  • 3. Overview Defining a Workflow Designing Workflows Considerations while developing Long term maintenance 3
  • 4. 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
  • 5. Workflow Engine Products Windows Workflow Foundation (WF) K2 BlackPearl SharePoint K2 BlackPoint 5
  • 6. Workflow GUI Products Custom ASP.NET sites WinForm Applications InfoPath Forms SharePoint Lists 6
  • 7. Designing Workflows Thought Processes Pen & paper Visio Process Flow Keep flow generic Finishing workflow cleanly Sleeping processes 7
  • 8. Designing Workflows Data Storage Application database Process fields Process database Design Patterns Independent Sequential Interdependent/Networked 8
  • 10. Designing Processes - Interdependent 10
  • 11. 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
  • 12. 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
  • 13.
  • 14. Use next stage variable insteadUse flags to block off functionality 13
  • 15. Goto within stage - Initial Setup 14
  • 16. Goto within stage- After goto fires 15
  • 17. Developing Workflows Returning to Previous Stages Resetting values If statements without else statements 16
  • 18. 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
  • 19. 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
  • 20. Thanks for listeningAny Questions? 19
  • 21. Developing Workflows: Things I’ve learnt along the way Jackie Pollock j.pollock@kainos.com

Editor's Notes

  1. Kainos HQ Belfast: Other locations- Dublin, London, PolandECM- Document management- paperless offices, workflow processesAlso mention nwtug- Alan Bradley
  2. A workflow management system is a computer system that manages and defines a series of tasks within an organisation to produce a final outcome or outcomes…At each stage in the workflow, one individual or group is responsible for a specific task. Once the task is complete, the workflow software ensures that the individuals responsible for the next task are notified and receive the data they need to execute their stage of the process. Workflow management systems also automate redundant tasks and ensure uncompleted tasks are followed up.
  3. Independent/Pooledwhere each component of the work is completed independent of each other component and no component has a specific dependency on any other component. An example would be where staff are serving at a counter - Raoul can serve a customer in his queue without waiting for Jamie to serve a customer in his queue.Sequentialwhere each component of the work is dependent on the preceding component. In this case the preceding component controls the advancement of the workflow through subsequent components. An example would be on a production line - Betty cannot affix the radiator cap to the Model T Ford until Veronica has put the radiator in place.Interdependent/Networkedwhere each component of the work is dependent on one or a number of other components being completed. In this case the preceding components control the workflow through subsequent components. An example would be a project team - Sarah must wait for several tasks to be completed by Kevin and George before she can execute her task.
  4. Sequentialwhere each component of the work is dependent on the preceding component. In this case the preceding component controls the advancement of the workflow through subsequent components. An example would be on a production line - Betty cannot affix the radiator cap to the Model T Ford until Veronica has put the radiator in place.Interdependent/Networkedwhere each component of the work is dependent on one or a number of other components being completed. In this case the preceding components control the workflow through subsequent components. An example would be a project team - Sarah must wait for several tasks to be completed by Kevin and George before she can execute her task.
  5. Interdependent/Networkedwhere each component of the work is dependent on one or a number of other components being completed. In this case the preceding components control the workflow through subsequent components. An example would be a project team - Sarah must wait for several tasks to be completed by Kevin and George before she can execute her task.