API
The Engine API follows a RESTful architectural style. It is intended to integrate seamlessly into highly automated operations and to provide simple control and status information.
The primary interaction allows simple HTTP access to the system. The API behaviour is asynchronous, and is accessed by URIs using standard HTTP GET, POST, PUT and DELETE methods. There is no encapsulation or additional protocol.
The Eflow component of Engine runs as a HTTP server. It receives and handles all HTTP requests. Eflow runs as a native Windows Service on Windows and as a Daemon on OS X and Linux. It monitors port 44544. All commands should be sent in XML format. Responses will also be in XML format.
Access to specific resources is based on a URL in the form: http://<hostname or IP>:<portNumber>/<requestURI> where <requestURI> can be one of the following:
- Info
- Jobs
- Workflows
- Folders
- Profiles
Info
This simply stores information relating to the Engine system.
Jobs
A list of jobs is maintained by Eflow. Each job is assigned a uuid which is used to track and access information relating to it. This uuid can be defined by the user or if left blank will be generated by Eflow.
Workflows
Workflows are created and edited using the Engine Configurator component of Engine. Each workflow is assigned a uuid which is used to track and access information relating to it. Eflow can return a list of workflows and a summary of information regarding source, destination and signal processing parameters. Eflow can also return the uuids and tags required by the workflow which must be used when creating the xml posted to the ‘jobs’ resource.
Folders
Watch Folders are created and edited using the Engine Configurator component of Engine. A list of the watch folders is maintained by Eflow. Each folder is assigned a uuid which is used to track and access information relating to it, and well as status information.
Profiles
Profiles are created and edited using the Engine Configurator component of Engine. The profiles are used to store detailed settings, usually specific to a signal processing module, with a name and uuid. that can be referenced within a workflow.
Please download the latest API document for a list of commands that can be used with Engine’s RESTful API.