First look at Microsoft BizTalk RFID

Damir Dobric Posts

Next talks:



Follow me on Twitter: #ddobric




Microsoft BizTalk RFID is an open platform that enables industry vendors to develop RFID solutions based
on Windows technology. It is set of API-s based on .NET Framework 2.0, which allows you to build
applications in a form of so called event-handlers. In general Microsoft RFID Services Framework
provides powerful set of functions for:

    1. Synchronous Communication with devices
    2. Asynchronous Event Processing
    3. Management operations

API and Command Model

Synchronous command model is when the caller issues a request to BizTalk RFID Services Framework
and waits until it receives a response from the RFID service. The device can be for example a RFID
reader or RFID printer used for tag printing.

Asynchronous command model is when RFID devices send notifications to BizTalk RFID Services
Framework, which then processes these events by putting them in the appropriate RFID process pipelines.
This model is mostly used model in
the runtime of RFID application based on this platform.

Management command model is when administrative events such as device failure, power failure,
and process stop are raised by that BizTalk RFID Services Framework.

Dealing with Processes

The RFID services framework is implemented in the namespace Microsoft.SensorServices.RFID,
which is consisted of a number of managed assemblies. The framework service itself, is a common
windows service named BizTalkRfid, which is hosted in the process RfidServices.exe.
Management of RFID services is done by using of RFID management console shown at the picture bellow:


All information designed in the console are stored in the database called RFIDSTORE. The management console
controls a number of business processes, which perform some RFID related operations. The picture above
shows three business processes: ScanennEingang, TestProces and xasd.
By dealing with RFID services there are in general few important entities, which have to be explaned.

First important entity is one RFID device. This could be for example some RFID reader. To be able to do
anything with RFID device, the provider for that device has to be installed. The RFID provider acts as
managed driver and implements the device specific communication. It covers device management,
reading or writing of data by supporting all of three described models. The architecture of the framework
allows one to implement the provider which could deal not only with RFID devices. For example, it is possible
to implement the provider which deals with any kind of sensors. In my opinion, this platform offers
much more than just dealing with RFID.
Personally, I was experimenting with many different sources of data like ultrasonic data, file IO events etc.
If you are able to write a provider, there is actually no limitation to bind any kind of sensor devices to this framework.

One component is a custom .NET assembly which implement specific interface and is installed in the chain
of event handlers. The date read from device are asynchronously passed to the first event handler.
After processing of the data, event handler can pass original or changed data to the next event handler.
The last event handler on the stack is called event sink.The BizTalk RFID is delivered with one out of the box
event sink called SQL event sink. This sink saves the received data to the SQL server database.

Each business process is a logical entity, which groups together set of devices (or device groups) with
a set of components. For example, assume there are two devices D1 and D2, which are grouped together
in the group G1. Now, assume there are two components (event handlers) EH1 and EH2. First handler could be
hypothetically used to filter doublets and the second one could be the SQL server sink, which just saves the data to database.
Finally, we could define the process P1 which relates the group of devices G1 to components (handlers) EH1 and EH2.
To make it more clearly, the process P1 is a business process which reads the tag data from readers D1 and D2, f
ilters double read tags and saves them to database to be evaluated later.

This is in short all idea behind RFID services platform.

Last but not least, is often asking question: "What there is Microsoft RFID Services Platform to do with BizTalk server?"
To be honest, technically nothing. However, from the marketing point of view this could make a sense,
which will for sure not be discussed in this technical blog :) .

Hope this post helps you to understand basics of Microsoft RFID platform.

Posted Mar 31 2007, 01:12 AM by Damir Dobric
Filed under:


Andreas Erben's posts wrote Erster Blick auf Microsoft BizTalk RFID
on 04-09-2007 16:30

This blog-post is based on the English-language post " First look at Microsoft BizTalk RFID "

yesso wrote re: First look at Microsoft BizTalk RFID
on 08-06-2007 14:46


i have read that you have develop a provider for rfid an have a question to you...

i am student and will program a warehouse-software with rfid as my master-projekt...

which framework and tools can i use for this ?

i have saw that in biztalk 2006 r2 is a framework for the working of rfid it possible to take this hole framework and use it in own application ? or can this library only work in biztalk ?



Damir Dobric wrote re: First look at Microsoft BizTalk RFID
on 08-06-2007 14:58

1. BizTalk RFID is build on top of .NET Framework 2.0. Because of that the .NET2.0 with Visual Studio 2005 is for sure recommended framework to do anything with BTS-RFID.

2. BizTalk Server R2 is the package which contains BTS RFID framework.

3. You can install and use BTS RFID framework without of installing of BizTalk Server itself.

Hope this helps.


Praneeth wrote re: First look at Microsoft BizTalk RFID
on 08-07-2007 9:22

Thanks. Very well written article.

Damir Dobric Posts wrote Writing of the data to RFID tag
on 09-19-2007 17:54

By using of BizTalk RFID additionally to asynchronous event processing the provided API allows one to is a .Net Community Blog powered by daenet GmbH.