Previous Topic

Next Topic

Book Contents

Book Index

System Architecture

SHIP System Architecture

SHIP Controller (a.k.a. SHIP Protocol Driver)

This is a base module that joins all SHIP modules (SHIP Discovery, SHIP Exporter, SHIP Server, SHIP Client) together. It lists, registers and removes external SHIP nodes. It represents the OSGi framework as a SHIP node and manages its SHIP storage. It registers a SHIPController service that should be used by applications as the main entry to the SHIP protocol support.

SHIP Discovery

The SHIP Discovery module is used to find available SHIP nodes and their services in the local network without knowing their hostnames or IP addresses. It is implemented using the mDNS Admin service. The mDNS Admin service translates mDNS added/updated/removed SHIP service events to internal SHIP discovery events. The SHIP Discovery module provides the implementation of the low-level SHIP Discovery Service. This service is primarily for internal use by the SHIP Controller. Direct use by applications is not recommended.

SHIP Exporter

The SHIP Exporter module exports SHIP nodes through the mDNS API. It is implemented using the mDNS Admin service. It allows mDNS registration of the OSGi framework SHIP node with its TXT record and properties. Some of these properties are extracted from the SHIP Controller, while others are obtained from its SHIP WebSocket server configuration.

SHIP Server

The SHIP Server module implements server functionality of SHIP nodes. It allows a SHIP node to receive events and notifications from bound appliances. Uses WebSocket Server and TLS module. It is implemented as a WebSocket application on top of the WebSocket module. It also provides the implementation of the low-level SHIP Server Connection Manager Service. This service is primarily for internal use by the SHIP Controller. Direct use by applications is not recommended.

SHIP Client

This module holds client-side implementation of the SHIP nodes. It registers a SHIP Client Connection Factory Service that can be used to establish and initiate SHIP connections towards the appliances. This service is primarily for internal use by the SHIP Controller. Direct use by applications is not recommended.

SHIP Console Commands

The SHIP Console Commands module for the SHIP protocol driver. To learn more how to work with commands, please refer to the section Working with text console.