The ALE Report Task agent converts ALE ECReports into tag aggregations.
When you use this agent, ALE is used as the vehicle to capture all tag read events. This implies that applications will set ECSpecs and subscriptions based on the use case specification and requirements. A sample ECSpec might look like this:
<?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:impl="urn:epcglobal:ale:wsdl:1" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Body> <impl:Define> <impl:specName>SampleSpecForCrossReadFiltering</impl:specName> <impl:spec creationDate="2008-02-19T10:54:06.444-05:00" schemaVersion="1.1" xmlns="urn:epcglobal:ale:xsd:1"> <logicalReaders> <!-- Cross read filtering requires at least two logical readers in order to have any meaning. --> <logicalReader>P1</logicalReader> <logicalReader>P2</logicalReader> </logicalReaders> <boundarySpec> <duration unit="MS">10000</duration> </boundarySpec> <reportSpecs> <reportSpec reportName="SampleReportForCrossReadFiltering"> <reportSet set="CURRENT"/> <output includeTag="true"/> <extension> <statProfileNames> <!-- The IBMTagConfidenceFactors statistics profile must be requested in order for cross read filtering to work. --> <statProfileName>IBMTagConfidenceFactors</statProfileName> </statProfileNames> </extension> </reportSpec> </reportSpecs> </impl:spec> </impl:Define> </soapenv:Body> </soapenv:Envelope>
Also, in order for this task agent to receive events, the ALE subscription has to have a JMS notification URI that will publish the ALE reports to a topic or queue on the SIBus. Below is an example of a subscription:
<?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:impl="urn:epcglobal:ale:wsdl:1" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Body> <impl:Subscribe> <impl:specName>SampleSpecForCrossReadFiltering</impl:specName> <!-- The notification URI must point to the JMS Topic or Queue and TopicConnectionFactory or QueueConnectionFactory to which the cross reads filter will be listening. Note that the %2F represents the forward slash ('/') character which must be escaped if intended literally. --> <impl:notificationURI>jms:jndi:jms%2Fcross.reads.q?jndiConnectionFactoryName=jms%2Fibmrfid.qm</impl:notificationURI> </impl:Subscribe> </soapenv:Body> </soapenv:Envelope>
Property | Description |
---|---|
alereport.crfilter | This property has a true or false value. When set to true, the ALE Report Task agent will also filter out crossreads. The filtering of crossreads is based on the "confidence factor" that can be included in the metadata associated with every tag read. If filtering is on and the same tag appears multiple times, then the filter will find the tag with the highest confidence factor and put that into the aggregation. The other reads of that tag are thrown out. In order for this work the reader must use LLRP and Data Capture and Delivery must be configured to send all the LLRP information for each tag read or tag aggregation. You can do that by setting the value of the tagAntennaReportLevel property on the device agent to 5 or higher. |