| 
  • If you are citizen of an European Union member nation, you may not use this service unless you are at least 16 years old.

  • Stop wasting time looking for files and revisions. Connect your Gmail, DriveDropbox, and Slack accounts and in less than 2 minutes, Dokkio will automatically organize all your file attachments. Learn more and claim your free account.

View
 

SOA

Page history last edited by PBworks 13 years, 1 month ago

 

Enterprise Application Integration (EAI)

A typical organisation's application systems are effectively independent ‘islands’ of data and functionality. The timely exchange of information between them can be essential to a business process. Such information exchange currently uses various different techniques, but these are inflexible and complex to manage. When a business process changes, or a new application system is introduced, very considerable work is required to ensure that an appropriate level of information exchange is maintained.

The technique of Enterprise Application Integration (EAI) puts in place a hub (shown in yellow in the diagram) which allows application systems to communicate with one another via a central intelligent piece of software.

 

The hub can translate a message from one format to another, and can accept a message via one technology and pass it on using another, all adding flexibility.

The EAI approach allows us to limit the impact of a change in information exchange requirements, or of the introduction of a new application system.

It must be noted, however, that the program code of all the relevant application systems is effectively co-operating to automate business processes. Each application has to be programmed to send the messages, and has to send a separate message for every other system it wants to exchange information with. EAI has no ability to automate a business process: it does not know that when we update a customer in our CRM system we must update that customer both in the website and financial systems. Each individual application system has to code for these business processes explicitly. If the business process changes, a lot of code changes may still have to be made.

 

Service-Oriented Architecture (SOA)

Many organisations wish to establish a framework for the cost-effective, agile development of their IT systems to meet their changing business processes. As discussed above, EAI techniques can go some way towards this. However, we really need a framework that can understand our business processes and then automate them using pieces of application system software (services) that are re-usable by any process. Such a framework is called a service-oriented architecture (SOA).

The key components of an SOA are:

·         A method of defining the flow of a business process and of specifying the service that is to be invoked at each stage (process choreography)

·         A method of ensuring effective communication, both between process and service and between individual services (Enterprise Service Bus)

·         A directory of re-usable services. These may be prepared from scratch, but they are more likely to provide existing application code with a standard input/output interface (an example would be a standard web services interface)

·         The ability to put in place a ‘trigger’ within an application system that causes a process or service to be invoked automatically when a specific event occurs. An example is shown in the following diagram, where the addition of a customer to the CRM system would automatically cause the organisation-specific ‘new customer’ process to be invoked, this in turn automatically invoking ‘add customer’ services exposed by the operational, support and financial systems.

 

Enterprise Service Bus (ESB)

An ESB is a central intelligent piece of software responsible for:

 

·         Managing the directory of services: knowing what services are available, and, for each one, what application system provides it, and what technology and message format to use to invoke it

·         Locating and invoking a requested service, and returning a response to the requestor:

·         Invoking the appropriate process or service when a defined event occurs

Like an EAI hub, it can convert from one message format to another and cope with multiple message technologies (protocols). However, EAI simply allows two application systems to co-operate at run time in a technology independent way. An ESB provides loose coupling, where the business process neither knows nor cares where the service is located – it just asks the ESB for a named service and the ESB does the rest.

Comments (0)

You don't have permission to comment on this page.