Practicalities
Nitty gritty of setting up a development environment, creating a module and configuring NetKernel
Index > Books > Declarative Development Guide > Practicalities

Rate this page:
Really useful
Satisfactory
Not helpful
Confusing
Incorrect
Unsure
Extra comments:


This page captures a broad spread of reference material that is useful when developing declarative applications on NetKernel.

Booting NetKernel

The quickest and easiest way to get started, no matter how you intend to finally deploy you application is to run NetKernel in Standalone Mode. This allows you to take advantage of all of the development features of the System Services Fulcrum.

Setting up your IDE

It is not necessary to have an Integrated Development Environment (IDE) to develop XML processes on NetKernel - you can easily work with a text editor or your preferred XML editor. However a guide to creating a development project in your IDE is provided here

Tools

The System Services Index contains a set of useful Developer Tools including browse resources in your module, and debug the execution of your services.

The Control Panel contains a set reports and management tools which allow you to look at things such as the system log, execution timings and cache utilisation.

Detecting changes

This table lists the types of development changes and how they are detected by NetKernel.
changedescription
new moduleA hot restart is needed. The new module wizard will automatically prompt you to restart.
module definition fileA cold restart is needed.
module resourceNetKernel features a sophisticated resource cache which is usually transparent to the developer. Module resources are automatically invalidated if they change but are only polled for changes according to the defaultResourceExpiry value set in the system configuration. This value should be kept small, say 500ms, during development but can be very high in deployment if files are not changed externally.
entrypointFor more details on using entrypoints see the Entrypoint Guide. You must perform an Entrypoint Reindex.
flush cacheA hot restart is needed.
reset statisticsThe kernel keeps execution statistics which power the Control Panel. If you wish to reset these statistics a hot restart is needed.

Error handling

NetKernel provides support for nested exception handling. Exceptions are rendered as XML documents with nested stack frames. Language runtimes such as DPML and XRL provide support for exception handling, many standard XML technologies provide no support for exceptions and will simply fail, throwing an exception out to the caller. Unhandled exception will propagate back to the initiating transport where they may be handled in a transport specific manner- the HTTP transport returns a 503 Internal Server Error response code and places the XML exception trace in the HTTP body.

More details of exceptions can be found in the Advanced Guide.

Non-XML Resources

Whilst an emphasis is placed on XML and XML processing, the NetKernel microkernel is entirely XML independent and is just as capable of processing CSV or binary images. So to serve a non-xml resource from a module simply expose it's URI on the module interface or write a DPML process that issues it to this:response.

Developing Java Components

This book covers developing services and applications using the libraries of XML technologies and scripting languages supplied with NetKernel Standard Edition. It is entirely possible to build complex applications such as Bugxter, a complete bug tracking system and Blogxter, a fully featured web blogging system, as pure XML applications. However if you wish to integrate new technologies into NetKernel you will need to read the Advanced Developer Guide

© 2003-2005, 1060 Research Limited. 1060 registered trademark, NetKernel trademark of 1060 Research Limited.