What is Plumber?

Plumber is a project to ease system integration and to keep track of the processing state of the system call. The project consists of 2 components, namely the "Business Process State Tracking" (BPST) engine and the "Observatory Service Broker" (OSB).

BPST offer a service to register a number of sets of "rules", that guides the execution of a business process and keep track of the state of each "rule". OSB is a loosely coupled architectures that allow message exchange among computer systems. It is implemented by following the Java Business Integration (JBI) specification. They can be used as individual but when they work together, it becomes our realization of the SOA pattern.

Below is the architectural view of OSB. And noticed about the role of the following components that will be shown in the diagram.

Processing Agent (PA)

OSB is a service bus that allows components to plug into it, so that components can call each other. We called those components Processing Agents. Processing Agent may provide services for other Processing Agent, and it may also call the services provided by other Processing Agent. Processing Agent calls service through the OSB by the JBI interface.

Normalized Message Router (NMR)

It is the backbone of the service bus, which take care of the message exchange between the different processing agent for service call invocation. It can handle the different message exchange pattern defined in the JBI specification, and is also working with BPST for process tracking.

Service Assembly (SA)

Service Assembly is a configuration file that contains which service the Processing Agent is provided.