BPM

From Wiki RB4
Revision as of 08:23, 19 October 2009 by UweHeuer (talk | contribs) (→‎JPDL)

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. Each business process is enacted by a single organization. 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. 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

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 costs
    • Improve productivity
    • Improve resource utilization
    • Better quality/services
  • 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 of Implementations

  • massive effects on daily work (early participation of users)
  • 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
  • Design and Analysis
    • 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)
  • Activity
  • Activity Implementation

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 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>

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


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 is defined using a simple, very readable, XML dialect called jPDL, and may be edited and visualised graphically using an eclipse plugin.

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

  1. My own diagrams file:///C:\Uwes\Documents\Software_Development\Modeling\BusinessProcessModeling\BPM.vsd
  2. Good Overview http://www.onjava.com/pub/a/onjava/2005/07/20/businessprocessmodeling.html
  3. Good overview to standard faults http://www.bcs.org/server.php?show=ConWebDoc.3385
  4. Visio Shapes for BPMN http://www.workflowresearch.de/Downloads/BPMN/
  5. Generelle Seite zu Prozessmodellierung http://kurze-prozesse.de/