NetKernel Standard Edition
Overview of NetKernel Standard Edition
Index > Books > Introducing NetKernel > NetKernel Standard Edition

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


1060 NetKernel Standard Edition

1060 NetKernel Standard Edition is an Application Server built on the 1060 NetKernel microkernel. The system provides a modular operating environment for developing applications and services. The system is pre-configured with an HTTP transport for Web-applications and Web-services but NetKernel is transport independent and other transports are supplied or can be easily added.

The system has a web-based management and system services index which runs as HTTP on port 1060 of the host platform. The index also provides developer tools, wizards and structured documentation.

A front-end application server is provided over HTTP on port 8080. Web-applications can be developed or installed to the front-end independently of the back-end system management.

System Architecture

NetKernel Standard Edition is a collection of modules which together comprise the Application Server infrastructure. Below is a high-level map of the structure of the App Server. You can inspect the Kernel's realtime module deployment here.

Below is a map of the Standard Edition System each block consists of one or more modules - click a block for the description.

MicroKernel

The 1060 NetKernel microkernel is the core of the system. It manages modules and schedules URI requests for software components. Every process on NetKernel is a managed series of requests against layered URI interfaces. Every request is resolved and scheduled by the microkernel. The microkernel also manages caching and transports.

[top]

Layer1

Layer1 provides fundamental low-level system components and services. These include low-level resource representation implementations (such as ByteArrayAspect which holds a resource in a byte array). Layer1 also hosts Accessors for servicing requests for file:, http: and data: URI schemes.

Layer1 is the home of the NetKernel Foundation API - which presents a clean abstraction of the raw Kernel APIs and offers base-classes for all of the different types of NetKernel components.

Generally you can think of Layer1 as a fundamental part of the infrastructure, most of the higher level modules use the services of layer1 - in a less modular architucture the functions of layer1 might be incorporated in the kernel. NetKernel's philosophy is to allow every piece to be a replaceable unit so if necessary, for example for an embedded system, Layer1 could be replaced by one or more other modules.

[top]

XML-Core

XML-Core provides fundamental XML infrastructure. This includes various document object models, caching XPath engines, default parsers and serializers. It also provides NetKernel's XPath Document API (IXDA, DOMXDA etc) which offers a convenient semi-declarative XPath based API for XML processing.

[top]

XML-Accessors

XML-Accessors is a large set of XML technologies provided as URI addressable services. This is a set of modules, the most important of which is xml-ura which provides XSLT, STM and many forms of Schema validation and other general XML utilities. The ext_xquery module hosts the XQuery engine, other modules provide XML security. tools etc.

[top]

Service Libraries

This is a large set of modules that provide general application-level services. Examples include ext-sys for general system-level services such as log, mod-db for RDBMS integration services, ext_xforms for Xforms services, ext-xhtml for XHTML services etc etc.

Accessors are fully documented with each document reference providing the URI of the module in which it is hosted.

[top]

Runtimes

Runtimes are services that execute processes by scheduling sequences of service requests. The system provides both declarative and procedural runtimes: declarative runtimes include DPML for assembly language-like composition of processes and XRL for recursive pull composition of XML resources. Procedural runtimes include the NetKernel scripting framework which supports Groovy, Beanshell, Javascript and Python dynamic languages.

Most applications and services consist of processes executed on one or more runtime. The NetKernel system is totally flexible, runtimes can be replaced or new ones added.

[top]

Applications & Services

This is where applications and services are developed. NetKernel applications are developed in modules which may import the modular services provided by the lower-level Application Server infrastructure. As an example, all of the NetKernel back-end administrative applications, services, wizards, documentation etc are NetKernel applications in this layer.

[top]

Fulcrums

Fulcrums are modules which host transports and connect transport requests to applications or services. In the default NetKernel system there are two fulcrums, the back-end fulcrum hosts an HTTP transport on port 1060 and imports all of the administrative applications. The front-end fulcrum hosts an HTTP transport on port 8080 and is provided for deployment and development of user applications.

[top]

Transport

Transports map externally generated events into NetKernel requests. The most widely used transport is the HTTP Transport which receives HTTP REST requests. Also provided is the Intray transport which polls a directory for files, processes them with an application and places the result in another directory. NetKernel is completely transport (application protocol) independent it is easy to create new transports for example for email, instant messaging, SOAP messages etc etc etc.

[top]
© 2003,2004, 1060 Research Limited. 1060 registered trademark, NetKernel trademark of 1060 Research Limited.