Posts

What is the difference between SOA, ESB and EAI Architecture?

Image
These ideas fit one inside another like a set of Russian stacking dolls. The outside doll is Enterprise Application Integration or EAI.  This is the use of software and computer systems architectural principles to integrate enterprise-grade applications . These principles include the use of service-oriented architecture to facilitate the flow of information between systems. The middle doll is Service Oriented Architecture or SOA, which is  a style of software design where services are provided over a network . The idea behind SOA is that a service user need not know the details about how the service is provided.  REST  and  SOAP  are two ways to implement a SOA. The inner doll is an  Enterprise Service Bus  or ESB, which is one of several ways to implement SOA. An ESB typically employs a  publish-subscribe pattern . In EAI, managing the flow of information between systems in ways that ensure information delivery is secure, robus...

Integration Patterns

Integration Styles File Transfer Have each application produce files of shared data for others to consume, and consume files that others have produced. Remote Procedure Invocation Remote procedure invocation (RPI) is a pioneer in the integration space and was the go-to manner to implement an API in the early days of computing. In this approach, a provider will allow an external process to make requests into a closed application. The external caller has the specifications to make the request and an expectation on what the response will be, but all the logic takes place using a black-box approach. In this case, RPI is the mechanism used to perform some action against the target system. Consider an application which handles financial transactions. Prior to the popularity of RESTful APIs, the vendor may offer an API to allow transactions to be posted from an external source. This API was implemented using RPI. The developer would write a program to gather the require...