XML: A Managers Guide (2nd Edition) (Addison-Wesley Information Technology Series)
Without question, the Internet is a revolutionary phenomenon . In just a few years , it has completely transformed the landscapes of both personal and enterprise computing. The word processor used to be the most important application on a personal computer. Now it's rivaled by the Web browser. The database used to be the most important piece of software in an enterprise computing architecture. Now it's rivaled by the Web application server. What makes the Internet so compelling? Connectivity Is the Key
The revolutionary benefit of the Internet is connectivity. From a technical standpoint, the Internet is a networking protocol, TCP/IP , plus a suite of higher-level application protocols, such as FTP , HTTP , and SMTP . These protocols are all standardized. Anyone can access information on the Internet using the standard protocols. It's easy to get a connection, and that connection provides access to a broad range of resources. This easy connectivity creates a positive feedback loop and has motivated a large number of people and organizations to connect themselves to the Internet. As more people and resources become connected, the value of connecting additional people and resources increases . If the only resource on the Internet were an online bookstore, a few prolific readers might invest the necessary time and money to get a connection. But the fact that people can buy books, music, and computer hardware ”as well as find information about companies, hobbies, and long-lost friends ”makes hundreds of millions of people willing to connect themselves. The existence of all these users creates a market for even more products and services. Similarly, if intranets provided enterprises with only the ability to connect their employees to human resource applications, enterprises might invest a few million dollars in the technology. But because intranets can connect all employees to all applications, and connect these resources to customers and suppliers, enterprises are willing to spend tens or hundreds of millions of dollars on intranets. Some people believe that Internet connectivity will snowball to the point where virtually everything containing a computer chip is connected. For example, sensors in your car's fuel pump could detect a problem and send a message to the car's central computer, which would then inform the computer at the auto repair shop. The repair shop's computer would automatically order new parts from the manufacturer. The car's central computer would then query your electronic datebook for a good time to bring your car to the shop, enter the appointment, and inform you via a screen on the dashboard. And you don't have to worry about forgetting your appointment because your electronic datebook would automatically alert you. Unfulfilled Requirements
Achieving this vision where information seamlessly moves from device to device and server to server requires that the information transferred over the Internet have a great deal of structure. Without the necessary structure, the opportunities for misunderstandings accumulate to make chains of transfers impossible . Before the emergence of Extensible Markup Language (XML), the Internet did not have a structuring mechanism that was flexible enough to accommodate a wide variety of uses. Even relatively simple information transfers such as the following presented challenges.
Whereas earlier Internet technologies have difficulty accommodating these tasks , XML does not. XML makes it easier for different people and different pieces of software to agree on the structure of information exchanged over the Internet. Roots of the Connection Problem
Understanding how XML can help you overcome the challenges of universal connectivity begins with analyzing the root cause of this problem. The underlying issue is that each party that accesses a piece of information has a different perspective on what that information means. The more parties involved, the greater the opportunity for confusion. Consider the case of spoken language. You probably find it easy to communicate with your immediate family and coworkers. Now expand the number of people with whom you communicate. As you expand outside your immediate geographical location, you will find that people use different colloquialisms. As you expand outside your profession, you will encounter unfamiliar jargon. And if you expand the number of people with whom you communicate far enough, you will encounter completely different languages. The more people with whom you speak, the greater the opportunity for miscommunication . Now let's look at an example of different perspectives on the Internet. Suppose you plan to buy a CD-RW drive online. This is an easy enough task if you plan to visit just one online store, but what if you want to compare prices at several different Web sites selling computer hardware? Each Web site has a top-level page with the different categories of products it offers. The first site you visit has a "CD-RW" category. The second one does not, but it does have a "Storage Devices" category that contains CD-RW drives. The third one also has a "Storage Devices" category, but this category has "Fixed," "Removable," and "Optical" subcategories . It turns out that CD-RW drives are in the "Optical" subcategory . Yet a fourth site has a "Storage Devices" category with no CD-RW drives. This particular site put them in the "Multimedia" category. Once you find a list of CD-RW drives at each site, you face another problem. Some list them by product description and others by manufacturer serial number. How do you compare prices if you're not sure they apply to the same item? The more stores compared, the greater the range of representations for the same information. Given enough time, you would probably surmount these obstacles to online comparison shopping for CD-RW drives, but what about an automated shopping agent? It should be easy to create a software program that visits each retail site and finds the price for a particular product. Unfortunately, with different organizational and product listing schemes, the shopping agent will probably be unable to gather pricing information from every site, making it difficult to find the lowest price. People compensate for the Web's current shortcomings in representing information by spending more time in their searches. But we are denied much of the Internet's potential for automatically gathering and processing information. Delivering on this potential is difficult with ad hoc information representation. The problem of automated information processing is particularly acute for enterprises. One of the great promises of Internet computing is connecting enterprises to their suppliers, partners, and customers so that they can achieve manufacturing, inventory, and distribution efficiency. However, each company's information systems define common business concepts such as product, order, and invoice differently. Even within one company, two divisions often have their own definitions of these business concepts. Imagine the gulf that exists between different companies in different industries located in different parts of the world. How could an enterprise make its information systems cooperate with those of a foreign supplier? Solving the problem for one supplier is easy. The company could just build a one-to-one translation program. Unfortunately, most enterprises deal with hundreds of suppliers, requiring the construction and maintenance of hundreds of translators. The resulting business environment is hardly a picture of free- flowing global electronic commerce. |