The Role of XML in Enabling Business Solutions Built from Collaborative Web-Based Services
 
  November 1999
 
  by Graeme Burnett and Mark Papiani
Abstract
 
The main focus of XML is now on its role as a platform and application independent data format that offers much promise in the area of connecting autonomous, heterogeneous systems. In this role, XML can enable a technology shift in computing whereby personalised business solutions will be constructed dynamically by integrating distributed, cooperative services hosted by different organisations.
 
Introduction
XML (Extensible Markup Language) [4] was originally seen as a way to overcome shortcomings in HTML by providing a markup language with user-defined tags that could separate presentation from content. This provides many advantages for Web-publishing, including the capability of presenting content in different formats to different users, or in different formats to different devices (for example, to provide simpler presentation for low-resolution screens, such as those found on hand-held computers). XML can also enhance searching and indexing mechanisms used for Web pages. Pages containing XML markup facilitate metadata discovery through their use of machine recognisable tags (and possibly complete, standardised XML vocabularies used by particular industries or groups.) This paper asserts, however, that the main use of XML is as a vendor, platform and application independent data format that will be used to connect autonomous, heterogeneous applications.
It is in this role, that XML can enable a technology shift in computing whereby business solutions are constructed from distributed, co-operative application components or services. In this new service-based business arena successful organisations will need to supply computing solutions that can respond very quickly to market changes. Timescales for change will be impossible to meet using traditional code development, testing and deployment techniques. Instead, business functionality will be created dynamically by combining services from different sources and rebranding them to exhibit a company’s corporate identity. By dramatically reducing and simplifying the development of computing solutions companies will be able to focus on delivering services relating to their main business, rather than code production. This will allow them to respond quickly to opportunities provided by new niche markets, thereby opening up new revenue streams.
Predictions of a Web of distributed co-operative services are not new, similar predictions have been made before, focusing on CORBA and its associated technologies, such as naming and trading services. However, these predictions have not been born out. XML offers a simpler paradigm where interaction between businesses is not at the level of programming APIs, but through textual document exchange, using simple protocols such as HTTP. XML and HTTP were specifically designed for the Web, and their simplicity, combined with their comprehensive support, throughout the software industry, will lead to success in the area of enterprise application integration (EAI), where previous technologies have failed.
A key feature of EAI based on XML document exchange is that XML is human/machine readable and can use standardised vocabularies. Currently XML Document Type Definitions (DTDs) are used to describe the schema for these vocabularies. Agreement on vocabularies, the schemas used for those vocabularies and repositories to store them will be vital to the provision of dynamic applications based on Web services. Currently there is a multiplicity of groups working on XML vocabularies for electronic business. Many of these vocabularies are compete in the same areas. In an attempt to deal with this, several organisations are trying to standardise these efforts.
The rest of this paper is structured as follows. The next section describes how XML provides a new data standard. The use of XML for interface definition and message syntax is also discussed. This section describes EAI using XML/HTTP-based remote procedural calls, and compares this with distributed object technologies. A section on application service providers (ASPs) follows. This gives examples of hosted services that are beginning to appear on the Web and the companies involved. A chapter on cooperative Web-based services then describes how the ASP model can be extended to allow software to be built from integrating multiple services sourced from disparate suppliers. This section gives examples of XML-based tools and projects that are emerging in this area.

XML for Data Standardisation, Interface Definition and Message Syntax

XML as a Data Standard

    XML is an activity of the World Wide Web Consortium (W3C), which became a recommendation (the highest level of approval of the W3C) in 1998. Not, only is XML the product of an independent standards body, but it also has the backing of all the major software vendors (including the likes of Sun, Netscape, IBM, Microsoft, HP, Oracle and SAP), thereby providing an unparalleled opportunity for data exchange.
Phipps [8] discusses how XML can complete the picture for a paradigm shift in computing. Historically, computing solutions have consisted of complex systems containing mutually dependent hardware, operating systems, software packages, network software and data formatting amongst other things. However, it is now possible to provide a simpler framework, which breaks the traditional dependencies. Phipps suggests that there are 4 parts to a modern computer solution and also defines the technologies for each part:
    1. Network - indisputably TCP/IP is the solution.
    2. Desktop - a space to load solutions – probably browsers, but the key feature is that solutions can be instantiated without requiring additional installed software or proprietary operating system features.
    3. Programs – Java is now established as the de-facto standard for code development.
    4. Data – until now there has been no obvious generic data format.

    XML fills the final gap by providing an open data formatting system. Whilst Java provides a platform independent application development language, XML provides an application independent data standard.

XML Schemas and Vocabularies
    XML is often described as self-documenting because it consists of named tags and an optional schema that defines the language represented by these tags. Currently such schemas are constructed as DTDs (in accordance with the XML 1.0 Recommendation). A DTD defines, amongst other things, valid elements, attributes and rules for their use. Effectively, it specifies a new markup language for a particular purpose, sometimes referred to as a vocabulary.
However, this is not the only consolidation effort. Coordination is therefore needed to avoid an alternative proliferation, consisting of projects trying to rationalise individual XML vocabulary efforts. For example, CommerceNet [2], a global non-profit membership organisation, has similar aims. Their eCo Framework Project is attempting to develop a common framework for interoperability among XML-based application standards including, CBL, ICE, OBI, RosettaNet Catalog Information Specification, and XML/EDI and key electronic commerce environments. The project also aims to develop an interoperable transaction framework specification applicable to the following transaction types:
Whilst standard XML vocabularies may be needed for inter-organisational services, they may not be appropriate for intra-organisational services, where increased performance and reduced complexity may result from simpler schemas. It may, however, be beneficial to base these internally used schemas on subsets of standardised schema, to facilitate information exchange at a later date. There are a number of available that provide schema-mapping facilities to translate XML documents based on locally used schemas to those required by external services. The structured, self-documenting, text-based nature of XML eases this task.
Application Integration based on XML Document Exchange
    One of the reasons for the success of the Web is that it is based on a simple stateless protocol with a simple textual markup language used to display information. Services should build on this success by being document centric and loosely coupled.

    One of the simplest ways that XML can facilitate loosely coupled heterogeneous applications is by providing the message syntax for request-response message exchange between applications. In this scenario XML DTDs are used to define interfaces between services. XML parsers are used to marshal data, which is sent to a server via an HTTP POST method, and an XML message is returned to the client. Services can be made available by exposing XML DTDs. Since the underlying protocol is HTTP, messages are not blocked by firewalls. Furthermore, this framework benefits from work has been dedicated to, and continues to be done to optimise the performance, scalability, and reliability of HTTP servers. The loose coupling of client and server also makes it possible to complete requests even if a client uses an old version of a DTD.

HTTP for XML Message Transport
    XML is a mechanism for representing data and does not provide a transport protocol. As already mentioned the simplest way to transport XML between cooperative services, and the recommendation of this report, is to use the HTTP protocol. A number of proposals are being put forward for standardising XML remote procedural call mechanisms to remote processes or objects. These include:


    These proposals each describe basic object invocation mechanisms with varying features, all of which use HTTP as the transport and XML for message syntax. They do not require the complex run-time support of distributed object technologies such as CORBA and DCOM, and they provide the major benefit of being Web-native and thus able to pass through firewalls that accept HTTP requests. Conversely, these protocols do not currently support such features as metadata discovery and objects-by-reference (the latter would require bi-directional HTTP and distributed garbage collection).

CORBA and DCOM have not Succeeded at the Enterprise Level
    This section discusses why earlier attempts at EAI based on distributed object technologies have been unsuccessful. CORBA and DCOM have not succeeded at the enterprise level for a number of reasons. Firstly, these technologies are complex to use. Second, they require significant runtime support to operate properly. Third, these technologies were not designed explicitly for the Web, with consequences such as their inability to traverse firewalls without specific workarounds. Fourth, the mechanism by which they tightly couple applications to interfaces is too rigid to cope with change. For example, CORBA IDL is used to produce binary programs for use as stubs and skeletons at the client and server. A change to an IDL defined interface requires regeneration of the stub and skeleton, and consequential changes (code update, recompilation, redeployment) to the programs that use them. If these technologies are being used to bridge applications between different companies for example, exact agreement is required on the interfaces being used. The rest of this section reviews a number of books and papers that add weight to the above argument.
In 1997, Orfali and Harkey [9] asserted that the Web was on the verge of a distributed object revolution, with ubiquitous deployment of Java and CORBA. In their ‘Object Web’ environment, clients would dynamically discover and use objects made available through CORBA’s trading service. Clearly this Object Web has not materialised. The authors also quoted Marc Andreessen, the cofounder of Netscape, making the following prediction in 1996:
"The next shift catalyzed by the web will be the adoption of enterprise systems based on distributed objects and IIOP (Internet Inter-ORB protocol)".

"We expect to distribute 20 million IIOP clients over the next 12 months and millions of IIOP-based servers over the next couple of years".
If these distribution targets have been achieved then it is solely due to CORBA software being bundled with Netscape products. However, in terms of actual deployment, the numbers are orders of magnitude out.
Tallman and Kain [10] quote Gary Voth, Microsoft Group Manager for Marketing as saying in 1998, "There are only 50,000 or 60,000 deployments of CORBA around the world". What Voth did not mention, is that there are even fewer enterprise solutions using COM. Tallman and Kain state that they tried to find references for COM projects but were unable to identify much comparable experience. Whilst significant COM development occurs at the desktop and departmental level, it is currently an unproved enterprise technology.
Box [3] compares the suitability of Java, CORBA, COM/DCOM and XML as technologies for enabling component software that can provide collaboration and cooperation amongst software development organisations. He believes that it is unlikely that Java, CORBA or DCOM will dominate the Internet. Box states "Ironically, while Microsoft and the Object Management Group (OMG) were arguing over whether the Internet would be run on DCOM or CORBA, the Hypertext Transfer Protocol (HTTP) took over as the dominant Internet protocol".
A news report in Computing mentioned the heavy bias towards XML in an early preview of Developer Studio 7 and made the following statement concerning DCOM: "In essence, Microsoft is replacing the DCOM RPC messaging technology with an XML/HTTP technology that allows for remote method invocation" [11].
CommerceNet’s eCo System initiative [2] originally used CORBA to define business services. However, this was abandoned in favour of XML. The authors suggest that while CORBA appears workable within organisations that control APIs, it is not practical for inter-enterprise integration. Business documents, defined in XML provide a simpler, human readable, intuitive way for businesses to interoperate. Businesses already exchange information via documents on which they largely agree, whereas programming APIs for business system interfaces almost certainly differ.

Application Service Providers
     
    In order for the vision of service-based software component to succeed organisations first need to establish a new mindset towards trusting the provision of IT services to external companies. This is already happening, particularly in the USA. Strong service level agreements that guarantee availability, and a high-bandwidth Internet infrastructure, has made outsourcing of IT services to ASPs a reality. Benefits of outsourcing these services are numerous, including the removal of costs associated with purchasing software packages and hardware and their ongoing maintenance and upgrade. Additional benefits include the availability of latest versions of software, the off-loading of data management issues such as security and backup, and of course, the removal of labour costs and overheads associated with in-house development.

    Major players in the ASP marketplace include Corio (www.corio.com), USinternetworking (www.usi.net) and Progress Software (www.progress.com). Currently, companies such as IBM, SUN, Oracle and Microsoft are also adopting the ASP model wholesale [1]. Microsoft President, Steve Ballmer, is quoted as saying: "Literally, if you go out seven to ten years from now, not only our business but every software business will have to remake itself into what I call a 'software service company'" [12]. In May 1999, a number of leading technology companies announced the formation of an international group Known as the ASP Industry Consortium (http://www.aspindustry.org) with the remit of promoting the application service provider industry by sponsoring research, fostering standards, and articulating the measurable benefits of the evolving ASP delivery model. This consortium now includes the membership of over 60 leading ASP vendors.

    Many of the current offerings from ASPs include complete packages for applications such as enterprise resource planning and accounting. Whilst these types of services may best suit many small to medium size businesses, they are less likely to appeal to large organisations that require diverse computing solutions, many of which currently require customised in-house solutions. The envisaged future direction of the ASP model involves not only the provision of complete packages, but also the provision of finer-grained tasks that can be combined with other dynamically sourced tasks, to provide customised solutions. It is in this area that XML will be a key enabling technology.


Cooperative Web-based Services Using XML
    XML can enable a radical shift away from hard-coded applications to lightweight services delivered via the Web. Vielmetti [7] provides an example of a possible financial application. An XML vocabulary, such as the Financial Products Markup Language (FPML), could allow a trading interface to be built by taking a ticker feed of current prices from an exchange, including analytical services from a third party and adding risk analysis from yet another service provider.
Moss [5] such service based-solutions as a ‘fourth wave’ in computing (superseding centralised mainframe, client/server and multi-tier Internet based computing) and states that the transition will happen quicker than previous fundamental shifts and will change forever the way that business is conducted. Business solutions will be provided without detailed coding, by customising and combining task focused services, dynamically, via the Web. He predicts that every business will eventually become both a supplier and consumer of these Web services.
Mohr [6] describes 5 principles for creating robust, cooperative, dynamic network applications. The aim of the principles is to promote the re-use of Web-based applications and to maintain the viability of applications in the face of change. Mohr’s principles are as follows:

Conclusions
    The main use of XML is as a vendor, platform and application independent data format that will be used to connect autonomous, heterogeneous applications. Building on this XML will enable a technology shift in computing whereby personalised business solutions will be constructed dynamically from distributed, cooperative applications (services) hosted by different organisations. XML will be successful in this area, where other technologies have failed, due to its simplicity, the fact that it has been designed from the outset for use on the Web, and most importantly, because it has across the board industry backing.

References
  1. ASPs - How IT Can Learn from the Comms Guys. IT-Director, Bloor Research, 26 October, 1999. http://www.it-director.com/99-10-26-1.html
  2. Glushko, R., J., Tenerbaum, J., M. and Meltzer, B. An XML Framework for Agent-based E-commerce. Communications of the ACM, Vol.42(3), 1999.
  3. Box, D. Lessons from the Component Wars: An XML Manifesto, September, 1999. http://msdn.microsoft.com/workshop/xml/articles/xmlmanifesto.asp
  4. Extensible Markup Language (XML) 1.0, W3C Recommendation, 10 February, 1998. http://www.w3.org/TR/REC-xml
  5. Moss, M. Web Services: Computing's Fourth Wave. How XML, Directory Services and Innovation are Radically Transforming Computing, and How You Can Get Ahead of the Trend, Bowstreet, Inc., 1999.

  6. http://www.bowstreet.com/products/web_services.htm
  7. Mohr, S. Designing Distributed Applications with XML, ASP, IE5, LDAP and MSMQ, Wrox Press, 1999, 458pp.
  8. Vielmetti, E. The (R)evolution of Useful Web Sevices. IEEE Communications Magazine, Vol.37(9), September, 1999, 92-4.
  9. Phipps, S. IBM, e-business, & XML, Transcript of talk presented at XML'98, Chicago, Illinois, November, 1998.

  10. http://www-4.ibm.com/software/developer/speakers/phipps/papers.html
  11. Orfali, R. and Harkey, D. Client/Server Programming with JAVA and CORBA, 1st edn, John Wiley & Sons, Inc., 1997, 657pp.
  12. Tallman, O. and Kain, J., B. COM versus CORBA: A Decision Framework. Distributed Computing, September, 1998.

  13. http://www.quoininc.com/quoininc/COM_CORBA.htm
  14. Fawcett, N. Microsoft Ditches its Java Tool, Computing, 2 December, 1999. http://www.vnunet.com/News/104030
  15. Henig, P., D. Microsoft Knows it's Time for Change. Redherring.com, 12 November, 1999. http://www.redherring.com/insider/1999/1112/inv-msftchange.html


The authors are with Warburg Dillon Read, 100 Liverpool Street, London, e-mail: graeme.burnett@acm.org, papiani@acm.org