BizTalk Server 2010 RFID


I have always been facinated by RFID since I started working with tag based data in 1999. But I have never developed something useful with RFID techonlogy. This week, I was introduced to BizTalk Server 2010 RFID module. I got some help from a collegue to set up my local development environment. The client ‘BizTalk RFID Manager’ is used to configure the processes, device groups, reading devices og components bindings.

The component binding can be setup for different storage of tag events. In my case, I wants to store my tag events in a SQL database, called SQLServerSink. As default there are several other  available components you can add to you RFID installation:

  • SQLServerSink
  • RuleEnginePolicyExecutor
  • DuplicateEliminationFilter
  • VisibilityFilter
  • EpcFilter
  • EpicsEventForwarder
  • EventForwarder

I’m not going to describe each of these components for now. That has to be subject for future posts. I selected the SQLServerSink components. After configuration of the database, I got a a set of table that is used for the tag event collection. The main table where the tag events are stored is called ‘TagEvents’ and looks as follows:

CREATE TABLE [dbo].[TagEvents]
(
	[Id] [bigint] IDENTITY(1,1) NOT NULL,
	[DeviceName] [dbo].[RfidName] NOT NULL,
	[TagId] [dbo].[RfidTagId] NOT NULL,
	[TagType] [int] NULL,
	[TagTypeDescription] [dbo].[RfidName] NULL,
	[TagSource] [dbo].[RfidName] NULL,
	[TagTime] [datetime] NOT NULL,
	[TagData] [image] NULL,
	[SinkTime] [datetime] NOT NULL,
	[ProcessName] [dbo].[RfidName] NOT NULL,
	[ExtData] [ntext] NULL,
	[LogicalDeviceName] [dbo].[RfidName] NOT NULL,
	[TagIdAsHex]  AS ([dbo].[LocalVarbinaryToHexString]([TagId])),
	[TagDataAsHex]  AS ([dbo].[LocalVarbinaryToHexString]([TagData]))
)

The column TagEvent.DeviceName correspond to the device you have configured in the BizTalk RFID Manager. The column TagEvents.TagId is the identificator for a tag. There are two timestamps for an event – TagTime and SinkTime. The difference between these two timestamps should not be large, and is the time used by the component binding to perform the event filtering.

By using the BizTalk RFID Manager, I created three devices – reader1, reader2 and reader3. These readers can be representing RFID readers in seperate rooms in a building. Each RFID tag can represent employee access cards. In my testing enviroment, I will create a database where I can define the access rights for each employee to the rooms represented by the reader 1..3.

This is enought for the time beeing, but as Arnold said: “I’ll be back!”

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s