C H A P T E R  7

Sun Java System RFID Information Server Configuration

The Sun Java System RFID Information Server (RFID Information Server) is a Java 2 Platform, Enterprise Edition (J2EEtrademark) application that serves as an interface for the storage and query of the tag data captured by RFID readers. The RFID Information Server is typically used to translate a set of low-level observations into higher-level business functions.

This chapter includes the following topics:


RFID Information Server Architecture and Database Overview

The Sun Java System RFID Information Server is a J2EE application that serves as an interface for capture and query of EPC-related and non-EPC tag data. As outlined in "Information Tables," EPC-related tag data can include RFID tag observation data from event managers as well as information that maps the EPCs to higher-level business data. The RFID Information Server is typically used to translate a set of low-level observations into higher-level business functions.


FIGURE 7-1 Sun Java System RFID Information Server

Illustration showing a simple RFID Information Server architecture.[ D ]


Alternatively, you can consider the EPC-related tag data as being either static or timestamped. Static data includes the serial-level and product-level properties of tagged items, such as the GTIN number of a box of detergent. Timestamped data is collected over a period of time and typically changes more often than static data. An example of timestamped data is the relationship between an EPC and a business transaction, such as an advance shipment notice.

The RFID Information Server is deployed on one of the supported J2EE-compliant application servers. Other applications can interface with the RFID Information Server through XML message exchange. The RFID Information Server also supports HTTP and Java Message Service (JMS) API message transports. The RFID Information Server stores all data in a relational database management system (RDBMS). The RFID Information Server has been tested with Oracle 9i Database, Oracle 10g Database, and PostgreSQL 8.0.4.



Note - EPCGlobal has recently chartered a working group to define the specifications for an EPC Information Server (EPCIS). Sun actively supports and monitors the activities of the working group and participates in the endorsement the specifications as they become final. EPCIS is the industry term for middleware such as the Sun Java System RFID Information Server.




RFID Database Information Tables

The RFID Information Server stores EPC-related information in database tables that include the following:

These tables have a hierarchical relationship. Each PRODUCT is linked to an ORGANIZATION through the ORGANIZATION_ID attribute. Similarly, each UNIT is linked to a PRODUCT through the PRODUCT_ID attribute.

The CURRENT_OBSERVATION table captures the output of a Delta filter. The purpose of this filter is to capture the currently visible EPC tags at any particular sensor.

The OBSERVATION_LOG table captures the history of all tag observations.

RFID Information Server Database Scripts

Refer to the Sun Java System RFID Software 3.0 Installation Guide for details on setting up sample databases and using the database scripts that are available with the product.

Refer to the Sun Java System RFID Software 3.0 Developer's Guide for API information on accessing the RFID Software databases.


Configuring the RFID Information Server Database

This section describes RFID Information Server database configuration information. The following topics are described:

Database Schema Description

The EpcisDbSchema.xml file describes the database schema in a database-independent manner. This schema is used by the client and the server to perform type checking and data validation at run time. This file also specifies extended attributes for the UNIT, PRODUCT and ORGANIZATION tables outlined in the section RFID Database Information Tables.

All <table> elements have a fixed attribute section that lists the columns in the table. The UNIT, PRODUCT and ORGANIZATION table elements also have an extended attribute section.

The EpcisDbSchema.xml file is located in the document root of the J2EE application. For example, for a default installation on Solaris OS, the document root of the RFID Information Server is as follows:



Note - The application server installation path varies depending on the version and platform that you are using.




procedure icon  To Modify the RFID Information Server Database Schema File

1. Save a copy of EpcisDbSchema.xml in a permanent location.

2. Modify the file to add or delete extended attributes.

3. Copy the modified file to the document root of the application server.

4. Restart the application server.



caution icon

Caution - The EpcisDbSchema.xmlfile is intended to be modified once at deployment. If changes are made to the file after the database has been populated, the result might be inconsistent data in the database.



Example for a <table> Element

In this example the PRODUCT table has one extended attribute, SIZE_OZ. The attribute is of type float.


<!-- Insert extended attributes below -->
<!-- Type is always String -->
<!-- paramNum is always 3 -->
<attribute extended="true">
    <name>SIZE_OZ</name>
    <dbName>SIZE_OZ</dbName>
    <type>FLOAT</type>
    <paramNum>3</paramNum>
</attriute>
</table>

Adding Extended Attributes to a Table

The following shows the template for an extended attribute.


<attribute extended="true">
<name></name>
<dbName></dbName>
<type></type>
<paramNum>3</paramNum>
</attribute>


procedure icon  To Add Extended Attributes Using the Template

1. Enter the name of the attribute in the name and dbName tags.

2. Enter the type of the attribute. The type can be one of:

STRING, FLOAT, LONG, TIMESTAMP, INTEGER or BOOLEAN

The paramNum tag is always 3.

Configuring the Logging Parameters

The logging parameters are set using Application Server's administration interface. Refer to the Application Server administration guide for more details.

In general, the logging service is an element within the J2EE service element category in the server.xml file, as described in the Sun Java System Application Server Configuration File Reference. The log service is used to configure the system logging service, which can include the following log files:

Configuration of the system logging service can include specifying values for various attributes of the log service element. Using Application Server's administration interface, you can configure any of the following attributes for the log service element:

For general usage with production systems, reset the Default Log Level to WARNING. For debugging purposes set the Log Level to INFO or finer granularity.


Configuring RFID Information Server Clients

The RFID Information Server client library (shown in FIGURE 7-1 as "EPCIS Java Client Library") requires two Java system properties.


procedure icon  To Add the Java System Properties

1. From the Application Server Admin Console, choose Application Server right arrow JVM Settings right arrow JVM Options.

2. Click Add JVM Option.

3. Type the following option value:


-Drfidis.db.schema=http://localhost/epcis/Epcis/DbSchema.xml

4. Press Enter.

5. Click Add JVM Option.

6. Type the following option value:


-Djava.util.logging.config.file=http://localhost/epcis/logging.properties

7. Press Enter

8. Click Save.


Securing the RFID Information Server

Using the Application Server Admin Console, you can manage user access to the RFID Information Server. Basic user authentication is the first step to securing the RFID Information Server. Component level security encompasses web components and EJB components. A secure web container authenticates users and authorizes access to a servlet or JSP by using the security policy defined in the servlet XML deployment descriptors (web.xml and sun-web.xml files).

For more detailed information on writing secure applications, see the documentation for your application server as follows:

For the RFID Information Server, two roles are defined in WEB-INF/web.xml: readonly and readwrite. The users with the readonly role can only find tags from RFID Information Server. The users with the readerwrite role can also modify the RFID Information Server database for tags. The default realm used is the file realm. The realm can be changed to ldap or other supported realms.

Two role-mappings are predefined in WEB-INF/sun-aplication.xml. Where, a principal user guest and a group viewer are mapped to the role readonly. A principal user tester and a group modifier are mapped to the role readwrite. Using this definition, you can use the Application Server Admin Console to add a new user or assign existing users to group viewer or modifier in file realm for corresponding access privilege.

For more information on defining users for the RFID Information Server, see the Sun Java System RFID Software 3.0 Installation Guide, Chapter 5, section Defining Valid Users for RFID Information Server.