What is a composite application? In the simplest sense, it is a cross-functional solution assembled from pre-existing building blocks. These building blocks could be services, workflows and activities, documents, application blocks (e.g. portal web part), rules etc.
What are the components in an OBA that can be assebled into a composite app? These are:
Steve Ballmer took the stage at the Software 2007 Conference to talk about Microsoft's software + services (or S+S) strategy. As part of that presentation, Steve talked about Office Business Applications (i.e. OBAs) as composite applications that allow information workers to use information in back office applications such as ERP in new ways. ZDNet published a report on this two days ago - which is available here.
I'd like to thank Steve and ZDNet for setting up this posting, because on that page, ZDNet has two pictures of Steve, and ALSO an early version of the following diagram showing the internals of an OBA that I had created while releasing the OBA RAP for SCM (Reference Application Pack for Supply Chain Management).
What does this diagram mean? In my posting OSF 5 I talked about the fact that OBAs can deliver solutions that provide business capabilities for transactional needs, decision support needs, and collaboration needs. You can think of these as next generation composite business applications. However in order to deliver solutions that provide these kinds of business capabilities, you need a platform that provides technical / infrastructure capabilities. Those platform capabilities fall into five categories - that correspond to the five tiers that I called out in my posting OSF 2 - presentation, collaboration, process, services and data. Do you need all of these tiers to build a business application? Not for all kinds of applications ... but you if you do want to build a next generation composite business app that combines transactions, decision support and collaboration.
So the diagram above just breaks down the technical capabilities of the Microsoft platform into those five tiers. How does this fit the composite application paradigm? Well each of the boxes in this diagram represents a container, that provides particular application services, and into which content and data can be deployed. The different bits of content and data represent components that make up the composite solution. Components can be assembled into different groupings - each of which is a composite application. Each of the containers in the diagram above can service only particular types of components.
For more information on composite apps, you can check out the MSDN architecture site on composite apps, as well as the Architecture Journal issue on this topic. For an article on OBA and composite applications, you can check out an earlier article of mine in the Journal.
In later blog postings I will go into more details on each of those boxes, and show an end-to-end example. A list of links to the composition abilities of those various boxes are provided here - and as I post on those topics I will update this list.
- Composition in the Presentation Tier
- Composition in the Collaboration Tier
- Composition in the Process Tier
- Composition in the Services Tier
- Composition in the Data Tier