NetKernel is advanced software infrastructure.
NetKernel supports the resource-oriented computing
model making it dramatically easier to develop
flexible, scalable and fast software.
NetKernel is fundamentally different and the
benefits have been shown repeatedly over many years
in production deployments.
Resource Oriented Computing
|
NetKernel is grounded in a new way of thinking about software systems.
It is a resource oriented computing platform
implemented on an operating-system caliber microkernel.
On top of this core we provide a wide range of
resource models, services, programming languages
and management tools.
|
I never heard the phrase "REST microkernel" before, but I had an immediate expectation of what that
would mean.
An hour's experimentation with the system met that expectation. Wildly interesting stuff.
Jon Udell (infoworld)
|
What is
resource-oriented computing
and why does it make a difference?
Simply stated, resource-oriented computing
is a logical computing model in which
information is modeled as abstract resources
and each resource is identified by a
logical URI addresses.
The microkernel sits between the logical and physical
computing layers and mediates all resource requests, binding
the request to the physical level at the moment of the request
and then unbinding it when the result is returned.
The World Wide Web is an example of a resource oriented
computing system.
In the Web a URL identifies an abstract resource and the web server
mediates the boundary of the physical realm of disk files
and programming languages.
NetKernel implements a full resource-oriented computing
model.
In fact,
all
resources
within
an application are addressed by URI. Even code itself!
The idea of using URI addresses this way is grounded in
extensive research
conducted at Hewlett-Packard Labs by the founders of 1060
Research.
The research traces its heritage back even further, to the
World Wide Web,
and even indirectly to the foundations of the Unix operating
system.
Why does this provide dramatically better results?
Because of the complete separation of the logic
and physical computing layers and because
all resources are indirectly addressed with logical URI addresses,
the microkernel is free to provide optimizations
that would be difficult if not prohibitively
expensive to achieve using physical layer code.
Optimizations include caching, transparent thread management
and asynchronous processing.
The microkernel can cache the results of each resource request eliminating
redundant computations.
Requests can be scheduled on
on separate CPU cores to scale an application
just as Google.com can scale using
thousands of servers behind a single URL address.
Additionally each request is handled asynchronously
by tightly managed threads while eliminating the need
for a NetKernel developer to ever think about threads.
Not only is this vastly simpler,
it is impossible to write a non-thread-safe program
in NetKernel.
The most important results are flexibility and simplicity.
Applications are fully programmed in the logical
layer by composing new resources from existing
resources and software services.
This is a dramatically simpler and less brittle than
using traditional languages and APIs.
Other results of resource oriented computing approach include:
-
Functions and services decoupled from languages
-
processes can be scripted rapidly with any supported dynamic language
(Ruby, Python, Groovy, BeanShell, Javascript or dynamically compiled Java)
or with a domain specific language (XSL, E4X, XQuery, RDFQ, STM).
-
Pipes and pipeline development
- just like Unix pipes only better: NetKernel supports
pipeline streaming of all supported resource types:
XML, images and more.
-
Speeds development
- coding occurs at the logical level instead of the physical level.
Gone are direct dependencies on fragile physical
API calls and object hierarchies.
-
Transports decoupled from applications
- an application can utilize HTTP, JMS,
SOAP, SMTP/POP and others - simultaneously!
Simply map a protocol to an
application's URI addressable interface.
-
The distinction between client and server is gone
- in fact each NetKernel instance can be an equal peer in a network of distributed processes.
Get an in-depth introduction to the core technology underpinning NetKernel by visiting the
architecture
and
features
sections.
To learn more even more, please read our
white papers.
The New Equation
|
NetKernel matches and exceeds the infrastructure capabilities
of .Net and J2EE while providing lightning fast development.
Problems are transformed from challenging to easy.
For example, the nearly impossible problem of XML message
processing with physical layer code is addressed at the
logical layer by a simple sequence of resource processing requests.
The loose coupling of resources and services allows development teams
to be decoupled.
Architects will visualize the software system as layered resources and
logical services.
Specialists will construct low-level service implementations.
General team members will compose the system, test and apply data constraints
in the resource layer and at the system boundaries.
Everyone will be able to focus on their areas of expertise without
interfering with others.
|
Invitation
The implications of NetKernel's architecture are fascinating.
NetKernel provides an enterprise infrastructure comparable to J2EE and
Microsoft .Net but without their bulky collections of physical APIs and
libraries.
Embrace NetKernel's resource oriented approach and gain the best of all worlds -
light-weight scripting, comprehensive resource models and enterprise capabilities.
We are excited by the implications of NetKernel's capabilities for software development.
We invite you to try NetKernel and extend an offer to assist
you as you explore.
We believe you will join the growing number of
NetKernel adopters
who prove our proposition time and time again.
Start Experiencing the Flexibility, Power and Speed of NetKernel
Download
1060 NetKernel Standard Edition v3.3
and register for thirty days of free evaluation support.
|