XML: Leading the March to Web Services (cont.)

Step 3: Achieving Firewall Transparency
Once you have XML documents and XML schemas, it isn't a huge conceptual leap to imagine passing typed, structured information generically between disparate systems. So long as systems at both end of the transaction can translate the data types specified by XML schema from a text representation into a native machine representation, there is nothing to constrain the sharing of data via XML. An XML document created on one system can be read accurately by a program running on a different system.

While binary format is fine for trusted connections, most companies are unwilling to let binary data flow freely into and out of the company over port 80—the standard port used by HTTP. In contrast, it's relatively safe to let text information flow back and forth. And that's exactly how XML Web services behave.
But passing XML across the Web has inherent inefficiencies because it must be translated at both ends of the connection. In contrast, other types of distributed applications, such as financial systems, object remoting, and terminal emulation programs, were initially conceived when bandwidth was very limited and therefore were designed to transmit information as efficiently as possible. Further, these systems generally transmit non-textual data in binary formats, which are more efficient because they require less translation, and because the formats typically contain less meta-information. But while a binary format is fine for trusted connections, most companies are unwilling to let binary data flow freely into and out of the company over port 80—the standard port used by HTTP. In contrast, it's relatively safe to let text information flow back and forth. And that's exactly how XML Web services behave. They are first translated on the sender's side into a text representation, transmitted via HTTP, and then retranslated on the receiver's side back into the original form. Translating to and from text is safe, but inefficient.

To be truly useful, Web services need to handle not only pure data—numbers, text, and dates—but should also handle data bound up in objects. Serialization to XML solves this problem.
To be truly useful, Web services need to handle not only pure data—numbers, text, and dates—but should also handle data bound up in objects. Serialization to XML solves this problem. In combination with a schema, you can take any object and serialize (save) it to XML, pass it to a remote machine and then deserialize it, effectively recreating the object remotely. Obviously, the programs involved need to understand how to use the objects, but object serialization via XML solves the problem of a common object representation very nicely—exactly the problem that Distributed COM (DCOM) and CORBA were intended to solve. In some respects, Web services are a step backward: DCOM and CORBA have capabilities that Web services and XML still do not have. But it's just a matter of time until Web services catch up.

Despite lingering inefficiencies, XML's text format and its ability to represent serialized objects are the third step in the evolution of Web services. Using existing Web servers, companies can pass XML-formatted data and serialized objects through their firewalls using the ubiquitous HTTP over port 80—a port which is already both exposed (due to the Web) and protected (by firewalls, routers, proxies, and virus scanners) at most companies because of the nature of the Web.


The Need for Data Types and Schema Invoking Remote Components

In this Article
Introduction Step 3: Achieving Firewall Transparency
Step 2: The Need for Data Types and Schema The Final Step: Invoking Remote Components Using SOAP
 





FEATURE SOFTWARE:
dtSearch Web
Add power searching to your web site.
Buy Now!

Encrypt It
Encrypt and Decrypt Data, Passwords and Files within your application.
Buy Now!

Standards Organizations and Web Service Coalitions

Key Platforms

Pure-Play Web Services Vendors

Web Service Technologies or Components

From Sun.com

For Further Reading

Discussion Groups
Java Web Services
.NET Web Services

Back to the Special Report

Java Zone

2001 Special Report: Judging Java

TALK BACK
Do you agree that the current focus on Web services is merely a short-term phenomenon, and that Web services will eventually become part of the standard network "plumbing" that everyone uses but few people really need to understand? Talk about it in the Java Web Services discussion group.


Sponsored Links

Advertising Info  |   Member Services  |   Contact Us  |   Help  |   Feedback  |   Site Map
Jupiterweb networks

internet.comearthweb.comDevx.comClickZ

Search Jupiterweb:

Jupitermedia Corporation has four divisions:
JupiterWeb, JupiterResearch, JupiterEvents, and JupiterImages

Copyright 2004 Jupitermedia Corporation All Rights Reserved.
Legal Notices, Licensing, Reprints, & Permissions, Privacy Policy.

Jupitermedia Corporate Info | Newsletters | Tech Jobs | E-mail Offers

Copyright Information/Privacy Statement