Passing Objects Around Networks

With the advent of XML has, in some cases, come the overuse of it for transferring information between endpoints in a distributed networked environment. It’s true that XML and Javascript Object Notation are more interoperable allowing multiple languages to be used for application development between client and server. It is also more human readable which mostly doesn’t matter except for simplifying debugging during development. I just don’t quite understand why the social realm of developers chose primarily to adopt XML over transferring the bytes of serializable objects without having to transform it to readable characters.

Binary is more efficient for serializable objects. There is less transformation required at endpoints before and after transferring data around. Less code and libraries are required to develop and deploy the distributed components of an application. Maintenance of the code is typically easier. And more sophistication can be applied in the passing of serializable object as method parameters, return values and exception handling information. Java RMI for example with its use of stub/skeletons provides the mechanism to invoke functions on remote objects which is truly more powerful than making http requests with XML data.

I suppose it’s likely that XML is just easier to use for now. The tools and IDE plugins were easier to develop and came faster than any tools to support building applications with remoting capabilities. Http and XML are just easier to deal with than configuring EJBs. Although EJB3 components are now much easier to deal with since the wiring is largely defined using annotations.

From the perspective of distributed computing being web servers scattered everywhere, it’s likely XML and RESTful style web services will continue to dominate. True next generation distributed computing capabilities where all computers are peers will require greater sophistication to handle mobile code, mobile services, service discovery and the transfer of data between the services. It’s not going to be HTTP and XML!


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s