Urgent.News

What's breaking now, across thousands of outlets.

Tech

Building Multi-Platform Data Apps With Modular Runtime Architecture (Part 2)

A technical look at MRTE message flow, pub/sub routing, bindings, facets, and how modular data apps work across platforms.

Building Multi-Platform Data Apps With Modular Runtime Architecture (Part 2)

In Part 2, we delve deeper into the communication flow between the layers of a Modular Runtime Environment (MRTE) architecture for multi-platform data applications. A user interaction—such as tapping a bar in a chart on a mobile device—triggers a series of messages that travel through the MRTE.

1. When the user interacts, the Interaction Layer captures the gesture and its location (M1). This signal is sent to the Runtime Connector (RC), which translates the raw interaction into a typed command understood by the Data Layer (M2). The RC could translate a tap on a bar into a command like "zoom in on this data item."

2. The Data Layer receives this command and assesses whether it already has the necessary data or needs to fetch it (M3). If the data is cached, it skips the database, directly preparing visualization data (M4). If not, it generates a query and hands it to the Query Connector (QC) (M5).

3. The Query Connector wraps the query in the appropriate protocol—such as standard SQL or an object query language—and sends it to the data or agent systems (M6). Once the response arrives, the Query Connector encapsulates it (M7).

4. The Data Layer packages this data into a Visualization Data (VD) document, which includes raw data, display parameters, metadata, and subscriber routing information (M8). This VD document is then sent to the Presentation Service View Layer (PSVL) via the Runtime Connector (M9).

5. The PSVL renders the widgets with the updated content, completing the user interaction process through a series of eight message hops, each with a clear responsibility and single sender-receiver.

A key design choice in this architecture is a topic-based publish/subscribe model for communication between the Data Layer and the widgets in the PSVL (M10). This approach avoids direct communication between components and allows for a scalable, loosely coupled system. Publishers associated with one or more topics broadcast updates that subscribing widgets receive as needed.

The pub/sub layer supports dynamic runtime topic evaluations, allowing flexible subscription matching and easy addition or removal of widgets without rewriting publisher logic.

Bindings and facets further facilitate cross-widget coordination. Facets are automatic cascading filters, while bindings map user interactions to visualization parameters. These mechanisms exist within the Visualization Data document itself, allowing configuration, versioning, and schema-level changes without code deployments.

Written by urgent.news from HackerNoon's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

This story

This is one outlet's version. Read the fullest account.

Read the original at hackernoon.com →

More in Tech

More from Tuesday 8 September →