Managing Resources

In EDP, users can browse over lists of current resources in their environment, filtering and combining them in groups.

Runtimes

In Runtimes, the entry view on the left lists the available runtime groups. Once a group is selected, all its components (single runtimes or other runtime groups) are listed. At this point, users can edit the groups’s description and properties, as well as add new components to it.

Groups can help users with filtering and managing multiple runtime, for example by simplifying the process of running a job on a number of devices or runtimes.

By selecting a single runtime out of the list shown in the middle, its description is displayed: type, architecture, operating system and environment. Users have then the possibility to remove the selected runtime, as well as to associate it to, or disassociate it from, a group.

All bundles installed on the chosen runtime are listed, showing basic information such as id, symbolic name and version. In the context of the OSGi specification, a bundle’s symbolic name, together with its version, serves as its unique identifier.

The state of the bundles, which reflects their life cycle (STARTING, ACTIVE, RESOLVED, INSTALLED), is also shown, as are the possible actions related to each bundle: texttt{start, stop, uninstall}. Users can only opt to uninstall a bundle once this has been previously stopped.

In this area of the portal, users can install bundles on a selected runtime, as well as verify the version of an installed bundle.

runtime details

For each runtime, bundles are listed. Open in new tab to see full-size image.

Also at this point, users can remove runtimes from EDP. To do that, first they must select the runtime and follow by choosing “Remove runtime”, confirming then the action on the subsequent dialog window.

Please note that

Currently EDP does not provide isolation between users’ runtimes when removing them. That means, users can remove any runtimes available in the environment defined in their permission profile, independently of who created them, or whether they are being used.

Registering a New Device

Aicas can support customers by registering devices and providing certificates for them. However, in case of EDP clients with an own AWS account, their admins will assume these tasks. A complete step by step on connecting devices for EDP is given here.

In the AWS IoT services portal, it is possible for integrators and administrators to inspect and eventually edit attributes of devices.

Please note that: During registration, a new device certificate will be created and downloaded to the device. This certificate is named <thing-name>.p12 and gets embedded into the setup folder of the EDP Client bundle. Once incorporated to the OSGi framework, the EDP Client connects the device to the cloud.

Downloading the EDP Client

The EDP Client component plays a central role in connecting clients’ runtimes to EDP. Users can download the EDP Client directly from the web portal. When in the Runtimes area, just click on the Get Client button and the zip file is downloaded. After the package is extracted, go to section Connecting Devices to complete the settings.

runtime detaisl

Under Runtimes users can get the EDP Client. Open in new tab to see full-size image.

Fleets

An extension of the Runtimes view is offered under Fleets. Fleets are non-hierarchical groupings that define their contained individual runtimes and runtime groups by the use of property filters.

When choosing the menu option Fleets, users can define these components, through establishing search properties that resolve the logical conditions and dynamically create them.

In this area, users can also delete fleets and search for runtimes and runtime groups that meet the criteria to populate them.

Runtimes and runtime groups can simultaneously belong to multiple fleets.

Deployments

EDP offers users the possibility to register various deployments from different sources to various targets. Sources would be feature versions or artifacts, while targets are runtime, runtime groups or fleets.

For each deployment, users must enter description, source and target types, status and date as well as other basic information. This helps to keep the overview of all deployments and improve managing them.

runtime detaisl

Create new Deployments; status of existing ones are indicated. Open in new tab to see full-size image.

runtime detaisl

After verifying the “Deployment View”; press “upload” to send to the target . Open in new tab to see full-size image.

Jobs

To access the list of available jobs, to upload new jobs or to delete selected ones, users can choose Job documents in EDP’s menu.

A job is a user-defined set of tasks, where each task is a configured command supported by the EDP Client. Jobs are executed asynchronously on a runtime or a group of runtimes.

Job as AWS defines

A “Job” is defined in AWS IoT as a set of remote operations that is sent to and executed on one or more devices connected to the AWS cloud. For example, users can define a job that instructs a set of devices to download and install applications or firmware updates, reboot, rotate certificates, or perform remote troubleshooting operations. <https://docs.aws.amazon.com/iot/latest/developerguide/iot-jobs.html>

While in the Runtimes view, a user should click the Create job option to assign a job to a device, or group of devices. The user should then browse for a job file and choose where to run the job on.

A job documents in JSON format an array of tasks to be executed in sequential order. The tasks defined in a job are commands that the EDP client can understand and execute. For example install a bundle by URL, install a bundle from an OSGi repository, start, stop or uninstall a bundle.

{
  "tasks": [
    {
      "id": 1,
      "apiVersion": "1.0.0",
      "type": "bundle-task",
      "action": "START",
      "symbolicName": "com.sample.bundle",
      "version": "1.0.0"
    },
    {
      "id": 2,
      "apiVersion": "1.0.0",
      "type": "bundle-task",
      "action": "STOP",
      "symbolicName": "com.sample.bundle",
      "version": "1.0.0"
    }
  ]
}

As an example, above is a job with two tasks: start and stop a bundle.

← Previous Page | Next Page →