Workflow Manager system architecture
This diagram gives an overview of the foundation IEE uses to enable the Itron Enterprise Edition (IEE) Meter Data Management (MDM) functionality.
The process starts when IEE becomes aware of an exception, which is when the exception is saved into the IEE database. These can be device events or alarms, validation exceptions, billing exceptions, configuration exceptions, and so on.
-
Use the IEE user interface to view the exceptions, and also to create event filters. For example, you can create a filter for tamper alarms or a filter for billing exceptions for a certain group of accounts. (See Configuring device event filters for Workflow Manager for details on creating event filters.)
-
The Exception Publisher service runs in the background and fetches any exceptions that meet the filter criteria and are not yet published.
-
The Exception Publisher service then publishes these unpublished exceptions to the IEE Message Broker. IEE uses the license-free, open-source message queuing solution RabbitMQ to implement this message broker.
-
Another service, the Exception Subscriber Service, picks up the exception and uses it to initiate a workflow in Action Manager.
-
The Exception Subscriber Service sends a request to the Action Manager’s REST APIs to initiate a workflow.
-
The workflow is then created in the Action Manager database and the different steps in the workflow start.
-
The user can use the Action Manager UI to design the workflow definition. Workflow definition is where you define the different steps in the workflow, the conditions and logic of how it should flow from one step to another. Each time a workflow is initiated, we get a new workflow instance, which will run step-by-step according to the workflow definition. The user can also view and manage the different workflow instances, see their status, pause them, restart them, and so on. For details, see Creating a workflow definition in Action Manager.
-
The UIs for IEE and Action Manager are separate. But you can configure single sign-on, so that the operator can seamlessly jump between 1 screen to another without having to log in again. On the IEE side, there’s also a simple UI screen that the operator can use to view & manage the workflow instances. But if they want to see the workflow details, there is a link that allows them to jump from the IEE screen to the details screen on Action Manager UI. IEE supports two types of authentications:
-
Windows authentication, where the user accounts are managed in Active Directory.
-
Itron authentication, where the user accounts are managed in IEE database.
This single sign-on model requires IEE and Action Manager to share the same Identity server and only work with Active Directory user accounts.
-
-
When the workflow ends, meaning it has reached the last step, Action Manager publishes a status update to RabbitMQ or Azure Service Bus. IEE configures the subscriber to RabbitMQ or Azure Service Bus by using the “On-Premises Deployment” flag. If “On-Premises Deployment” is set to True, then IEE's subscriber will subscribe to RabbitMQ or Azure Service Bus.
-
The sync service then picks up this update and updates the workflow status in the IEE database. The operator will see the latest status when they view them from the IEE UI.