NetKernel News Volume 5 Issue 1 - Maven Server, REST Service Testing

NetKernel News Volume 5 Issue 1

January 3rd 2013

Catch up on last week's news here, or see full volume index.

Repository Updates

The following updates are available in the NKEE and NKSE repositories

  • nkse-xunit 1.12.1
    • Added tolerant handling of java.lang.AssertionError - so that tests can work with low-level test code that issues Java Throwable assertions - see for example the REST-Assured discussion below.
  • maven-server 1.1.1
    • First release of the introspected maven server (see below).

Please note these updates are published in the 5.2.1 repository (see below for discussion).

Happy New Year - Up and to the Right

Happy New Year. After the intense push to deliver the 5.2.1 refresh we gratefully slipped into the holiday period and grabbed the opportunity to take some time out. I hope you also got time to relax and unwind.

But now we're back, refreshed and ready to start a new and invigorated programme of ROC evangelism. The diary is already filling up. Next week I'll be in Oslo with a presentation on Monday to the Oslo Software Architects group (see below for details), in February we've got a series of internal talks at some very high profile organisations and in early March we've been invited to introduce ROC to the British Computer Society.

With the focus on 5.2.1 development in the back end of the year, I didn't even find time to mention a very high profile success. NetKernel is now powering the Open Linked Data services for the Dutch Government. A project delivered in a matter of months by Paul Hermans with minimal code and maximum resource oriented composition.

If you speak Dutch, here's the specification of the Linked Data Server.

So, as we enter 2014, we are at the point of inflexion. ROC is proven. REST, Linked Data, Resource Oriented Architecture are beginning to become established.

Now it is time to break down the Object-Oriented development silos. To overcome the mono-linguistic orthodoxy. To initiate the leap off the Turing tape...

It won't be easy, as this quote, which I received from Brian Sletten over the holiday's, attests...

"Shallow ideas can be assimilated; ideas that require people to reorganize their picture of the world provoke hostility ~ James Gleick"

But now, as never before, we have the tools to breakthrough. To demonstrate how ROC takes software architecture to a brand new place. To scale new and larger horizons, more economically, more robustly and with a maleability and tolerance for change that is unprecedented.

2014 is going to be a very good year. Here's to our mutual success!

NetKernel 5.2.1 - Distribution

Last time, we announced the release of a significant refresh of the NetKernel platform available as updates in the apposite repositories. A tour of the new features was given in the last newsletter.

Since then, we have built and released a full 5.2.1 distribution incorporating all of the updates that were released to the 5.1.1 repositories.

The up-to-date 5.2.1 build is now the default download.

To accompany the distribution there are 5.2.1 repositories for both NKSE and NKEE. Future updates will be released through the 5.2.1 repositories.

If you are using NKEE 5.1.1 you will see that apposite will detect that the 5.2.1 repository exists and, only when you have updated and accepted all available updates in the 5.1.1 repository, it will automatically nudge over to look for future updates from the 5.2.1 repository. This is a completely failsafe and seamless transition since the head of the 5.1.1 repo is identical to the tail of the 5.2.1 repository. In short, the repository switch will only take place when you have applied the 5.1.1 updates that make your instance a 5.2.1 system.

If you are running NKSE and wish to continue get the latest updates then please download and switch to the 5.2.1 distribution.

ROC at the Oslo Software Architecture Group

On Monday I'll be introducing ROC to the Oslo Software Architecture Group. Interest has been very strong, there are only a handful of seats left...

Here's the summary of what I'll cover...

Resource Oriented Computing: What happens to the economics of solutions when you apply the concepts behind the Web inside software?

In software we build solutions and at some point we reach a glass ceiling - the point at which its cheaper to throw it away and start again than to try to push forward.

The Web is different.

We've never had to throw the Web away - it just seems to evolve. The Web demonstrates a different economic model, one in which the cost of change is less than value added.

In this talk Peter Rodgers will introduce the core concepts of Resource Oriented Computing. He will show how the basic ideas of the Web (REST) can be generalized and applied inside software. He will demonstrate a new and practical way of thinking about software that allows us to step up, out of the confines of programming languages, to a world of resources and evolvable resource composition.

Along the way, it will be shown how radically decoupling software architecture, leads to significant economic returns both in the development/maintenance phases and the operational engineering, with dramatic breakthroughs in performance and scalability of complex systems.

REST-Assured - REST service testing library and/or runtime library

Just prior to the holidays, Mircea Cocosila raised an interesting discussion about testing REST services using XUnit. He pointed out the REST-Assured test suite which provides a simple DSL to configure, issue REST requests and perform asserts on the response.

Now when I see a DSL I immediately think, "Why don't we have that as a language runtime". So, a dozen lines of code later I am pleased to announce the availability of the active:RESTAssured runtime...

The idea is that you can now very easily call active:RESTAssured from XUnit to create rich REST service tests expressed in the REST-Assured DSL. Of course since its a runtime and, at its simplest a full REST client, you could even use it as a library in applications?

The project is in beta having been cooked up in less than hour between glasses of sherry and mouthfuls of mince pie. Mircea is helping review and test things. Please give it a go and let us know how you get on. Once we have some feedback we'll release it as an officially supported package through apposite.

NEW: Maven Server Released

Finally, the introspected Maven server project has now had plenty of time to be tested and validated with real-world build systems.

If you didn't see this when we discussed it in August, its a pretty simple self-contained module that dynamically introspects a live NetKernel system and creates a dynamic maven repository as a REST service at http://localhost:8080/netkernel-maven/ presenting all of the NetKernel core libraries and modules as maven artifacts.

We have now released it as an officially supported tool. You can install it from apposite as the package "maven-server". After install the documentation will be available here.

Happy New Year - 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