FileWatcher DSPI Provider - Version 1.2.

Damir Dobric Posts

Next talks:



Follow me on Twitter: #ddobric




In this post we are announcing the V1.2 File Watcher DSPI provider, which now supports generating of IOEvents.

Daenet.FileWatcher DSPI (Device Service Provider) is a provider which simulates RFID specific operation based on system IO hooks.
Rfid.FileWatcher was announced for the first time in year 2007 at SOA & BPM conference in Redmond. This provider is in general useful for emulating of RFID hardware and it can be used to receive the data form BizTalk server via File Adapter.

How does it work?

When one device (based on FileWatcher provider) is attached to system, the Daenet.FileWatcher will create the subfolder with the name which equals to DeviceId (see later). The folder will be created as a subfolder of the RootFolder (see below ProviderProperties). By default under the device subfolder, three additional subfolders are created under device folder: Antrenna1, Antenna2 and Antenna3. Note that the number of antenna-folder is fixed and cannot be changed.
When one XML-file which represents the RFID-Tag is copied to one of “Antena?” folders, the System IO (Watcher_Changed) event is fired. At this moment Daenet.FileWatcher immediately deserialize the new (or even existing, but changed) XML file, extracts the all Tag-Data and dispatches the tag to the BTS RFID underlying framework.
Since version 1.2 the provider is able to dispatch either TagReadEvent or IOEvent. The XML file which simulates event data defines the type of the event.
For example, the XML file contains an element named "IsIOEvent". If this is set on 'true', then the XML describes IOEvent.

The XML file representing the IOEvent looks in serialized form as shown below:


Arrows show IOEvent relevant properties which have no meaning in a case of TagReadEvent.
Similarly, the XML file representing a usual TagReadEvent looks like:


On the other hand, the tag write operation creates the new XML file in the target Antenna folder or it writes the new data in the existing XML, which represent the tag with specific ID.

Installing the provider:

During installation of Daenet.FileWatcher, following properties have to be set (see picture below):

1. Filter
This property specifies the wildcard pattern to be used for filtering of files. For example *.tag.xml will detect all files which match this pattern (i.E.: tagsamlefile.tag.xml).

2. RootFolder
Specifies the folder where subfolders which represent devices will be contained. Folders which represent devices will be created under this folder.


By creating of one device, be sure that the property DeviceId is set. This property defines the name of device’s folder, where Antenna subfolders will be created. Properties “Antenna?” should not be changed.
Following picture shows how to set device properties:

Note that additionally device can be discovered too. Move one folder to the RootFolder and wait few seconds. Refresh the list of devices in the RFID manager and device with the name of moved folder (this is now the ID of device) appears. To be able to start device, enable it. During enabling process all properties like username, password etc. should be empty.

Another interesting binary called DebugEventHandler for BizTalk RFID can be downloaded here.

Posted May 06 2008, 11:37 PM by Damir Dobric
Filed under: is a .Net Community Blog powered by daenet GmbH.