Backgrounds
BPMN
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
Wikipedia - Business Process Model and Notation (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
BPEL
BPEL (Business Process Execution Language)
Service choreography and service orchestration
Business process modeling (BPM)
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
Camel’s Message Model
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
- Type:
Exchange
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
Goals
Store data in the message header and in the properties of the exchange. Retrieve data from header and properties to build the reply message
iPaaS
Enterprise Integration Platform as a Service
What is iPaaS?
什么是 iPaaS ?
MuleSoft 这样说 What is iPaaS?
Dell 这样说 What is iPaaS?
Informatica 这样说 What is iPaaS?
iPaaS vs ESB
iPaaS vs ESB: Understanding the Difference
iPaaS Replace ESB
When Does iPaaS Finally Get To Replace Enterprise Service Bus?
Products
Gartner 在2017年关于 iPaaS 的魔力象限
Oracle Integration Cloud Service
My Researches
记录在使用 SAP Cloud Platform Integration 产品过程中总结下来的经验和模式。
Message Mapping
这一篇介绍 Message Mapping 基本原理和如何应用自定义函数处理复杂的一对多,多对一的映射逻辑。
SAP Cloud Platform Integration - Message Mapping
Content Enricher
这一篇总结了使用 MultiCast + Request-Reply + Join + Gather 来构建 Content Enricher 模式,以解决和弥补内置 Content Enricher 功能的不足。
SAP Cloud Platform Integration - Content Enricher
Comments