|
NetKernel News Volume 1 Issue 21
March 26th 2010
What's new this week?
- End-to-end support for the new HTTP PATCH verb.
- Enhancements to Jabber and Intray transports
- Groovy 1.7.1 first look
- Resource Oriented ESB demo.
- Some boring stuff about mailing list.
[Apologies if you got this twice - see boring stuff below. What do you mean, "Which bit, its all boring." ?]
Repository News
http-client: Implements last week's standard approval of IETF 5789 PATCH method (http://tools.ietf.org/html/rfc5789) (see below).
jabber-xmpp: Now supports TLS encrypted connections and the option to supply a port number. (Thanks to Chris Cormack for contribution.)
intray-transport: The intray transport now provides the optional ability to specify a file extension match on the input side and the file extension to be used for the processed output file. (Thanks to Darren Cruse for contribution.)
nkse-license: Support panel modified to point to the new newsletter service (see below).
[To get updates from the repositories use Apposite->admin->"synchronize" then view "Packages" and "select all updates"].
Housekeeping: Mailing List Transition
Our mailing lists are in the process of transitioning to a new more flexible implementation on the NetKernel Portal. This is of no interest to you I know, but it does mean the new system has the option to unsubscribe and supports multiple lists for special interest topics. More importantly, it enables us to issue ad-hoc announcements such as security alerts so we can offer you a better service.
We'll run the two in parallel this week and next, but then close down the older system. So, if you want to keep receiving these newsletters and you haven't already done so, register on the portal which will renew your subscription...
https://cs.1060research.com/csp/
If you are already registered on the portal and don't want to get this weekly newsletter, just uncheck "NetKernel Newsletter" in your portal settings https://cs.1060research.com/csp/settings/
HTTP PATCH VERB
Following last week's ratification of the PATCH method as a standard http://tools.ietf.org/html/rfc5789 we have implemented a new accessor active:httpPatch in the http-client library. The argument syntax is the same as for active:httpPut but the semantics are defined as conveying a change set as the body representation.
Brian Sletten discusses how PATCH could play out with RDF resource models...
http://www.semanticuniverse.com/blogs-http-patch-and-tracking-rdf-changes.html
And of course PATCH is equally applicable for text, XML,.... and application specific resource models.
The http-server is unchanged since the HTTPBridge is already a general solution that provides the resource httpRequest:/method - which when requested will return "PATCH" if the server is handling a PATCH request from the active:httpPatch client. It is your service/application's responsibility to choose the success response code (with the recommendation being to use 204) and to issue error handling response codes as per the specification.
Development News
We've started evaluation and testing Groovy 1.7.1 prior to release for both NKSE 4.1.0 and NKEE final. The 1.7 family adds anonymous inner classes for more Java equivalence, plus plenty of other enhancements...
http://docs.codehaus.org/display/GROOVY/Groovy+1.7+release+notes
Its directly replaceable with 1.6.x library we currently ship - so if you're keen, you can swap over the groovy-all.jar in the lib/ directory of the lang-groovy module.
Out of the box its passing all our regression tests but we'll take a little time to monitor it over the longer term. We're cautious with adopting language runtime updates just in case.
One difference we've already found is that you need to take care with static variable declarations used in the main script body and not part of an inner class - if you're currently using 1.6.x you might want to take care with these to avoid future incompatibility.
On a related note, it looks like JRuby is now nearing a level of maturity that would make it viable as a language option on NK. We actually have an unreleased JRuby runtime based on JRuby 1.1.x. But we felt JRuby was too transitional to be released. However it now seems to have a stable embedding API, and hopefully it will have addressed intialisation performance issues that made it unviable before.
The NK JRuby integration has a companion module that provides the Ruby 1.8 class library (loaded through the ROC address space - with an ROC Ruby path similar to the pattern we use with lang-python).
If there's a pressing demand we can put some effort into integrating 1.4.x and releasing as a package.
ROC Community News
Last week Jeremy Deane presented his NetKernel-based "Resource Oriented ESB" architecture at The Server Side symposium in Las Vegas...
Presentation is here: http://files.me.com/jtdeane/hhc4po
It combines RESTful web services, JMS and 3rd party SOAP-ws using clean URI abstracted services to provide normalized transport-independent middleware. The system is mission critical and serves 20,000+ users a day.
He's gone the extra mile and produced a very comprehensive demo that can be adapted as needed...
Demo is here: http://files.me.com/jtdeane/agqwsg
Judging from the audience's twitter traffic the presentation was very well received.
Have a great weekend.
Comments
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.