BPM
Introduction
A business process consists of a set of activities that are performed in coordination in an organizational and technical environment. These activities jointly realize a business goal. Business process management includes concepts, methods and techniques to support design, administration, configuration, enactment and analysis of business processes. The interactions of a set of business processes are specified in a process choreography, indicating the absence of a central control. The processes communicate via messages. A workflow is the automation of (a part of) a business process, during which documents, information or tasks are passed, acording to a set of procedural rules. You should differentiate between a workflow management system from a workflow component e.g. SAP business workflow.
To define business processes you use basic building blocks:
- business objects e.g. invoice
- activities
- resources/participants e.g. humans
- triggers/events
- systems
- information
Activities
- atomic
- system activities, human interaction activities, manual activities (sheet Abstract Activity States)
Challenges of BPM
- Abstraction Level
- activity atomic on business process level, but not atomic on technical level (aggregation abstraction)
- details confusing on business process level, but neccessary on technical level
- process instances -> process model -> meta model (notation e.g. BPMN, Petri) (horizontal abstraction)
- vertical abstraction (information modelling, organization modelling, IT Landscape modelling, function modelling)
- Spanning of different business areas
- Integration of different systems and technologies
- no real time modeling (actual execution in different branches may differ from the impression of the model)
- change and control for the end user
Benefits
- Efficiency
- Reduce operational (process) costs
- Improve productivity
- Improve resource utilization
- Better quality/services
- bei guter Umsetzung geringere geistige Rüstzeiten (Einarbeitung in Vorgang)
- Control
- Compliance
- Impact of change
- Improve visibility
- Agility
- speed of change
- improve sharing
Metrics
- for efficiency
- Utilization, Capacity
- Throughput, Speed
- Quality, Exceptions
- for control
- organizational
- financial
- SLA failure rate
- rate-of-non-compliance
- for agility
- speed
Structure of a BPM solution
(sheet WfMC Reference Architecture)
- Analysis
- Graphische Modellierung (detail levels for elements or levels with technical elements, tasks, roles, decisions, escalations, control flow, rules, forms, events, business objects, ...)
- engineering and re-engineering between model and physical implementation
- Organizational modelling (user, position, roles, organizations, business rules (e.g. seperation of duties), substitute)
- Scalability
- Optimization
- Flexibility/Adaptability (handling of process changes, versioning, documentation)
- Autonomous/Embedded
- Service Repository
- Integration
- Reusability
- Data Handling (task data, block data (subprocess), workflow data, environment data, business objects)
- Escalation strategies
- Exception Handling
- Transaction Management
- Connectivity/System Integration (vordefinierte Adapter, ...)
- Security Handling
- Monitoring, reporting, analysis notifications
- Simulation
- Life-cycle management (Versioning, process repository)
- Support
Client Features
- User Interfaces (Web, Mobile, Mail, ...)
- input
- grouping and sorting(task, content, free columns)
- filter (criteria)
- overdues
- errors
- workitem information (state, creation time, priority, titel, ...)
- free or customized layouts
- personal customizations
- replacement persons
- searching
- attachments
- clipboard
- deposit
- drag & drop
- outbox
- started workflows
- executed workitems
- forwarded workitems
- reminder
Challenges/Obstacles
- massive effects on daily work (early participation of users)
- less human activities rise fear and defense reactions
- no creativity for the users
- complete modelling, otherwise no acceptance and workarounds
- translation high-level business processes to workflow model, that are executable IT representations
Procedures
- Strategy
- business reengineering or continous improvement
- Analysis and Design
- As-Is Analysis (bottom-up or top-down) or use of reference model
- Modeling
- Validation
- Simulation
- Verification
- Configuration
- Implementation
- Test
- Deployment
- Controlling
- Operation
- Monitoring
- Administration
- Maintenance
Roles
- Chief Process Officer
- Business Process Expert
- Process Participant
- Business Analyst and Designer: designes the process
- System Architect
- Developer
Levels of Abstraction
- Value Chain
- Business Functions (Operations, Marketing and Sales)
- Business Processes (Order Management)
- private (detailed) vs. public processes (only necessary activities to understand the process choreography)
- Activity
- Activity Implementation
Analysis
- Start
- How does the process start?
- What event triggers it?
- Is there more than one possible way it could start?
- Flow
- How does the process goes from X to Y?
- How do you know X is finished?
- Does X always ends in the same way?
- How does the processor of Y knows about Y?
- Are there circumstances that Z follows after X?
- Are there any exceptional states after X?
- Are there rules that govern the transition from X to Y?
- End
- What determines that the process is complete?
- Are there different end states signifying successful completion or failed or abandoned attempts?
Organizations
BPMI
In June of 2005, the Business Process Management Initiative (BPMI.org) and the Object Management Group™ (OMG™) announced the merger of their Business Process Management (BPM) activities to provide thought leadership and industry standards for this vital and growing industry. The combined group has named itself the Business Modeling & Integration (BMI) Domain Task Force (DTF).
OASIS
Die Organization for the Advancement of Structured Information Standards (OASIS) ist eine internationale, nicht-gewinnorientierte Organisation, die sich mit der Weiterentwicklung von E-Business und Web-Service Standards beschäftigt. Bekannte Standards sind OpenDocument und DocBook.
WfMC
Die Workflow-Management Coalition (WfMC) wurde 1993 gegründet und ist ein Verbund von mehr als 300 Herstellern, Nutzern, Beratern und Wissenschaftlern im Bereich des Workflow-Managements.
Standards
see http://www.onjava.com/pub/a/onjava/2005/07/20/businessprocessmodeling.html
Notations
Standard Elements
- Sequence
- Parallel split
- Synchronization
- Exclusive choice
- Simple merger (OR-join)
- Multiple choice
- Multiple merge
- Discriminator
- N out of M join
- Synchronizing merge
- Arbitrary circles
- ...
BPEL
The Business Process Execution Language (BPEL, WS-BPEL, BPEL4WS) ist eine XML-basierte Sprache zur Beschreibung von Geschäftsprozessen, deren einzelne Aktivitäten durch Webservices implementiert sind. BPEL Prozesse kommunizieren ausschließlich mit Webservices und nicht direkt mit dem Menschen. Der Standard wurd an OASIS zur Standardisierung übergeben. Aktuelles Release ist 2.0.
BPMN
EPK
- C:\Uwes\Documents\Software_Development\Modeling\Business Process Modeling\Scheer_Thomas_2005_WISU_EPK.pdf
- C:\Uwes\Documents\Software_Development\Modeling\Business Process Modeling\EPK.vsd
JPDL
jPDL defined by JBoss and part of JBoss BPM is an extensible XML-based process definition language, and is suitable for a range of problems, from defining web application page flow, to traditional workflow management, all the way up to orchestration of services in a SOA environment.
The jPDL suite is a download that contains all the jBPM components bundled in one easy download. The suite mainly contains:
- the jBPM core library: The core workflow and BPM functionality is packaged as a simple java library. This library includes a service to manage and execute processes in the jPDL database.
- the jPDL process designer: a eclipse plug-in
- jBPM console web application
- jBPM identity component
- jBPM Job Executor
The configuration has the form like the following example:
<pageflow-definition name="numberGuess">
<start-page name="displayGuess" view-id="/numberGuess.jsp">
<redirect/>
<transition name="guess" to="evaluateGuess">
<action expression="#{numberGuess.guess}" />
</transition>
</start-page>
<decision name="evaluateGuess" expression="#{numberGuess.correctGuess}">
<transition name="true" to="win"/>
<transition name="false" to="evaluateRemainingGuesses"/>
</decision>
<decision name="evaluateRemainingGuesses" expression="#{numberGuess.lastGuess}">
<transition name="true" to="lose"/>
<transition name="false" to="displayGuess"/>
</decision>
<page name="win" view-id="/win.jsp">
<redirect/>
<end-conversation />
</page>
<page name="lose" view-id="/lose.jsp">
<redirect/>
<end-conversation />
</page>
</pageflow-definition>
Resources
XPDL
XML Process Definition Language is a format standardized by WFMC to interchange Business Process Definitions between different workflow products like modeling tools or workflow engines.
Patterns
- http://www.workflowpatterns.com/
- C:/Uwes/Documents/BPM/WorkflowPatternsBPMActivities.pdf
BPM products
JBoss jBPM
[JBoss jBPM] is a business process management engine for any Java SE or EE environment. jBPM lets you represent a business process or user interaction as a graph of nodes representing wait states, decisions, tasks, web pages, etc. The graph can be defined using a simple, very readable, XML dialect called jPDL, and may be edited and visualised graphically using an eclipse plugin, but jPDL is for jBPM just another process language.
Installation
s. here
SunGard's Infinity (formely CARNOT)
SAP Business Workflow
Operational Experiences
- actual business blueprint, functional and technical specification
- missing tests (extrem value, massiv load, test coverage, exception handling, timing)
- missing test scenarios for repeated tests
- lack of automated tests
- compliance with the development and documentation guidelines
- exception handling
- failure of system interfaces or downtimes
- missing or incorrect data
- missing participants
- data changed beside the workflow
- locked data,
- restart enabling
- consequence of system changes (data, interfaces, organizations, authorization) vs. integration technologies
- error monitoring (error, waiting, ...)
- load by unneccesary workflows
- reorganization
Development Guidelines
- namen convention
- number range
- uml for modelling
- development test, integration tests
- mapping of business activity to technical activity
- implementation pattern (mail, restriction for web activities)
- sub workflows (encapsulation, reuse, ...)
- event queues
- logging
- event throwing and matching documentation
Resources
- My own diagrams file:///C:\Uwes\Documents\Software_Development\Modeling\BusinessProcessModeling\BPM.vsd
- Good Overview http://www.onjava.com/pub/a/onjava/2005/07/20/businessprocessmodeling.html
- Good overview to standard faults http://www.bcs.org/server.php?show=ConWebDoc.3385
- Visio Shapes for BPMN http://www.workflowresearch.de/Downloads/BPMN/
- Generelle Seite zu Prozessmodellierung http://kurze-prozesse.de/