jBPM5 Community Training - Module 2.5: BPM For Developers
1.
jBPM5 Community Training
Sponsored by Plugtree
2. Module 2.5: BPM For Developers
jBPM5 Community Training
version: 1.0-SNAPSHOT
Release Date: 01/28/2011
Under The Creative Common License
3. Module 2.5: BPM For Developers
jBPM5 Community Training Course by
Mauricio "Salaboy" Salatino is licensed
under a Creative Commons Attribution
3.0 Unported License.
Based on a work at salaboy.wordpress.
com.
Permissions beyond the scope of this
license may be available at http:
//salaboy.wordpress.com/.
4. Agenda
What is Business Process Management?
Business Process != Workflow
Main Stages
BPM Systems
Companies Ecosystems
How does BPM affect my job?
5. What does Process mean for us?
Process:
Set of ordered actions that tends to transform an
input to a desired output
6. What does Business mean for us?
Business
Relative to a domain, company or a scoped
scenario, where certain rules and actions needs
to be applied to achieve a goal.
7. What does Business Goal mean for us?
Business Goal
Objective to be satisfied inside the business scope
that gives to the company a profit/benefit in
some way.
10. Business Process Management
Business Process Management
Obviously when we have multiple Business Processes we
need to manage them!
History
Main Stages
11. Business Process Management History
Business Process Management History
Was born more than 30 years ago
Focused on improve how companies work
Workflows, person to person interactions come first
A business related approach come later with high level
concepts
The BPM discipline was created to provide a framework
where business processes can be discovered and
improved over the years
12. Business Process Management Stages
Business Process Management Stages
Stage #1: Discover (Quality)
Stage #2: Formalize (Quality)
Stage #3: Implement (Technical) -> Devs!!!
Stage #4: Runtime (Technical) -> Devs!!!
Stage #5: Monitor (Decision Making)
Stage #6: Improve (Quality)
14. BPM Systems
BPM Systems
You can do the whole process with a pen and paper
Or you can use a Business Process Management
System
It gives you a set of tools to implement each stage
Developers needs to understand the key features of a
Process Engine
Developers needs to understand the tooling that the
BPMS provides them
15. BPM Systems == Systems Integration?
BPM Systems == System Integration?
BPM Systems helps us unifying the way that companies
do the work
BPM Systems facilitate the integration and interaction
between systems and human actors
BPM Systems helps and encourage the reutilization of
components
BPM Systems facilitate the changes that needs to be
done over the business processes to optimize how the
company is working
Let's see some company ecosystems to understand how a
BPM System can help
16. Companies Ecosystems
Companies Ecosystems
We will see some scenarios that we can find and how
people feels about them
Common issues and good things about them
How BPM fits in these ecosystems and what changes
helps people to feel better
19. Developer Perspective
Developer Mental Stages
Stage #0: Great I'm in a new Project!
Stage #1: Depression
Stage #2: Where is all the documentation?
Stage #3: no docs? -> create a documentation project
Stage #4: SOA + ESBs?, let's try with that
Stage #5: Let's do it all over again (don't reuse
nothing)
21. Developer Perspective
SOA + ESB Style for Developers
Encourage reutilization
Standardize and hide communications between different
applications
If the services are well documented, decoupled and well
focused everything is easy
You need to know how to expose legacy apps if they don't
have an exposed interface
The ESB will deal with different protocols of
communication
22. Developer Perspective (Common Issues)
Common Issues
Developers says that they like re-utilization
We all prefer new or known technologies
We all prefer using and researching new stuff
We don't like to review or modify old code
99.999999% of the times companies have legacy systems
DEAL WITH IT!
25. End User Perspective
End User Mental Stages
Stage #1: Negation
Stage #2: The new system doesn't do the job
Stage #3: Why should I do the same task in different
systems? Why should I have two different users? Really,
but I need to put my password twice?
Stage #4: Ok I will try it, but it will take me more time
to understand it
26. New/Trainee End User Perspective
New/Trainee End User Mental Stages
Stage #1: OMG! I will do my best to understand how to
work here
Stage #2: I don't really understand what to do next for
a particular situation
Stage #3: I still don't understand what I'm doing and
Why I'm doing this
Stage #4: I need a new Job
27. New/Trainee End User Perspective
End Users Life Cycle
We end up with a group of expert end users that knows
how to solve business situations with the current
systems
They are afraid of new systems
New End Users can't do their tasks because they need to
learn too much things
Training new end users takes too much time
28. How BPM fits for Everyone
How BPM fits for everyone
Business processes represent
The steps required to do a specific work
Great for End Users, New End Users and
Managers
How to coordinate systems (Systems Integration) and
human interactions
Great for developers and re-utilization
End Users will end up with an Unified User Interface
Developers will have an unified way of doing new
developments/adding functionality
30. How BPM fits for End Users
How BPM fits for End Users
Task Lists Oriented User Interfaces
It's easy to know what tasks have each role inside the
company
Just one way of doing things, unified, in the same place
The task lists guide you through your tasks
31. How BPM fits for End Users (Task List)
How BPM fits for End Users (Task List)
32. How BPM fits for End Users (Task Form)
How BPM fits for End Users (Task Form)
33. How BPM fits for Developers
How BPM fits for Developer
Easy to maintain
Decoupled from the application code
Encourage re-utilization of the communication
mechanisms and connectors
Changes in the business processes don't affect the
application neither the UI
34. How BPM fits for Developers
How BPM fits for Developer
35. How BPM fits for Developers
How BPM fits for Developes
Developers will be in charge of
Create connectors for different applications (or use
the ESB and configure each new system)
Define the technical aspects for each task type
interface
Configure the environment to run the business
processes
Maintain the business process definition technical
assets
36. Conclusions
Conclusions
BPM is a discipline that can improve how a company is
working dramatically
BPM Systems are tools that everyone in the software
industry must know
BPM Systems can be used for integration but offers more
than that.
37. Related Links
You can find more information, examples, tutorials and
more in:
Salaboy Blog
http://salaboy.wordpress.com
Esteban Blog
http://ilesteban.wordpress.com
Plug Tree Blog
http://www.plugtree.com