What is a composite application?
A composite application is an extension of the mashup concept. Mashups came about through someone with imagination combining content from multiple Web pages to create a new Web page that used the combined information in a new way. A composite application is similar, combining information from multiple sources.
Suppose you could take data and business processes from existing applications and combine them to create a new application. The new application is a composite application comprising data, logic and processes drawn from multiple sources and packaged to create the new application. Composite applications allow you to re-use data, business rules, business logic and business processes from your existing business applications. Thus you can combine the assets you have to build new applications to provide new services.
The components used to build a composite application will be services, business functions from other applications and potentially new services that have been repackaged as APIs and/or Web services.
Composite applications are also known as business mashups.
How did we get here?
In many companies, data and business processes operate within silos. The silos were created when different departments purchased software to help them manage their responsibilities. The software was purchased without reference to software used by other departments. The result - a heterogeneous environment of hardware, operating systems, middleware, packaged applications and applications developed in-house. Examples of the components in such an environment are,
- Business applications developed in-house,
- ERP applications,
- Financial applications, and
- CRM applications.
There may have been good reason for the situation to arise (for example through mergers) or the situation may have just evolved. One outcome of this situation is duplication of data and multiple variations of the business rules and processes. The Enterprise Service Bus (ESB) is one approach to rationalizing the situation but the ESB is all encompassing with a large cost to build and a long lead time before it is useful.
Today, business people need to work with data and processes from several of these applications and when the applications operate in silos combining the information is problematic.
Composite applications provide an alternative to the ESB for combining data and processes from multiple applications to create new applications.
The composite application - an example
A manufacturing company makes widgets to order and reviews each order before embarking on the production process. The company has implemented a manual order approval process to manage the reviews.
The order approval process requires that the person approving the order has access to the order details, inventory information, details about the relationship with the customer, credit rating, payment history and the approver has to be aware of the current approval policies and rules. To complete a review with the existing manual review process the person uses the:
- ERP application to view order and inventory information
- CRM for information about the customer such as customer longevity and interactions with the company
- Financial application to view the payment history and the credit rating
To check the approval rules the person accesses the document management system.
This order approval process is labor intensive and assumes that the order approver has access to all of the applications and information. In some cases, the order approver may have to contact the accounts payable people to obtain the credit rating and ask about payment history. Or, the order approver may "out source" this task to the accounts payment people and then wait until they complete their work before proceeding with the order approval.
Building a composite application can streamline the process and reduce the elapsed time to review and approve an order.
The order approval person will receive a new order approval task in the workflow application. The workflow application will invoke the order approval composite application.
The order approver needs the same resources to review and approve the order when using the composite application as they do when using the manual process. The difference between the manual approval process and the automated approval process is that the composite application collects the information needed to approve the order and presents an aggregated view of the information. You can speed up the process even further by adding approval rules to the composite application so that the composite application pre-approves the order. The order approver has the option of reviewing every order but with pre-approved orders the person can concentrate on the more complicated orders and spend less time on the straightforward orders.
Composite applications came about because of the need for business to adapt to changing conditions quickly. In this example, the manual order approval process is too cumbersome to reach an approval decision quickly. Building composite applications helps businesses streamline their business processes by re-using services from multiple applications in new ways – in this case the composite application gathers all of the information needed for a decision and presents the aggregated view of the information to the approval person.
How does LANSA fit with composite applications?
A composite application is usually a Web application and you can use Visual LANSA to build the composite application. Building the application will be easier if you have described the data and business rules in the Repository.
The Visual LANSA Framework (VLF) is a tool for building composite applications. The VLF provides the foundation for the application and a wire frame for the user interface. The composite application can be either a Web application or a rich client application. You assemble the composite application by adding components to the framework. To build the order approval composite application you would create business objects for the ERP data, the CRM data, the credit rating data and the payment history. You would add links to the document management system for the approval policies and rules. The business objects link to the services provided by the ERP, CRM and Financial applications. The links can be APIs, Web services or the use of 5250 emulation to extract data from an existing application that has no APIs or Web service capability.
Service-Oriented Architecture (SOA) and composite applications
Companies operating with SOA are well prepared for composite applications. With the business functions deployed as services new applications can re-use the existing services. Composite applications offer the tools to assemble new applications quickly. You could build a composite application as a proof of concept for adopting SOA for your company.