C H A P T E R  1

Introduction to Sun Java System RFID Software

This chapter provides an overview of the Sun Java System RFID Software. The following topics are described:


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.

Sun Java System RFID Software consists mainly of two RFID software modules, an Event Manager and an Information Server. The 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, and counting of tag data (event data).

The RFID Event Manager performs functions such as data lookup, filtering, and connectivity into back-end IT systems.

The RFID Information Server is a J2EEtrademark application that serves as an interface for capture and query of EPC-related data. This EPC data includes tag observation data from RFID Event Managers 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 Sun Java System RFID Software suite's RFID Event Manager.

An 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 runs on Sun Java System Application Server and BEA WebLogic Server and supports HTTP and JMS message transports, with external applications using the XML protocol for message exchange. It 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 Event Manager.

A JDBC 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 an RFID Event Manager module and an RFID Information Server module. The RFID Event Manager and 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.

Sun Java System RFID Software follows the identification scheme from EPC Tag Data Standards Version 1.1 Rev.1.26. For more information on the EPC data format and the related concepts, see Sun Java System RFID Software 2.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.3 or J2EE 1.4-compliant EJBtrademark software and web 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. See TABLE 2-1 and TABLE 2-2 in Chapter 2 for the supported platforms and software matrix.

Jini 2.0

Jini is a Java-based technology 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 Jini can be found at: http://www.jini.org.

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

RFID Information Server and 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 Supported Software Platforms for a list of the supported databases.

Javatrademark Dynamic Management Kit 5. 1 (Java DMK 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.

Javatrademark Web Services Developer Pack 1.5 (Java WSDP)

The RFID Information Server and RFID Event Manager use the JAXB APIs from the Java WSDP 1.5 to marshall and unmarshall messages.

RFID Software Description

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

The following illustration shows how the Sun Java System RFID Event Manager and Sun Java System RFID Information Server fit into the EPC Network.


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

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


Sun Java System RFID Event Manager

The Sun Java System RFID Event Manager is a Jini-based event management system. It facilitates the capture, filtering and eventual storage of Electronic Product Code (EPC) events generated by RFID readers connected to the network. Its main goal 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, as depicted in FIGURE 1-2. 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 work load to the Execution Agent.


FIGURE 1-2 RFID Execution Agents


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% 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 five components:

The RFID Configuration Manager is used to define the RFID component layout that is used when the system is started. The RFID Management Console is used to monitor the status of the running system and update the properties of the running components. The components are described in more detail in the Sun Java System RFID Software 2.0 Administration Guide.



Note - Any web server can fulfill the role of the Rio Webster.



Introducing RFID Software ALE Web Service

ALE Web Service is the Sun Java System 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 components that acquire the raw EPC data, the architectural component(s) that filter & count that data, and the applications that use the data. This enables the components to change without requiring changes in the applications.

ALE is a web service specification containing a WSDL to define, configure, and request reports on 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 web site http://www.epcglobalinc.com.

The implementation of ALE in the Sun RFID Event Manager is based on a new 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 2.0 Developer's Guide.

To install ALE Web Service, refer to Chapter 3 procedure To Install the Event Manager and ALE Web Service Using Custom Installation.

Sun Java System RFID Information Server

The Sun Java System RFID Information Server has been designed to run on the Sun Java System Application Server and any J2EE-compliant application server. Other applications interface with the Information Server through XML message exchange. The RFID Information Server supports HTTP and JMS message transports and persists all data in a relational database. Any RDBMS that supports JDBC can be used as the data store.

See Supported Software Platforms for a list of the supported application servers and database servers.