Insight into Enterprise Application Integration

Andrei Klubnikin
4 min readDec 2, 2016

Gartner claims 75% of companies use at least 6 different apps to streamline their day-to-day activities and reduce operating costs. These applications tackle various problems, including customer data and supply chain management, invoice generation, accounting and product replenishment. Each department typically employs just one or two business apps and does not have access to the data stored on other databases. What if your sales manager urgently needs information that can’t be found in JIRA and CRM? How many times did you lose an important client simply because the manufacturing department wasn’t aware of the increase in product demand? Perhaps it’s time to stop operating at a loss and turn to Enterprise Application Integration.

Enterprise Application Integration: definition, methods and best practices

In a nutshell, Enterprise Application Integration (or EAI) is the process of integrating business applications and hardware systems used by a company. Its primary goal is to automate business processes, increase employee productivity and improve interdepartmental cooperation.

Since EAI solutions ensure seamless data flow between apps and databases, they are related to middleware — that is, pieces of software connecting apps that often use different tech stack (including OS, programming language, network management protocols and database architecture) or are no longer supported by the original vendor.

Application integration can be leveraged at 4 levels:

· Data level. The process involves the extraction and transformation of data which is stored in one database and transferring it to another one. This type of integration is carried out with the help of ETL (extract, transform, load) tools. The approach works best for businesses that want to integrate two apps (for example, CRM and quoting software). Since the infrastructure components are connected with a single link, things will get messy once you add new apps to the system;

· App interface level. The process involves three stages, including the extraction of data from each application through the existing interface, its transformation into a format understandable to a larger audience and transferring the data to the target app. This approach is often called “hub” or “message broker integration”. Its main disadvantage is security and performance risks (a flawed hub can easily bring the whole system down). App integration can also be leveraged at the user interface level (aka re-facing). The standardized browser-based app interface doesn’t have a steep learning curve, so the interval between EAI and putting the upgraded system to work is close to zero. Since the codebase of existing apps is not modified, however, the solution affects software scalability;

· Method level (ESB).By defining methods which can be shared between several applications, vendors can develop common business logic for the enterprise software ecosystem. The approach requires significant modification of existing apps and is therefore time-consuming. Besides Corba, Java RMI and other method EAI technologies, developers often turn to Web services to distribute functions between apps. The method level integration is suitable for large enterprises with complex IT infrastructures. One of the largest insurance companies in Eastern Europe, for example, had plans to enter new markets and needed to automate insurance policy issuing. Database integration enabled the company to issue policies based on local insurance regulations (which differ from market to market), generate reports and send the data to the head office. Another example comes from Aeroflot, Russia’s leading aircraft operator. The company developed a comprehensive crew notification system which retrieves data on flight and employee schedules and is seamlessly integrated with the corporate call center platform. For a long time method (or enterprise bus) integration was considered the preferred approach to EAI. However, things might change with the introduction of microservices.

Microservices: the evolution of enterprise application integration

The growing complexity of enterprise applications and high software maintenance costs push more companies towards microservices — highly flexible computer programs which treat each business function as a separate process and often use different tech stack. The benefits of the microservices approach include increased software scalability, easier upgrades and heavy focus on business capabilities.

Enterprise Integration, a tech blog that covers EAI concepts, trends and tools, has recently published a curious article suggesting that synchronous and asynchronous microservices is the future of application integration.

Here’s their example. An insurance company considers automating policy cost calculation and needs an app for it. The new application will use the data on previous customer contracts (CRM app). The synchronous microservices approach involves the separation of the quotation microsrvice which embeds contract data in a local database. According to the asynchronous approach, there should be two microservises which handle contract data retrieval and quote calculation, respectively.

When it comes to enterprise application integration, there can be no one-size-fits-all solution. Although large companies like eBay, PayPal and Gilt Groupe made a successful transition to microservices, small businesses may not have the required expertise and resources to maintain a complex microservices system.

Also, you should not dismiss the emerging technology trends. The Internet of Things, Bring Your Own Device and proliferation of low-code and no-code software development solutions pose new challenges and threats for businesses and their customers. If you consider integrating business applications, make sure to consult an experienced vendor who follows the latest EAI trends and best practices.

--

--

Andrei Klubnikin

Content marketer. Tech blogger. Passionate reader. Yoga amateur. Cat dad.