Application integration basically involves the exchange of information (of a different nature) between different applications. At the same time, the exchange can take place using a wide range of transport technologies - e.g. via a shared file, databases, web services, etc.
The motivation for integration is considerable. A successful integration project has a great added value – it expands the possibilities of integrated applications and simplifies work and maintenance for their users and operators (in many cases very significantly).
In SOA, the basic building block is a service. It should meet a number of different principles, including, for example, a standardized contract, abstraction, autonomy or reusability. Services are independent of the communication protocol and can be managed in the service registry.
Open source tools
In the field of integration support tools, there is a wide range of existing open source solutions to choose from. These cover basic areas such as Message Broker (such as JBoss A-MQ, Apache ActiveMQ, RabbitMQ or HornetQ), integration frameworks (such as Apache Camel or Spring Integration) and complete integration solutions (JBoss Fuse, JBoss Fuse Service Works, Fabric8, Mule ESB or Talend).
The advantage of open source technologies is not only freely available software code, but above all also the support of open standards and high adaptability to customer needs. On the other hand, the challenge is more difficult implementation and maintenance, which usually cannot be done without advanced know-how on the part of the integration/IT team.