Building Advanced Workflows with ColdSpring

Comments

There aren't any comments for this presentation.

Add Comment

Comments have been closed.

Transcript

no image

Slide Text

Slide Notes


Slide 1


Building Advanced Workflows with ColdSpring
Dan Skaggs
http://dan.skaggsfamily.ws
dan.skaggs@web-meister.com

no notes exist for this slide

Slide 2


Agenda
Hopefully what you expected

no notes exist for this slide

Slide 3


Agenda
Two Faces of ColdSpring
Dependency Injection
Application Configuration
The Objective
Document management system
The Execution
Using ColdSpring to define workflows
The Inevitable
Managing workflow changes

no notes exist for this slide

Slide 4


About Me
You know you want to know

no notes exist for this slide

Slide 5


About Me
President, Web-Meister Designs
ColdFusion developer since 2000
Started with CF 4.5 and Spectra 1.0
Independent consultant since 2006
Contributing Partner to Model-Glue framework
Amateur (Ham) Radio enthusiast
Avid shooter

no notes exist for this slide

Slide 6


Two Faces of ColdSpring

no notes exist for this slide

Slide 7


Dependency Injection

no notes exist for this slide

Slide 8


Dependency Injection

no notes exist for this slide

Slide 9


Application Configuration

Configuration, yes, but also is dependency injection since each object needs those string values to do its job.

Slide 10


Application Configuration

This is a simple example. Others would include environment-specific application settings,

Slide 11


The Objective
What We’re Trying to Solve

no notes exist for this slide

Slide 12


Document Management System
Simple document actions (upload, review, approve, reject, archive, unarchive)
Overly encapsulated to illustrate concept
No MVC frameworks - “controller” type functions in CFM files
Fake document database using WDDX written to the filesystem
Why? So you can extract and run/play

no notes exist for this slide

Slide 13


Business Process
A user uploads a new document into the system
A user reviews the document and rejects or approves it
A user may archive a document when it is no longer needed
A user must be able to “unarchive” a document that is mistakenly moved to the archive
Log entries must be created on each action

no notes exist for this slide

Slide 14


The Execution
How We’re Going to Solve It

no notes exist for this slide

Slide 15


Workflow Object Concept
Initialized by ColdSpring with metadata and an array of steps
No logic contained in the workflow bean
Create as many workflow beans as necessary in ColdSpring
Can contain n steps

no notes exist for this slide

Slide 16


Individual Workflow Config

no notes exist for this slide

Slide 17


Workflow Processor Concept
Initialized by ColdSpring with a structure of Workflow objects
process( workflowName ) used to initiate a workflow
process() method only executes if the workflowName attribute matches a pre-defined workflow
Maintains an array of result messages that each step in a workflow can add to for an audit trail of the entire workflow

no notes exist for this slide

Slide 18


Workflow Processor Config

no notes exist for this slide

Slide 19


Application Walk-Through and Demo

no notes exist for this slide

Slide 20


The Inevitable
Handling Workflow Changes

no notes exist for this slide

Slide 21


The boss wants what?
Changes to workflows are an eventuality
If workflow steps already exist, simply change the XML configuration and reinitialize the app
New workflow actions are plugged into the XML configuration once coded and tested
Let's see how we'd add an email notification to selected steps of the workflow

no notes exist for this slide

Slide 22


Workflow Change Demo

no notes exist for this slide

Slide 23


Benefits and Drawbacks
Benefits

no notes exist for this slide

Slide 24


Questions / Comments?
No Tomatoes, Please

no notes exist for this slide

Slide 25


Ask Me Later
Email: dan.skaggs@web-meister.com
Blog: http://dan.skaggsfamily.ws
Twitter: dskaggs
GTalk: dan.skaggs@web-meister.com

no notes exist for this slide