Application integration is often, but not always, a one-to-one effort. A new application might need to access functionality or data contained within an older legacy application. As you develop the new application, you can make direct mappings into the legacy application to access the needed data or functionality.
Although one-to-one integrations are common, one-to-many integrations produce the greatest benefits. With one-to-many integrations, an existing application's data or functionality is exposed and documented. Any new application will be able to integrate with the existing application.
Figure 12-1 shows the key elements that make up the integration platform. These elements include application adapters, the integration server, the data mapping and transformation engine, environment configuration, and the underlying communication mechanism.
You can package these elements into three new projects and add them to the IssueTracker solution. The IntegrationServer project is a Windows service that runs on a central server. The integration server processes incoming messages, maps fields from one application format into another, and sends on the message to the destination application.
The IntegrationCommon project is a Class Library project. This produces a shared assembly that defines common data types used between the integration server and the application adapters.
The IntegrationAdapter project is a Windows service that runs on the computer hosting an integrated application. The role of the integration adapter is to natively interact with the integrated application and exchange data with the integration server.