It’s always a pleasure to announce a new version release, no wonder this time it is so again. Last July 10th, we published the Onesait Platform 2.1.0 release, version name «gradius» following our version policy.
As usual, you can follow our Platform release roadmap to keep up with what we have planned for the future.
Well, having said that, let’s get down to it and see what new features come with this new release.
This version supports the development of applications and microservices, for which the Platform offers a centralized web console that supports the management, configuration and development of every type of applications, integrating the creation of applications, their deployment on the CaaS infrastructure, API-fication, visualization, etc.
To achieve all this, we have incorporated the following functionalities:
New Java API to transparently work with ontologies
As you probably know, Ontologies as an abstraction of the entities are the core of the Platform, and the execution of many components starts there.
However, there are situations in which, for several reasons, you may want to manage persistence using other frameworks such as Spring Data. Even with this, we want all the Platform capabilities to be available for use even in those scenarios (for example, triggering a flow or a rule after inserting in an ontology).
Therefore, Onesait Platform’s Java client library now provides a client -NotifierClient- that allows us to create the ontologies from Java classes and inform the platform of the CRUD operations we perform with our framework, so that even if the Platform does not perform these operations, it will know of them, and since the ontology definition exists, all the modules can be used without any inconvenience.
You can find all the information about this new API in this guide: (Client APIs) Java API to work transparently with ontologies.
Migration of Platform modules to Spring Boot 2
In this version, we have completed the migration of all Platform modules from Spring Boot 1.5 to Spring Boot 2, allowing us to align the Platform version of Spring Boot with the Product Architecture, also adding interesting features.
New monitoring console (Monitoring UI)
Including a new, much more powerful user interface with more features.
The integrated display of the module’s records is included.
along with the integration with the microservices deployed from the Platform, so that they can be monitored.
If you are interested in reading more about the capabilities of the new monitoring console, be sure to check out the following guide we have prepared for you: Monitoring UI Module.
Integration of the Open Data CKAN Portal as a new Platform module
Taking advantage of the fact that in the Smart Cities projects, in which our Platform has so much presence, always required this module, we have decided to integrate the Open Data CKAN Portal.
CKAN is an Open Data Open Source portal that has become the standard for publication of open data because it is a mature, complete, open-source data management solution, being its basic unit the datasets, where the data is published, and which are formed by different resources and metadata.
This is fully integrated with the security of the Platform, making SSO between the Open Data Portal and the Control Panel, and allowing Platform users to access the portal according to their role.
You can find a fully detailed guide here: CKAN Open Data Portal integration in Platform.
Notifications about Kafka topics
This new functionality completes the insertion in the Platform via Kafka topic, and allows to activate a Kafka topic by ontology so that every time it is inserted in the Platform, there is a notification by this topic.
The following tutorial shows an example of use with a Kafka client: Kafka notificacion topics for ontologies.
Ability to add new nodes in the FlowEngine
From now on, the users of this component will be able to add new components to their flows of the components managed in the Node-RED NPM.
However, be careful with the components you use because they can affect the performance of the flows.
Interested? In this guide you can find information on how to use it: How to add new nodes in the FlowEngine?
Support to Work with Git in FlowEngine
In the new version of FlowEngine, the concept of NodeRED Project has been enabled. This allows to manage the versions of all the flows, initially in a local GIT, but you can also hook it against a centralized GIT. FlowEngine’s user interface allows you to make commits, pull, push and check changes between versions.
You can find more information about its use in this guide: How to work with Git in FlowEngine.
Retry control in FlowEngine
This control is very useful for scenarios in which FlowEngine is used to process insertions in Ontologies, since it allows the users to configure if they want to have retries in the notification process, and to assign a TTL to them.
We have written a short guide that explains how to manage it: FlowEngine notifications over Grid with retries support.
Pagination support in Files Repository and new Files Repository component in DataFlow
A functionality has been incorporated to the Files Repository REST API, which allows to paginate the recovery of the content of text files. Besides, a new component has been incorporated in the DataFlow to handle, in an easy and integrated way, the files stored in the Files Repository.
Have a look at the tutorial we prepared for this purpose: File pagination in the Files Repository and new component for DataFlow.
Apart from all we explained above, we bring a huge amount of corrections and performance improvements.
We want to point out that these corrections have been identified through the requests made to the Platform’s support mailbox, which help us to improve the platform day by day – these include the control of concurrence on the elements managed by the Platform.
So: thank you very much to all of you who help us to improve.
In this version, we have focused on supporting the development of systems and applications that need to use the Platform’s analytical, AI or distributed ingest capabilities.
During this quarter we have focused on the following points:
Integration of Cosmos DB as a repository to work with Ontologies
We have incorporated full support to this interesting multi-model database of Azure to work with the Platform’s ontologies.
Cosmos DB is a distributed, horizontally-scaled, multi-model database service that allows data to be distributed globally over any number of regions in Azure, with a transparent scaling process and replicating the data.
You can find more information about this integration in this article we have prepared: Cosmos DB for Ontologies.
Support to Work with Git in Notebook Development
Until now, when you wanted to manage the versions of the Notebooks, you had to do it using the export and import REST APIs. Well, with this integration, data scientists can version their Notebooks and check how their models behave according to the changes.
We recommend the following reading if you’re interested in this: How to Work with Git on Notebooks.
Plugin Architecture in the Dashboard Engine
With this, you can extend the security in the Dashboardsaccess and be able to, for example, parameterize that only users with certain roles or with a specific attribute can access to certain data in a DataSource.
Dashboard Engine Style Update
With this we manage to adapt them more to the Platform’s overall look and feel.
This quarter we focused on supporting the development of IoT systems, both in Cloud and Edge environments.
Eclipse 4diac has been integrated in the containers managed by the Onesait Things Edge Engine. Thanks to this integration, Onesait Platform has from now on the possibility of virtualizing PLCs following the IEC 61499 standard.
Using the 4diac-IDE modeling environment, it is possible to distribute complex PLC logic schemes to the different FORTE runtimes included in the Edge Engine. All the process information of the different PLC functional blocks has been connected through MQTT to the data bus of our Edge architecture, and it is available to interact with other components.
Integration of Edge Devices with Digital Clients (IoTDigitalClient Container)
The new DigitalClient on MQTT is now available. It allows bi-directional flow, both Cloud2Device and Device2Cloud, using this IoT protocol in an easily configurable way.
The Edge Parser component for parsing and data model adaptation recently included in Edge Engine is used to define the mapping between ontologies and acquisition protocols. The IoTDigitalClient Container is in charge of the connection and of the transport of data, once those are adapted, using the credentials of the digital client that is registered in the Platform.
Edge Parser (Protocols mapping module)
From this version onward, the Edge Parser module is available as a container for Onesait Things. This module allows the mapping of data models of protocols, including Southbound OT (Modbus, OP-DA, etc), with specific Ontologies or data models (such as DDS) in a simple way using «Transformers»..
Edge Parse allows for the definition, either in runtime or consumed, of a repository with the set of transformers available for an instance of Edge Engine.
This event-driven component applies the different transformations every time a message is received in the internal bus of Edge Engine. Additionally, a REST API access is offered to manage the set of transformers deployed in an instance.
Edge BacNET Protocol
The protocol container for BacNET, based on the open-source framework BACnet4J by Serotonin, is now available. This protocol version allows its use in TCP and MSTP for serial. Two example services are included:
- Device self-discovery.
- Obtaining events from a device.
Within this category, we have included all the tools that help in the Platform Development and Operation. In this quarter, we have incorporated the following new tools:
- Installer Update for support on Rancher 2 and OpenShift.
- Inclusion of Notebooks and dataflows on Export/Import Tool.
- Helm Plugin for generating self-signed certificates..
Revision and improvements in Export/Import Tool
A revision of the Export/Import tool has been completed, adding the ability to export and import Notebooks.
You can check the detail of this functionality in the following guide: Export-Import Tool
Open Source Initiative
Last but not least, this line of work includes all the tasks related to the Platform’s Open Source version.
Publication of Onesait Platform version 1.2.0-ce
The new Open Source version of the Platform is available for download on Github.
So here it is, freshly minted for all you developers. We hope that you find the new features to be interesting and that you are encouraged to try out the changes.