Blogxter: NetKernel realizes Dion Hinchcliffe's 2007 wish list today
NetKernel realizes Dion Hinchcliffe's 2007 wish list today
26-Jan-2007 00:33:39, randykahle

Dion Hinchcliffe has been writing a blog about building simpler, flexible systems using an architectural style called WOA (Web Oriented Architecture), which is a variant of SOA (Service Oriented Architecture) in which REST plays a prominant role.

In his web log posting of January 20, 2007 Dion describes a list of emerging ideas for 2007. I wrote an article for Fawcette [registration required for the full text] that described how the WOA approach could be brought inside of applications using NetKernel. In this posting, I will show how NetKernel addresses Dion's list of emerging ideas today.

  1. Make services consumable in the browser.

    Dion describes the benefits of offering services via transports and in formats consumable by browsers. He notes that browsers are becoming an integration platform.

    In NetKernel, applications and services are independent of transports - for example a service can be exposed through HTTP, JMS, SMTP/POP, or any other transport simply by mapping the transport to the service entry address. In addition, because of transreption, NetKernel can provide a resource representation in JSON, XML, plain text, or any other desired format without any additional application code.

    In NetKernel it is not only easy to expose service entry points for browser consumption, it is a recommended standard practice. Because NetKernel applications are built using composition, a developer can expose sub-parts (temporarily) to a browser and check if they are reasonable.

    Regarding integration - with NetKernel integration can occur in the browser or at any layer of an application running on the server by using the same approach - the composition of URI identified resources.

  2. Consider syndication over "service-ising."

    Dion mentions that in addition to browsers, users are making increasing use of RSS and ATOM readers. He suggests that publication of information through this mechanism will foster adoption of your system.

    RSS and ATOM are simple XML documents that can be created in NetKernel using an XSL stylesheet. For example, in the NetKernel forum application RSS and ATOM information is created with only two or three instructions.

  3. Deeply embracing URI addressability.

    Dion emphasizes that URI addressing maybe the most important emerging idea. By identifying services and resources with URI addresses, your system becomes part of a vibrant and growing global ecosystem of shared information.

    NetKernel developers know that URI addressing is fundamental in NetKernel. The primitive operation ("op-code") of NetKernel is a request specifying a URI address.

    Dion's comment refers to URI addressing across the Internet. However, with NetKernel the boundary between the Internet and internal resources is blurred. And with NetKernel, URI addressing and services (SOA) can be used down to the finest level of granularity. This is an extremely important contribution that essentially brings all the benefits that Dion is talking about to developers building applications in NetKernel.

  4. Using Ajax as the face of your SOA.

    Ajax based applications offer a compelling user experience within a browser and inherits all the advantages of browser based applications such a zero install, generational independence of client and server, etc.

    As I pointed out in my article, NetKernel easily and naturally supports Ajax clients and in fact, the Ajax style of development can be used internal to NetKernel because of the consistent use of URI addressing and NetKernel's support for full rich JavaScript on the server.

  5. Monetizing Your SOA.

    When a valuable internal service is provided in an open manner, demand will increase and additional hardware, bandwidth, etc. will be required to keep up. Dion points out that monitoring and metering may be beneficial so charge-backs to users can be instituted.

    In NetKernel it is extremely easy to add a security layer (with the Gatekeeper pattern), monitoring, or metering. These additions are transparent to the application, the user, and the transports.

  6. Enable users as service consumers.

    With "mash-ups", users are combining information and services from different providers to produce new, compelling combinations.

    NetKernel easily supports "mash-ups" within applications. The term "mash-up" is just another way of describing composition - the standard best practice way of building applications with NetKernel. With NetKernel, mash-ups can be done in the browser or within the application.

  7. Virtualization, fast scaling, and on-demand architectures.

    Dion discusses the unpredictability of demand and the need to scale an application quickly.

    NetKernel applications can scale linearly with the addition of CPU or CPU cores. NetKernel also has the capability to coordinate applications across multiple computers. With the enterprise-caliber management tools included in NetKernel Standard Edition 3.1, augmenting and extending an application in the face of changing demand is easy.

  8. Offering an SOA as visual services via widgets.

    Embeddable widgets for web pages are emerging as an a means to build applications.

    NetKernel will easily support widget sets and for wholy contained applications, the XML Recursion Language (XRL) supports the definition and easy use of XML based components.

  9. Considering JSON as a service option

    JSON is a fast, compact representational format that has advantages when used with JavaScript (as is found in browsers). XML, when used with browsers, must be parsed and processed by JavaScript while JSON is simply "consumed" directly.

    NetKernel supports JSON as a native resource type and provides transreptors for XML to JSON and JSON to XML conversions. This means that services can be coded to provide either JSON or XML and NetKernel will deliver the format requested by the client automatically.

  10. Encouraging and discovering emergent solutions.

    The point Dion makes is that with WOA and SOA based systems, the focus is on composing solutions and that this process seems very natural to the users of computer systems. It is a natural and easy leap to then talk about having end-users compose their own systems.

    NetKernel has the ability to do this, however, as we enter 2007, support for true end-user composition is not supported by the standard product release. This capability can be easily added just as quickly as any other capability because in NetKernel, everything is dynamic. In fact, a future release of NetKernel may provide these types of capabilities - stay tuned!

  11. Leveraging the Global SOA.

    Dion makes the point that internal proprietary information can be combined with publically available and accessible information to create even more value.

    NetKernel has been able to do this from the beginning. With each resource request within NetKernel comprising a URI address and a verb, one can see that instead of active:xslt+operator... one could easily write and NetKernel will issue a HTTP request for a remote resource. Local / remote integration is extremely simple and virtually transparent in NetKernel.

Dion's blog points out the value of the WOA approach. Fortunately for those of us who use NetKernel, we can take advantage of the big ideas that may become available to others during 2007. Even if these ideas become widely available, NetKernel's clean and simple computing abstaction, based on URI addressing, will provide the easiest and most flexible way of building a modern system.

(C) 2003-2006 1060 Research Limited
1060 Registered Trademark and NetKernel Trademark of 1060 Research Limited
Powered by Netkernel