NetKernel®
the power of
a Uniform Resource Engine

NetKernel® delivers a high performance, emergent and scalable platform to develop, integrate and operate complex service and data architectures. NetKernel implements Resource Oriented Computing® and achieves a new software economics. By taking Micro-Services to the ultimate level, NetKernel® delivers huge technical breakthroughs for development, operations and architecture engineering...


Request Visualizer

Time machine debugger/profiler. Capture and visually inspect every aspect of the two-step resolve/execute ROC process. Real-time with no overhead. Profile system performance with hotspot analysis.


Visual functional programming

Simple drag and drop composition of existing tools to do functional programming without having to think about functional process flow. Sandboxed design to provide fool-proof safe development environment even for end-users.


Space Explorer

Visual exploration of architecture. Detailed architecture navigation featuring design discovery, relationship inspection, real time system state reporting, real time service description. Space Explorer: a unique tool for oversight of evolvable architecture.


Cache / Heatmap

All computation is cached so NetKernel is ultra-fast. NetKernel's unique cache is multi-dimensional, contextually aware, dynamic, self managed. Offers fine grained control with a unique recursive dependency model. The Visual Heatmap tool provides realtime visualization of the distribution of the cached state in your architecture.


Engineering Components

Take control and balance the operational system-engineering levers. Tune with realtime feedback. Define and control the performance envelope by introducing unique engineering endpoints such as software throttles.


Plurality of Languages

Out of the box support for Java, Groovy, Javascript, Python, Ruby, Scala, XSLT, XQuery... Or use simple declarative composition processes, other recursive DSLs or a huge range of domain specific transform tools.

A Uniform Resource Engine


A New Approach: Resource Oriented Computing

DETAILS

NetKernel® implements the Resource Oriented Computing abstraction providing a Uniform Resource Engine. The simple scalable foundation that transforms software economics.

Evolvable Architecture The NetKernel platform allows you to design for the enterprise, building emergently complex evolvable architectures through combination and recombination of a small set of simple components. Contextual address spaces provide the large scale reusable resource sets to ensure long term return on investment.

Scalable Architecture The first and second level caching capabilities combined with linear scaling and multicore load-balancing offer measurable and predictable linear scaling on a single host. NetKernel Protocol allows ROC solutions to seamlessly scale-out across the cloud.

Interoperability To reduce the overhead associated with frameworks and libraries in increasingly complex IT systems, NetKernel's unique architecture provides you with a uniform approach to define, integrate and manipulate:

  • Data and documents
  • Services, media and transports
  • Results of computations
  • Policies, profiles and security constraints

Simplicity As an industry first, NetKernel separates information resources from code. This innovative approach allows you to simplify everywhere:

  • Client web tier
  • Business logic tiers - Middleware tiers
  • Data layers
  • Persistence tiers

Versatility NetKernel can be configured as an Application Server, an Embedded Resource Engine in a legacy Java stack, as a tiny micro-server platform, as a massively distributed Cloud Platform...

Symmetry NetKernel can be embedded to provide a Uniform Resource Engine within an existing system. Equally, existing libraries can be dropped into a NetKernel module and seamlessly integrated behind Uniform Resource Services.

Platform

Unified Development and Operations

At its heart, NetKernel® consists of a pure-Java® microkernel that embodies the ROC® abstraction, combined with a small core set of libraries, to provide a minimal ROC system.

The system is modular and is extensible both with user modules and with off-the-shelf ready to use dedicated function modules that can be installed from NetKernel's repositories. Modules are hot-swapable allowing for zero-downtime evolution of the software configuration.

Out of the box the core platform is accompanied by a set of modules which provides a complete self-contained application server, featuring: languages, transformation-tools, integrated developer tools, operational monitoring/control etc.

Add-ons

Powerful extra capabilities to take your solution to the next level

L2 Cache

Distributed second level cache, large scale, complimentary dependency model, integrates seamlessly with L1 cache, hierarchy of state management/performance. Sophisticated semantics such as dirty reads, write-through etc

NetKernel Protocol

NetKernel Protocol (NKP) is the low-level client-server infrastructure that enables a NetKernel solution to be be seamlessly distributed across the cloud. NKP allows ROC solutions to be coherent between servers. Allowing solutions to be distributed without needing any modification. The coherence of the abstraction even reaches the lowest levels with distributed representation cache coherence and fine-grained lifecycle control seamlessly spanning NetKernel instances.

Load balancer

The NKP Loadbalancer is an engineering component that allows systems using NKP to balance the distributed cloud load profile in realtime. It is fault tolerant and supports pluggable algorithms including round robin, failover, LRU, session affinity etc.

State Machine Runtime

The State Machine Runtime enables the creation and operation of hierarchical state machines of arbitrary sophistication. State Machines provide an ideal declarative approach to implementing robust mechanisms with complex corner cases. As such they are an ideal approach to solving an array of business problems.

Editions

Dual license scheme:
Open Source and Enterprise

Have questions?

NetKernel® Standard Edition provides the open core of the NetKernel family of products.

The Standard Edition distribution connects to a repository containing the newest ideas for services and modules and leading-edge component technologies.

This is the fast-paced unstable proving ground for ROC.

NetKernel® Enterprise Edition is the rock solid, optimised and quality assured enterprise platform. It connects to a secure, encrypted repository providing robust, stable and proven modules.

Enterprise Edition is tuned for extreme performance featuring optimised massively scalable cache, cloud distribution capabilities, dynamic profiling optimisation.

This edition also includes enhanced professional development tools and production management features.

Enterprise Edition also features long-term stability assurance and certified service packs.

Student Edition

We want to share the opportunity and potential of Resource Oriented Computing as a transformative, stellar career path.

We were all students once and appreciate the value of a helping hand. Please contact our sales team and ask about getting free copies of NetKernel Enterprise Edition for students.

System Requirements

  • 15Mb free space on HD
  • Java® JRE 5.0 or higher

What is ROC?

Resource Oriented Computing®

Resource Oriented Computing is an elegant and extremely simple abstraction.

  • Self-consistent. The NetKernel platform actually relies upon the ROC foundation to deliver ROC.
  • Scale invariant. The way one treats large scale systems is identical to that used at the lowest level relationship between individual software components.
  • Simple without being simplistic. Every ROC solution comprises just six simple concepts but their uniform combination leads to emergent manageably-complex architectures.
The core concepts behind ROC are:

Resources

Abstract information. Everything is a resource.

Identifiers

Construct identifiers (URIs) in order to request the state of resource

Address Spaces

Address spaces are a logical construct providing the resolvable context for abstract resources. In ROC we may have unlimited numbers of spaces.

Resolution

Resolution is the process of "searching" address spaces to find an endpoint that will accept the request.

Endpoint

An endpoint is a physical level executable software function that has accepted responsibility for computing the state of a resource.

Representation

Immutable value-object containing an instantaneous snapshot of the state of the abstract resource

Breakthroughs

  • Everything is a resource: code, information, configuration. World's first "Uniform Computation Abstraction".
  • Two-phase resolution/execute cycle allows huge engineering efficiencies
  • Systemic caching automatically discovers and optimises natural statistical distribution of resource state
  • Execution decoupled from requests allows computation to be load-balanced on multicore ensuring linear scaling
  • Resolution allows architecture to evolve - system is completely decoupled not simply loosly coupled.
  • Hot swappable - all code is replaceable in real-time. Including hot rollback of changes.
  • A world of new simplifying patterns that lie above imperative/OO code become available.