Integration - Transports, Messaging, and ESB
This presentation is part of the Services and Connectors Self-Study Course.
Transcript
Integration transports are used to provide connectivity to an underlying data source or message source in a consistent way. Guaranteed message delivery is a key feature of products that support messaging and is usually achieved by having the calling application wait until the message has been successfully placed in a message queue (usually implemented as a database table in a relational database). This is often used as the backbone of an SOA's Enterprise Service Bus. Even though these messaging transports are inherently asynchronous, the messages can be implemented synchronously.
A synchronous transport means the calling application is blocked until the called application has completed its processing.
An asynchronous transport means the calling application can continue processing while the called application is in the middle of its processing.
Some popular integration transports are:
- HTTP, which stands for Hypertext Transfer Protocol, is the means by which one communicates using web browsers. Its transmission is inherently synchronous.
- SMTP or Simple Mail Transport Protocol is also a synchronous transmission. It is usually used to support email messages.
- JMS (Java Messaging Service) and WebSphere MessageQueue support asynchronous and synchronous messaging. That way, you get synchronous processing if you need it, but with better guaranteed message delivery than over HTTP.
PRPC supports all these transports as part of the protocols used in PRPC services and connectors.
There are two types of messaging:
- Point-to-point: one sender of the message and one receiver (or consumer)
- Publish-subscribe: one sender (or publisher) of the message with multiple receivers (or subscribers)