Skip to content

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.

  1. 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.

  1. Install BizTalk RFID on a Server.
  2. 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
  3. 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.

  1. 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.
  2. 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.
  3. 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.

  1. Right-Click the RFID Server name, and select New Process
  2. Supply Friendly Name and Process Mode (Transactional, Reliable, Express)
  3. Enter an optional description
  4. Click OK
  5. Select Next at Logical Devices
  6. Select New Component on Configure Components Screen
  7. If assemblies are in the GAC, skip to step 12
  8. Select private for type of component to register and click register
  9. Select add and browse to the location of the OneWay and TwoWay EventHandlers
  10. An AsyncPublish, and a SyncPublish component should now be available
  11. Skip to step 16
  12. Select public for the type of component to register, and click register
  13. Select the checkbox for event handler assemblies only and click GO
  14. Select the OneWay and TwoWay Assemblies
  15. AsyncPublish, and a SyncPublish component should now be available
  16. Select the event handler you want to use (Properties are the same for both)
  17. Click Add
  18. Supply a friendly name for the instance of this event handler
  19. Supply values for each of the 3 properties
    1. Topic to Publish On – Neuron Topic
    2. Which antenna will fire this event
      1. Default All
      2. 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.
    3. Who will publish message – Neuron publisher ID
  20. 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.

Was this article helpful?
Dislike 0
Previous: Rabbit MQ Adapter
Next: SharePoint Subscription Adapter