jBPM5 Community Training - Module 2.5: BPM For Developers
jBPM5 Community Training Sponsored by Plugtree
Module 2.5: BPM For Developers jBPM5 Community Training version: 1.0-SNAPSHOT Release Date: 01/28/2011 Under The Creative Common License
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/.
AgendaWhat is Business Process Management? Business Process != Workflow Main Stages BPM SystemsCompanies EcosystemsHow does BPM affect my job?
What does Process mean for us?Process:Set of ordered actions that tends to transform an input to a desired output
What does Business mean for us?Business Relative to a domain, company or a scopedscenario, where certain rules and actions needs to be applied to achieve a goal.
What does Business Goal mean for us?Business GoalObjective to be satisfied inside the business scope that gives to the company a profit/benefit in some way.
Business ProcessBusiness ProcessSequence of actions performed by humans and systems to achieve a business goal.
Business Process ManagementBusiness Process Management Obviously when we have multiple Business Processes we need to manage them! History Main Stages
Business Process Management HistoryBusiness 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
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)
BPM SystemsBPM 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
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 Lets see some company ecosystems to understand how a BPM System can help
Companies EcosystemsCompanies 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
Companies EcosystemsEcosystem #1: Common Situation for developers
Developer PerspectiveDeveloper Mental Stages Stage #0: Great Im 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?, lets try with that Stage #5: Lets do it all over again (dont reuse nothing)
Companies Ecosystems (Devs)Ecosystem #2: SOA + ESB Style
Developer PerspectiveSOA + 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 dont have an exposed interface The ESB will deal with different protocols of communication
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 dont like to review or modify old code 99.999999% of the times companies have legacy systems DEAL WITH IT!
Companies Ecosystems (End Users)End Users Perspective of the Ecosystem
End User PerspectiveEnd User Mental Stages Stage #1: Negation Stage #2: The new system doesnt 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
New/Trainee End User PerspectiveNew/Trainee End User Mental Stages Stage #1: OMG! I will do my best to understand how to work here Stage #2: I dont really understand what to do next for a particular situation Stage #3: I still dont understand what Im doing and Why Im doing this Stage #4: I need a new Job
New/Trainee End User PerspectiveEnd 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 cant do their tasks because they need to learn too much things Training new end users takes too much time
How BPM fits for EveryoneHow 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
How BPM fits for End UsersHow BPM fits for End Users Task Lists Oriented User Interfaces Its 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
How BPM fits for End Users (Task List)How BPM fits for End Users (Task List)
How BPM fits for End Users (Task Form)How BPM fits for End Users (Task Form)
How BPM fits for DevelopersHow 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 dont affect the application neither the UI
How BPM fits for DevelopersHow BPM fits for Developer
How BPM fits for DevelopersHow 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
ConclusionsConclusions 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.
Related LinksYou can find more information, examples, tutorials andmore in: Salaboy Blog http://salaboy.wordpress.com Esteban Blog http://ilesteban.wordpress.com Plug Tree Blog http://www.plugtree.com