Exacta Maestro Services
The table below explains the macro services and their responsibility in an Exacta Maestro™ system. Note that not all services may be included depending on the requirements of the system.
| Application | Description | uri | Endpoints | Services |
|---|---|---|---|---|
| Agent Hub | Stores the details of state and configuration for the agent types and agents. Agent specific services post data to this service for the rest of the application to use | /agentHub | Agent Data Queries, Environment Setup | |
| Aliasing | Enables tasks and agents to be known under many different names: one read in the HMI, one sent by the HMI / HOST for task creation, another used internally to Maestro, and a final alias to be dispatched to the StandardAgent | /aliasing | Environment Setup | |
| Archive | Communicates with other services to handle data retention policies | /archive | ||
| GraphQL Gateway | Provides a singular endpoint of communication for host systems to talk with Exacta Maestro™ | |||
| Identity | Provides authentication for clients | /identity | ||
| Inventory | Tracks storage locations and what containers are in what location | /inventory | Manual Inventory Interaction, Environment Setup | |
| Log Hub | Staging ground for any logs generated by Exacta Maestro Services. Holds whitelist/blacklist logic, and can define channels that determine where the logs are forwarded (sql, ELK, etc) | /logHub | ||
| Map | Stores the facility map graph and its members. Tracks reservations on the graph and provides routes according to it | /map | Environment Setup | |
| Task Assignment | Stores tasks, assigns them, and monitors their execution. Additionally, handles task translation (host->Maestro) and task batching logic | /taskAssignment | Task Creation, Task Queries, Assignment Algorithm Configuration | |
| Task Generator | Used to configure workflows and feed the system with mock work. Generally used for testing. | |||
| Traefik | Hosted on each node, routes the traefik to the correct backend service regardless of whether or not the service is on that node or a different node of the cluster. Acts as a load balancer to route to internal nodes. | |||
| FleetTracker Adapter | Queries relevant backend services for information before transforming and forwarding the FleetTracker Gateway | /FTAdapter |
Exacta Maestro Agent Integration Services
The table below explains the Agent specific services that have been developed as abstractions between the Exacta Maestro™ Core Services and the vehicle specific implementations.
| Application | Description | uri | Endpoints | Services |
|---|---|---|---|---|
| ACI Agent Service | Responsible for abstracting RaymondKollmorgenACI specific communication to agent Hub |
/aci | Bastian.Maestro.Kollmorgen.Aci.DataService, Bastian.Maestro.Kollmorgen.Aci.WebService, Bastian.Maestro.Kollmorgen.AciEmulator.WebService, Bastian.Maestro.Kollmorgen.AciEmulator.DataService | |
| Seegrid Agent Service | Responsible for abstracting Seegrid Server specific communication to agent Hub |
/seegrid | Bastian.Maestro.Agents.Seegrid.Gateway, Bastian.Maestro.Agents.Seegrid.Gateway, Bastian.Maestro.Agents.Seegrid.Emulator.Gateway, Bastian.Maestro.Agents.Seegrid.Emulator.Vgv, Bastian.Maestro.Agents.Seegrid.Emulator.Store | |
| Standard Agent | Enables the external agents to integrate with Maestro over the StandardAgent spec | /standardAgent | ||
| TdaProxy Agent Service | Responsible for abstracting TDAProxyServer specific communication to agent Hub |
/tdaProxy | ZaP Agent Service Configuration, TdaProxyServer Communication Testing | Bastian.Maestro.Agents.TdaProxy.Communicator.WebService, Bastian.Maestro.Agents.TdaProxy.Communicator.DataService, Bastian.Maestro.Agents.TdaProxy.Emulator.WebService, Bastian.Maestro.Agents.TdaProxy.Emulator.DataService, Bastian.Maestro.Agents.TdaProxy.Emulator.ActorService |
Service Fabric Managed Services
The table below explains the Service Fabric managed services that are used in the Exacta Maestro™ application.
| Application | Description | uri | Endpoints | Services |
|---|---|---|---|---|
| Fabric Observer | Monitors the state of the cluster and reports errors to the ServiceFabric health system: https://github.com/microsoft/service-fabric-observer/blob/main/Documentation/Design.md | |||
| Cluster Observer | Monitors the ServiceFabric health system, sending events to log analytics and alerting: https://github.com/microsoft/service-fabric-observer/blob/main/ClusterObserver/Readme.md|||| | |||
| Central Secret Store | Secret management and access: https://learn.microsoft.com/en-us/azure/service-fabric/service-fabric-application-secret-store|||| |