NetKernel News Volume 1 Issue 14

February 12th 2010

What's new this week?

  • Plenty of updates, mostly enhancements - such as better search results etc.

Probably the most important new feature is an enhancement to NKF and declarative requests to support request chaining. This enables lazy evaluation of functional f(g(x)) style requests and introduces the potential of "micro-overlay" patterns.

Repository Updates

The following packages are updated in the repository - to update use Apposite->admin->sync then look at packages and "install all updates".

http-server: Thanks to Miles, Jeff and Menzo's diligence it was discovered that Jetty 6.1.x has been repeatedly changing its mind between release versions about what it thinks the default content encoding of a POST should be. To take control we've added a configuration property that will allow you to definitively set this for an individual transport instance...

<config> ...

If this parameter is not set we ensure that the NK default is always UTF-8 - we've introduced a trick to convert Jetty's "flavour of the day" when necessary.


When transrepting a binary stream XML resource to HDS, the SAX handler now correctly deals with namespaces and, like with the existing DOM to HDS, represents the XML in the HDS tree.

The module change detection now recommissions dependent modules even when they have no public spaces. This update resolves the Cookie class cast on http-server update problem from last week - it turned out that the Fulrcums were not being recommissioned since they had private spaces.

NKF f(g(x)) request nesting - requests can now be added as first class arguments on a constructed request. Therefore it is now possible to create lazily evaluated request chains similar to how DPML's lazy evaluation model works. This enhancement to NKF enables a raft of new patterns - for example, with it, you can now create a local wrapper function around any endpoint without needing the static structure of overlay's and nested spaces. In short you can do micro-overlays. Tony has promised to blog in detail about this new capability (but you know what that means).

For completeness, the declarative request also supports nested requests - so you can create overlays just using the mapper alone.


Added indexing/resolving to control panels - so that they come up in searches.

nkse-cron: A fix to the control panel so that buttons work properly. The onclick() events had stopped working after changes to the control panel rendering (lesson here, watch out for attribute case sensitivity with XHTML).


Class trace tool now works for modules with no public spaces (eg Fulcrums).


Updated with better glossary and more keywords to help search. Doc indexing was also tweaked so that the book name is shown in a search result - to provide better search context.


Primary arguments (ie SINK or TRANSREPT payloads) are now captured and visible for inspection.


Tweak to error messages so that you can see the zone if you have a resolution failure.

NetKernel Servlet Beta 2

A Beta 2 update version of the The Servlet embedded version of NetKernel is available incorporating some compatibility tweaks based on user feedback. We're still looking for feedback and coverage in containers.

Download it here...

The solution is self-contained and includes a complete NKSE system ready to go within a servlet environment.

There are three files in this distribution, netkernelservlet.jar, web.jar and timeservice.war. The timeservice.war file is a complete ready-to-use web application which implements a RESTful time web service.

The netkernelservlet.jar file contains the NetKernel Servlet. This is a traditional servlet that can be installed in the WEB-INF/lib/ directory of a web application and configured in the web.xml

A detailed installation and usage guide is provided here...

1060 CSP Testing

We've started public testing of the new Customer Services Portal (CSP). We'll be progressively broadening access over the next week or so, after which we will declare it officially open. Thanks very much to our early access users for their feedback.

Production tip: We discovered during the staging cycle that updating the Sun JVM to the most recent 1.6.18 build has solved a lot of GC segfault bugs we were seeing on the 64bit linux JVM.

Have a great weekend.


Please feel free to comment on the NetKernel Forum

Follow on Twitter:

@pjr1060 for day-to-day NK/ROC updates
@netkernel for announcements
@tab1060 for the hard-core stuff

To subscribe for news and alerts

Join the NetKernel Portal to get news, announcements and extra features.

NetKernel will ROC your world

Download now
NetKernel, ROC, Resource Oriented Computing are registered trademarks of 1060 Research

© 2008-2011, 1060 Research Limited