Large Applications
Things to consider when developing large scale applications
Index > Books > Declarative Development Guide > Practicalities > Large Applications

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


Developing simple applications is one matter but NetKernel has unique characteristics which make it a platform that scales well to large scale projects.

Decomposing an application into layers

Depending upon the application or service it can usually be broken down into a number of separate layers whose dependencies form a graph. Starting with technology libraries which encapsulate standard technologies into accessors, transports, transreptors etc. These have few external module dependencies. In parallel, and equally independently you can build application logic usually providing public interfaces using usually XML. Creating flexible interfaces to users be they humans or machines can be separated from the business logic and put into a layer that integrates with transports to provide external connectivity.

NetKernel offers complete flexibility for decomposing functionality into modules. The guidelines above are just that- guidelines. See the examples section below or take a look at the structure of the Standard Edition distribution for more ideas.

Distributed Services

As you know by now, every service is addressed by a URI. The most direct way to invoke a service is for a client module to import a service module and then make a request targeted at that URI. However a separation between client and server can be acheived by using rewrite rules and placing a proxy service between client and server. Such a proxy may provide an abstraction such as transparent resolution and tunnelling over a transport, security or other add-in style functionality in a similar way to cross-cutting with aspects in a technique known as Aspect oriented programming.

Examples

A number of large showcase applications have been developed using NetKernel. For more information see http://www.1060.org/applications.

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