Application integration isn't easy, hence the need for this guide. Typically, an environment that supports application integration meets at least the following requirements:
Connectivity between different platforms
Processing of complex business rules, including complex data transformation logic
Support for business processes, from the very short to the very long, including processes that last weeks or months as data is passed and processed through different parts of the organization
The ability to modify existing business processes or create new ones as business goals change
The ability to adapt to changes in hardware, software, and business goals
To help meet these requirements, your application integration environment should:
Expose a common interface through which applications can communicate, by using business semantics to request Web services.
Allow service requests at the functional or data level for applications that do not support using business semantics.
Use a common set of process and service rules to ensure consistency and reuse of integration services.
Be capable of reusing the existing transport protocols that already exist in the enterprise.
Insulate itself from existing technologies by using interfaces.
An application integration environment should not depend on the implementation of any particular technology. You don't know what applications and hardware your organization will be using in five years, but whatever they are, your organization will need to support them.