C H A P T E R  1

Introduction to the Sun Java System RFID Software

This chapter provides an overview of the Sun Javatrademark System RFID Software 3.0 (RFID Software). This chapter includes the following topics:


Introduction to RFID Technology

RFID technology has emerged in response to the need for a next generation bar code and is a fundamental element of the EPCglobal Network. RFID stands for Radio Frequency Identification. The EPC or Electronic Product Code functions similarly to a Universal Product Code or UPC as found in common bar code technology. It is an identification scheme for universally identifying physical objects via RFID tags and other means. The EPC encoded on an RFID tag can identify the manufacturer, product, version and serial number, and also provides an extra set of digits to identify unique items.

The EPCglobal Network is a set of technologies that enable immediate, automatic identification and sharing of information for items in the supply chain. RFID technology involves placing RFID tags on objects, reading the tags, ideally without human intervention, and then passing the information to a dedicated IT infrastructure. With such an infrastructure to automatically identify objects, computers can track, monitor, and trigger relevant events.

The RFID Software consists of two RFID software modules, an event manager and an information server. The RFID Event Manager is designed to process the streams of tag or sensor data coming from the network of reader devices. This middleware performs filtering, aggregation, counting of tag data (event data) and connectivity to back-end IT systems.

The RFID Information Server is a Javatrademark 2 Platform, Enterprise Edition (J2EEtrademark) application that serves as an interface for capture and query of EPC-related data. This EPC data includes tag observation data from the RFID Event Manager as well as information that maps EPCs to higher-level business data. The RFID Information Server functions to translate a set of low-level observations into higher-level business functions.

RFID tags and readers are part of an enabling technology in this emerging Electronic Product Code (EPC) network. Promoted by the EPCglobal standards organization in cooperation with the Uniform Code Council, RFID tags and compliant readers are designed to uniquely identify an object, without line-of-sight access or human intervention. When a tagged object is scanned by a reader, the information is processed by the RFID Event Manager.

The RFID Event Manager can be distributed over multiple computer nodes so that there is no single point of failure. Fully utilized, EPC data can be formatted to automatically identify objects, monitor location and movement, and trigger events. A near real-time view throughout the supply chain can enable significant gains in operational efficiencies, such as tighter inventory control, increasing throughput, and lowering costs.

RFID Information Server is a J2EE application that serves as a front-end to a database of EPC-related information and is typically deployed on a different machine than the RFID Event Manager. The RFID Information Server runs on both Sun Java System Application Server Platform Edition 8.1 2005Q2 UR2 (Application Server Platform Edition) and Sun Java System Application Server Enterprise Edition 8.1 2005Q1 (Application Server Enterprise Edition). You can also deploy the RFID Information Server to BEA WebLogic Server 8.1 SP4. The RFID Information Server supports HTTP and Java Message Service (JMS) message transports, with external applications using the XML protocol for message exchange. A Javatrademark DataBase Connectivity (JDBCtrademark) database provides the means to store and manage tagged data and the related mappings to product codes and product information.


RFID System Architecture

The software is built on an infrastructure that includes the following Sun products and open source technologies:

The RFID Software consists of the RFID Event Manager module, the RFID Management Console module, and the RFID Information Server module. The RFID Event Manager and the RFID Information Server play key roles in the EPC Network as defined by EPCglobal, the standards organization chartered with the standardization of RFID for use in business. The EPC Network architecture can be found at http://www.epcglobalinc.com/index.html.

The RFID Software follows the identification scheme from EPC Tag Data Standards Version 1.1 Rev.1.26. For more information about the EPC data format and the related concepts, see Sun Java System RFID Software 3.0 Administration Guide. The RFID Event Manager also supports non-EPC tags.

This section includes the following topics:

Infrastructure Technologies

This section provides a brief overview of the underlying technologies used by the RFID Software.

The RFID Software relies on a J2EE 1.4-compliant EJBtrademark container. The J2EE container hosts the RFID Information Server and RFID Management Console. The RFID Information Server communicates with a database through JDBC. The database can handle all additions, deletions, and insertions of rows for every EPC tag identified.

Jini Network Technology 2.0

The Java-based Jini network technology was developed by Sun Microsystems and open sourced a number of years ago. A Jini system is a distributed system based on the idea of federating groups of users and the resources required by those users. The overall goal is to turn the network into a flexible, easily administered tool with which resources can be found by human and computational clients. Resources can be implemented as either hardware devices, software programs, or a combination of the two. The focus of the system is to make the network a more dynamic entity that better reflects the dynamic nature of the workgroup by enabling the ability to add and delete services flexibly.

Additional details about the Jini network technology can be found at http://www.jini.org.

Project Rio 3.1

Project Rio provides a dynamic adaptive network architecture built using Jini technology mechanisms. Rio enables the dynamic provisioning of services using quality of service attributes. Quality of service, is the notion that a compute resource supports capabilities, such as CPU speed or perhaps a specific network interface like 802.11b. At the same time, services require certain compute capabilities, for example, response time to meet service level agreements or certain physical assets like sound or video cards. Rio deploys services to the most suitable compute resources that can assure the Level of Service requirements of those services as determined when the service is deployed. Rio details can be found at http://rio.jini.org.

Supported Databases

The RFID Information Server and the RFID Management Console use a relational database to maintain all the product information reported back to the customer, as well as the RFID system monitoring information. See Sun Java System RFID Software 3.0 Release Notes for a list of the supported databases.

Java Dynamic Management Kit 5. 1

Java Dynamic Management Kit 5. 1 (Java DMK 5.1) is used to manage the objects exposed by the RFID Event Manager. It is also used to interface with SNMP base control station managers using a Sun defined MIB.

RFID Software Description

The RFID Software consists of the RFID Event Manager, the RFID Management Console and the RFID Information Server modules. The RFID Event Manager gathers information from RFID readers, filters the information, and provides the processed information to the RFID Information Server module or to a third-party ERP system.

The following illustration shows how the RFID Software modules connect RFID devices and generic sensors with business applications. The integration layer is optional as business applications can obtain RFID sensor events through an integration layer or directly through dedicated connectors.


FIGURE 1-1 Sun RFID Software Function in the EPC Network

Flow diagram showing information flow in an RFID EPC network.[ D ]


RFID Event Manager

The RFID Event Manager is a Jini technology-based event management system. The RFID Event Manager facilitates the capture, filtering and eventual storage of Electronic Product Code (EPC) events generated by RFID readers connected to the network. The main function of the RFID Event Manager is to interface with RFID readers, gather EPC events, filter redundant information, and feed relevant events to the RFID Information Server or other ERP software for further processing. The RFID Event Manager Jini services are managed through Rio, an open source container of Jini Service Beans.

The RFID Event Manager consists of a Control Station and one or more Execution Agents. The Execution Agents perform the actual gathering and filtering of RFID information. A computer system typically runs one Execution Agent, which can carry out one or more workloads. Each Execution Agent registers at startup with the Control Station, which in turn assigns a workload to the Execution Agent. Agents can run on any machine that is reachable from the Station. The Control Station provisions the software components to the Execution Agents depending on how the RFID Event Manager is configured.

The Control Station keeps a registry of available execution agents, monitors their status, assigns workloads, and provides them the necessary Java classes to carry out the workload. It is possible to specify that a workload is to be executed by an Execution Agent with a given level of resources and a given set of capabilities. For example, it can be specified that the workload be carried out by a host with 25 percent or lower CPU utilization, and an 802.11b network connection. This is called a Service Level Agreement (SLA). The Control Station monitors the state of each of the Execution Agents, assigns new workloads to those that meet the required SLA, and is capable of migrating workloads from one Execution Agent to another when the SLA is no longer met. This release of the product does not make use of the workload migration capabilities.

The Control Station consists of seven components:

You use the RFID Configuration Manger to configure the RFID readers and business processing rules for the RFID Event Manager's Execution Agents. You can install and use the RFID Management Console to monitor the status of the active RFID system and update the properties of the running components. The components are described in more detail in the Sun Java System RFID Software 3.0 Administration Guide.

RFID Software ALE Web Service

The ALE web service is the RFID Software implementation of the EPCglobal Application Level Events (ALE) specification. The role of the ALE interface within the EPCglobal Network architecture is to provide independence between the infrastructure devices that acquire the raw EPC data, the programmatic elements that filter and count that data, and the applications that use the data. Providing this independence enables the devices and elements to change without requiring changes in the applications.

ALE is a web service specification, using the Web Services Description Language (WSDL), to define, configure, and request reports about real-time EPC data. There is also an XML schema for requesting reports and for the reports themselves. Refer to Application Level Events (ALE) Specification, Version 1.0 before installing or using this component. The specification can be found at the EPCglobal Network, Inc. web site http://www.epcglobalinc.com.

The implementation of ALE in the RFID Event Manager is based on a new Project Rio service named ALE. This service implements the WSDL methods as described in the specification, but not as WSDL rather as RMI. Report request and report messages are implemented as POJO (Plain old Java objects) in the package com.sun.autoid.ale.spec.

For more details on the Sun implementation of ALE, see Sun Java System RFID Software 3.0 Developer's Guide.

To install the ALE web service, see To Install the RFID Event Manager Using the Custom Installation Option.

RFID Information Server

Other applications interface with the RFID Information Server through XML message exchange. The RFID Information Server supports HTTP and JMS message transports and persists all data in a relational database.

See Sun Java System RFID Software 3.0 Release Notes for a complete list of the supported application servers and database servers.