![]() ![]() ![]() ![]() ![]() ![]() ![]() |
The following sections describe how to configure the Serial Number Assignment Service and use the Serial Number Assignment Console.
The Serial Number Assignment Service provides centralized management for allocating (or provisioning) blocks of EPCs to tag writing systems running in remote facilities. In many cases it is desirable for a tag writing system to write tags using a set of EPCs maintained locally, but replenished from a central repository as more EPCs are needed. These use cases are handled through the use of EPC caches (collections of EPC values). The Serial Number Assignment Service replenishes the EPC caches maintained by tag writing systems when requested to do so. By maintaining pools of EPCs in a central location, the likelihood of duplicate or misallocated EPC blocks is reduced.
EPC allocation for all your tag writing systems is accomplished by connecting to the Serial Number Assignment Console, a Web interface to create selection rules and monitor EPC pools, as well as an API to check in and check out EPCs, and database tables for data persistence.
Typically, an organization deploying the Serial Number Assignment Service already has one or more tag writing systems that require access to a cache of EPCs. You configure the Serial Number Assignment Service by:
Note that this step is not necessary if your organization uses the Serial Number Assignment Service to communicate with other BEA RFID software such as Compliance Express.
The Serial Number Assignment Service can allocate two types of EPCs: SGTIN and SSCC. (For more information on EPC tag formats, see the EPCglobal Tag Data Standards Version 1.1). The type of EPC allocated depends on the identifier provided by the requesting program (also known as an EPC Client). GTINs are provided to the EPC Client when it requests replenishment for a cache of SGTINs. In this case, the Serial Number Assignment Service serializes the GTINs to produce SGTIN EPCs. A similar operation occurs when the EPC Client requests replenishment for a cache of SSCCs; the EPC Client provides a company prefix value, which is serialized to produce SSCC EPCs. All the available EPCs for a given GTIN or company prefix are called (collectively) a pool.
In addition to a GTIN or company prefix, the EPC Client also provides a set of criteria to the Serial Number Assignment Service, which uses this information to determine which EPCs will be returned. It does this by matching the criteria received from the EPC Client against the existing selection rules. A selection rule is made up of user-defined criteria that define a subset of a pool. If the criteria specified by the EPC Client match the criteria from the selection rule, and it is the first matching selection rule, EPCs from that subset of the pool will be returned to the EPC Client. The checked-out EPCs are cached by the EPC Client and are then available for writing to tags.
The purpose of selection rules is to provide a mechanism for:
Figure 2-1 illustrates the relationship between selection rules and EPC pools.
When creating selection rules, you must consider which areas or business units will be requesting EPCs. How many are there? Will each area require separate serial number ranges? Does your corporate data center have any requirements regarding EPC ranges? Is there business logic that needs to be taken into account in making selection rules? By considering these factors, you will be able to set up selection rules that will create EPC pools of adequate size, containing EPCs that provide useful business information to your organization's enterprise systems.
Use the Serial Number Assignment Console, accessible via a Web browser, to create and manage selection rules.
Note: | Once you log into the Console, do not use your browser's page controls (such as the Forward and Back buttons, or bookmarks of Console pages). Use of these tools may cause unexpected data display errors. |
http://<
hostname
>:<
wls_port
>/epcps_webclient
Alternatively, from the login page of the RFID Enterprise Server Console (http://<
hostname
>:<
wls_port
>/enterprise
), select Serial Number Assignment Service.
The Add Serial Number Selection Rule page displays, shown in Figure 2-2.
This section provides details required for developers writing programs that integrate the Serial Number Assignment Service with existing tag writing systems. To get started, choose one of the following integration scenarios. For scenarios 1 and 3, development can use any language that supports classes; this document describes Java classes.
Set up the RFID Edge Server to send an EPCCacheReport
(essentially a replenishment request) when the tag cache is running low. Use the Serial Number Assignment Service WSDL interface to develop program(s) that receive and act on the EPCCacheReport
, and use ALEPC API calls to replenish the cache. See WebLogic RFID Edge Server for more information.
Configure the software to interact with the Serial Number Assignment Service. See Compliance Express for more information.
Use the Serial Number Assignment Service WSDL interface to develop programs that detect when the cache of EPCs kept by a tag writing system is about to be depleted, use the Serial Number Assignment Service API to check in and check out EPCs as needed, and return those EPCs to the tag writing system to replenish its EPC cache. See Using the Serial Number Assignment Service API.
Figure 2-3 shows the Serial Number Assignment Service components.
To integrate the Serial Number Assignment Service with Compliance Express, uncomment and set values for the following properties in the COMPLIANCE_HOME
\etc\tagging-station.props
file. Your changes will take effect after you restart Compliance Express.
serviceURL
and notificationURI
properties give information about how to contact the Serial Number Assignment Service.
com.connecterra.compliance.epcps.serviceURL=
http://<Serial_Number
_Assignment_Service_host>:<wls_port>
/epcprovisioning/EPCProvisioningService
com.connecterra.compliance.epcps.notificationURI=
jms:///queue/weblogic.jms.ConnectionFactory/epcpsBrokerMessages
namingPropertiesFile
property identifies the location of a naming.props
file for the JMS connection to the Serial Number Assignment Service.
com.connecterra.compliance.notificationDriver.jms.default.namingPropertiesFile=naming.props
The file name may include either an absolute path or a path relative to the location of tagging-station.props
. See
naming.props in Installing WebLogic RFID Edge Server for more information on specifying and using the naming.props
file.
cacheSize
property specifies the number of EPCs to check out and add to the cache.
com.connecterra.compliance.epcps.cacheSize=1000
cacheLowThreshold
property specifies when a cache should be refilled. When the number of EPCs in the cache reaches this value, a cache low notification will be sent so the cache can be replenished.
com.connecterra.compliance.epcps.cacheLowThreshold=10
userParameter
property specifies a user-defined parameter and value to be sent with EPC checkout requests. There can be multiple parameters specified. These parameters match criteria set in the selection rules.
#com.connecterra.compliance.epcps.userParameter.<
parameter1
>.value=<
value1
>
com.connecterra.compliance.epcps.userParameter.Shift.value=Morning
By default, Compliance Express sends EPC checkout requests with the following parameters: GTIN=<
value
>
, TAG_LENGTH=<
value
>
, FILTER_BIT=<
value
>
, and LOCATION_ID=<
value
>
. You should not specify these parameters as user parameters.
In the WebLogic RFID Edge Server, one or more PCSpec
instances may be associated with an EPC cache.The RFID Edge Server maintains the defined PCSpec instances and their EPC caches as part of its persistent state. Each time a PCSpec is activated, it takes the next EPC value from its EPC cache, and attempts to write that to a tag. When multiple PCSpec instances share a single cache, each will get a different EPC value each time it is activated. The RFID Edge Server tag programming facility can issue a cache report (called EPCCacheReport) when the number of remaining EPC values in a cache drops to (or below) a specified level. These reports are essentially replenishment requests for the cache.
For information on EPC caches, see Reading and Writing Tags in Programming with the ALE and ALEPC APIs.
To integrate the Serial Number Assignment Service with systems running the RFID Edge Server, you will need to:
See Creating and Removing Subscribers in Using the Administration Console. JMS and HTTP notification driver configuration is described in Configuring WebLogic RFID Edge Server in Installing WebLogic RFID Edge Server.
Java implementation package: com.connecterra.alepc.api
A report sent by the RFID Edge Server that indicates that an EPC cache needs replenishing.
String that you set in the
EPCCacheSpec . See
Writing Tags by Using the ALEPC API for more information.
|
|
Listing 2-1 shows an EPCCacheReport
example.
<?xml version="1.0" encoding="UTF-8"?>
<EPCCacheReport date="2005-08-27T18:59:32.890Z"
savantID="test-edge-server"
xmlns="http://schemas.connecterra.com/alepc">
<cacheName>mycache
</cacheName>
<applicationData>cache-specific data goes here
</applicationData>
<cacheSize>10
</cacheSize>
<cacheContent>
<pattern>urn:epc:pat:sgtin-96:0.0614141.100734.[975-999]
</pattern>
</cacheContent>
<threshold>2500
</threshold>
</EPCCacheReport>
The methods described in this section make up the public API for the Serial Number Assignment Service.
The Serial Number Assignment Service uses EPC identity patterns to specify sets of EPCs that will be checked out (or checked in, in the case of checkin operations). An EPC identity pattern is a URI-formatted string that denotes a single EPC or set of EPCs. The format will be one of:
urn:epc:idpat:sgtin:CompanyPrefix.ItemReference.SerialNumber
urn:epc:idpat:sscc:CompanyPrefix.SerialReference
The fields CompanyPrefix
, ItemReference
, SerialNumber
, and SerialReference
correspond to fields of an EPC. In an EPC ID pattern returned from the Serial Number Assignment Service, the SerialNumber
and SerialReference
fields may be:
There are further restrictions on the acceptable values for SerialReference
. Please refer to the
EPC Tag Data Standards, Version 1.1, rev 1.27 (available at
http://www.epcglobalinc.org/standards) for full details.
Here are some examples of EPC ID patterns returned by the Serial Number Assignment Service. In these examples, assume that 0614141
is the Company Prefix for Widget Corporation, and 100734
is the Item Reference for its UltraWidget product, and that SGTIN tag encodings are used.
If, for example, the second EPC ID pattern shown above were checked out and the tag length and filter value (96:0
) were added, the resulting cache contents would be urn:epc:pat:sgtin-96:0.0614141.100734.[100-999]
.
A cache contains an ordered list of EPC patterns, each of which represents a range of EPC values ordered by ascending serial number; the EPC cache content is the concatenation of the ranges corresponding to pattern URNs in the list.
This method checks in a set of EPC ID patterns.
The checkin()
call takes one argument—a list of EPC ID patterns in a StringList object. If the checkin()
call succeeds, the EPC ID patterns are checked in.
A checkin()
call may throw any of the following exceptions: ServiceException
, ProvisioningException
, InvalidURIException
, or RemoteException
.
This method checks out a set of EPC ID patterns.
The checkout()
call takes four arguments, which are explained in the table below:
If the checkout()
call succeeds, the EPC ID patterns are checked out and returned to the calling program as a StringList
.
A checkout()
call may throw any of the following exceptions: ServiceException
, PoolLowException
, ProvisioningException
, or RequestDeniedException
.
This method checks the validity of a potential checkout()
request. It checks for a selection rule that satisfies the request, and looks for a GTIN or Company Prefix in the EPCRequestCriteria
object that is passed in. (See checkout for a description of the EPCRequestCriteria
object.)
If the validateEPCRequest()
call succeeds, it returns the string representation of the rule that satisfies the request.
A validateEPCRequest()
call may throw any of the following exceptions: ServiceException
, ProvisioningException
, or RequestDeniedException
.
The example in Figure 2-4 shows a checkout()
request being issued for a particular pool, and a block of checked-out EPCs being returned to the requesting system.
Once your systems have been integrated with the Serial Number Assignment Service, we recommend monitoring all pools for current usage and potential depletion. Use the Serial Number Assignment Console, accessible via a Web browser, to perform these monitoring activities.
Note: | Once you log into the Console, do not use your browser's page controls (such as the Forward and Back buttons, or bookmarks of Console pages). Use of these tools may cause unexpected data display errors. |
Use the instructions below to view pools and monitor pool usage.
http://<
hostname
>:<
wls_port
>/epcps_webclient
Alternatively, from the login page of the RFID Enterprise Server Console (http://<
hostname
>:<
wls_port
>/enterprise
), select Serial Number Assignment Service.
A list of pools displays. From this page you can monitor all pools in use.
A list of checkout times and ranges displays. From this page you can monitor the usage of the pool you chose.
![]() ![]() ![]() |