mNo edit summary
mNo edit summary
Line 35: Line 35:
Below, we will walk through an example of how to configure each capability of DataHub using the DSL. This example will cover setting up event structures, the messaging broker, the datalake, terminals, and shared datamarts, providing a practical guide to understanding and applying the DSL in a real-world scenario.
Below, we will walk through an example of how to configure each capability of DataHub using the DSL. This example will cover setting up event structures, the messaging broker, the datalake, terminals, and shared datamarts, providing a practical guide to understanding and applying the DSL in a real-world scenario.


[[File:Ness-m1.pdf||Example definition of the components of a datahub]]
[[File:Ness-m1.pdf|frame|Example definition of the components of a datahub]]


===Utilizing the Intino Plugin===
===Utilizing the Intino Plugin===
By using the Intino plugin, users can enhance their DSL experience. This plugin allows viewing the associated metamodel and offers code assistance features such as code completion and real-time error analysis, significantly easing the configuration process and helping to avoid common mistakes. More information about the Intino plugin can be found here.
By using the Intino plugin, users can enhance their DSL experience. This plugin allows viewing the associated metamodel and offers code assistance features such as code completion and real-time error analysis, significantly easing the configuration process and helping to avoid common mistakes. More information about the Intino plugin can be found here.

Revision as of 20:09, 9 May 2024

Datahub

Latest version: https://github.com/intino/ness/releases/latest.

Datahub is a software platform that facilitates the creation, management, and distribution of events in event-driven systems. Using a domain-specific language (DSL), DataHub allows users to tailor their architecture to meet specific business needs, enhancing the integration and operability of real-time data systems.

The platform includes features such as the management of a messaging broker supporting JMS OpenWire and MQTT protocols, a datalake for storing and organizing events, configurable terminals for client interaction, and shared datamarts for customized data projections. These features make DataHub a practical tool for businesses looking to optimize their data flows and improve decision-making based on events.

DataHub ensures that all components of a company's IT architecture are aligned with their business objectives, providing a foundation for scalability and adaptability in today's business environment.

Main Features

DataHub is designed with a range of functionalities that support complex event-driven architectures. The key features include:

Event Structures

DataHub enables the definition of event structures, providing a common conceptual framework for all clients connected to the architecture. This standardization helps in maintaining consistency and understanding across different systems and data streams.

Messaging Broker

The platform includes a messaging broker that supports JMS OpenWire and MQTT protocols. This broker is implemented using the well-established open-source software, Apache ActiveMQ, ensuring robust and reliable message handling. The use of Apache ActiveMQ also facilitates easy integration and compatibility with various systems and technologies.

DataLake

DataHub features a datalake that organizes events based on the format of the event—be it a message, measurement, or resource—and by the type of event according to business criteria. Events are also grouped and sorted temporally, enabling efficient data retrieval and analysis.

Terminals

Terminals within DataHub describe the different clients that can access the broker. These terminals allow for the configuration of subscription and event production policies from and to the datalake, tailoring access and interaction according to specific client needs. Additionally, using Intino, it is possible to generate customized client libraries for a specific DataHub instance based on these terminal definitions. This enhances the ease of integration and streamlines client setup.

Shared DataMarts

DataHub allows for the creation of shared datamarts, which are projections of the datalake into defined data structures that can be used and shared by connected clients. These projections are also configured in the DSL, providing flexible and customizable data views for users.

DSL

DataHub utilizes a domain-specific language (DSL) to allow users to precisely configure and customize the various components of their event-driven architecture. This section of the wiki provides guidance on how to use the DSL to set up and manage the capabilities of DataHub.

Metamodel

The latest complete version of the source metamodel of the DSL can be found at the following link. This metamodel serves as a comprehensive definition of all configurable elements within DataHub.

Step-by-Step Configuration Example

Below, we will walk through an example of how to configure each capability of DataHub using the DSL. This example will cover setting up event structures, the messaging broker, the datalake, terminals, and shared datamarts, providing a practical guide to understanding and applying the DSL in a real-world scenario.

File:Ness-m1.pdf

Utilizing the Intino Plugin

By using the Intino plugin, users can enhance their DSL experience. This plugin allows viewing the associated metamodel and offers code assistance features such as code completion and real-time error analysis, significantly easing the configuration process and helping to avoid common mistakes. More information about the Intino plugin can be found here.