The other day I was speaking with a CIO of a major corporation who complained that integrating existing applications based on establishing a new business practice is the greatest threat to his organization. What this CIO doesn't want to hear is talk of new programming models or new, innovative technologies. He simply wants to be able to take what he already paid dearly for, in terms of cash and credibility, and make it work in context with business innovation. Clearly, from my view this is at the heart of dynamic response. How do companies accomplish this goal? From both a technology and business perspective the starting point is composite applications. This column will explain what a composite application is, and why it is foundational to dynamic responsiveness.What is a Composite Application? Let's start with what composite applications are not: they are not a new programming model. A composite application links together the right parts of applications in the right way to initiate a new business practice without having to start from scratch. Composite applications require a service oriented architecture (SOA) in order to become a reality. A service oriented architecture is a modular architectural framework that enables software components to interact seamlessly.Composite applications are most important when organizations are focused on creating new business processes across different constituents. When a company needs to create a new process for doing business with partners, suppliers, customers, or employees, they need to be able to take the value they already have in their systems of record and use them differently. Therefore, organizations need to repurpose parts of applications and data to create virtual applications targeted at specific business requirements in real time. This approach is critical in situations such as mergers and acquisitions, strategic alliances, portfolio management, new product rollouts, and supply chain management, to name a few.It is interesting to note that the most prominent software and infrastructure companies have a composite application strategy. IBM is focused on composite applications in its on demand strategy, and in particular in its DB2 Information Integrator environment while HP is focused on composite applications through its Darwin reference architecture. SAP has a strong focus on composite applications and is devoting as much as a third of its overall R&D efforts in this direction. In the long run, SAP would like to provide its customers with the ability to create new business processes on the fly without having to rebuild what they already have. Oracle, Sun, and Fujitsu Software, Iona, and Arjuna have published a Web services composite applications framework. Software vendors such as SEEC and Cerylion, and Composite Software are offering innovative composite software approaches. Still other companies are emerging to focus on management and security of composite application environments. Clearly, there is momentum for this approach. The Building Blocks for Composite ApplicationsIf the end game is composite applications, what are the building blocks? First, organizations need sophisticated encapsulation technology that enables key pieces of application code to be segregated, so that it can be used in many different situations. Second, these components need to have well-defined Web services interfaces so that there is a predictable way to link services together. Sophisticated communications capabilities are essential as well, since many of the component parts may be physically distributed across the value chain in a variety of systems across the globe. While the end goal will be possible long term, there are a number of complex issues that have to be addressed for this strategy of composite applications to be fully realized. For example, many of the packaged applications on the market today do not have published, public interfaces. Even when the application does have published interfaces (such as SAP's BAPIs) there may be so many of them that they are hard to navigate. In addition, many of the applications that are the cornerstone for major corporations are designed with monolithic code bases they are not modular services. More importantly, the parts of these applications are not "stateless", that is that there are dependencies across the application so it may not be easy to isolate one piece of code and have it be meaningful.Getting From Here to ThereThe composite applications approach has provided a method for addressing the problem of bringing the right building blocks together to create highly distributed business process management. It is increasingly clear that Service Oriented Architectures (SOA) are the future. However, companies need to walk before they run. It is important to get a handle on the problem of what it will take to move in this direction. Here are some useful guidelines:Conduct an assessment of your applications environment and determine how monolithic or componentized your environment is.Determine what the most effective approach would be for your organizational needs. For example, if you expect that your organization will be establishing new and innovative distribution channels in the future, decide how you would like to leverage technology to dynamically accomplish this goal. Establish a strategy for how you would like to be able to leverage your resources so that your organization is better able to grab new business opportunitiesBegin the process of moving to a Services Oriented Architecture and adopting composite applications as your preferred strategy moving forward.Any innovative approach requires time and concentrated effort to be successful. Composite applications are no exception to this rule. The investment is well worth it since it has the potential to transform IT resources into drivers of business innovation.