Extensible Markup Language (XML) is a simple data description language with profound implications. It affects how we build software and how we think about distributed systems. Surrounding XML is a family of standards and technologies that have opened up new possibilities for exchanging information across the World Wide Web and building communication infrastructures.
XML derives much of its strength in combination with the Web. The Web provides a collection of protocols for moving data; XML represents a way to define that data. The most immediate effect has been a new way to look at the enterprise. Instead of a tightly knit network of servers, the enterprise is now seen as encompassing not just our traditional networks but also the Web itself, with its global reach and scope.
In this chapter we look at XML's role in the expanding view of the enterprise. From its beginnings as a language for describing vertical industry data, XML has blossomed to include not only horizontal applications but also protocols that challenge the conventional wisdom about how to do distributed computing and that open the door to new ways of discovery and connection. Web services represents the most recent visible effect of this change.
In this chapter we also try to establish the context for the changes brought about by XML and the Web. To place events in perspective we explore three technology revolutions: data, architecture, and software. Together the changes in these areas are fostering new ways of thinking about the enterprise and about application development in general. The new paradigm that emerges is the result of global Web-based communication infrastructure, the ability to describe data with XML, and the emergence of XML-based protocols such as Simple Object Access Protocol (SOAP) that contribute to a fabric of loosely coupled distributed systems. As we'll see, these forces are driving initiatives such as Microsoft's .NET and Sun's Java 2 Enterprise Edition (J2EE) that are looking at XML as the bridge between the more traditional space of tightly coupled object systems and the more freewheeling loosely coupled space of the Web.
Extending the Enterprise
The story behind XML is very much the story of the Web. In just a few short years the Web has affected almost every aspect of our lives, from work, to play, to social interaction. However, until recently, the Web's impact has been primarily on individuals, providing a quick and efficient way to check email, search for information, and buy things online. The global scope of the Web and its possibilities have not gone unnoticed by companies looking to gain competitive advantage. This global connectivity, coupled with accepted Internet standards for communication, has spawned new ideas about how to leverage this new capability.
As Figure 1.1 illustrates, there are three major aspects to extending the enterprise from a relatively constrained network to the broad reach of the Web. The most commonly considered aspect is the business-to-consumer (B2C) connection, exploiting opportunities that abound in online commerce. Another area is the business-to-employee (B2E) connection, adding efficiencies in operations and customer contact by using the Web instead of proprietary networks. A third area, and one of particular interest to businesses trying to survive in competitive environments, is the business-to-business (B2B) connection made possible by the Web. Together, these opportunities are driving what is seen as the extended enterprise, a mix of traditional networks and the loose space of the Web.
Figure 1.1 The extended enterprise combines traditional networks with the power of the Web, opening up new opportunities in B2B, B2C, and B2E commerce.
But to turn these possibilities and visions of global connectedness into a reality requires data, not only for the consumer, but for employees who need data and information to do their jobs wherever they are, and for the B2B transactions that are the essential ingredient for partners and suppliers. That's where XML comes in.