Steve Ross-Talbot, chief scientist, Enigmatec, discusses how Web Services need to be effectively designed and integrated – choreographed – to provide true business process management. Ross-Talbot is also co-chair of the W3C Web Services Choreography Working Group and co-chair RuleML Reaction Rules Subgroup.
Business process management (BPM) is a potentially huge market, according to analysts including Gartner, Giga and IDC. BPM is about empowering companies of all sizes, across all industries, to develop and operate business processes that span multiple applications and business partners, behind the firewall and over the Internet. But firms need an IT infrastructure to capture information continuously throughout the business day rather than as a static snap shot.
The emergence of relational databases made a huge impact on software. It generated the need for integration technology, which was one of the biggest developments in the nascent IT world. Software developers launched a plethora of integrated products such as accounts, HR and inventory applications and this world has never been the same since.
Choreography – the need for institutions to choreograph or orchestrate web services effectively – is also all about integration. And is likely to have as big an impact on the world of IT, particularly in financial services. Institutions need to choreograph Web Services to make them work effectively but an open standards definition of a Web Services choreography, its language and rules of composition and interaction is needed.
Data is integrated from different systems at lexical – vocabulary – level by the existing Web Service stack. XML is used to ensure that all application deliver information in the right format. The Simple Object Access Protocol (SOAP) and Web Service Definition Language (WSDL) are key components of the Web Service stack. They enable services (applications) to be made available on the web and the network in a uniform way so that applications can interact.
In the past, this was achieved through integrating applications with databases but it is too restrictive for today. It stymies applications from third parties, leaving in-house solutions that are often not core business applications in any financial service institution.
Web Services provide a step forward in the move towards a more decoupled environment. In this world, organisations have the freedom to commission a bespoke system, buy off-the-shelf applications from a third party or develop them in-house, depending on their existing IT infrastructure. It leads to much less effort and frustration at runtime.
In the dominant days of the database, adding an application that required changes often resulted in downtime that lasted for several hours if not days. The database became a bottleneck in the system, requiring front, middle and back-office functions to be tightly coupled.
That is not acceptable in today’s 24x7 trading environment and messaging oriented middleware came along and promoted decoupling between front middle and back-office. XML arrived to ensure that data could be made available across platforms and gave rise to a range of markup languages that dominate the financial services landscape such as FPML and FIXML, for example.
Web Services leverage communications technology such as MOM, HTTP and XML to provide a common framework to connect applications together. But it still takes a lot of work to take an application and make it work. It is open to trial and error.
Choreography reduces the chance of error and enables applications to be launched faster by capturing the observable behaviour of applications at Web service level.
Think of a coffee machine. When we use a coffee machine we know what to do. We put money in the slot, press an appropriate button and get our cup of coffee. But consider people who have no prior knowledge of the concept of a coffee machine. They could spend hours pressing buttons and putting money in the wrong place before finally figuring out what to do.
Web Services are a bit like that today. The buttons and the slot are described in WSDL. The action of putting money in the slot or pressing buttons is supported by SOAP messages arriving at the coffee machine. But nothing tells us what order things should be done in.
This is what choreography is all about. We call it observable behaviour because when we watch someone doing things properly we learn very quickly how to do it. We remember observable behaviour.
If Web Services are the language of integration, choreography is the first step towards a language of process. Data and process define the operations at IT level that support a financial service organization. W3C has taken steps to put choreography at the forefront of its activities to standardize encoding of data and process. The Web Service Choreography working group within W3C has been asked to define the language. It is a key enabling initiative that will deliver the benefits of BPM to a heterogeneous environment such as Web services.
So what’s next? In Tim Berners Lee’s book, Weaving the Web, he talks about the Semantic Web and what it is all about. It’s about meaning and understanding when two terms are the same. SOAP and WSDL provide a language for lexical integration – using a common vocabulary – and they have moved up to semantic level.
By combining SOAP, WSDL, and the Semantic Web with choreography we can capture the meaning of process as well as data and this gives us a good chance that the just-in-time integration needed to support agile, flexible business models in financial services, is just around the corner.