The Service Oriented Architecture (SOA), in which applications are split up into self-contained services that are invoked across a network, is the dominant and certainly the most-hyped trend in modern software.
But the SOA is not happening in isolation. Three important emerging technologies related to the SOA are composite applications, business process management (BPM) and model driven architecture (MDA). (For more articles on these, use our search engine.)
Composite applications
The SOA emphasises the provision of services, which can then be strung together in various ways to create composite applications. Vendors such as Kenamea, SAP, Siebel, SeeBeyond, Sybase, Vergil, Vignette and webMethods are already marketing composite application builders to automate their construction.
Any competent software engineer can set up a few simple, ad-hoc services (the “demo scenario”). But real-world composite applications combine multiple services to solve business problems such as processing an order, updating multiple customer records from a single change request, or scheduling “just in time” delivery of parts for a manufacturing run. The ability to share relevant information, known as “context”, is vital for composite applications.
The Web Services Composite Application Framework specifications (WS-CAF), published in July 2003 by a group of vendors (Arjuna, Fujitsu, Iona, Oracle and Sun), address these requirements. They define standard, interoperable mechanisms for managing shared context and ensuring that business processes achieve predictable results and can recover from failure.
WS-CAF complements other specifications that deal with security, transactions, reliable messaging and choreography.
Most business applications need to invoke services one after another – or perhaps even simultaneously – and to execute conditional logic according to the results. “If the applicant is credit-worthy,” for instance, “then process application; otherwise send an explanatory message and end the transaction.”
The process of managing this is known as “choreography” and sometimes “orchestration”. Proprietary systems for doing this have been built by many organisations, but new standards will make this much easier. At the moment, at least four specifications are being designed – BPEL4WS, WSCI, BPML and ebXML BPSS. Of these, BPEL4WS (or simply BPEL as it is often known) looks the likely winner, having been accepted by the standards body OASIS.
Business process management
BPM aims to transcend earlier paradigms such as workflow, by spanning network, departmental and even enterprise boundaries. In theory it allows users to model, integrate, execute, manage and optimise business processes, in parallel, across organisational demarcation lines, and even in real time.
This wide-ranging functionality depends on three critical components:
1. A distributed, parallel process execution engine. This pushes the state of the art, and is not to be found in many of today’s products. Milner’s Pi Calculus seems to be a suitable notation for the design of such an engine. An alternative approach is based on Petri Net graphical and mathematically modelling tools.
2. A process modelling workbench. This component carries out what is often called ‘business process modelling’. It is for designing process flows before they are soft-coded.
3. Optimisation and management tools. Once a BPM engine is running, it can add value to the business by highlighting bottlenecks and other sources of inefficiency.
Although some suppliers and customers think of BPM simply as “workflow software with interfaces into transaction systems”, most BPM advocates see it as a radically new discipline based on the rigorous mathematics of Pi Calculus, which allows business processes to be isolated from software considerations and controlled by special tools. This view is hammered home by Howard Smith and Peter Fingar in their books Business Process Management: the Third Wave and IT Doesn’t Matter; Business Processes Do.
BPM products are usually based on one of the emerging standards – either BPEL4WS or BPML and WSCI. Such products are available from Action Technologies, Fuego, Intalio, Lombardi, Metastorm, Savvion, Staffware, Ultimus and others.
BPM purists claim that it has the potential to replace application development altogether. Instead of writing code, they say, business professionals should be able to define processes for which they are responsible, and execute them immediately on a special-purpose BPMS. Lest there be any doubt as to what they are proposing, Smith and Fingar urge, “Don’t bridge the Business-IT Divide: Obliterate it!”
Model driven architecture
The industry is abuzz with talk of web services, SOA, composite applications, BPM and the like.
But software development has barely progressed since the 1980s. Surely there must be more efficient ways of building and maintaining software, while ensuring higher levels of quality and essential attributes such as security? MDA supporters think that it may turn out to be the answer. MDA is a vendor-neutral set of standards controlled by the Object Management Group (OMG), the consortium that owns Common Object Request Broker Architecture (CORBA) and Unified Modelling Language (UML). MDA lets developers concentrate, for the first time, on writing pure business logic.
This has been tried before – notably in the 1980s and early 1990s with Information Engineering and IBM’s AD/Cycle. But the technology was not powerful enough in those days.
Because it has no platform, programming language or middleware dependencies, this business logic can easily be kept in step with changing business processes. Logically identical applications can be generated for different middleware environments – such as .NET, J2EE or other types of SOA – with the help of automated tools.
MDA development begins with a platform-independent model (PIM) of business functions. The idea is that a single PIM can be translated into platform-specific models (PSMs) for a variety of middleware platforms, which in turn hide most of the underlying operating system and network details.
There are over 20 MDA tools on the market today, and vendors can point to some compelling success stories. But MDA still has to “cross the chasm” before it is adopted by the majority of developers. OMG members are still working on the necessary standards, and besides – as a recent paper published on the OMG web site asks – “How do you pitch a technology that promises not 10% but 1000% productivity increases?”