Developing Extensions to NetKernel
NetKernel 3.3 includes a rich set of
Resource Models
and services.
If you need additional or customized resources and services
this guide explains how to augment NetKernel.
It is possible to develop extensions by programming directly with
the NetKernel microkernel.
However it is much easier to use the NetKernel Foundation API (NKF), a
light-weight API running immediately on top of the microkernel.
This guide uses the NKF to build extension.
The type of component that you need to develop
depends on the type of
extension you desire to create.
These components include:
-
Accessors
are software endpoints for URI requests.
Develop a new accessor to provide a service or address scheme.
-
Transreptors
allow NetKernel to transparently transform information from physical representation
to another.
If you add a new resource model you will probably need to support at least
the transreption to and from a Binary Stream.
-
Transports
monitor events and inject requests for events.
Develop a new transport to add support for new event types and
sources.
-
Fragmentors
are now deprecated and will not be supported in the up-coming
NetKernel 4.0 product.
We do not recommend developing new Fragmentors.
Instead implement the functionality using an accessor.
-
Caches
are components that keep resource representations in memory.
-
Aspects
are Java language interfaces which support each physical resource
representation.
A wide range of components are included with
NetKernel Standard Edition 3.3. Refer to the
NetKernel API and Services Reference
for a complete list and additional information.
Some extensions can be developed with one of the many supported scripting languages.
For the greatest degree of flexibility, performance, and control,
Java is the preferred development language for NetKernel components.
For those components that can be written in a scripting language,
it may productive to develop the logic in a scripting language
and later recode the logic in Java to gain the highest degree of
performance.