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
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:
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.
This proliferation in
vocabularies could be self-defeating. Whilst standards are necessary, if
there are vast numbers of competing standards in existence, then the benefits
for business interoperation will be greatly diminished. For this reason
attempts are also being made to rationalise these vocabularies. For example,
UN/CEFACT (United Nations Centre for Trade Facilitation and e-Business)
and the OASIS (Organisation for the Advancement of Structured Information)
have initiated a worldwide project (the Electronic Business XML Initiative
- ebXML) to standardise XML business specifications.
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:
In terms of centralised
repositories for schemas, OASIS is maintaining a vendor-neutral online
repository (xml.org). Vendors, notably Microsoft are also trying to take
the initiative in terms of schema frameworks. Microsoft’s initiative for
interoperable schemas for ecommerce comes under is part of its BizTalk
community (www.biztalk.org).
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 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.
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).
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.
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.
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:
Mohr principles encapsulate
well, the mechanisms that will be employed for service-based computing.
A number of commercial frameworks are beginning to appear, which support
these types of mechanisms. These include include Hewlett-Packard’s eServices,
Microsoft’s BizTalk, Silknet’s eBusiness System, Bowstreet’s Web Services
Automation System, and SAP’s mySAP.com strategy.
Whilst all the technologies are in place to begin constructing XML-based collaborative applications today, truly dynamic solutions comprising hosted services will depend on the growth in the number of ASPs and intermediaries that broker Web services. Looking ahead, intermediaries will bridge the gap between suppliers and consumers of application services and control the following elements:
The essential element
provided by intermediaries will be a mechanism by which applications can
dynamically source services, possibly from several alternative suppliers,
based on quality of service and/or price per transaction. It is envisaged
that there will emerge peering arrangements between intermediaries, as
the Web Services industry grows, mitigating a referral fee model.
ASPs that use intermediaries
to sell their services will compete on price, algorithm preference (there
can be multiple different implementations of a service that is defined
by a particular XML interface), and market placement. The charging schedule
is likely to involve a stepped threshold scheme, which is capped and floored,
consisting of a monthly transaction volume based fee, and a referral based
fee. It is envisaged that credit/debit card payment mechanisms will prove
impossible to implement for transaction based service usage, largely due
to the associated transaction cost, requiring alternative solutions based
on emerging secure digital payment infrastructures.
The authors are with
Warburg Dillon Read, 100 Liverpool Street,
London, e-mail: graeme.burnett@acm.org,
papiani@acm.org