Skip to content

NPL Runtime, Integrations & Extensions

The NPL Runtime Environment (or simply "NPL Runtime") is the execution core of every application built with NPL, the NOUMENA Protocol Language. The NPL Runtime executes all business logic defined in NPL and underpins a wide range of key functional and non-functional capabilities, from security to scalability.

NPL protocols, the central construct of NPL, combine data structures, process states, business rules, and party relationships, isolating business logic from the rest of the running system and from non-functional requirements such as integration with external authentication and authorization systems and how data storage and retention is achieved.

The NPL Runtime takes care of executing your code securely, processing requests transactionally, verifying authentication, enforcing authorization, and persisting protocol instance data. The NPL Runtime also logs each and every state change along with the action which triggered the change, thus ensuring a strong audit trail and traceability by design. See here for an overview of the associated benefits.

Services

The NPL Runtime includes the following services:

  • NPL Operating Engine (or simply "NPL Engine"): provides core functionality (application APIs, execution, persistence, audit logging)
  • NPL Read Model: provides a GraphQL API to your data

Companion services grouped under the umbrella of Integrations and Extensions include:

  • NPL History: archives data and keeps the central repository lean
  • NPL Inspector: provides a means to graphically navigate and inspect your NPL data

The NPL Inspector is currently available only through NOUMENA Cloud, and is therefore presented in the corresponding Portal documentation.

The NPL Engine, Read Model and History applications are presented further on the Applications and APIs pages. Jump to the Components section below to understand what underlying services components are required to power these applications.

Tools

NOUMENA provides a range of Development and DevOps Tools for seamless development flows. This set of tools allows for rapid agile specifications, coding, testing, debugging, deploying, extending and lifecycling of NPL code.

IDE plugins are documented in the Language tools section, while further language build tools, language extension tools, and Runtime provisioning tools are detailed under Runtime tools.

Components

Building and running NPL services requires a minimal set of underlying service components.

Service ComponentsNOUMENA Service ComponentsRequired Service ComponentsNPL EngineNPL HistoryNPL Read ModelDatabase (PostgreSQL)IAM

The core of the NOUMENA Platform is the NPL Engine. The following components are required to run it:

When running the NPL Engine in Development Mode, the external IAM is replaced by an OIDC server embedded in the Engine.

The NPL Read Model and the NPL History application are NOUMENA-provided services that you can deploy optionally.

Refer to System topology for further details.