13 Understanding the AIS Server Discovery Service

The discovery service is a service on the AIS Server that enables any AIS client or consumer of orchestrations, including the Cloud Service, to discover orchestrations available on the AIS Server. The service enables consumers of orchestrations to view the available orchestrations as well as the format and inputs of each orchestration.

Note:

For more information on how to use the Cloud Service, see:

https://cloud.oracle.com/iot

The URI for the discovery service is:

http://<ais_server>:<port>/jderest/discover

You can invoke the service using a GET HTTP method.

The discovery service is secured. You must include basic authentication credentials in the GET request to secure it.

The response is returned in an array, which lists each orchestration separately. The array includes the following details about each orchestration:

  • Name. The name of the orchestration.

  • Description. A description that should describe the task performed by the orchestration and include additional details about other components the orchestration uses such as a white list, rule, or cross reference.

  • Input format. JDE Standard or Generic.

  • Input. The input value.

  • Input type. String, numeric, or date.

Example 13-1provides an example of the orchestration details in a JSON response.

Example 13-1 Orchestration Details in the JSON Response from the Discovery Service

{
 "orchestrations": [
    {
      "name": "JDE_ORCH_Sample_UpdateMeterReadings",
      "description": "This orchestration invokes the JD Edwards EnterpriseOne Speed Meter Readings application (P12120U) to update the New Fuel Meter Reading and New Hour Meter Reading for a specified Equipment Number. This orchestration requires that a white list entry for the incoming EquipmentNumber is set up in the JD Edwards EnterpriseOne Cross-Reference application (P952000).",
      "inputFormat": "JDE Standard",
      "inputs": [
        {
          "name": "EquipmentNumber",
          "type": "String"
        },
        {
          "name": "NewFuelMeterReading",
          "type": "Numeric"
        },
        {
          "name": "NewHourMeterReading",
          "type": "Numeric"
        }
      ]
    },
    {
      "name": "JDE_ORCH_Sample_AddConditionBasedAlert",
      "description": "This orchestration invokes the JD Edwards EnterpriseOne Condition-Based Alerts Revisions application (P1311) to create a condition-based alert (alarm or warning) when a temperature or vibration threshold is exceeded. The temperature and vibration thresholds that trigger warnings and alarms can be modified by editing the orchestration rules. This orchestration requires that two cross-references are set up in the JD Edwards EnterpriseOne Cross-Reference application (P952000): (1) a cross-reference from the incoming sensorID to the JD Edwards Equipment Number and Measuement Location; and (2) a cross-reference between the Equipment Number and the alarm and warning recipients who should receive the alerts for that equipment.",
      "inputFormat": "JDE Standard",
      "inputs": [
        {
          "name": "SensorID",
          "type": "String"
        },
        {
          "name": "Date",
          "type": "Milliseconds"
        },
        {
          "name": "Time",
          "type": "String"
        },
        {
          "name": "VibrationReading",
          "type": "Numeric"
        },
        {
          "name": "TemperatureReading",
          "type": "Numeric"
        }
      ]
    },
    {
      "name": "JDE_ORCH_Sample_UpdateEquipmentLocation",
      "description": "This orchestration invokes the JD Edwards EnterpriseOne Work with Equipment Locations application (P1704) to update the latitude, longitude, and elevation for a specific Equipment Number. This orchestration requires that a cross-references is set up in the JD Edwards EnterpriseOne Cross-Reference application (P952000) to cross-reference the incoming deviceID to the JD Edwards Equipment Number.",
      "inputFormat": "JDE Standard",
      "inputs": [
       {
          "name": "CustomerNumber",
          "type": "String"
        },
        {
          "name": "SiteNumber",
          "type": "String"
        },
        {
          "name": "DeviceID",
          "type": "String"
        },
        {
          "name": "Latitude",
          "type": "String"
        },
        {
          "name": "Longitude",
          "type": "String"
        }
      ]
    }
  ]
}