Hitachi Energy
Interprocess Communication
FOXMAN‑UN runs a RabbitMQ server. RabbitMQ is a message broker and is used to
receive internal messages from core services
send messages to the MIB
expose data to the UI
distribute notifications to clients over an encrypted notification channel.
Examples for such notifications include, among others:
object creation events,
object deletion events,
attribute value change events,
alarm events.
Interprocess communication with RabbitMQ
For some legacy tasks, FOXMAN‑UN uses omniORB CORBA for interprocess communication.
OmniORB is a software environment that allows building and integrating distributed applications. OmniORB is a fully compatible open source implementation of the Object Management Group's (OMG) Common Object Request Broker Architecture (CORBA) specification.
An omniORB application consists of one or more client programs that communicate with distributed objects located in server programs. Clients can communicate with distributed objects from any host in a network through clearly defined interfaces specified in the CORBA Interface Definition Language (IDL).
OmniORB mediates the communication between clients and distributed objects. This mediation allows clients to communicate with objects without concern for details such as:
the hosts on which the objects exist;
the operating system that these hosts run;
the programming language used to implement the objects.
The OmniORB architecture includes several configurable components that support the mediation of communications between clients and objects.
As an example, a diagram for an IDL Operation Call on a Distributed Object is shown.
IDL Operation Call