integration server
What is an integration server?
An integration server is a type of computer server that facilitates the interaction between different operating systems (OSes), services and applications across an enterprise IT environment. With the aid of an integration server, these components can communicate with each other, regardless of their underlying platform or architecture.
The enterprise integration server serves as an intermediate, or middleware, server to eliminate compatibility and interoperability issues, if any, between different platforms and architectures. An enterprise integration server may include prepackaged, customized and legacy applications.
Integration server architectures
An integration server can have one of two architectures.
1. Hub-and-spoke model
In the hub-and-spoke model, all applications connect through a central server. The integration server manages all communication, data translation and process interactions between connected OSes and applications in the network. When a new application or OS connects with the network, the integration server automatically integrates it with other systems.
The hub-and-spoke model is ideal for companies with limited IT resources and only a few systems handling a moderate transaction volume.
2. Network-centric bus model
In the network-centric bus model, also known as the message-bus model, all nodes are linked in a series along a common backbone. All communication between interconnected operating systems and applications travels along this backbone to the integration server. The server is responsible for handling various tasks, such as data transformation, translation and routing to the receiving nodes. The network-centric bus model is suitable for large companies that have dozens or even hundreds of systems handling heavy transaction volumes.
How an integration server works
The foundation of an integration server is a message transport system: An integration server manages a group of message flows assigned to an integration node. The integration node isolates message flows in various integration servers by ensuring that they run as unique processes, or run in separate address spaces.
By setting up multiple integration servers, it is possible to isolate message flows that handle sensitive data, such as security information, from non-sensitive message flows. Each group of additional integration servers should be assigned a unique name within the integration node. Then one or more message flows should be assigned and deployed to each integration server.
It's important to note that the integration node's working mode can affect the number of integration servers that can be used by the network.
Initially, each integration server starts as a separate OS process. The word separate here is important, since this is what ensures that a set of deployed message flows have an isolated runtime environment. These message flows are assigned to and run in different thread pools whose size can be specified by specifying the number of additional instances in each message flow.
An integration server process is also referred to as a data flow engine (DFE). The DFE has a one-to-one relationship with the named integration server and is created as an operating system process.
Integration server standards and providers
Integration server applications are built to follow standards, such as these:
- Extensible Markup Language (XML)
- Hypertext Transfer Protocol (HTTP)
- Java Message Service (JMS)
- Simple Object Access Protocol
- Lightweight Directory Access Protocol
Some of the leading integration server providers include the following:
- Vitria BusinessWare: Integration platform built for complex business processes with broad capabilities for application integration with business process management and business-to-business integration;
- TIBCO: On-premises application integration product that links applications within an organization with its cloud services; and
- webMethods: Provides open, standards-based integration for interoperability between custom, packaged and mainframe applications and databases, both on-premises and in the cloud.
Enterprise application integration and integration server
Enterprise application integration (EAI) is an approach to link isolated information and components on the enterprise network in order to improve visibility, transparency and data-sharing; eliminate fragmented information silos; align various business processes; and improve operational efficiency. To achieve these goals, various methodologies, technologies and services are used as part of the EAI ecosystem.
There are multiple approaches to building EAI tools. One is to integrate several applications via a shared database. Another approach is to use service-oriented architecture, either via point-to-point integration or with a middleware tool called an enterprise service bus (ESB).
The ESB method involves an integration server that acts as a central mediator, broker or services manager through which all integrated services communicate. It translates or transforms message data -- for instance, XML to JSON and JMS to HTTP. Special adapters enable applications to communicate with the integration server.
The integration server also manages the following:
- message processing, enhancement and routing
- transactions
- process choreography
- security