The Disaggregation Reusable Component removes
aggregation of tags to a parent in the back-end system. This marks
the records, which have been created using the Aggregation Reusable
Component, as deleted.
The Disaggregation Reusable Component can collect multiple events
into a single disaggregate action. The API methods for this capability
are: start, addToDisaggregation or addToDisaggregationEvent, and stop.
When called in this order, multiple events can be collected by multiple
calls to addToDisaggregation or addToDisaggregationEvent. The disaggregate
action is triggered when the stop method is called.
A very important field for a disaggregation event is the parent
EPC, under which children EPCs become disaggregated. Specify the parent
EPC using one of these options:
See EPCIS Connector for more information
on these options.
If using the start method to collect events, you may optionally
specify these fields as parameters. Pass null for the parameters you
do not wish to set.
Optional agent properties can be used to control how the collection
of events takes place:
- allowCrossLocationDisaggregation
- The possible values for
this property are true or false.
The default value is false. When the value for this
property is set to false, all locations (sourceId)
of the events must match. Any call to addToDisaggregation or addToDisaggregationEvent
from a different location results in a CrossLocationAggregationNotEnabledException message,
and excludes that event from the single generated disaggregation event.
When set to true, this property allows events with
different locations to be included in the same disaggregation. Also
when the value of this property is set to true, you
must set the primeLocation property to tell the Reusable
Component which location to use for the single generated disaggregation
event.
- primeLocation
- The value for this property is a location
string.
All IBM® Sensor Event data and payload
metadata are maintained in a call to the EPCIS Connector. For more
information, see EPCIS Connector.
WebSphere Sensor Events configuration
Table 1. Disaggregation agent propertiesName |
Description |
PID |
Agent properties |
DisaggregationAgent |
RUC Disaggregation Agent |
com.ibm.premises.reusable.disaggregation.DisaggregationAgent |
- ruc.targetBackend=ruc.epcis
- disaggregate.output.success=rucresponse/disaggregation/disaggregate/success
- disaggregate.output.failure=rucresponse/disaggregation/disaggregate/failure
- start.output.success=rucresponse/disaggregation/start/success
- start.output.failure=rucresponse/disaggregation/start/failure
- add.output.success=rucresponse/disaggregation/add/success
- add.output.failure=rucresponse/disaggregation/add/failure
- stop.output.success=rucresponse/disaggregation/stop/success
- stop.output.failure=rucresponse/disaggregation/stop/failure
|
Methods
- disaggregateEvent(ISensorEvent IBMSE)
- disaggregate(String IBMSE_XML) (Exposed as Web
service)
- disaggregateMap(Map event_payload_map)
- disaggregateMap(Map event_payload_map, String eventType,
String sourceId)
- start(String profileID, String parentTag, String parentTagType,
String parentTagFilter (Exposed as Web service)
- addToDisaggregationMap(String profileId, Map event_payload_map)
- addToDisaggregationMap(String profileId, Map event_payload_map,
String eventType, String sourceId)
- addToDisaggregationEvent(String profileId, ISensorEvent
event)
- addToDisaggregation(String profileId, String event_xml) (Exposed
as Web service)
- stop(String profileID)
Using the Disaggregation Reusable Component
To
invoke the Disaggregation Reusable Component using IBM Sensor Events or XML, the payload must include:
- PassiveRFIDTagRead
- PassiveRFIDAggregatedTagRead
Generic payload created from a map can also be used. It must
include either of the following:
- DisaggregationRUCConstants.TAG_KEY_INOUT
- DisaggregationRUCConstants.TAGLIST_KEY_INOUT
Note: TAG_KEY_INOUT takes
a String value. TAGLIST_KEY_INOUT takes
a value of java.util.List populated with Strings.
To
publish to Reusable Components MDBs, set the following values for
the JMS topic and eventType. For multi-action Reusable Components,
the topic is checked in the message selector and in the MDB code.
- disaggregate: profileid/rucaction/disaggregation/disaggregate
- start: profileid/rucaction/disaggregation/start
- addToDisaggregation:
profileid/rucaction/disaggregation/add
- stop: profileid/rucaction/disaggregation/stop
The JMS topic and eventType for the MDB output from the Reusable
Component comes from the agent properties. Default output topics for
success and failure for each action are shown in Table 1. There is no payload