Links
- Tutorial
- User Guide
- Performance measurement of SINETStream
- Developer guide
- Build SINETStream server
- Config Server
- Update log
Concept of a messaging system
The SINETStream is a messaging system that adopts a topic-based publish/subscribe model. It provides an abstraction layer of Broker, which in turn employs Kafka or MQTT as its backend.
The SINETStream calls the publisher as “Writer”, and the subscriber as “Reader”, respectively.
Broker’s configuration and communication parameters are abstracted as “service” in the SINETStream. Writers and Readers can communicate with any Broker just by specifying a “service”.
A logical channel in Broker is called as “topic”. Writers and Readers send/receive a message specifying a topic, allowing different types of messages to be transferred through a Broker.
Directory structure
- README.en.md
- python/
- README.en.md
- Build procedure of the Python version of SINETStream
- src/
- Common files of the Python version of SINETStream
- plugins/
- broker/
- kafka/
- Kafka-specific files of the Python version of SINETStream
- mqtt/
- MQTT-specific files of the Python version of SINETStream
- kafka/
- value_type/
- image/
- Support for messages with image payload
- image/
- broker/
- sample/
- Sample programs
- README.en.md
- java/
- README.en.md
- Build procedure of the Java version of SINETStream
- api/
- Common files of the Java version of SINETStream
- plugin-kafka/
- Kafka-specific files of the Java version of SINETStream
- plugin-mqtt/
- MQTT-specific files of the Java version of SINETStream
- plugin-type-image/
- Support for messages with image payload
- sample/
- Sample programs
- README.en.md
- docs/
- userguide/
- tutorial/
- developer_guide/
Operating environment
Python/Java version
The Python/Java SINETStream API is implemented with following programing languages.
- Python 3.7
- Java 8
The Python/Java SINETStream API supports the following messaging systems.
- Apache Kafka 2.2.1
- MQTT v3.1, v3.1.1
- Eclipse Mosquitto v1.6.2
The Python/Java SINETStream runs on following operating systems.
- CentOS 7
- Windows 10
Android version
The Android SINETStream API is implemented with following programing languages.
- Java 11
- Kotlin 1.6.x
The Android SINETStream API supports the following messaging systems.
- MQTT v3.1, v3.1.1
The Android SINETStream runs on following operating system.
- Android 8.0 (API level 26) or higher
Preparation
Python/Java version
The Python/Java SINETStream uses Kafka or MQTT as a backend messaging system of Broker. Therefore, you need to install one of these messaging systems along with SINETStream. The tutorial package utilizes some Docker containers to install the required software components, i.e., SINETStream, Kafka, and MQTT.
- Kafka broker settings
- MQTT broker settings
- Installing SINETStream
- Python:
pip3 install --user sinetstream-kafka sinetstream-mqtt
- Java: Please refer to the Java version of README.
- Python:
Please refer to Quick Start Guide (Python/Java) using Docker containers.
Android version
The Android SINETStream API provides client functionality (Writer, Reader), with the support of MQTT messaging system. Therefore, the peer Broker with an Android SINETStream client must use MQTT only.
Note that you can use the MQTT broker part as is, which has installed for the Python/Java SINETStream backend system.
Please refer to Quick Start Guide (Android) using a Docker container.