How to filter tags within Biztalk

Hello Support,

I have couple of questions:

1. How to avoid inserting duplicate tags to the database?

Details: I have configured Alien 8800 reader in biz talk RFID manager along with I/O [Photo eye and Light stack] and also created the Process with SQL sink component. When I break Photo Eye reader will read tags for 3 seconds; during this time duplicate tags are being inserted into the SQL server databse.

So how do we filter duplicate tag?

2. What is the way to push the data to Oracle data base?

Thanks in advance!

Sanka

[601 byte] By [sanka060707] at [2008-1-28]
# 1

Hi Sanka,

For your first question: unfortunately our provider doesn't support the Duplicate Elimination Time property directly. Instead one can use the Alien Custom property PersistTime along with outher Alien Custom properties. Alien Support Team can help in reader configuration.

Also one can use the Microsoft's EventHandler example available in the local path like the following:

%RfidInstallDir%\Setup files\RFID_x86\Samples\DupElim

(I'm sure there should be some explanations in Microsoft documentation about how to use it with the RFID Manager.)

Best regards,

Valentina

P.S.:

Myself and Mark will work with you offline to find out the best solution for your scenario.

I'm wondering myself about the second question

ValyaS at 2007-10-11 > top of Msdn Tech,BizTalk Server,BizTalk RFID...
# 2

Hi Sanka,

For (2), we only have an OOB sink EH that writes to SQL server. If you want to post the events to Oracle db directly from BizTalk RFID, you will have to write a custom EH that does this operation.

You can also evaluate looking at the SQL server replication services if it satisfies your latency requirement in getting the data. [depends on the "real time" defn in your scenario].

thx

Rama

Rama[MSFT] at 2007-10-11 > top of Msdn Tech,BizTalk Server,BizTalk RFID...
# 3

Thanks Valentina,

I will find out how to eliminate duplicate tags/events using sample code provided by microsoft. I think this will be the best way to do it instead of doing it at readere level. If we do it at Biz talk level, we can use same code for all type of readers.[Alien,symbol etc]

sanka060707 at 2007-10-11 > top of Msdn Tech,BizTalk Server,BizTalk RFID...
# 4

Hi Rama,

Where can we get source code for OOBSink? please give pointers to get sample EH code.

Thanks,

Sanka

sanka060707 at 2007-10-11 > top of Msdn Tech,BizTalk Server,BizTalk RFID...
# 5

Hi Sanka

We ship a sample Duplicate Elimination Event Handler. You can find that in your RFID Download or you can download from here

http://msdn2.microsoft.com/en-us/biztalk/bb264601.aspx

Regarding the OOB Sink EH - this is the out of the box event handler that ships with BizTalk RFID and saves tag events to a SQL database. We donot share the source code for that. You would need to write your own event handler for saving events to Oracle Db.

hope this helps

Krish

KrishGopalan-MSFT at 2007-10-11 > top of Msdn Tech,BizTalk Server,BizTalk RFID...
# 6

Hello,

just my 2 cents:

Be sure you have an idea about the number of tag-reads you are going to face.

When you have multiple readers that each hammer you with duplicate tag reads, you might want to implement measures to not have your machine face "overload".

But if this is no issue - sure, implement it at the BizTalk RFID level.

AndreasErben at 2007-10-11 > top of Msdn Tech,BizTalk Server,BizTalk RFID...
# 7

Hi Krish,

thanks for your inputs. I could solve the Duplicate issue using DuEli component.

TO Push Data to oracle: I understand thtat, there is template provided by MS for EH. Could you please lett me know, in which method I should:

1. initilize Database connection parameters?

2. Whcih method sould I use to put my custom logic.?

Thanks,

Sanka.

sanka060707 at 2007-10-11 > top of Msdn Tech,BizTalk Server,BizTalk RFID...
# 8

Hi Sanka:

You would typically want to set up the Init parameters in the GetEventHandlerMetaData() method, validate the same in the Init() method, and connect to / set up the DB connection in the Deploy() method of the EH <am assuming you will try and open a ADO pipe to the Oracle DB). The Deploy method is the only method in an EH that potentially runs at higher privilege (log on user cred) to allow for a DB access operation.

Custom logic to handle TRE's usually goes in the ProcessTagReadEvent() method, though you could implement your custom method as well (attributize it with [RfidEventHandlerMethod] and consume a TagReadEvent with no return values if you are 'sinking' the event to a DB)

If you haven't checked out the talk on writing EH's / processes etc., I'd highly recommend the same (see below)

Also, do use the Event Handler template to get started (one of the samples)

Designing and deploying BizTalk RFID Business Processes
http://www.livemeeting.com/cc/microsoft/view?id=Jumpstart-06&pw=BTS06R2

I hope this helps

Cheers!

/a

AnushKumar-MSFT at 2007-10-11 > top of Msdn Tech,BizTalk Server,BizTalk RFID...
# 9

Hi Anush,

Thanks for your inputs. It really helped. We are successfully pushed data to Oracle. though I have one question:

1. How do I find out how many times each tag has been read by the reader. Say for example, I am going to read 1 tag for 5 seconds, reader might read same tag may be 5 times in those 5 seconds. Which propert/method should I use to get that count?

Thanks,

Suresh

sanka060707 at 2007-10-11 > top of Msdn Tech,BizTalk Server,BizTalk RFID...
# 10

Hi Anush,

Thanks for your inputs. It really helped. We are successfully pushed data to Oracle. though I have one question:

1. With in biz talk RFID manager, if device is Auto discovered, we can not change the name of the device. Is there any way to rename the device if it is auto discovered?

The work around I found for this is, change the Auto discover port to other than 3988 on provider properties, and manually add the device to the RFID manager.

2. How do I find out how many times each tag has been read by the reader? Say for example, I am going to read 1 tag for 5 seconds, reader might read same tag may be 10 times in those 5 seconds. Which property/method should I use to get that count?

Thanks,

Suresh

sanka060707 at 2007-10-11 > top of Msdn Tech,BizTalk Server,BizTalk RFID...