- Introduction to Models of Intergration
- Point-to-Point Integration
- Publish-Subscribe Integration
- Harris Kern's Enterprise Computing Institute
Point-to-point integration (also known as one-to-one integration) is the simpler of the two integration models. Point-to-point integration is used when a sender has to send a message to a single receiver (that is, a 1:1 relationship). As an example, an organization may need to update a human resources database with information from an ERP system. In this model, the destination is a queue provided by the integration broker, in which the sender can place messages (a given message is placed in an individual queue).
The sequence in the point-to-point model is as follows:
The sender places a message in the queue.
The integration broker forwards the message to the appropriate receiver. (Before forwarding the message, the broker can also do additional processing such as transforming the message.)
The receiver receives the message and processes it as appropriate.
While adequate for simple integration, this model is quickly unmanageable for larger integration requirements because of the n(n-1) connections rule (also referred to as the n-squared problem). As an example, assume that four different systems have to be integrated. This means that the total number of connections can be up to 12 (a bi-directional connection counts as two connections). This rarely happens in practice, but it does illustrate how quickly this integration model can become unmanageable with even a small number of systems. Hence, this model should be adopted when the number of systems that need to be adopted is fairly small.
Figure 1 illustrates how fast the number of connections can grow.
Figure 1 The n(n-1) rule for point-to-point integration.
Another drawback of this model is that it's fairly fragile. By its nature, point-to-point integration is used for synchronous communications. If the receiver is down, the entire system can fail (or at the very least, hang) because of the tight coupling between the sender and the receiver.