NetKernel News Volume 1 Issue 7

December 4th 2010

What's new this week?

  • The (re)appearance of the New Module Wizard
  • A new developers module deployment manager tool
  • A couple minor bug fixes to freemarker/the standard module mapper overlay
  • A whole new set of video tutorials
  • An update to apposite.
  • Plus, Golden Thread video/demo action
  • Virtual boot camp.

System Updates

apposite: Finally, at long last, we've added a "Select all Updates" button to Apposite! This being so, here is the recipe to avoid extraneous click-induced RSI for the this week's updates.

  1. Go to Apposite -> Admin -> Synchronize.
  2. Go to packages - and *only* select "update" for Apposite (fortunately its top of the list so no extra mouse mileage).
  3. Click "Apply Selections"
  4. When it says, click "Refresh", you've now switched to the updated Apposite
  5. At the top there should now be a big button "Select All Updates".
  6. Click it - and now all the outstanding updates are selected ready to be applied.
  7. Sorry it took so long to get round to adding this! No excuse. Thanks Brian for making the point (repeatedly).

Ok you can now get all the following updates with one click...

nkse-dev-tools: A new module wizard has been added. This tool, found in the "Developer panel" after install, gives you a fast track way to set up a new module with options for groovy and DPML scripted endpoints with stubbed out docs and unit tests. It takes the boilerplate effort out of getting a new module set up.

Another tool that's been added is a module deployment state editor. It lets you jar or unjar an installed module, change its runlevel, or simply temporarily start/stop a module.

doc-content: A set of video tutorials are now available - they are provided as embedded videos in the "Tutorials Book" and amongst other things show how to set up and compile a Java endpoint in a module and an introductory video tour of the visualizer.

lang-freemarker: Has been optimized with an enhancement to return Strings by default (improves performance and makes using results simpler). Also the error handling when a template cannot be compiled is now enhanced with detailed underlying messages reported.

module-standard: A fix was made to the second order metadata endpoint identity resolution (not the first order identifier/grammar resolution) of logical endpoints defined with the mapper. The tail recursion on the endpoint id now works the same as with a physical endpoint.

system-core: Adds a service netkernel:/deployment which provides a composite view of the deployed modules (from modules.xml) together with current deployment state (from the ModuleManager). This resource is what underlies the new module state editor.


demo-golden-thread: This demo is a multimedia feast. Not only does it incorporate two videos, the first explaining the concepts underlying the golden thread pattern, the second a "live" talk through of the demo itself, but also copy of the demo to play with including technicolor golden thread visualization technology™ (really it is no more than a time stamped resource - but let me be happy in my own world).

For those that have not heard of this pattern - it's possibly the first distinctly ROC design pattern, its certainly the first to be named. The gist is that the NK ROC infrastructure is able to track and cache all dependencies whenever you create a response (representation). If those dependencies remain valid then the representation can be served from cache. As soon as any one dependency is expired (like you edit a script file), the cached representation is atomically expired too.

The Golden Thread pattern arises from the realisation that in ROC you are working on the logical plane - you don't have to have real physical dependencies - you can create imaginary dependences! And so, if you can create them, you can also invalidate them, by imagination alone (well, ok, not quite). Basically this pattern shows how you can partition applications into highly cached composite "read" channels and, without any physical code, can have state changing channels invalidate all those read channels without ever knowing where they are or what they do.

After that last paragraph you now see why its easier to explain with a video demo of it in action. Although conceptually novel, its really not complicated and takes just one additional request to implement.

This demo has evolved and been shown in a number of presentations. I finally got around to polishing it for general release. Let us know if this is helpful. Of course it only shows a very simple application of this pattern. GT's can evolve to become very elaborate and can be distributed across clusters and external persistence mechanisms (RDBMS etc) - they are imaginary after all.

To install go to apposite and make sure to click "uninstalled" then look for "demo-golden-thread" in the package list and select "install" (Note this is not an update - the new apposite won't install this for you cos its not installed already!)

Virtual Boot Camp

We've been talking to a few people that have been following/playing with NetKernel for a while and have had feedback that they think there's "something really cool here" but can we help them "really get ROC". So our idea is that we run a virtual boot camp - maybe a free 2 hour webinar where we go through some hands on examples, show some patterns, generally apply NK4 to the real world.

We've not fixed the format or dates - but it should be soon - what we want to gauge are numbers so that we can figure out what format will work best. So if this is something you'd be interested to join in, then drop a note to the usual address.

Enjoy the 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