ESME is a daemon process designed for initiating, overseeing, and controlling ETAS DMS processes such as activities and gateways. Residing in the middleware domain, ESME plays an important role in orchestrating the interactions between various components within the ETAS DMS SDK.
Features of ESME
- Dynamic Process Control: ESME dynamically starts, monitors, and manages ETAS DMS processes based on a comprehensive manifest. This manifest, generated by YAAAC, includes essential information such as executable paths, parameters, dependencies, and scheduling details.
- Communications Initialization: Serving as the communication hub, ESME initializes the connections between processes, facilitating seamless interactions. It ensures the smooth flow of information within the ETAS DMS ecosystem.
- Flexible Interface: ESME provides a flexible interface for external clients, enabling them to request state changes or gather health and status information. This interface proves invaluable for co-existing middleware systems to interact with ESME effectively.
- Manifest File Management: A human-readable JSON manifest file, output from YAAAC, encapsulates critical details for starting ETAS DMS activities and gateways. This includes executable paths, command line arguments, dependencies, thread and core affinities, process budgets, and error-handling actions.
- Run Group Management: ESME introduces the concept of "Rungroups," allowing the grouping of activities and gateways for cohesive control. The Run Group Manager facilitates seamless transitions between system states, ensuring the correct Rungroups are activated based on the current state.
- Execution Management: The Execution Management component authenticates executables, sets process permissions, and allocates resources in alignment with the specifications outlined in the manifest file.
- Health Monitoring: ESME's Health Management component actively monitors the health of activities and gateways, reporting relevant information through the Esme Interface. It reacts to process errors based on predefined actions, offering configurable responses like process restarts.
- SDK Integration: ESME provides an SDK for constructing specialized activities and gateways, namely "Esme Interface Activity" (EIA) and "Esme Interface Gateway" (EIG). These components utilize SDK APIs to interact with ESME's Run Group Manager, facilitating seamless integration with co-existing middleware systems.