RFID Adapter
The Neuron RFID Adapter allows messaging to and from RFID devices.
There are actually 2 adapters, one local and one remote:
- To send to RFID devices, configure the RFID Adapter (a local adapter) on your ESB Server using ESB Explorer.
- To receive notifications from RFID devices, install the RFID Event Handler (remote adapter) on a BizTalk Server.
Prerequisites
- Microsoft BizTalk Server
- BizTalk RFID
Installation
RFID Adapter Installation
The RFID Adapter (local adapter) installs with Neuron ESB Server.
- Install Neuron ESB on a server. Choose Server or Complete installation.
RFID Event Handler Installation
The RFID Event Handler (remote adapter) is installed on a BizTalk Server.
- Install BizTalk RFID on a Server.
- Obtain the assemblies listed below from a Neuron ESB Server installation. Copy them to your BizTalk Server and add them to the GAC.
Neuron.Esb.Adapters.RFIDLibrary- The assembly containing the RFID Object and the Sync Command Object
- Neuron.Esb.Adapters.RFIDEventOneWay
- Event Handler that publishes a Object
- Event Sink that publishes an Object
- Neuron.Esb.Adapters.RFIDEventTwoWay
- Event Handler that publishes an object and expects the same object as a response (Event Enrichment)
- Neuron.Esb.Adapters.RFIDUtilities
- Mapping from BizTalkRFID (Both individual and array) to NeuronRFID
- Mapping from NeuronRFID (Both individual and array) to BizTalkRFID
- The assembly containing the RFID Object and the Sync Command Object
- After the installation, register your event handler.
Overview of BizTalk RFID
What is BizTalk RFID
BizTalk RFID is a device management platform designed to sit on the fringes of an enterprise. It is intended to provide a scalable, extensible and easily managed solution for RFID. By abstracting the hardware from the solution, you are able to begin development independent of future decisions on hardware. The end result is an eco-system that allows for plug and play hardware, and offers a secure platform for RFID solutions. Add to this the extensive ISV partnerships; you have the ability to supply powerful vertical solutions with low TCO and high ROI.
How does it Work
BizTalk RFID leverages Device Providers. These are assemblies that interact with the physical device, and map the information from a vendor specific and sometime proprietary definition of an RFID event into a common object. This standardization of an RFID event was required if the adoption of the technology was to grow.
Out-Of-the-Box, BizTalk RFID offers you two ways of consuming this information. Either by using the BizTalk BRE to trigger some process, or inserting the event into a SQL DB and having external systems consume it.
The other option is to create custom event handlers to deal with integration; this is where Neuron and our RFID Event Handlers come into play.
What are Event Handlers
Event Handlers are assemblies that can be registered with the BizTalk RFID Management Console, and added to a process. There are three types of event handlers; Asynchronous, Synchronous, and Event Sinks.
- Asynchronous event handlers are designed to take the event and push it out in a non-blocking manner. The original event is passed onto the next step in a process.
- Synchronous event handlers are designed to take an event, push it out and wait for a response. Think of this as event enrichment. Out-Of-the-Box, you get a Rules Engine event handler, this is a synchronous event handler.
- An event sink is designed to be the last action taken in a process. It is always Asynchronous, but it does not return the original event to be processed by a next step in the process. The SQL event handler that is supplied Out-Of-the-Box, is an event sink.
In addition to consuming RFID events, BizTalk RFID provides the ability to send commands to an RFID device, such as an RFID Printer. Out-Of-The-Box, you are not supplied with any means of accomplishing this. Neudesic has created an RFID Adapter, which allows a message to drive the ability to send commands to these devices.
Using the BizTalk RFID Adapter (Local Adapter)
The adapter assembly is named ESBRFIDAdapter.dll.
Modes
The RFID Adapter (local) supports 1 modes of operation:
- Subscribe mode (datagram send): bus messages are saved as database records.
Properties
The RFID Adapter is configured using these properties:
BizTalk RFID Server: the name of the machine running BizTalk RFID.
Capabilities
Get Tags: Get a collection of tags that are within range of a device
Print Label: Send a command to an RFID Printer
Print Tag: Send a command to an RFID Reader\Writer to encode information on an RFID Tag
Kill Tag: Decommission an RFID Tag
Write Tag Data: Send a command to encode an RFID Tag with extra data
Vendor Defined Command: Send a command to a device
Sample Message
<RFIDSyncCommandObject> <RFIDObj> <TagIdAsHex>01010101</TagIdAsHex> <TagDataAsHex>01010101</TagDataAsHex> <TagType>03</TagType> <TagTypeDesc>Some Description</TagTypeDesc> <Device>Logical Device to send command too</Device> <AntennaSource></AntennaSource> <DateStamp></DateStamp> <VendorData> <VendorSpecificData> <Value></Value> <Key></Key> </VendorSpecificData> </VendorData> </RFIDObj> <Method>PRINTLABEL</Method> <Vendor>Used for Vendor Specific Command Only</Vendor> <Name>Used for Vendor Specific Command Only</Name> <Command>Used for Vendor Specific Command Only</Command> <Passcode>Used for Vendor Specific Command Only</Passcode> </RFIDSyncCommandObject>
Using the Neuron RFID Event Handler for BizTalk RFID (Remote Adapter)
Register your Event Handler
After installation, follow these steps to create a process and register your event handler.
- Right-Click the RFID Server name, and select New Process
- Supply Friendly Name and Process Mode (Transactional, Reliable, Express)
- Enter an optional description
- Click OK
- Select Next at Logical Devices
- Select New Component on Configure Components Screen
- If assemblies are in the GAC, skip to step 12
- Select private for type of component to register and click register
- Select add and browse to the location of the OneWay and TwoWay EventHandlers
- An AsyncPublish, and a SyncPublish component should now be available
- Skip to step 16
- Select public for the type of component to register, and click register
- Select the checkbox for event handler assemblies only and click GO
- Select the OneWay and TwoWay Assemblies
- AsyncPublish, and a SyncPublish component should now be available
- Select the event handler you want to use (Properties are the same for both)
- Click Add
- Supply a friendly name for the instance of this event handler
- Supply values for each of the 3 properties
- Topic to Publish On – Neuron Topic
- Which antenna will fire this event
- Default All
- It is possible that N number of antenna are linked by a single process. If you want the Neuron step in a process only to publish a message when an event is fired by a specific antenna, supply the name of the logical device.
- Who will publish message – Neuron publisher ID
- Click Close for the box
Sample Event Message
<RFIDObj>
<TagIdAsHex>01010101</TagIdAsHex>
<TagDataAsHex>01010101</TagDataAsHex>
<TagType>03</TagType>
<TagTypeDesc>Some Description</TagTypeDesc>
<Device>Logical Device Name</Device>
<AntennaSource>Antenna Name</AntennaSource>
<DateStamp>Date Time Stamp of Event</DateStamp>
<VendorData>
<VendorSpecificData>
<Value></Value>
<Key></Key>
</VendorSpecificData>
</VendorData>
</RFIDObj>
Channel Type Compatibility
Like all adapters, the RFID adapter is ultimately associated with a Neuron ESB topic for sending or receiving of messages.
Use of PeerChannel-driven topics is not supported for the RFID Adapter. The RFID adapter implementation uses IIS-hosted web services, and PeerChannel does not function in an IIS context.