1060 NetKernel Suhail Ahmed alerted me, via email, to a really interesting project called NetKernel, from 1060 Research. The docs describe it as "a commercial open-source realisation of the HP Dexter project." Here's the skinny:
Today's Web-servers and Application Servers have a relatively flat interface which creates a hard boundary between Web and non-Web. This boundary defines the zone of URI addressable resources.What if, indeed? I downloaded the 20MB NetKernel JAR file, installed the system, and took it for a spin. Fascinating concept. As advertised, it offers a suite of XML services -- including XSLT, and the Saxon implementation of XQuery -- in a composable architecture based on URIs. These include the familiar http: and file: plus NetKernel's own active: which is a URI scheme for NetKernel processes scheduled by the "REST microkernel."
What if the REST interface (URI address space) didn't end at the edge of your external interface?
NetKernel uses REST-like service interfaces for all software components. The services are fully encapsulated in modules which export a public URI address space. A module may import other module's address spaces, in this way service libraries may be combined into applications. [NetKernel Essentials]
You compose primitive URI-based services like so :
Here's an example of a DPML [Declarative Processing Markup Language] instruction to perform an XSLT transform: <idoc> <seq> <instr>xslt</instr> <operand>document.xml</operand> <operator>transform.xml</operator> <target>this:response</target> </seq> </idoc> Which the DPML runtime compiles to the active URI <code>active:email@example.comfirstname.lastname@example.org </code>Since all the supported XML processing technologies use the active: resolver, you could use active: URIs as the operand and/or operator, and you could source the resource described by this active: URI into another processing step, say an XSLT transform or an XQuery query.
I never heard the phrase "REST microkernel" before, but I had an immediate expectation of what that would mean. An hour's experimentation with the system met that expectation. Wildly interesting stuff. Thanks for the pointer, Suhail!
Former URL: http://weblog.infoworld.com/udell/2004/02/26.html#a929