Skip to content

CSE Runtime Features

In addition to the oneM2M standard functionalities, the ACME CSE implements additional features to help with deployments and to understand and learn about oneM2M.

Database Bindings

The following database bindings are supported:

PostgreSQL

PostgreSQL is a powerful, open-source object-relational database system. The ACME CSE can be configured to use a local or remote PostgreSQL database for data storage.

TinyDB "file-based"

TinyDB is a fast and lightweight document oriented database that is ideal for small installations.

TinyDB "in-memory"

TinyDB can also be used as an in-memory database. This is useful for testing and small installations.

This database binding offers the fastest processing speed and response times. However, it offers no persistence of data between restarts.

Additional CSE Runtime Features

HTTP Authorization

Basic support for basic and bearer (token) authorization.

HTTP CORS

Support for Cross-Origin Resource Sharing to support http(s) redirects.

HTTP WSGI

Support for the Python Web Server Gateway Interface to improve integration with a reverse proxy or API gateway, ie. Nginx.

Recording Requests

Requests over Mca and Mcc to an from a CSE can be recorded. This may be used to inspect communication sequences between oneM2M entities and to debug requests.

Script Interpreter

The CSE includes a Lisp-based script interpreter to extent CSE functionalities, implement simple AEs, prototypes, tests, and more.

Text Console

Control and manage the CSE, inspect resources, and run scripts in a text console.
The log output is also displayed in the text console.

Testing: Upper Tester

Basic support for the Upper Tester protocol defined in oneM2M's TS-0019, and additional command execution support.

Text UI

A text-based user interface to inspect resources and requests, configurations, stats, manage resources, display diagrams, and more.

Web UI

A Web UI that displays the oneM2M resource tree and offers a basic REST UI.

Runtime Environments

The ACME CSE runs at least on the following runtime environments: