System architecture and interfaces
The chapter provides a general deployment overview and inbound / outbound connections between containers. It covers both MDM internal containers and also external systems (MDM dependencies).
The MDM module consists of 4 services: EquipmentManagement Service, Process Service, Material Service and Messaging Service. The services are running behind a module gateway (MDM Application Gateway) which ensures communication with the external modules.
MDM provides public REST APIs that can be called by external modules using https:
-
an incoming request will pass through the MDM Application Gateway and will be routed either to the Equipment Management Service or to the Process Service
-
MACMA is used for authentication and authorization
-
MDM services use MACMA to authenticate and authorize an incoming request
-
External modules use MACMA to request JWT tokens for accessing MDM
-
Dependencies
The MDM services have the following dependencies:
-
MACMA module: authentication / authorization
-
Portal module: registration of the MDM module in the Portal UI
-
Azure SQL Database / Oracle Database: persist MDM data tables
-
RabbitMq / Amqp message bus:
-
send messages for changes to MDM entities
-
receive messages for Unknown Devices and Unknown Measuring Points
-
-
all services pull images from the Azure BCI container registry
-
optional dependencies: ELK (Elasticsearch DB and Kibana UI), Azure Storage account, Azure Log analytics etc.
Deployment scenarios
The MDM system can be deployed in two scenarios: Azure Deployment and On-Premises Deployment. The major difference between the two scenarios is that the user can directly reach the MDM Application Gateway in the on premises deployment scenario.
Element descriptions
| Element | Description |
|---|---|
MDM |
The MDM module (all of its docker images) should be deployed within a dedicated MDM namespace |
MDM UI |
The MDM module UI will be executed in the browser and delivered by the module services. The module UI will be rendered in the Portal within IFrames. |
MDM Application Gateway |
Web server serving as a reverse proxy and load balancer |
Equipment Management Service |
Public APIs and Web UI for the management of devices and facilities |
Process Service |
Public APIs and Web UI for the management of processes |
Material Service |
Public APIs and Web UI for the management of material definitions |
Messaging Service |
Handles AMQP messaging for both Equipment and Process |
RDBMS |
There are two supported types of database - either of them should be chosen: MS SQL Server or Oracle DB. More information can be found on Databases section from chapter System Requirements. |
Network connections overview
| Source | Destination | Protocol |
|---|---|---|
MDM UI |
MDM Application Gateway |
https |
MDM Application Gateway |
Equipment Management Service |
https |
MDM Application Gateway |
Process Service |
https |
MDM Application Gateway |
Messaging Service |
https |
Equipment Management Service |
MACMA |
https |
Equipment Management Service |
Portal |
https |
Equipment Management Service |
RabbitMq |
ampq 0.9.1 with TLS |
Equipment Management Service |
RDBMS |
TCP/IP with TLS |
Process Service |
Equipment Management Service |
https |
Process Service |
MACMA |
https |
Process Service |
Portal |
https |
Process Service |
RDBMS |
TCP/IP with TLS |
Messaging Service |
RabbitMq |
ampq 0.9.1 with TLS |
Messaging Service |
RDBMS |
TCP/IP with TLS |
Material Service |
MACMA |
https |
Material Service |
Portal |
https |
Material Service |
RDBMS |
TCP/IP with TLS |