Comparison between EAI and SOA

Source: Internet
Author: User

I,Overview

With the surging Internet and e-commerce, the rapid changes in the external world require enterprises to respond quickly. To make a rapid response, the internal information flow of enterprises is inseparable. In the process of enterprise informatization, various application software has been developed to meet different application requirements of different departments. These software basically meets the application needs of enterprises. But from the perspective of the enterprise as a whole, to achieve smooth internal information flow, different application software must be integrated for implementation.

This article will discuss the two most common Enterprise Integration solutions: EAI (Enterprise Application Integration, Enterprise Application Integration) and SOA (service-oriented architecture, service-oriented architecture) to explore and compare.

II,EAI (Enterprise ApplicationIntegration, Enterprise Application Integration)

EAI is a technology that integrates business application systems based on heterogeneous platforms. EAI uses middleware as a binder to connect various business-related heterogeneous systems, applications, and data sources inside and outside the enterprise, so as to meet the information sharing needs between internal application systems of the enterprise. EAI can be implemented in the following aspects:

User Interface Integration: This layer is user-oriented integration. It emphasizes that information from multiple information sources should be presented to users on a customizable and personalized interface.

Application Integration:Application Integration is based on the application system and provides business integration for the two application systems through middleware.

Data integration:Data integration is the foundation of application integration. Before integration, data must be identified and compiled into a directory. In addition, the metadata model must be determined. After completing these three steps, data can be distributed and shared among multiple database systems.

The structure of EAI can be divided into the following two forms:

1.Hub/spoke(Hub Architecture)

The Hub/Spoke architecture is a star topology consisting of a Hub in the center of the system and multiple adapters connected to the Hub and application system. The adapter converts and transfers data formats between the Hub and the application system. The adapter converts the data information of the application system into a format that can be recognized by the Hub and transmits it to the Hub. The Hub manages message routing through the message proxy, and pass the data messages from the application system to the adapter of the target application system according to the required routing rules.

The Hub in this architecture makes the system easy to manage, but not easy to expand. When the demand suddenly increases, the system capacity can only be increased through hardware upgrades. However, the improvement of this upgrade method is limited and is insufficient to cope with more and more integration requirements. Therefore, the concept of the federal Hub/spoke architecture emerged. Under this architecture, multiple hubs emerged, each Hub has local metadata and is synchronized with global metadata. Changes to global rules and metadata are automatically transmitted to other hubs.

Figure 2.1 hub/spoke structure of EAI

2.BUS(Bus Architecture)

The EAI bus architecture can be seen as a transformation of the Hub/Spoke star architecture. Extract the message transmission function of the Star Hub into a message transmission bus, and tie the adapter and integrated engine to the platform where the application system is located. The application uses an adapter to convert the Message format and send the message to the bus. These messages flow through the message bus to the adapter of the subscribed application system. The adapter then translates the message into a format that meets the requirements of its application system.

Because the adapter and integration engine are bundled on the application platform, the bus architecture improves the integration complexity while providing better scalability than the hub/spoke layout. However, the two architectures are essentially point-to-point integration modes between application systems.

Figure 2.2 EAI-bus structure

III,SOA (service-oriented architecture, Service-oriented architecture)

SOA (a service-oriented architecture) abstracts different functional units of various system applications in an enterprise into services and associates them with well-defined interfaces and contracts. An interface is defined in a neutral way. It is independent of the hardware platform, operating system, and programming language that implements the service. This allows services built in various systems to interact in a unified and universal manner.

The SOA architecture consists of several core components, including service bus, Service Catalog, portal, and process management. These core components work together to support service deployment, operation, and management monitoring.

LService Bus

The SOA integration platform integrates the functions of business application systems and other systems through the Enterprise Service Bus (ESB). The business application systems and public functions are published as standard services on the bus, isolates technical implementation details of service consumers and service providers to achieve loose coupling.

All service calls are performed through the service bus. However, the service bus does not store service information. during runtime, it dynamically uses the query interface of the Service Catalog, query service routing information, service access permissions, service priority, service version information, and so on to determine how to call the service.

LService Catalog

The Service Catalog is mainly used to save the necessary information required for service calling during running. It requires fast service addressing. The information stored in the service catalog includes the service routing information, service access permissions, service priority, and service version information.

LProcess Management

Business processes are organized through process design tools to implement enterprise business processes, generate executable business process services, and deploy and execute them in the Business Process Engine. Business Process Management provides both business management and monitoring tools to monitor and manage business processes.

LPortal

The portal serves as the presentation layer in the SOA architecture. A portal can combine services, processes, and application modules to form a composite application. The portal is also the runtime environment of the presentation Service (Portlets.

The portal also integrates the service usage and process (in the form of process service) through the service bus.

IV,EAIComparison with SOA

We compare EAI with SOA in the following aspects:

1.Essence of Integration

In essence, EAI is based on message integration. Therefore, all components of EAI, such as the adapter and hub, have the function of message conversion and message routing, during the operation of EAI, a single application system only cares about the input and output of some messages connected to EAI, and does not care about specific business processing. All business processing is completed within the application system.

The essence of SOA integration is to orchestrate business functions based on business processes after service, and to integrate functional services in a true sense. Of course, SOA-based integration also includes message-based integration functions.

Therefore, the SOA-based integration method is more suitable than the EAI integration method.

2.Granularity of integration objects

SOA and EAI look at the existing information resources of enterprises from different perspectives, and sort, classify, and integrate existing resources of enterprises based on this.

EAI looks at existing information resources of an enterprise at the application system level. Each application system of an enterprise is considered as an integration unit. The goal of EAI is, by providing an intermediate communication mode for these existing application systems, these applications can share and exchange data to revitalize these independent "information islands ".

SOA looks at the existing information resources of an enterprise from the perspective of providing services and using services. In this way, the same resource may be either a service provider or a service user. In this way, an application module may only provide one service, therefore, it is encapsulated into a service. It may also be further divided because it provides multiple services.

Obviously, the size of SOA integration processing is smaller than that of EAI, so SOA is more flexible than EAI.

3.Standardization

While implementing enterprise information integration, SOA also achieves high reusability of enterprise services. Therefore, in the SOA architecture, any interface, communication, or Protocol follows the corresponding international standards, such as the standard description language (WSDL), the Discovery Protocol (UDDI), and the Message Protocol (SOAP).

EAI mostly uses private standards developed in EAI enterprises based on specific implementation. The advantage of private standards is that it can reduce the pressure of the EAI Middle Layer on the message translation conversion of the application system to a certain extent, and improve the overall performance of EAI with fewer application systems, however, private standards also cause a loss to the flexibility and scalability of enterprise integration. When an enterprise introduces a new application system or an application system needs to be significantly modified, the adaptability of the entire EAI bus will become very fragile.

In the case of few systems or early stages of system integration, the use of private-standard EAI will reflect the advantages of high performance and low implementation difficulty, but in the process of increasing enterprise scale, the difficulty of integration of new systems will increase exponentially because of the inconsistent standards.

4.Flexible scalability

Thanks to the good support of standards, SOA has flexible scalability. To achieve the same scalability, the cost of EAI is much higher than that of SOA. For example, two systems, A and B, need to be integrated. Assume that they complete integration through SOA to form the solution, and use EAI to complete integration to form the B solution. When the integration requirements change, A and B systems need to be integrated with another business logic. For Solution A, you only need to open the previous business logic and re-combine the business logic. For solution B, the process is much more troublesome. We need to re-design and develop the adapter and message processing logic in the middle layer to meet the requirements of the new business logic based on the new business logic.

5.Reusability

The investment in enterprise informatization construction can be divided into two parts: maintenance of existing application systems and development costs of new systems. In the SOA architecture, each service is completely isolated and exposed on the SOA integration platform through the Service Catalog. When the newly integrated application system needs to use an existing service, it can be used directly without re-development. That is, services can be reused. You only need to use service functions that are not currently available for development, so that you can make full use of existing resources and reduce costs.

Enterprise Application Integration is implemented through EAI. The developed adapter, middle-layer message conversion rules, and message routing are tightly coupled. When the new system needs to be integrated in EAI, some of the existing adapters, intermediate layer message conversion rules, and message routing must be transformed and cannot be reused.

Therefore, the use of SOA is more economical than the use of EAI, especially in complex scenarios where multiple application systems are integrated with each other, the advantages of SOA will be more prominent.

6.SOAComparison Between Enterprise Service Bus and EAI Bus

ESB (Enterprise Service Bus) is an infrastructure used to promote SOA. Technically, Enterprise Service Bus is a main line for message transmission, it is used to provide protocol conversion, message format conversion, address routing, receive and distribute messages sent from various service requests connected to the ESB and the system.

In the EAI Bus architecture, EAI provides a central message trunk line-Bus for message transmission. The application uses the adapter to publish messages to the bus, and the messages flow to the subscribed application through the bus. The bus is the channel for message flow. The adapter bound to the application software is responsible for converting the format of the message between the application and the format conforming to the bus standard. Therefore, for each application, it is necessary to independently develop adapters that meet the application's own requirements. These adapters cannot be used because they do not comply with unified standards. When a major change is made to an application system, there may be situations where the adapter transformation cannot meet the system change requirements, at this time, it may even involve modifications to the BUS, which brings great risks to the enterprise information architecture.

From the difference between the ESB and the EAI bus working process, we can see that the ESB undertakes more responsibilities and does more things, it provides comprehensive and robust underlying support for the integrated system. The EAI bus is just a message distributor. Functional Differences lead to a huge difference in the cost of system integration into the bus.

7.Cost of system integration

Although the private form BUS in SOA architecture is similar to that in EAI, the cost of integration varies greatly in system integration. This cost difference is mainly caused by two factors. First, the private form bus provides many product-Suite built-in functions, these functions need to be developed based on business needs. Second, many private-form buses use proprietary message formats to improve performance, but increase the system development cost. Enterprise Service Bus is based on standards. The main advantage of the Enterprise Service Bus is that it costs less than the hub architecture and the product suite-based bus architecture, and it is completely industry-standardized.

Another key difference is that ESB has a decentralized and distributed architecture and is more lightweight to install, while EAI follows the HUB-SPOKE architecture, therefore, when enterprises integrate multiple large application systems, the hardware costs are high and the scalability is relatively weak ..

V,Summary

So far, software systems formed by traditional programming technologies are rigid. That is to say, once the development is completed and put into operation, it is fixed and cannot be adjusted or changed during use. In the business process, the software system strictly follows the preset objectives, and each function module is executed in a specific order. If the data structure or business logic changes, all relevant software modules, data sources, and messages must be modified one by one. Even with EAI middleware, this situation has not been fundamentally changed.

Today, SOA has changed this situation. SOA adopts the Service Request method, which makes the software system a huge step towards "flexibility. Unlike traditional software systems, SOA only limits the information required by services and puts forward service requests, but does not limit the modules that provide services. Replacing EAI with SOA architecture to achieve enterprise application integration is an inevitable trend. Only Enterprise Application Integration Through SOA architecture can achieve rapid and stable development of enterprise information.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.