For those with a long memory of the industry, the version number
3.1 has a certain significance. Remember Windows 3.1? The first
version of Windows that was slightly useable.
NetKernel reaches version 3.1 today. Now hang on, I'm not making
any association between the history of Windows and NetKernel!!!
Rather, for a software product, 3.1 is a rite-of-passage. A
milestone. Like your 18th/21st birthday. It says: 'This software is
mature'.
In that spirit, NetKernel 3.1 is predominantly a production
update. It brings together the module upates that were released and
have beeen available on the update service over the last 6 months.
Examples include enhancement tweaks to the web-service library to
support relative endpoints. Updates to mod-xml and javascript to
solve library issues in Apache xmlbeans that propogated up into
E4X. Updates to the XSLT accessor to make NetKernel the entity
resolver for DTD declarations.
Most of these updates have been prompted or submitted by our
users and their real world production applications. A big thanks to
you all - you have validated our ambition that an interactive dual
license model could stimulate a QA feedback loop that continually
refines the product.
So 3.1 is just a repackage? Nope. We found time to add some new
tools, including a streaming editor (sed) - something we've needed
to provide a streamed variable substitution layer over cached XRL
application tiers. We also include a preview of the Ruby language
runtime - as we mentioned at the Architects weekend we will track
JRuby and will make Ruby a fully supported language when it reaches
1.0 early next year. The inclusion of this preview allows you to
try out developing NK services in Ruby and to explore the use of
Ruby libraries within scripted NK systems.
Finally as part of our philosophy of continual improvement, we
have written a brand-new "Getting-Started" book in the system
documentation. A big thank you to all those of you that scaled the
curve to grasp the NetKernel 'way of thinking' - we've listened and
tried to gently introduce NetKernel's resource-oriented approach in
a way that shows how NK is an abstraction above the object-oriented
world. Critically we hope we now show that NK doesn't demand that
you forget the whole OO world, it is still critical, but in NK it
lives within loosely coupled service-based containers - aka
Accessors.
So there's something for everyone in 3.1. For production
customers a new, ready-to-deploy, distribution of production proven
libraries. For the adventurous a new language to explore. And for
the new NetKernel user (or the user that bounced off NK in a
previous encounter) a learning curve that has hand-holds and a
route map.
Finally, a personal perspective on why and how I keep focused on
delivering NetKernel. At the recent NetKernel conference it was
just amazing to hear from people that are excited and who,
unprompted, wanted to share their production experience of how NK
solves problems and delivers solutions that work. When you've got
people like that around and you hear that doing things differently
with NK pays off, its not hard to feel that the world of NetKernel
is a hell of a lot of fun. Thanks.
Get it whiles its hot: NetKernel v3.1