An integration platform is software which integrates different applications and services. It differentiates itself from the enterprise application integration[citation needed] which has a focus on supply chain management. It uses the idea of system integration to create an environment for engineers.
Integration platforms can be built from components, purchased as a pre-built product ready for installation or procured from an integration Platform as a Service (iPaaS) company.
An integration platform tries to create an environment in which engineers can:
- Data (information) integration: Ensure that they are using the same datasets and can share information. Data management with metadata information and versioning ensures the data is kept consistent.
- Integrate many kinds of applications (independent from platform, programming language or resource) so they can be bound together in workflows and processes to work in conjunction. The different interfaces are hidden by the usage of a uniform interface in the integration platform (Process Integration).
- Collaborate between distributed and scattered applications and engineers over the network.
- Interoperability between different operating systems and programming languages by the use of similar interfaces.
- Take security considerations into account so that, for example, data is shared only with the right resources.
- Visual guidance by interactive user interfaces and a common facade for all integrated applications.
An integration platform typically contains a set of functional components, such as:
- Message bus for enabling reliable messaging between enterprise applications.
- Adapters to transform messages from and to application's proprietary protocol. Adapters often offer connectivity via common standards, like FTP, SFTP or format support, like EDI.
- Transformation engine and visualized data mapping to transform messages or files from one format to another.
- Metadata repository for storing information separated from processes, like business party.
- Process Orchestration Engine for orchestration design and execution. In this context orchestration is a technical workflow that represents a business process or part of it.
- Technical dashboard for tracking messages in a message bus and viewing execution history of orchestrations.
- Scheduler for scheduling orchestrations
- Batch engine for controlling large file transfers, batch jobs, execution of external scripts and other non-messaging based tasks.
An integration platform has a focus to be designed by and helpful to engineers. It has no intention to map business processes or integrate tools for supply chain management. Therefore, it is not related to those systems.