Devices

Jetstream supports multiple RFID device types and abstracts the type of device from your application. Therefore, you can configure, command and receive events from any device using the same code. Device metadata is managed through Get All Device Definitions, which allows devices to define the commands and configuration values it supports in Jetstream. Device types that support more than just the standard commands can define their own commands using Execute a Proprietary Command. Finally, devices that require custom event data can publish their event data with the standard events using the DeviceExtension elements found in the standard event schemas.

Use the Jetstream API to queue commands for your offline devices. When devices are online, commands are not queued; they are executed immediately. The Jetstream API may also be used to configure your application. Use Get Events to begin receiving Jetstream events from deployed devices.

Jetstream devices usually communicate in near real time, utilizing WebSockets technology. When the devices are actively communicating, they are said to be "online". When there are communication outages, the devices are said to be "offline". When devices are offline, any commands issued to the devices are queued; they are delivered to the devices when they re-establish communications. Similarly, any events the device publishes are held until the device comes online again.

For developers just getting started, we recommend going through the Jetstream Developer's Guide and logging in to the Admin Console to add a device and simulate events. When you are ready to develop, use the Jetstream tools and open source projects to aid you in your journey.

command

The Jetstream API lets you execute commands for your RFID devices. Devices can be placed on any internet based network; therefore, Jetstream will handle all the complexity of coordinating the delivery, execution and returning the results of your command request. When your devices are online with Jetstream, the commands are executed immediately. If your device if offline, the commands are queued until the device establishes a connection.

To Execute a Command
  1. Your application calls the Jetstream API with a command request.
  2. Jetstream determines if the device is online
  3. The Jetstream API returns a unique CommandId.
  4. If the device is online, the command is executed and the results of the command are provided in response.
  5. If the device is not online, the command is queued. When the device establishes an active connection, queued commands are then execute in sequential order on the device.
  6. Jetstream queues a CommandCompletionEvent for your application to be picked up using Get Events
  7. Your application processes the event based on your business rules

More Info

CommandId is the unique identifier to correlate the command request with the resulting CommandCompletionEvent

configuration

At any time, you may reconfigure your Jetstream application to add or remove devices, get your current application configuration, determine what types of devices are available to add or keep your devices configured to meet a policy.

To Configure Your Application
  1. Your application calls the Jetstream API with a configuration request
  2. The Jetstream API configures your application
  3. The Jetstream API returns a ConfigureResponse to your application
events

Jetstream automatically publishes device and system events to your application.

To Receive an Event
  1. The device or the Jetstream API generates an event
  2. The Jetstream API publishes the event
  3. Get Events recieves the event
  4. Your application processes the event based on your business rules