BPM for developers
-
Upload
alexander-samarin -
Category
Technology
-
view
1.669 -
download
1
description
Transcript of BPM for developers
![Page 1: BPM for developers](https://reader033.fdocuments.in/reader033/viewer/2022061203/547cf7dcb47959b1508b47a7/html5/thumbnails/1.jpg)
BPM for developers:improve agility of implementations
A. Samarin
![Page 2: BPM for developers](https://reader033.fdocuments.in/reader033/viewer/2022061203/547cf7dcb47959b1508b47a7/html5/thumbnails/2.jpg)
BPM for developers, v1 2
• An enterprise architect
– From a programmer to a systems architect
– Experience in scientific, international, governmental and industry environments: CERN, ISO, IOC, BUPA, Groupe Mutuel, State of Geneva, EDQM, Bund ISB, AfDB
– Have created systems which work without me
– Practical adviser for design and implementation of enterprise architectures and solutions
• My main “tool” is a blend of:
– BPM, SOA, EA, ECM, governance and strategy
• Blog http://improving-bpm-systems.blogspot.com/
• PhD in computer graphics and 2 published books
© A. Samarin 2013
About me
![Page 3: BPM for developers](https://reader033.fdocuments.in/reader033/viewer/2022061203/547cf7dcb47959b1508b47a7/html5/thumbnails/3.jpg)
BPM for developers, v1 3
• BPM
• Process
• Coordination
• Automation
• Implementation model
© A. Samarin 2013
Agenda
![Page 4: BPM for developers](https://reader033.fdocuments.in/reader033/viewer/2022061203/547cf7dcb47959b1508b47a7/html5/thumbnails/4.jpg)
BPM for developers, v1© A. Samarin 2013 4
Business Process Management (BPM) is a tool for improving business
performance
The theoryBPM as a discipline (use processes to manage an enterprise)
The toolsBPM as software:BPM suite (BPMS)
The practiceAny process-centric enterprise has some BPM, but how can we industrialise this BPM?
A natural evolution of BPR, Lean, ISO 9001, 6 Sigma
The aim is to have a single description of business processes:- model in design- input for project planning and execution- executable program for coordination of work- documentation for all staff members- basis for management decisions
An enterprise portfolio of the business processes as well as the practices and tools for governing the design, execution and evolution of this portfolio
A multitude of tools “handle” processes
![Page 5: BPM for developers](https://reader033.fdocuments.in/reader033/viewer/2022061203/547cf7dcb47959b1508b47a7/html5/thumbnails/5.jpg)
BPM for developers, v1 5
• BPM as a management discipline about how to use processes to manage the enterprise
– to model, automate, execute, control, measure and optimise the flow of business activities that span the enterprise’s systems, employees, customers and partners within and beyond the enterprise boundaries
• Model means to make known, to describe or to communicate a plan of how to carry out future actions to obtain a desired outcome
– To plan
– To simulate
© A. Samarin 2013
BPM as a management discipline (1)
![Page 6: BPM for developers](https://reader033.fdocuments.in/reader033/viewer/2022061203/547cf7dcb47959b1508b47a7/html5/thumbnails/6.jpg)
BPM for developers, v1 6
• Automate means to instrument the proposed plan of work by some existing or new tools
– To instrument
• Optimise means to introduce formally justified changes
– To reflect
– To refactor
– To improve
• Those 6 BPM functions are applied iteratively and continuously
© A. Samarin 2013
BPM as a management discipline (2)
![Page 7: BPM for developers](https://reader033.fdocuments.in/reader033/viewer/2022061203/547cf7dcb47959b1508b47a7/html5/thumbnails/7.jpg)
BPM for developers, v1 7
• An enterprise is a complex, dynamic and adaptive system; one can improve it by:
– measuring
– observing
– deciding
– implementing
Feedback improvement loop
1
2
3
4
© A. Samarin 2013
![Page 8: BPM for developers](https://reader033.fdocuments.in/reader033/viewer/2022061203/547cf7dcb47959b1508b47a7/html5/thumbnails/8.jpg)
BPM for developers, v1 8
Process improvement disciplines
© A. Samarin 2013
![Page 9: BPM for developers](https://reader033.fdocuments.in/reader033/viewer/2022061203/547cf7dcb47959b1508b47a7/html5/thumbnails/9.jpg)
BPM for developers, v1 9
Process-oriented view of an enterprise (before BPM)
© A. Samarin 2013
![Page 10: BPM for developers](https://reader033.fdocuments.in/reader033/viewer/2022061203/547cf7dcb47959b1508b47a7/html5/thumbnails/10.jpg)
BPM for developers, v1 10
Process-oriented view of an enterprise (with BPM)
© A. Samarin 2013
![Page 11: BPM for developers](https://reader033.fdocuments.in/reader033/viewer/2022061203/547cf7dcb47959b1508b47a7/html5/thumbnails/11.jpg)
BPM for developers, v1© A. Samarin 2013 11
Process-oriented view of an enterprise (with BPM)
![Page 12: BPM for developers](https://reader033.fdocuments.in/reader033/viewer/2022061203/547cf7dcb47959b1508b47a7/html5/thumbnails/12.jpg)
BPM for developers, v1 12© A. Samarin 2013
BPM suite components
![Page 13: BPM for developers](https://reader033.fdocuments.in/reader033/viewer/2022061203/547cf7dcb47959b1508b47a7/html5/thumbnails/13.jpg)
BPM for developers, v1 13© A. Samarin 2013
BPM suite components (extended list)
![Page 14: BPM for developers](https://reader033.fdocuments.in/reader033/viewer/2022061203/547cf7dcb47959b1508b47a7/html5/thumbnails/14.jpg)
BPM for developers, v1© A. Samarin 2013 14
Be ready for common (mis-)understanding
![Page 15: BPM for developers](https://reader033.fdocuments.in/reader033/viewer/2022061203/547cf7dcb47959b1508b47a7/html5/thumbnails/15.jpg)
BPM for developers, v1 15
• The business is driven by events
• For each event there is a process to be executed
• Process coordinates execution of activities
• The execution is carried out in accordance with business rules
© A. Samarin 2013
Process anatomy (1)
![Page 16: BPM for developers](https://reader033.fdocuments.in/reader033/viewer/2022061203/547cf7dcb47959b1508b47a7/html5/thumbnails/16.jpg)
BPM for developers, v1 16
• Each business activity operates with some business objects
• A group of staff member (business role) is responsible for the execution of each activity
• The execution of business processes produces audit trails
• Audit trails (which are very detailed) are also used for the calculation of Key Performance Indicators (KPIs)
© A. Samarin 2013
Process anatomy (2)
![Page 17: BPM for developers](https://reader033.fdocuments.in/reader033/viewer/2022061203/547cf7dcb47959b1508b47a7/html5/thumbnails/17.jpg)
BPM for developers, v1 17
• Process template – a formal description of the process
• Process instance – enactment of a process template
• Different variations of relationship between template and instance
© A. Samarin 2013
Process templates and instances
Templates and their versions
Instances
![Page 18: BPM for developers](https://reader033.fdocuments.in/reader033/viewer/2022061203/547cf7dcb47959b1508b47a7/html5/thumbnails/18.jpg)
BPM for developers, v1
• Business artefacts
– Events
– Processes
– Activities
– Roles
– Rules
– Data & documents
– Audit trails
– Performance indicators
– Services
• Organisational and technical artefacts …
© A. Samarin 2013 18
Different enterprise artefacts
KPIs
Processes Services
Events
Roles Data structures
Documents
Rules
Human “workflow”
Audit trails
![Page 19: BPM for developers](https://reader033.fdocuments.in/reader033/viewer/2022061203/547cf7dcb47959b1508b47a7/html5/thumbnails/19.jpg)
BPM for developers, v1 19
• Who (roles) is doing What (business objects), When (coordination of activities), Why (business rules), How (business activities) and with Which Results (performance indicators)
• Make these relationships explicit and executable
What you model is what you execute
© A. Samarin 2013
Business processes are complex relationships between artefacts
![Page 20: BPM for developers](https://reader033.fdocuments.in/reader033/viewer/2022061203/547cf7dcb47959b1508b47a7/html5/thumbnails/20.jpg)
BPM for developers, v1 20
• Services are considered to be explicitly-defined and operationally-independent units of functionality
– Formal description
– Operational independence
– Invisible implementation
© A. Samarin 2013
Services and processes (1)
![Page 21: BPM for developers](https://reader033.fdocuments.in/reader033/viewer/2022061203/547cf7dcb47959b1508b47a7/html5/thumbnails/21.jpg)
BPM for developers, v1 21
• Processes are considered to be an explicitly-defined coordination of services to create a particular outcome
– Formal description
– Coordination
© A. Samarin 2013
Services and processes (2)
![Page 22: BPM for developers](https://reader033.fdocuments.in/reader033/viewer/2022061203/547cf7dcb47959b1508b47a7/html5/thumbnails/22.jpg)
BPM for developers, v1
• BPM, by revealing the artefacts and the relationships between them, provides the necessary context (e.g. granularity) for the definition of services
• SOA provides recommendationsfor the implementation, execution and governance of services
© A. Samarin 2013 22
Synergy between BPM and SOA (1) – structuring relationships
![Page 23: BPM for developers](https://reader033.fdocuments.in/reader033/viewer/2022061203/547cf7dcb47959b1508b47a7/html5/thumbnails/23.jpg)
BPM for developers, v1
• Each enterprise is a complex, dynamic, unique and “fractal” relationship between services and processes
– All processes are services
– Some operations of a service can be implemented as a process
– A process includes servicesin its implementation
© A. Samarin 2013 23
Synergy between BPM and SOA (2) – structuring relationships
service process
![Page 24: BPM for developers](https://reader033.fdocuments.in/reader033/viewer/2022061203/547cf7dcb47959b1508b47a7/html5/thumbnails/24.jpg)
BPM for developers, v1 24
• Interdependencies between activities must be managed
• Coordination can be:
– implicit vs explicit
– human vs automated
– centralised vs decentralised
– imperative vs declarative
– strong vs weak
• May change over the time (e.g. a crisis situation)
© A. Samarin 2013
Coordination between activities
![Page 25: BPM for developers](https://reader033.fdocuments.in/reader033/viewer/2022061203/547cf7dcb47959b1508b47a7/html5/thumbnails/25.jpg)
BPM for developers, v1 25
• Controls on the same page
• Flow of pages
• Integration of services
• Human workflow
• Business-to-business
© A. Samarin 2013
Different scales of coordination
![Page 26: BPM for developers](https://reader033.fdocuments.in/reader033/viewer/2022061203/547cf7dcb47959b1508b47a7/html5/thumbnails/26.jpg)
BPM for developers, v1 26
• It allows planning and simulation of the behaviour of a service to evaluate its performance. If that service uses other services, then the demand-side needs for those services can also be evaluated.
• It can be made to be executable, thus guiding how work is done.
• It allows control that the actual behaviour of the service matches its intended behaviour, thus pro-actively detecting potential problematic situations.
• It allows the measurement within a service of the dynamics of different characteristics, e.g. valuing, costing, risk, etc.
© A. Samarin 2013
The explicit coordination brings several advantages
![Page 27: BPM for developers](https://reader033.fdocuments.in/reader033/viewer/2022061203/547cf7dcb47959b1508b47a7/html5/thumbnails/27.jpg)
BPM for developers, v1 27
• template-based (or token-based)
• event-based (or business-events-based)
• data-based (or business-objects-based)
• rule-based (or business-rules-based)
• role-based (or business-roles-based)
• intelligence-based (or business-intelligence-based)
• goal-based (also known as purpose-based)
• performance-based
• community-based
• etc.
© A. Samarin 2013
Explicit coordination techniques
![Page 28: BPM for developers](https://reader033.fdocuments.in/reader033/viewer/2022061203/547cf7dcb47959b1508b47a7/html5/thumbnails/28.jpg)
BPM for developers, v1
• Template-based
– static connection of “flow objects” or sequence relationship (predecessor and successor)
– similar to a river (upstream and downstream)
– process template is an abstract description of a process
© A. Samarin 2013 28
Coordination logic in BPMN (1)
![Page 29: BPM for developers](https://reader033.fdocuments.in/reader033/viewer/2022061203/547cf7dcb47959b1508b47a7/html5/thumbnails/29.jpg)
BPM for developers, v1
• Token-based
– token marks elements which active at a particular time
– dynamic connection of “flow objects” or synchronisation (wait for) / chronologic relationship
– similar to a “flock” of ducks (split and join)
– several tokens may co-exist
© A. Samarin 2013 29
Coordination logic in BPMN (2)Click for animationClick for animation
![Page 30: BPM for developers](https://reader033.fdocuments.in/reader033/viewer/2022061203/547cf7dcb47959b1508b47a7/html5/thumbnails/30.jpg)
BPM for developers, v1
• Event-based
– non-structured synchronisation between tokens
– exchange of messages (signals, errors, etc.)
– exception handling
© A. Samarin 2013 30
Coordination logic in BPMN (3)Click for animation
Wait for (catch) a message event
Generate (throw) a message event
![Page 31: BPM for developers](https://reader033.fdocuments.in/reader033/viewer/2022061203/547cf7dcb47959b1508b47a7/html5/thumbnails/31.jpg)
BPM for developers, v1
• Instance-based
– process instance is an enactment of a process template
– each instance may have different behaviour of tokens
– process instances may be coordinated via event-based coordination logic
© A. Samarin 2013 31
Coordination logic in BPMN (4)Click for animation
![Page 32: BPM for developers](https://reader033.fdocuments.in/reader033/viewer/2022061203/547cf7dcb47959b1508b47a7/html5/thumbnails/32.jpg)
BPM for developers, v1 32
• Mixing human and automated activities
• Each human activity may be surrounded by two automated activities (pre-processing and post-processing)
© A. Samarin 2013
Look at automation within processes
![Page 33: BPM for developers](https://reader033.fdocuments.in/reader033/viewer/2022061203/547cf7dcb47959b1508b47a7/html5/thumbnails/33.jpg)
BPM for developers, v1 33
• Explicit versioning of everything (another topic for developers)
• Keep automation outside the process template (as they have different speed of changes)
• Use an interpretive language for automation scripting (no need to recompile)
• Use recovery loops (preserve instance, carry out quick corrections in “this” instance)
• Smart error handling (bypass some levels of support)
© A. Samarin 2013
Speed of developing automation is the primary factor of agility
![Page 34: BPM for developers](https://reader033.fdocuments.in/reader033/viewer/2022061203/547cf7dcb47959b1508b47a7/html5/thumbnails/34.jpg)
BPM for developers, v1 34
• Combine static and dynamic programming languages
• Use the strong typing, introspection, no exotic features
• Use external (to process engine) universal program (robot) to execute automation scripts (scalability)
• Assign automated activities to robots (potential use of specialised robots)
• Multiple robots (load balancing)
• Process engine queues jobs for robots
• Proactive monitoring of resource availability (better to wait a little than recover from an error)
• Idempotency
© A. Samarin 2013
More tricks
![Page 35: BPM for developers](https://reader033.fdocuments.in/reader033/viewer/2022061203/547cf7dcb47959b1508b47a7/html5/thumbnails/35.jpg)
BPM for developers, v1 35© A. Samarin 2013
Java and Jython codes examples
![Page 36: BPM for developers](https://reader033.fdocuments.in/reader033/viewer/2022061203/547cf7dcb47959b1508b47a7/html5/thumbnails/36.jpg)
36© A. Samarin 2013 BPM for developers, v1
Multi-layer implementation model (1)
![Page 37: BPM for developers](https://reader033.fdocuments.in/reader033/viewer/2022061203/547cf7dcb47959b1508b47a7/html5/thumbnails/37.jpg)
37
• The business data layer comprises many pieces of information – names, dates, files, etc.
• The business objects layer comprises the many objects specific to a particular business, e.g. a business partner, a product, etc.
• The business routines (or regulations) layer comprises the actions which must be carried out on the business objects to perform the business activities.
• The business execution layer carries out the business processes.
• The business monitoring layer analyses the execution of the business process.
• The business intelligence layer implements enterprise-wide planning, performance evaluation and control actions applied to the business processes.
© A. Samarin 2013 BPM for developers, v1
Multi-layer implementation model (2)
![Page 38: BPM for developers](https://reader033.fdocuments.in/reader033/viewer/2022061203/547cf7dcb47959b1508b47a7/html5/thumbnails/38.jpg)
38© A. Samarin 2013 BPM for developers, v1
Multi-layer implementation model (3)
B C
A
A - SharePoint
B – in-house development
C – SAP ECC6
![Page 39: BPM for developers](https://reader033.fdocuments.in/reader033/viewer/2022061203/547cf7dcb47959b1508b47a7/html5/thumbnails/39.jpg)
39© A. Samarin 2013 BPM for developers, v1
Multi-layer implementation model (4)
SAP BW/BI, etc.
NetWeaver PI, SolMan, etc.
NetWeaver BPM, etc.NetWeaver BRM, Java, ECC6, etc.
XSD, Java, .Net
SQL Server, Oracle, etc.
![Page 40: BPM for developers](https://reader033.fdocuments.in/reader033/viewer/2022061203/547cf7dcb47959b1508b47a7/html5/thumbnails/40.jpg)
40
virtualisation infrastructure
PI infrastructure
Business
intelligence
Business
monitoring
Business
execution
Business
routinesBusiness
objectsBusiness
data
Repository
Repository
Repository
Portal or workplace
© A. Samarin 2013 BPM for developers, v1
Multi-layer implementation model (5)
![Page 41: BPM for developers](https://reader033.fdocuments.in/reader033/viewer/2022061203/547cf7dcb47959b1508b47a7/html5/thumbnails/41.jpg)
BPM for developers, v1 41
Services are externalised artefacts
© A. Samarin 2013
![Page 42: BPM for developers](https://reader033.fdocuments.in/reader033/viewer/2022061203/547cf7dcb47959b1508b47a7/html5/thumbnails/42.jpg)
BPM for developers, v1 42
• Business-specific
– unique business-managed processes and non-reusable IT-managed services
• Business-generic
– reusable business-managed processes and reusable IT-managed services
• Technology-generic
– advanced utilities available as IT-managed services (these services act like an insulation layer)
• Technology-specific
– typical basic utilities available as IT-managed services
Categories of services (1)
© A. Samarin 2013
![Page 43: BPM for developers](https://reader033.fdocuments.in/reader033/viewer/2022061203/547cf7dcb47959b1508b47a7/html5/thumbnails/43.jpg)
BPM for developers, v1 43
Categories of services (2)
© A. Samarin 2013
![Page 44: BPM for developers](https://reader033.fdocuments.in/reader033/viewer/2022061203/547cf7dcb47959b1508b47a7/html5/thumbnails/44.jpg)
BPM for developers, v1 44
• Service design -> access to BPM artefacts
• Service implementation –> wrapping BPM artefacts
• Transitioning beyond Basic Services -> processes
• Execution and deployment -> messaging over ESB
• Governance -> architecting flexible BPM systems
Some SOA topics and BPM
© A. Samarin 2013
![Page 45: BPM for developers](https://reader033.fdocuments.in/reader033/viewer/2022061203/547cf7dcb47959b1508b47a7/html5/thumbnails/45.jpg)
45
As is
1st iteration
2nd iteration
3rd iteration
To be
Application A Application CApplication B
Application A Application CApplication B
Application A Application CApplication B
Application A Application CApplication B
Application A Application CApplication B
© A. Samarin 2013 BPM for developers, v1
Incremental introduction of executable processes
![Page 46: BPM for developers](https://reader033.fdocuments.in/reader033/viewer/2022061203/547cf7dcb47959b1508b47a7/html5/thumbnails/46.jpg)
46
Enterprisedata warehouse
Risk-related rules, logic and knowledge
Risk-related events, reports, alerts, indicators, etc.
Enterprise document management and collaboration
© A. Samarin 2013 BPM for developers, v1
Integration with BI and enterprise risk management
![Page 47: BPM for developers](https://reader033.fdocuments.in/reader033/viewer/2022061203/547cf7dcb47959b1508b47a7/html5/thumbnails/47.jpg)
BPM for developers, v1 47© A. Samarin 2013
Thanks
![Page 48: BPM for developers](https://reader033.fdocuments.in/reader033/viewer/2022061203/547cf7dcb47959b1508b47a7/html5/thumbnails/48.jpg)
BPM for developers, v1 48© A. Samarin 2013
Variant 1 – classic (one template is used for many instances)
![Page 49: BPM for developers](https://reader033.fdocuments.in/reader033/viewer/2022061203/547cf7dcb47959b1508b47a7/html5/thumbnails/49.jpg)
BPM for developers, v1 49© A. Samarin 2013
Variant 2 – tailoring (a template is adjusted for each instance)
![Page 50: BPM for developers](https://reader033.fdocuments.in/reader033/viewer/2022061203/547cf7dcb47959b1508b47a7/html5/thumbnails/50.jpg)
BPM for developers, v1 50© A. Samarin 2013
Variant 3 – reactive (no initial template and next activity is selected based on
the current situation)
![Page 51: BPM for developers](https://reader033.fdocuments.in/reader033/viewer/2022061203/547cf7dcb47959b1508b47a7/html5/thumbnails/51.jpg)
BPM for developers, v1 51© A. Samarin 2013
Variant 4 – proactive planning (similar to variant 3, but a few next activities [fragment] are executed together)
![Page 52: BPM for developers](https://reader033.fdocuments.in/reader033/viewer/2022061203/547cf7dcb47959b1508b47a7/html5/thumbnails/52.jpg)
BPM for developers, v1 52© A. Samarin 2013
Variant 5 – scenario-based (similar to variant 4, but a few scenarios are
considered)
Process fragments are used; those may be patterns