ComposeCompose
NetKernel development
Home > Books > Solutions Developer Guide > Development Approach > Compose

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


NetKernel Development: Compose

As a solution developer, the majority of your focus is on the Compose phase of development. Composition consists of the coordination and configuration of resources and services in order to pull together a software solution.

The loose coupling of resources and code in NetKernel allows rapid development. It also means that the cost of change is very low so that refactoring becomes a natural part of the development cycle and maintainability stays high.

Composition

In many ways the composition of dedicated services or functions into higher-order composite solutions is a well established practice which lies at the heart of Unix system development. NetKernel embraces this philosophy for scripting and coordinating services.

Think Local

When constructing a composition of services it is valuable to maintain a simple mental model. Consider what is the service interface that must be presented upwards to higher-order clients? What services below this location will the solution call as a client? Answering these two independent questions will yield a simple local solution which can easily managed and adapted as the system requirements change.

Use the URI address space to Manage Complexity

Complexity should be managed by abstracting a composite scripted solution behind a higher order URI interface - this is done by tiering services into modules so that a module provides a set of functions at a similar level of granularity. These compositions can then be treated as black box services by higher order parts of the system.

Risk Mitigation

With NetKernel, you can rapidly compose a solution using existing resources and services and rely on surrogates (aka proxies / mocks) for elements that have not yet been constructed. This early version of the solution can be refined with input from the users in a very rapid cycle of development and execution. Because you will be using scripting languages and a loosely coupled, late-bound development environment, you can focus on the business logic and defer concerns such as linking, compiling, etc. either to NetKernel itself or to a later stage of the development process.

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