Sign In

Communications of the ACM

Communications of the ACM

An XML Framework For Agent-Based E-Commerce

CommerceNet's eCo System initiative, launched in 1996, aims to transform the World-Wide Web into an agent-based infrastructure for Internet commerce.

Today's Web gives people unprecedented access to online information and services. But its information is delivered in format-oriented, handcrafted hypertext markup language (HTML), making it understandable only through human eyes. Software agents and search engines have difficulty using the information because it is not semantically encoded. Clever programmers work around some of HTML's inherent limitations by using proprietary tags or software that "scrapes" Web pages to extract content. Unfortunately, such ad hoc approaches do not scale. Proprietary tags require browser plug-ins, and scraping approaches require a customized script for each Web site. These approaches balkanize the Web, making it inaccessible to agents.

Tomorrow's Web will use the extensible markup language (XML) to encode information and services with meaningful structure and semantics that computers can readily understand. In Internet commerce, companies will use XML documents for publishing everything from product catalogs and airline schedules to stock reports and bank statements. They will also use XML forms to place orders, make reservations, and schedule shipments. Any agent with the proper authorization will be able to obtain computer-interpretable data sheets, price lists, and inventory reports through the Web or email, then request quotes, place orders, and track shipments.

By making the Web accessible to agents and other automated processes, XML will fundamentally transform the nature of e-commerce (see Maes et al.'s "Agents That Buy and Sell" in this issue). XML will eliminate the need for custom interfaces with every customer and supplier, allowing buyers to compare products across many vendors and catalog formats, and sellers to publish their catalog information once to reach many potential buyers. Online businesses will also be able to build on one another's published content and services to create innovative virtual companies, markets, and trading communities.

Web merchants might initially dread that XML-encoded information makes it too easy for buyers to compare prices and competitors to co-opt their content. But fear of lost business opportunity as e-commerce grows and the recognition that XML provides many other advantages for sellers (such as the ability to differentiate products in ways other than price) are likely to convince them to adopt richer markup formats. (see Wong et al.'s "Java-based Mobile Agents" in this issue). In time, most merchant Web sites will provide agent-searchable catalogs that supply product descriptions, as well as information about price and availability.

For consumers, the most obvious result of pervasive markup will be smart shopping agents that level the playing field in their dealings with sellers. Using Internet-wide shopping directories, these agents will be able to locate all merchants carrying a specific product or service, then query them in parallel to locate the best deals. Some merchants will provide sales agents that negotiate with shopping agents and generate customized offers in response to their solicitations. The shopping agents can then sort the offers they receive according to criteria set by their owners—the cheapest flight, the most convenient departure time, the roomiest aircraft, or some weighted combination. Cybermediaries will offer innovative brokering and referral services that match buying and selling agents, as well as order-aggregation services that increase their purchasing clout.

Agent-based shopping by consumers is just the tip of the e-commerce iceberg. Whenever a product is bought, information propagates back down the supply chain, triggering a series of distribution, manufacturing, and logistics events. Today much of this business-to-business information is exchanged through EDI messages. But traditional EDI is complex and expensive, because most messages travel over proprietary networks. Moreover, EDI's brittle syntax necessitates a custom integration solution between each pair of trading partners.

For these reasons, EDI transactions will increasingly take place over the Internet using an XML/EDI message format. Such messages will be more economical than traditional EDI messages, while being easier to validate and translate into the formats needed by applications at each end of the exchange [4]. This development will encourage businesses, including many that find traditional EDI too costly, to implement Web agents that respond to XML messages. This agent-based approach to enterprise integration is simpler and more open than traditional EDI, because it avoids the "pairwise tyranny" through which big companies impose proprietary message formats on small companies. Moreover, publishing XML-encoded documents, such as data sheets and price lists, on the Web makes the information available instantly to all potential trading partners. Instant availability transforms rigid supply chains into "supply Webs," in which participants transact business spontaneously (see Figure 1).

The eCo System began as an architectural vision for open Internet commerce [5], proposed and evangelized by the 500-member worldwide CommerceNet Consortium in 1996. Conceived originally as a CORBA-based interoperability framework, the eCo System architecture was recast in 1997 on an XML foundation, due to XML's simplicity and widespread adoption by key vendors, including IBM, Microsoft, Netscape, and Sun.

Today's eCo System enables companies to communicate over the Internet using self-defining XML business documents that agents, as well as people, can easily understand. Business Interface Definitions (BIDs), posted on the Web, tell potential trading partners what online services a company offers and what documents to use when invoking those services. For example, a BID might allow a customer to order goods by submitting a purchase order or a supplier to check availability by downloading an inventory status report (see Figure 2).

A key element of the eCo System framework is the Common Business Library (CBL), an extensible, public collection of generic BIDs and document templates that companies can customize and assemble to go online quickly.1 CBL includes XML message templates for the basic business forms used in ANSI X12 EDI transactions, as well as those used in such emerging Internet specifications as Open Trading Protocol (OTP) and Open Buying on the Internet (OBI). These specifications are mapped to each other using a dictionary of common business terms and data elements. A company can thus define its business interface in terms of any Internet standard mapped to CBL and communicate instantly with every other company that has done the same, even when the companies subscribe to different standards.

The eCo System framework overcomes two longstanding barriers to e-commerce. CBL facilitates spontaneous commerce between trading partners without custom integration or prior agreement on specific industrywide standards. And by being interpretable by both people and agents, XML documents provide an incremental path to business automation, whereby browser-based tasks are gradually transferred to computer agents. These advances eliminate much of the time, costs, and risks of traditional system integration. Moreover, the eCo System transforms closed trading partner networks into open markets and extends such enterprise applications as inventory management and production scheduling across entire supply chains.

XML is a simplified metalanguage, derived from SGML, emerging as the standard for self-describing data exchange in Internet applications. XML was developed by the World-Wide Web Consortium in 1997 and is being implemented rapidly by such major platform vendors as IBM, Microsoft, Netscape, and Sun Microsystems. XML's power derives from its extensibility and ubiquity. Anyone can invent new tags for particular subject areas, defining what they mean in document type definitions (DTDs). Content-oriented tagging enables a computer to understand the meaning of data, including, say, whether a number represents a price, a date, or a quantity.

This tagging significantly increases the functionality of Web e-commerce applications, because they can now do much more than simply display product data. For example, items in an XML-encoded catalog can be sorted by price, availability, and size.

One of eCo System's longstanding goals has been to enable businesses to build on one another's services to create virtual enterprises. Such plug-and-play commerce involves modeling enterprises as collections of services, some internal to a particular business, others provided by trading partners. Business services in eCo were originally defined as CORBA application programming interfaces (APIs). While the CORBA approach appears workable within organizations that control APIs, our experience in several prototypes suggests it is not practical for interenterprise integration. Fortunately, XML offers a promising alternative—agents interacting with business services through business documents.

Business documents represent a more intuitive and flexible way to access business services than programming APIs. It is much easier to interconnect companies in terms of the documents they exchange, on which they already largely agree, than in terms of their business system interfaces, which invariably differ. The coupling is looser, but loose coupling is better than no coupling at all.

XML's human readability is another significant advantage over CORBA. Just as HTML is a language for the eyes, CORBA is a language for CPUs, meant to convey information among programs, with no concession to human readability. XML documents are as readily interpretable by humans as they are by computers, especially with the aid of a style sheet [2].

Other proposals for agent languages suggest that first-order logic or other formal languages enable more precise specification of messages than XML [1, 3]. We prefer XML for two reasons—one language-theoretic, one practical. Expressing semantics in syntax rather than in first-order logic leads to a simpler evaluation function while needing no agreement on the associated ontologies. The practical argument, which is much more important for commercial success, is XML's ubiquity. The Web has made everyone appreciate the power of markup languages, practically assuring the widespread adoption of XML, as HTML's heir apparent. XML may be theoretically less expressive than other formal languages, but we prefer a language that can be understood and produced by computer novices to a theoretically better one spoken only by computer scientists.

The significance of XML for integration extends beyond the Web to email, database records, and programming APIs. An XML parser imposes the same API on any XML data source, eliminating much of the need for custom programs to extract and integrate information from each source. So, integrating enterprise information from accounting, purchasing, manufacturing, shipping, and other functions can be accomplished by first converting each source to XML and then processing the parsed data stream. Put another way, each application need know only two source formats—its own and XML—rather than having to produce the native format of every other application.

XML by itself doesn't enable plug-and-play commerce. In addition to the language itself, a complete business integration solution also requires: standardized tags, or metadata, for each commerce community; a means for mapping between different metadata descriptions; and a server for processing XML documents and invoking appropriate applications and services. The eCo System framework starts with XML and adds these additional architectural and technology elements.

Back to Top

Specialized Markup Languages

XML makes it easy to create specialized markup languages that identify and describe buyers and sellers, the goods and services they want to buy or sell, and the various other document types involved in commerce. However, a vendor has obvious incentives for describing its offerings in ways that highlight its competitive advantages and that obscure comparison on features where it lacks an advantage. But if every business invented its own XML definitions for product catalogs, requests for quotes, price lists, purchase orders, invoices, transportation schedules, shipping notices, and delivery and payment receipts, the Web would be scarcely more usable as a platform for agents and other automated processes than it is today (see Smith's and Poulter's "The Role of Shared Ontology in XML-based Trading Architectures" in this issue).

Fortunately, many companies already recognize the need for information-exchange standards, uniting in several initiatives focusing on XML standards for particular industries or business processes (see the sidebar "Domain-specific E-commerce Languages"). Unfortunately, these initiatives operate independently, doing little to facilitate interaction across industry and functional boundaries. The solution is to spur development of XML document models based on reusable semantic components common to many business domains. Such documents can be understood by any business through their common elements (such as address, date, and part number), while also providing a common mechanism for linking to the unique elements vendors need to differentiate themselves.

The CBL is designed to encourage development and use of generic XML document models. The library consists of information models for various concepts, including:

  • Business descriptions, such as companies, services, and products;
  • Business forms, such as catalogs, purchase orders, and invoices; and
  • Standard measurements, such as date and time, location, and classification codes.

These models are represented as an extensible, public set of XML building blocks that companies can customize and assemble to develop XML applications quickly. Atomic CBL elements implement industry messaging standards and conventions, such as standard International Organization for Standardization (ISO) codes for countries, currencies, addresses, and time. Low-level CBL semantics are also derived through analysis of proposed metadata frameworks for Internet resources, such as the Dublin Core metadata element set developed by the Online Computer Library Center.

The next level of CBL elements use these building blocks to implement the basic business forms used in X12 EDI transactions, as well as those in OTP, OBI, and other emerging Internet standards.

A working group organized by CommerceNet and other organizations recently began using CBL to create a base set of common terms, or mappings, between existing terms in commerce specifications, including OBI and OTP. The final result scheduled for release in mid-1999 will include a recommended base set of XML data elements, attributes, and definitions for use in e-commerce standards initiatives; they will be made freely available in public registries run by CommerceNet and other organizations. The Internet community, building on this foundation, will be encouraged to contribute additional elements and document models.

Agent-based shopping by consumers online is just the tip of the e-commerce iceberg.

Figure 3 shows how Federal Express might use CBL to create an XML version of its airbill by customizing a generic purchase order DTD with specific information about shipping weight. The generic purchase order, in turn, is assembled from more primitive CBL modules for address, date and time, currency, and vendor and product description. This example shows how reusing CBL components can significantly speed development of XML e-commerce applications and facilitate their interoperation.

When creating CBL, we found it helpful to extend XML with a schema language. The extensions add strong typing to XML elements so content can be readily validated. For example, an element called CPU_clock_speed can be defined as an integer with a set of valid values: {100, 133, 166, 200, 233, 266 Mhz}. The schema language also adds class-subclass hierarchies, so information is readily instantiated from class definitions. A laptop, for instance, can be described as a computer with additional tags for such features as display type and battery life. These and other extensions facilitate data entry, as well as automated translations between XML and traditional object-oriented and relational data models.

Trading partners not only have to agree on the meaning of message tags but understand how to use them for conducting business. In the eCo System, BIDs tell potential trading partners what online business services a company offers and which documents to use when invoking those services. In effect, services are defined by the documents they accept and produce. BIDs present a clean and stable interface to business partners, insulating them from a company's internal changes in technology, organization, and processes.

Figure 4 shows a fragment of a BID, defining an XML service for an eCo-compliant business. The service definition consists of two transactions—one for taking orders, one for tracking them. Each definition expresses a contract, or promise, to carry out a service if a valid request is submitted to the specified Web address. The order service requires an input document conforming to a standard po.dtd DTD in an industry registry operated by CommerceNet. If the service is able to fulfill the order, it returns a document conforming to a customized invoice.dtd whose definition is local. In effect, the company is promising to do business with anyone submitting a purchase order conforming to the XML specification it declares. No prior arrangement is needed.

A DTD is the formal specification, or grammar, for documents of a given type, describing the elements, their attributes, and the order in which they have to appear. For example, purchase orders typically include the names and addresses of the buyer and seller, a set of product descriptions, and associated terms and conditions, such as price and delivery dates. In the EDI world, the X12 850 specification is a commonly used model for purchase orders.

Back to Top

From Business Services to Virtual Enterprises

eCo servers provide the glue that links a set of internal and external business services to create a virtual enterprise or trading community. The server parses incoming documents and invokes the appropriate services (as specified by the applicable BID) by, say, handing off a request for product data to a catalog server or forwarding a purchase order to an enterprise resource planning system. The eCo server also handles translation tasks, mapping the information from one company's XML documents onto document formats used by its trading partners and into data formats required by its own legacy systems.

Following the service definition in Figure 4, when a company submits a purchase order, the XML parser in the eCo server uses the purchase order DTD po.dtd to transform the purchase order instance into a stream of information events. These events are then routed to any applications programmed to handle events of that type; in some cases, the information is forwarded over the Internet to an entirely different business. In the purchase order example, information coming from the parser may be acted on by various applications:

  • An order entry system processing the purchase order as a complete message;
  • An enterprise resource planning system checking inventory for the products described in the purchase order;
  • A customer database verifying or updating a customer's address;
  • A shipping company system using the address information to schedule a delivery; and
  • A bank system using credit card information to authorize a transaction.

However, what is most important in such processing is what is left out. Trading partners need agree only on the structure, content, and sequencing of the business documents they exchange, not on API details. How a document is processed and what actions result are strictly up to the business providing the service. This focus on commerce elevates enterprise integration from the system level to the business level.

Back to Top

A True Marketplace

eCo System's top-level goal is to transform the Web into a true marketplace by enabling spontaneous, peer-to-peer exchange of electronic business documents among all companies. This document-based approach replaces complex, expensive, and proprietary business integration solutions with one that is simple, affordable, and open.

The eCo architecture recognizes that a single dominant e-commerce standard is unlikely, even within a particular business community (and certainly not across communities). Rather, there will be many standards. CBL, in particular, is not a single standard but a collection of common business elements underlying all EDI and Internet commerce protocols. Its reusable components speed implementation of standards and facilitate interoperation by providing a common semantic framework. This approach to standards implementation and interoperation is fundamentally different from that taken historically by standards organizations and software vendors. It occupies an openness high ground embracing all the new competing standards being developed to take advantage of XML.

The eCo system framework and CBL are being evaluated in several of the standards initiatives listed in the sidebar on domain-specific commerce languages, as well as two major market trials sanctioned by CommerceNet:

  • The U.S. General Services Agency (GSA). The largest buying organization in the U.S., GSA is creating catalog interoperability across numerous government agencies. Until now, the catalogs belonging to participating agencies were implemented as relational databases, as static files, or as catalog applications. An eCo server transforms each of these information sources into a standard catalog service that responds to CBL queries by outputting an XML data stream conforming to a common catalog schema. The integrated source catalogs can then be searched through specialized user interfaces developed by various participating technology vendors.
  • RosettaNet. The RosettaNet consortium of PC manufacturers, resellers, and distributors is developing integration standards for the PC distribution channel; participants include Compaq Computer, CompUSA, Dell Computer, Hewlett-Packard, IBM, Ingram Micro, Merisel, Microsoft, and Tech Data.

The XML document models used in these initiatives are being rationalized to identify common semantic elements. These elements will be added to various public CBL repositories and made freely available (for more detail, visit and

Back to Top


1. Finin, T., Fritzson, R., McKay, D., and McEntire, R. KQML as an agent communication language. CIKM '94. In Proceedings of the Third International Conference on Information and Knowledge Management, 1994, pp. 456–463.

2. Fuchs, M. Domain-specific languages for ad hoc distributed applications. In Proceedings of the Conference on Domain-Specific Languages, 1997.

3. Kimbrough, S., and Moore, S. On automated message processing in electronic commerce and work support systems: Speech act theory and expressive felicity. ACM Trans. Inf. Syst. 15, 4 (Oct. 1997), 321–367.

4. Laplante, M. Making EDI accessible with XML. EC.COM 4, 2 (March 1998), 23–26.

5. Tenenbaum, J., Chowdhry, T., and Hughes, K. eCo System: An Internet commerce architecture. Comput. 30, 5 (May 1997), 48–55.

Back to Top


Robert J. Glushko ( is director of information engineering at Veo Systems, Inc., in Mountain View, Calif.

Jay M. Tenenbaum ( is chairman and chief scientist of Veo Systems, Inc., in Mountain View, Calif.

Bart Meltzer ( is chief technology officer of Veo Systems, Inc., in Mountain View, Calif.

Back to Top


F1Figure 1. A supply Web linking PC manufacturers, distributors, and resellers.

F2Figure 2. XML-based document exchange the eCo System

F3Figure 3. The Common Business Library

F4Figure 4. Fragment of an XML service definition for an eCo-compliant business application

Back to Top

©1999 ACM  0002-0782/99/0300  $5.00

Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee.

The Digital Library is published by the Association for Computing Machinery. Copyright © 1999 ACM, Inc.


No entries found