The Device Kit is a core component of IBM® Data Capture and Delivery Toolkit for WebSphere® Premises Server. It provides a common interface for the application code to interact with RFID readers and other device sensors and actuators.
The Device Kit is an OSGi enabled technology that provides support for interfacing with hardware devices from Java™ code. The Device Kit can be used to split the serialized dependency that software development has on hardware platform development. Application code and business logic interface with the Device Kit to get information from the hardware device. It provides a layer of abstraction against which applications can be developed for devices even when hardware-specific information is unknown.
The Device Kit environment consists of the following components: an application, a runtime, and a hardware device. The runtime is divided into the adapter and profile layer, device layer, transport layer, and the connection layer.
The connection layer supports the reading and writing of byte streams to the hardware device. The connection does not understand the meaning of the bytes but supports the delivery of the output bytes and receiving of the input bytes.
The transport layer supports the sending and receiving of messages. While the transport layer understands the format of a message, it does not understand the meaning of the message. When a device requests that a message to sent, the transport formats the message into a correct bytes to be written to the connection. The transport reads input bytes from the connection and parses the bytes into received messages. The interested devices are notified of the received messages.
The device layer provides the application with an interface to the hardware device. The device layer should shield the application from the low level details of the hardware device. The device layer understands the meaning of the messages and any parameters within a message. When an application executes a command, the command requests that the transport send the command message. Any signals listeners are notified if any received messages from the transport match the signal messages.
The adapter and profile layer provides the application with common interface to a set of common hardware devices. For example, the adapter and profile layer for RFID readers will provide a common interface for the application to a set of common functions provided by all RFID readers. This layer uses a publish/subscribe Service Oriented Architecture (SOA) interface. The adapter and profile should shield the application from the knowing which of the common hardware device is being used.
The Device Kit is available in the open source domain provided under the Eclipse Public License. Runtime, tooling, documentation, and source code are available at the following URL: http://www.eclipse.org/ohf/components/soda/