A composite application is an application built by combining multiple services. A composite application consists of functionality drawn from several different sources within a service oriented architecture (SOA). The components may be individual web services, selected functions from within other applications, or entire systems whose outputs have been packaged as web services (often legacy systems).
A composite application orchestrates independently developed programs, data and devices to deliver a new solution that none of the previously available applications could deliver on its own. Each resource accessed by a composite application uses a different data model. In most cases, the composite application supports user interactions beyond those provided by the leveraged applications. In other cases, a composite application may act as a service. Some composite applications are built by leveraging other composite applications.
Diagrammatic Representation of a Composite Application
A figurative representation of a composite application is shown in Figure below, which shows a very abstract representation of an enterprise solution. At the top are information workers, who access business information and documents through portals that are role-specific views into the enterprise. They create specific documents during the course of business activities, and these activities are part of larger business processes. These processes coordinate the activities of people and systems. The activities of systems are controlled through process-specific business rules that invoke back-end LOB applications and resources through service interfaces. The activities of people plug into the process through events that are raised when documents that are specific to the process are created or modified. Then business rules are applied to the content of those documents, to extract information, transform it, and transfer it to the next stage of the process.
- Building Composite Applications IBM
- The role of composite applications in an SOA Techtarget