Digital Media Web Blogs > Web

The next 700 architectures? XML's coming impact on software design


Related link: http://www.xtech-conference.org/2005/friday.asp

I suspect that we haven't seen anything yet, as far as XML's mid-term impact on software design.

You remember Sun's early slogan "XML gives Java something to do"? Well XML gave Unicode something to do, XML is giving web services something to do, but ultimately XML gives URIs something to do.
My prophecy is that XML's big impact on APIs
will be the movement of web-based (and possibly RESTful) technologies inside the computer and inside the application.
There are two good examples of this I know of, and I am interested in knowing more. Both have been used successfully in real applications.

The one is HP's NetKernel which is a kind of Linux where, instead of UNIX pipes or streams being the dataflow mechanism, they provide XML-based pipelines. This provides a simple API into which modules can be plugged which range from graphics to web services. The central part is that everything in (this part of) the operating system is accessible by URL, and that XML is the prime method of data exchange.

The other one is closer to home: my company Topologi's Universal Wire architecture, as used in most of our products for the last 3 years. I will be talking about the details of it, in relation to the TreeWorld browser at XTech 2005 in Amsterdam on Friday 27th May, morning in a paper Organic Extensibility as a Browser Design approach, as implemented in the TreeWorld browser for ad hoc XML. (Otherwise known as "OEAABDAAIITTWBFAHX", and also probably what Bill Gates says when thinks about Google.) The talk is part of the Browser Technology stream.

In Universal Wire, the desktop application program (and thin client, and web service interface) is organized like a miniature World-Wide-Web. Every GUI control triggers a URL, which gets sent through a switchboard and routed to the appropriate service. The service may be local, it may be on the web, it may be sent too a peer (Topologi uses JXTA, but Rendezvous or pretty well any peer system could be used.)

It has long been reasonable to assume that over the passage of time, every piece of data in an operating system will be addressable by URL, navigatable-to as one or more trees by XPath, and retrievable in XML. Universal and uniform addressability, traversability and retrievability have the kind of practical, retrofittable elegance that makes life easier for developers and users.

What I don't think has been clear is that the computations of computers, in particular the API, also benefit from the URL/XPath/XML treatment. I don't know what to call this architecture: XML Inside?, MiniWeb?, hypotext?, PAX (Paths, Addressing, XML).

I doubt very much that the Java crowd or MicroSoft will want to ditch their 90's generation Object APIs (Java and CLR respectively) in favour of something like Universal Wire. But certainly it seems the kind of thing that can usefully be tacked on in key areas: the separation of controllers from actions in GUIs for example as in TreeWorld, or to base the OS on a web-server design as in NetKernel.


Any other examples of URI/XPath/XML or similar?

Categories





AddThis Social Bookmark Button




Read More Entries by Rick Jelliffe.

Topics of Interest

Related Books

Recommended for You

Archives


 
 


Or, visit our complete archive.  

Stay Connected