Tiven Wang
Wang Tiven October 31, 2016
425 favorite favorites
bookmark bookmark
share share



A standard Business Process Model and Notation (BPMN) will provide businesses with the capability of understanding their internal business procedures in a graphical notation and will give organizations the ability to communicate these procedures in a standard manner. Furthermore, the graphical notation will facilitate the understanding of the performance collaborations and business transactions between the organizations. This will ensure that businesses will understand themselves and participants in their business and will enable organizations to adjust to new internal and B2B business circumstances quickly.

BPMN Tutorial: Get started with Process Modeling using BPMN

Catify BPMN Engine

The catify bpmn engine is based on Akka (http://akka.io/) and Neo4j (http://neo4j.com/) and is fully compatible to BPMN 2.0. It can handle millions of long running processes out of the box. Though not yet feature complete, it is easy to extend via different service provider interfaces.

You can easily integrate the engine into your infrastructure. Via the Integration SPI you can access it by the integration framework of your choice. Out of the box it comes with Apache Camel (http://camel.apache.org/) and therefore all of its strenghts.

List of BPMN 2.0 engines

List of BPMN 2.0 engines

Apache Camel

Apache Camel ™ is a versatile open-source integration framework based on known Enterprise Integration Patterns.

Enterprise Integration Patterns

Camel supports most of the Enterprise Integration Patterns from the excellent book by Gregor Hohpe and Bobby Woolf.

Download HCI-DS Agent

Data Services Agent

Camel’s Message Model


Image Camel Message

Fundamental entity containing the data being carried and routed in Camel

  • Messages have a body (a payload), headers, and optional attachments
  • Messages are uniquely identified with an identifier of type java.lang.String
  • Headers
    • Headers are values associated with the message Sender identifier, hints about content encoding, authentication information,…
    • Headers are name-value-pairs Name is a unique, case-insensitive string Value is of type java.lang.Object
  • Attachments
    • Optional – typically used for Web service and e-mail components
  • Body
    • Type: java.lang.Object -> any kind of content is allowed


Image Camel Message

The message’s container during routing

  • Provides support for various interaction types between systems, known as Message Exchange Patterns (MEP)
    • InOnly: a one-way message (e.g. JMS messaging)
    • InOut: a request-response message (e.g. HTTP-based transports)
  • Exchange ID: a unique ID that identifies the exchange
  • MEP
    • InOnly: exchange contains an “in message” only
    • InOut: exchange contains an “in message” and an “out message” containing the reply message for the caller
  • Exception: If an error occurs during runtime, the Exception field will be filled
  • Properties: Similar to message headers, but they last for the duration of the entire exchange; they contain global-level information; you can store and retrieve properties at any point during the lifetime of an exchange


Store data in the message header and in the properties of the exchange. Retrieve data from header and properties to build the reply message


Similar Posts

  • Cloud-Native Applications How to build cloud-native applications on a cloud platform.
  • SAP HANA Database SAP HANA is an in-memory, column-oriented, relational database management system developed and marketed by SAP SE. Its primary function as database server is to store and retrieve data as requested by the applications. In addition, it performs advanced analytics (predictive analytics, spatial data processing, text analytics, text search, streaming analytics, graph data processing) and includes ETL capabilities as well as an application server.
  • Serverless Architecture
  • Firebase - Hello world
  • Microservices
  • Cloud Architecture Patterns


comments powered by Disqus
Back to Top