NetKernel - taming XML and Web 2.0
Out with the app server, in with a REST
So was there much of culture shock for O-O developers?
"Only at first. Every one of them has made the transition, though, and they're building systems that are more tolerant and adaptive than before."
Rodgers doesn't blame developers for their prickly mindset, but rather the brutal economics they're presented with. Developers need to justify a big investment to learn a new language or framework, so it's natural they get very defensive. But languages all even out in the wash - they're not really significantly different once they reach a certain level of maturity.
NetKernel currently runs on a system with 12MB of memory and the Java 1.4 runtime. Performance results have in some cases shown dramatic improvements over a J2EE implementation, with a typical system running three to four times faster than a traditional app server.
Rodgers has some robust views on the state of software development. Although NetKernel grew out of XML (its project name at HP was 'Declarative XML Tranform Engine'), it isn't XML specific, let alone web-specific.
"Back in 1998 and 1999, we began building messaging and banking systems with XML and found it worked and gave us a lot of flexibility - the 'X' in XML is there for a reason. But as soon as you bind the XML to the object model, it becomes as brittle as the object model. XML is the most tedious brittle environment, and developers hate it."
And Web 2.0?
"It's as if people were comfortable with telegraph, then someone invents the telephone - but people carry on doing Morse Code over the telephone.
"A lot of this is baked up by people with agendas - and books to sell. What AJAX does change, however, is the characteristics of the web server - it's busier. But the web doesn't end at the edge, at the web server, it goes right down to the data. Think resources, and REST, and you can begin to inject caching at every level."
NetKernel is licensed under both the GPL and a commercial license. If you make your NetKernel-based source code available then you use the 1060 Public License, a reciprocal license. If you use it in a commercial application, then you pay. This is similar to the model for the BerkeleyDB database which Oracle recently acquired from SleepyCat. ®