Enterprise application integration is the process of linking application silos together in order to simplify and automate business processes to the greatest extent possible, while at the same time avoiding having to make sweeping changes to the existing applications or data structures.
In the current landscape, applications, business processes and data may reside on premise, in the cloud or provided by external systems/providers on their data centers. Integrating these IT assets efficiently and effectively is crucial for businesses to succeed.
Many types of business software such as supply chain management applications, ERP systems, CRM applications for managing customers, business intelligence applications, payroll and human resources systems typically cannot communicate with one another in order to share data or business rules. This lack of communication leads to inefficiencies, wherein identical data are stored in multiple locations, or straightforward processes are unable to be automated.
If integration is applied without following a structured EAI approach, point-to-point connections grow across an organization. Dependencies are added on an impromptu basis, resulting in a complex structure that is difficult to maintain.
There are two major topologies hub-and-spoke, and bus. Each has its own advantages and disadvantages. In the hub-and-spoke model, the EAI system is at the center (the hub), and interacts with the applications via the spokes. In the bus model, the EAI system is the bus (or is implemented as a resident module in an already existing message bus or message-oriented middleware).
There are two major topologies hub-and-spoke, and Bus. Each has its own advantages and disadvantages. In the hub-and-spoke model, the EAI system is at the center (the hub), and interacts with the applications via the spokes. In the bus model, the EAI system is the bus (or is implemented as a resident module in an already existing message bus or message-oriented middleware).
Hub/Spoke architecture uses a centralized broker (Hub) and adapters (Spoke) which connect applications to Hub. A Spoke is responsible for connecting and translating the data to a format which the Hub understands, and vice versa. A Hub, brokers all messages and takes care of content transformation/translation of the incoming message into a format the destination system understands and routes the message. In this architecture pattern, single hub could cause issues for high availability and scalability. To overcome this limitation, most vendors have incorporated the concept of a federated hub and spoke architecture in which multiple hubs can be present.
ESB (Enterprise Service Bus)
An enterprise service bus (ESB) implements a communication system between mutually interacting software applications in a service-oriented architecture (SOA). It provides an environment to compose and publish reusable services and makes services interact with each other reliably. ESB provides protocol conversion, message transformation, routing messages from various services and application which are linked to the ESB. This model is a light weight reliable integration solution that is fully abstracted from the application layer. It provides support for a broad set of integration patterns and can be designed and configured with minimal/no modifications to the systems that need to be integrated. Some products such as TIBCO, WebSphere Message broker use a combination of ESB and Broker (Hub Spoke) model. MuleSoft’ s Mule ESB is designed from the ground up to use open messaging and integration standards to implement ESB model. Advantages of ESB:
- Location Transparency
- Easy to expand
- Scalable and Distributable
- SOA friendly
- Incremental adoption
- Easy monitoring and Administration
- Better security.
Our Integration Services include the following Discovery & Architecture- Identify the integration needs, design and document the architecture.
- Understand current state – Portfolio analysis that includes custom applications, COTS, ERP, Middleware and hardware.
- Understand the overall IT Strategy.
- Understand current initiatives.
- Identify the current integration patters and future needs.
- Design and document Solution Architecture (Logical, Physical, Development and Deployment architectures) .
- Use Agile and iterative practicesdeliver the Solution Architecture.
Bootstrap & POC– Create, Validate and Adjust the Solution Architecture using MVP (Minimum Viable Product)
- Perform discovery and establish solution architecture if needed.
- Identify a use case representing MVP – Minimum Viable Product
- Design, Develop, Testand Deploy the MVP using one or more sprints and iterations.
- Validate and Update the Solution Architecture.
Performance Tuning – Establish and achieve the business SLA (Service Level Agreement) by use case.
- Review SLA by use case.
Establish performance metrics.
- Review performance engineering processes and tools.
- Identify use case(s) that require tuning.
- Performance tune, test and deploy using agile practices
Upgrades & Migration- Reduce risk with specialized services to upgrade and migrate to newer versions and/or competing middleware platforms.
- Thorough analysis of code, configuration and environment.
- Upgrade to latest version of the software.
- Recommend changes to accommodate new features vs like-for-like.
- Migrate to other middleware platforms based on customer needs.
- Perform functional and performance testing.
- Support go-live and post releaseefforts.
Operations & Maintenance– Run and maintain customers middleware IT environments
- Manage environments.
- Proactively monitor applications and environments.
- Support during outages.
- Resolve issues as needed.