<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Microsoft BizTalk RFID with KalyanaJ</title><link>http://blogs.msdn.com/kalyanaj/default.aspx</link><description>The Ins and outs of what you can do with BizTalk RFID...</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>BizTalk RFID Setup: Troubleshooting</title><link>http://blogs.msdn.com/kalyanaj/archive/2009/01/12/biztalk-rfid-setup-troubleshooting.aspx</link><pubDate>Mon, 12 Jan 2009 04:06:06 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9306616</guid><dc:creator>kalyanaj</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/kalyanaj/comments/9306616.aspx</comments><wfw:commentRss>http://blogs.msdn.com/kalyanaj/commentrss.aspx?PostID=9306616</wfw:commentRss><description>&lt;p&gt;We have recently heard one of our customers run into the following issue during BizTalk RFID installation:&lt;/p&gt; &lt;p&gt;------- &lt;p&gt;Error 1957. Failed to set permissions for user domain\account on the RFIDSTORE database on SQL Server FOO.&amp;nbsp; One reason for this could be that we couldn't establish a connection to the SQL database. Please make sure you are using a domain account for the RFID Service account if you specified a remote SQL Server. See logs for more details. &lt;p&gt;------- &lt;p&gt;In this particular scenario, what was happening was that the account with which Setup was running was the same as the one specified for the RFID Service account credentials.&amp;nbsp; While this may not be a very common scenario (as typically Setup is done by an account in the local administrators group and the default for the RFID Service account is .\RfidSvcAcc), I do see the possibility of somebody requiring this kind of a configuration.&amp;nbsp; However, BizTalk RFID Setup doesn't currently support such a configuration, so I would strongly recommend ensuring during Setup that these two accounts are different.&amp;nbsp; &lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9306616" width="1" height="1"&gt;</description></item><item><title>BizTalk RFID Forums</title><link>http://blogs.msdn.com/kalyanaj/archive/2008/12/19/biztalk-rfid-forums.aspx</link><pubDate>Fri, 19 Dec 2008 05:36:29 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9239745</guid><dc:creator>kalyanaj</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/kalyanaj/comments/9239745.aspx</comments><wfw:commentRss>http://blogs.msdn.com/kalyanaj/commentrss.aspx?PostID=9239745</wfw:commentRss><description>&lt;p&gt;The BizTalk RFID MSDN forums has moved to the following new location: &lt;a title="http://social.msdn.microsoft.com/Forums/en-US/biztalkrfid/threads/" href="http://social.msdn.microsoft.com/Forums/en-US/biztalkrfid/threads/"&gt;http://social.msdn.microsoft.com/Forums/en-US/biztalkrfid/threads/&lt;/a&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;This supports improved filtering/tagging, improved posting experience (dynamic posting, thread preview, real time updates), Live alerts and RSS support.&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/kalyanaj/WindowsLiveWriter/BizTalkRFIDForums_71F4/forums_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="forums" src="http://blogs.msdn.com/blogfiles/kalyanaj/WindowsLiveWriter/BizTalkRFIDForums_71F4/forums_thumb.jpg" width="239" height="200"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Do check out the new forums, and fire away your questions/feedback!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9239745" width="1" height="1"&gt;</description></item><item><title>BizTalk RFID Mobile is here!</title><link>http://blogs.msdn.com/kalyanaj/archive/2008/12/11/biztalk-rfid-mobile-is-here.aspx</link><pubDate>Thu, 11 Dec 2008 05:20:29 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9194285</guid><dc:creator>kalyanaj</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/kalyanaj/comments/9194285.aspx</comments><wfw:commentRss>http://blogs.msdn.com/kalyanaj/commentrss.aspx?PostID=9194285</wfw:commentRss><description>&lt;p&gt;&lt;font size="2" face="Verdana"&gt;I am very excited about the launch of BizTalk RFID Mobile and BizTalk RFID Standards Pack this month!&amp;nbsp; &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Verdana"&gt;BizTalk RFID Mobile is the RFID platform for Windows CE/Mobile: our goal is to make it as easy as possible to build a rich RFID/barcode enabled &lt;em&gt;mobile &lt;/em&gt;application. In addition to enabling the human workflow scenarios on the mobile device, it also provides store-and-forward capabilities to publish data to a BizTalk RFID Server.&amp;nbsp; You can find the comprehensive details about the platform &lt;/font&gt;&lt;a target="_blank" href="http://www.microsoft.com/biztalk/en/us/rfid-mobile.aspx"&gt;&lt;font size="2" face="Verdana"&gt;here&lt;/font&gt;&lt;/a&gt;&lt;font size="2" face="Verdana"&gt;.&amp;nbsp; Of course, you will need the corresponding device providers for the mobile device, and you can find those links &lt;/font&gt;&lt;a target="_blank" href="http://blogs.msdn.com/sudhir/archive/2008/12/08/biztalk-rfid-mobile-providers-available.aspx"&gt;&lt;font size="2" face="Verdana"&gt;here&lt;/font&gt;&lt;/a&gt;&lt;font size="2" face="Verdana"&gt;.&amp;nbsp; If you have any feedback, please do post on the &lt;/font&gt;&lt;a target="_blank" href="http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=1474&amp;amp;SiteID=1"&gt;&lt;font size="2" face="Verdana"&gt;BizTalk RFID MSDN forums&lt;/font&gt;&lt;/a&gt;&lt;font size="2" face="Verdana"&gt;.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Verdana"&gt;BizTalk RFID Standards Pack includes a SDK for Tag Data Translation, a standards based discovery library, and a standards-based LLRP device provider which makes it easy to connect to any device that supports LLRP.&amp;nbsp; The Standards Pack also enables the connectivity between BizTalk RFID Server and BizTalk RFID Mobile (for store-and-forward as well as for remote management of the mobile device from server).&amp;nbsp; &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Verdana"&gt;Here are some links to the documentation/evaluation editions of BizTalk RFID Mobile and BizTalk RFID Standards Pack:&lt;/font&gt;&lt;/p&gt; &lt;h5&gt;&lt;strong&gt;&lt;font face="Verdana"&gt;BizTalk RFID Standards Pack:&lt;/font&gt;&lt;/strong&gt;&lt;/h5&gt; &lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=96cf68ff-dcba-4043-a04a-30b748c90105%20"&gt;&lt;font size="2" face="Verdana"&gt;Installation Guides and Readme&lt;/font&gt;&lt;/a&gt; &lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=fe56c233-406e-4579-bc87-78dc0529e52a"&gt;&lt;font size="2" face="Verdana"&gt;Downloadable Documentation&lt;/font&gt;&lt;/a&gt; &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd352559.aspx"&gt;&lt;font size="2" face="Verdana"&gt;MSDN Documentation&lt;/font&gt;&lt;/a&gt; &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/biztalk/aa937646.aspx"&gt;&lt;font size="2" face="Verdana"&gt;Trial Software&lt;/font&gt;&lt;/a&gt; &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/biztalk/bb608378.aspx"&gt;&lt;font size="2" face="Verdana"&gt;Code Samples&lt;/font&gt;&lt;/a&gt; &lt;h5&gt;&lt;strong&gt;&lt;font face="Verdana"&gt;BizTalk RFID Mobile:&lt;/font&gt;&lt;/strong&gt;&lt;/h5&gt; &lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=fad06953-7bfa-477c-97c4-79972923bc46"&gt;&lt;font size="2" face="Verdana"&gt;Installation Guides and Readme&lt;/font&gt;&lt;/a&gt; &lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=f1d216c4-03c1-4add-bfb7-2abafcbaabfb"&gt;&lt;font size="2" face="Verdana"&gt;Downloadable Documentation&lt;/font&gt;&lt;/a&gt; &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd351599.aspx"&gt;&lt;font size="2" face="Verdana"&gt;MSDN Documentation&lt;/font&gt;&lt;/a&gt; &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/biztalk/aa937646.aspx"&gt;&lt;font size="2" face="Verdana"&gt;Trial Software&lt;/font&gt;&lt;/a&gt; &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/biztalk/bb608378.aspx"&gt;&lt;font size="2" face="Verdana"&gt;Code Samples&lt;/font&gt;&lt;/a&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9194285" width="1" height="1"&gt;</description></item><item><title>TechEd IT Pro 2008: BizTalk RFID Tech Talk</title><link>http://blogs.msdn.com/kalyanaj/archive/2008/09/07/teched-it-pro-2008-biztalk-rfid-tech-talk.aspx</link><pubDate>Sun, 07 Sep 2008 16:47:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8930653</guid><dc:creator>kalyanaj</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/kalyanaj/comments/8930653.aspx</comments><wfw:commentRss>http://blogs.msdn.com/kalyanaj/commentrss.aspx?PostID=8930653</wfw:commentRss><description>&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Verdana','sans-serif'; FONT-SIZE: 8.5pt"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; FONT-SIZE: 10pt; mso-bidi-font-size: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;The&amp;nbsp;BizTalk RFID Tech Talk that Sudhir and I did at TechEd 2008 IT Pro has now been published to TechEd Online.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; FONT-SIZE: 10pt; mso-bidi-font-size: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Times New Roman','serif'; FONT-SIZE: 16pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: 'Times New Roman'"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Verdana','sans-serif'; FONT-SIZE: 10pt; mso-bidi-font-size: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;A href="http://mfile.akamai.com/14853/wmv/microsofttec.download.akamai.com/14853/TechEdOnline/Videos/08_NA_ITP_techtalk_136_low.asx" mce_href="http://mfile.akamai.com/14853/wmv/microsofttec.download.akamai.com/14853/TechEdOnline/Videos/08_NA_ITP_techtalk_136_low.asx"&gt;&lt;SPAN style="LINE-HEIGHT: 115%; COLOR: blue; mso-bidi-font-size: 11.0pt"&gt;&lt;STRONG&gt;Tech Talk Video: Developing RFID-Enabled Applications with BizTalk RFID&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; FONT-SIZE: 10pt; mso-bidi-font-size: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;In this session we discuss how RFID-enabled applications can be developed using BizTalk RFID Server and BizTalk RFID Mobile. We talk about simulated envionment, available for folks to develop without physical equipment. With J. Kalyana Sundaram and Sudhir Hasbe.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Verdana','sans-serif'; FONT-SIZE: 8.5pt"&gt;&lt;A href="http://mfile.akamai.com/14853/wmv/microsofttec.download.akamai.com/14853/TechEdOnline/Videos/08_NA_ITP_techtalk_136_low.asx" mce_href="http://mfile.akamai.com/14853/wmv/microsofttec.download.akamai.com/14853/TechEdOnline/Videos/08_NA_ITP_techtalk_136_low.asx"&gt;&lt;SPAN style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN class=MsoHyperlink&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Verdana','sans-serif'; FONT-SIZE: 8.5pt"&gt;&lt;A href="http://mfile.akamai.com/14853/wmv/microsofttec.download.akamai.com/14853/TechEdOnline/Videos/08_NA_ITP_techtalk_136_low.asx" mce_href="http://mfile.akamai.com/14853/wmv/microsofttec.download.akamai.com/14853/TechEdOnline/Videos/08_NA_ITP_techtalk_136_low.asx"&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Verdana','sans-serif'; FONT-SIZE: 8.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-fareast-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-fareast-theme-font: minor-latin; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Verdana','sans-serif'; COLOR: blue; FONT-SIZE: 8.5pt; TEXT-DECORATION: none; text-underline: none; mso-no-proof: yes"&gt;&lt;?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /&gt;&lt;v:shapetype id=_x0000_t75 coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"&gt;&lt;STRONG&gt;&lt;FONT color=#000000&gt;&lt;A href="http://mfile.akamai.com/14853/wmv/microsofttec.download.akamai.com/14853/TechEdOnline/Videos/08_NA_ITP_techtalk_136_low.asx" mce_href="http://mfile.akamai.com/14853/wmv/microsofttec.download.akamai.com/14853/TechEdOnline/Videos/08_NA_ITP_techtalk_136_low.asx"&gt;&lt;IMG src="http://microsofttech.fr.edgesuite.net/TechEdOnline/Pictures/tt136.JPG"&gt;&lt;/A&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/v:shapetype&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-fareast-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-fareast-theme-font: minor-latin; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Verdana','sans-serif'; COLOR: blue; FONT-SIZE: 8.5pt; TEXT-DECORATION: none; text-underline: none; mso-no-proof: yes"&gt;&lt;v:shapetype coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"&gt;&lt;STRONG&gt;&lt;FONT color=#000000&gt;Downloads:&lt;BR&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;A href="http://microsofttech.fr.edgesuite.net/TechEdOnline/Videos/08_NA_ITP_techtalk_136_low.wmv"&gt;&lt;STRONG&gt;&lt;FONT color=#000000&gt;&lt;IMG border=0 src="http://www.mstechedonline.com/library/(S(ei330iypbu25qx45layzdq55))/Images/TEO_WMVLO.gif"&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/A&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;A href="http://microsofttech.fr.edgesuite.net/TechEdOnline/Videos/08_NA_ITP_techtalk_136_high.wmv"&gt;&lt;FONT color=#000000&gt;&lt;IMG border=0 src="http://www.mstechedonline.com/library/(S(ei330iypbu25qx45layzdq55))/Images/TEO_WMVHI.gif"&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;A href="http://microsofttech.fr.edgesuite.net/TechEdOnline/Videos/08_NA_ITP_techtalk_136_high.mp4"&gt;&lt;FONT color=#000000&gt;&lt;IMG border=0 src="http://www.mstechedonline.com/library/(S(ei330iypbu25qx45layzdq55))/Images/TEO_MP4.gif"&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;A href="http://microsofttech.fr.edgesuite.net/TechEdOnline/Videos/08_NA_ITP_techtalk_136_audio.MP3"&gt;&lt;IMG border=0 src="http://www.mstechedonline.com/library/(S(ei330iypbu25qx45layzdq55))/Images/TEO_MP3.gif"&gt;&lt;/A&gt;&lt;/v:shapetype&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8930653" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/kalyanaj/archive/tags/Miscellaneous/default.aspx">Miscellaneous</category><category domain="http://blogs.msdn.com/kalyanaj/archive/tags/BizTalk+RFID/default.aspx">BizTalk RFID</category><category domain="http://blogs.msdn.com/kalyanaj/archive/tags/Device+Management/default.aspx">Device Management</category></item><item><title>BizTalk RFID at Tech.Ed 2008 IT Pro</title><link>http://blogs.msdn.com/kalyanaj/archive/2008/08/08/biztalk-rfid-at-tech-ed-2008-it-pro.aspx</link><pubDate>Fri, 08 Aug 2008 11:31:08 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8842901</guid><dc:creator>kalyanaj</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/kalyanaj/comments/8842901.aspx</comments><wfw:commentRss>http://blogs.msdn.com/kalyanaj/commentrss.aspx?PostID=8842901</wfw:commentRss><description>&lt;p&gt;I participated, as a co-speaker, in the TechEd IT Pro conference at Orlando during June this year.&amp;nbsp; Our team had a few sessions here:&lt;/p&gt; &lt;p&gt;1) &lt;strong&gt;Deep Dive Into BizTalk RFID&lt;/strong&gt;: This was a one hour interactive theater style presentation.&amp;nbsp; Here, we started with a general overview of the BizTalk RFID, and then explained the concepts in BizTalk RFID using a shipping/receiving scenario.&amp;nbsp; We used a fixed RFID reader and did a complete end to end demo on how a RFID business process could be set up that can get events from this device and store them into a SQL Server database.&amp;nbsp; The attendees were really excited by the fact that events could go all the way to SQL database without writing even a single line of code.&amp;nbsp; During the demo, we also added the Contoso provider (the simulated provider that ships with BizTalk RFID) and simulated five Contoso devices and showed them how they can use this to do their application development even if they don’t have a physical device.&amp;nbsp; We also did some chalk talk on the general concepts.&amp;nbsp;&amp;nbsp; &lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/kalyanaj/WindowsLiveWriter/BizTalkRFIDatTech.Ed2008ITPro_BDAE/img038_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="177" alt="img038" src="http://blogs.msdn.com/blogfiles/kalyanaj/WindowsLiveWriter/BizTalkRFIDatTech.Ed2008ITPro_BDAE/img038_thumb.jpg" width="208" border="0"&gt;&lt;/a&gt;  &lt;p&gt;2) &lt;strong&gt;Building rich RFID enabled applications for Windows CE/Mobile devices using "BizTalk RFID Mobile"&lt;/strong&gt;: This was a 75 minute breakout session. Here we spoke about the evolving mobile scenarios and form factors and the need for a mobile platform.&amp;nbsp; We also went into the features and architecture of the platform.&amp;nbsp; We had tagged some real products and demonstrated a picklist scenario on a mobile RFID reader running &lt;a href="http://www.microsoft.com/biztalk/en/us/rfid-mobile.aspx"&gt;BizTalk RFID Mobile&lt;/a&gt; Beta and the corresponding device provider.&amp;nbsp;&amp;nbsp; We also did a RFID application development demo using the &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=83A52AF2-F524-4EC5-9155-717CBE5D25ED&amp;amp;displaylang=en"&gt;Windows Mobile emulators&lt;/a&gt; and attendees were able to appreciate how they can use this to do application development and testing without requiring to have a physical mobile reader.&amp;nbsp; &lt;/p&gt; &lt;p&gt;There was lot of excitement about how simple it was to connect to a radio module, get notified about events, and post events to a server.&amp;nbsp; &lt;/p&gt; &lt;p&gt;3) &lt;strong&gt;Tech Talk on BizTalk RFID&lt;/strong&gt;:&amp;nbsp; This was a 20 minute interview style video recording.&amp;nbsp; Here, &lt;a href="http://blogs.msdn.com/sudhir"&gt;Sudhir&lt;/a&gt; and I talked about three main topics: &lt;/p&gt; &lt;p&gt;a) Application development with BizTalk RFID: &lt;/p&gt; &lt;ul&gt; &lt;li&gt;Event Handler development  &lt;li&gt;Design vs. Deployment,  &lt;li&gt;Integration with BRE/BizTalk Server, and  &lt;li&gt;Mobile application development using BizTalk RFID Mobile.&amp;nbsp; &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;b) Manageability: how RFID Manager, Client Console can be used to manage BizTalk RFID, and how System Center Operations Manager (SCOM) can also help in managing RFID devices.&amp;nbsp; &lt;/p&gt; &lt;p&gt;c) How can a RFID application developer get started using emulators, Contoso provider / Contoso device simulator / MyFirstCEProvider etc.&amp;nbsp; &lt;/p&gt; &lt;p&gt;This video will soon be posted to &lt;a href="http://www.microsoft.com/teched"&gt;http://www.microsoft.com/teched&lt;/a&gt;.&amp;nbsp; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;Our booth:&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;We had a booth for BizTalk RFID in the SOA theme.&amp;nbsp; Cathexis Innovations had an event management solution that they ran in the booth: for every attendee to the booth, we registered them and printed out a RFID tag for them using BizTalk RFID.&amp;nbsp; This was affixed on their badges, and attendees could come back and get this scanned (in order to increase their chances of winning a Zune) using BizTalk RFID Mobile.&amp;nbsp;&amp;nbsp; &lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8842901" width="1" height="1"&gt;</description></item><item><title>Device Security</title><link>http://blogs.msdn.com/kalyanaj/archive/2008/08/08/device-security.aspx</link><pubDate>Fri, 08 Aug 2008 10:15:30 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8842682</guid><dc:creator>kalyanaj</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/kalyanaj/comments/8842682.aspx</comments><wfw:commentRss>http://blogs.msdn.com/kalyanaj/commentrss.aspx?PostID=8842682</wfw:commentRss><description>&lt;p&gt;I had briefly touched upon Device Security in one of my earlier posts: in particular, the privileges needed for using the DeviceConnection methods.&amp;nbsp; In this post, I will elaborate more on the same:&lt;/p&gt; &lt;p&gt;1) If you are performing a DeviceConnection operation that can potentially change the device (such as&amp;nbsp; DeviceConnection.SetProperty()), the caller should have administrative privileges on the device.&amp;nbsp; Having administrative privilege on a device means that at least one of the following should be true:&lt;/p&gt; &lt;p&gt;a) The caller is a member of the builtin administrators group on the server (OR)&lt;br&gt;b) The caller's account is a member of the device's custom administrator list (To view/modify this using RFID Manager, right click on a device -&amp;gt; Security).&amp;nbsp; &lt;strong&gt;Note that in addition to being in the custom administrators list of the device, this account also should be added to the RFID_USER group on the server machine.&lt;/strong&gt;&lt;br&gt;&lt;/p&gt; &lt;p&gt;2) If you are performing a DeviceConnection operation that cannot change the state of the device (such as DeviceConnection.GetProperty()) or DeviceConnection.PrintTag()), the caller does &lt;em&gt;not &lt;/em&gt;require administrative privileges.&amp;nbsp; &lt;strong&gt;Any account in the RFID_USER group on the server machine should be able to perform such operations&lt;/strong&gt;.&lt;/p&gt; &lt;p&gt;Here's the full list of DeviceConnection methods and the information on whether it requires administrative privileges:&lt;/p&gt; &lt;table cellspacing="0" cellpadding="2" width="396" border="1"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign="top" width="205"&gt;Method Name in DeviceConnection&lt;/td&gt; &lt;td valign="top" width="189"&gt;Admin privilege required&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="209"&gt;SetReadFilter&lt;/td&gt; &lt;td valign="top" width="186"&gt;Yes&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="212"&gt;GetReadFilter&lt;/td&gt; &lt;td valign="top" width="184"&gt;No&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="214"&gt;GetDiagnostics&lt;/td&gt; &lt;td valign="top" width="183"&gt;No&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="215"&gt;GetCurrentPropertyProfile&lt;/td&gt; &lt;td valign="top" width="182"&gt;No&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="216"&gt;GetDefaultPropertyProfile&lt;/td&gt; &lt;td valign="top" width="181"&gt;No&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="217"&gt;ApplyPropertyProfile&lt;/td&gt; &lt;td valign="top" width="181"&gt;Yes&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="217"&gt;GetProperty&lt;/td&gt; &lt;td valign="top" width="181"&gt;No&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="217"&gt;SetProperty&lt;/td&gt; &lt;td valign="top" width="181"&gt;Yes&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="217"&gt;ExecuteVendorDefinedCommand&lt;/td&gt; &lt;td valign="top" width="181"&gt;Yes&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="217"&gt;GetTagData&lt;/td&gt; &lt;td valign="top" width="181"&gt;No&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="217"&gt;GetPartialTagData&lt;/td&gt; &lt;td valign="top" width="181"&gt;No&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="217"&gt;GetTagMetadata&lt;/td&gt; &lt;td valign="top" width="181"&gt;No&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="217"&gt;GetTags&lt;/td&gt; &lt;td valign="top" width="181"&gt;No&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="217"&gt;KillTag&lt;/td&gt; &lt;td valign="top" width="181"&gt;No&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="217"&gt;LockTag&lt;/td&gt; &lt;td valign="top" width="181"&gt;No&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="217"&gt;LockPartialTagData&lt;/td&gt; &lt;td valign="top" width="181"&gt;No&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="217"&gt;UnlockTag&lt;/td&gt; &lt;td valign="top" width="181"&gt;No&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="217"&gt;UnlockPartialTagData&lt;/td&gt; &lt;td valign="top" width="181"&gt;No&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="217"&gt;PrintTag&lt;/td&gt; &lt;td valign="top" width="181"&gt;No&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="217"&gt;WriteTagId&lt;/td&gt; &lt;td valign="top" width="181"&gt;No&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="217"&gt;WriteTagData&lt;/td&gt; &lt;td valign="top" width="181"&gt;No&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="217"&gt;WritePartialTagData&lt;/td&gt; &lt;td valign="top" width="181"&gt;No&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="217"&gt;AddPrintTemplate&lt;/td&gt; &lt;td valign="top" width="181"&gt;Yes&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="217"&gt;RemovePrintTemplate&lt;/td&gt; &lt;td valign="top" width="181"&gt;Yes&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="217"&gt;GetAllPrintTemplates&lt;/td&gt; &lt;td valign="top" width="181"&gt;No&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="217"&gt;GetAllPrintTemplateNames&lt;/td&gt; &lt;td valign="top" width="181"&gt;No&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="217"&gt;GetCurrentPrintTemplateName&lt;/td&gt; &lt;td valign="top" width="181"&gt;No&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="217"&gt;SetCurrentPrintTemplateName&lt;/td&gt; &lt;td valign="top" width="181"&gt;Yes&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="217"&gt;GetPrintTemplate&lt;/td&gt; &lt;td valign="top" width="181"&gt;No&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="217"&gt;GetStandardizedPrintTemplate&lt;/td&gt; &lt;td valign="top" width="181"&gt;No&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="217"&gt;GetPrintTemplatePreview&lt;/td&gt; &lt;td valign="top" width="181"&gt;No&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="217"&gt;GetPrintLabelPreview&lt;/td&gt; &lt;td valign="top" width="181"&gt;No&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="217"&gt;GetSources&lt;/td&gt; &lt;td valign="top" width="181"&gt;No&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="217"&gt;GetDeviceCapabilities&lt;/td&gt; &lt;td valign="top" width="181"&gt;No&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;p&gt;Note: If you are using DeviceManagreProxy.ExecuteCommandForConnection(), the same security model described above applies exactly to it as well.&amp;nbsp; However, I would strongly recommend using DeviceConnection for such operations instead of DeviceManagerProxy.&amp;nbsp; (DeviceConnection internally goes through DeviceManagerProxy).&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8842682" width="1" height="1"&gt;</description></item><item><title>Management Events in BizTalk RFID</title><link>http://blogs.msdn.com/kalyanaj/archive/2008/04/17/management-events-in-biztalk-rfid.aspx</link><pubDate>Thu, 17 Apr 2008 07:22:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8401023</guid><dc:creator>kalyanaj</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/kalyanaj/comments/8401023.aspx</comments><wfw:commentRss>http://blogs.msdn.com/kalyanaj/commentrss.aspx?PostID=8401023</wfw:commentRss><description>&lt;DIV&gt;Sorry about the long hiatus - things&amp;nbsp;have&amp;nbsp;been pretty hectic in the last few months.&amp;nbsp;&amp;nbsp;Planning to catch up on all the&amp;nbsp;missed blogging&amp;nbsp;in the coming few weeks (things will always be hectic, so why wait any longer :)) !!&amp;nbsp; If you have any specific topics in mind that you want the BizTalk RFID team to blog about, please send me a note.&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;Today, there was an interesting question&amp;nbsp;from one of our IHV partners about the management events hierarchy, so that brings us to this post:&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;BizTalk&amp;nbsp;RFID supports the concept of management events.&amp;nbsp; A management event is an asynchronous event&amp;nbsp;that can originate&amp;nbsp;from a device or the device provider or even from the BizTalk RFID Service to notify the occurence of a specific condition.&amp;nbsp; &lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;Examples of management events:&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;1) An&amp;nbsp;event "BizTalk RFID Service discovered a new device" (DeviceDiscoveryEvent) raised by BizTalk RFID Service. This is an example of an informational event.&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;2) An event "The source &amp;lt;foo&amp;gt; of Device &amp;lt;bar&amp;gt; is currently down" (SourceDownEvent) raised by the device provider. This is an example of a warning/error event.&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;STRONG&gt;For event handlers / apps / management consoles: &lt;/STRONG&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;So, how can one subscribe to these events?&amp;nbsp; BizTalk RFID Service exposes them to the outside world in two ways:&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;1) BizTalk RFID Service fires the management event as a WMI event.&amp;nbsp; This applies to the events that originated from the device/provider and also the events that originated from the Service itself. The "RFID Tray" application that ships with BizTalk RFID (you can find it in the shortcuts in the programs menu) is an example of a "WMI consumer" application that subscribes to such events and displays them in its UI.&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;2) BizTalk RFID Service sends the management event to the RFID Process pipeline (i.e. notifies interested processes).&amp;nbsp; This applies only to events that originated from the device/provider and not for events originating from the service.&amp;nbsp; For e.g. if you have process P1 that was bound to device "D1" and if there is a BatteryLowEvent from this device, it will be sent to P1's process pipeline.&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;So, you can see that the above kind of events can be useful for a RFID administrator or an Event Handler writer to know about these conditions and take appropriate action when required.&amp;nbsp; If you have MOM, you can use the&amp;nbsp;&lt;A class="" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=E4E84AE5-21D2-4D12-91E0-3E0FF07AEB19&amp;amp;displaylang=en" target=_blank mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyID=E4E84AE5-21D2-4D12-91E0-3E0FF07AEB19&amp;amp;displaylang=en"&gt;MOM Pack&lt;/A&gt; as well.&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;There are a whole bunch of standard management events defined by BizTalk RFID - you can see the full list of derived classes from the base class documentation at &lt;A href="http://msdn2.microsoft.com/en-us/library/microsoft.sensorservices.rfid.management.managementevent.aspx"&gt;http://msdn2.microsoft.com/en-us/library/microsoft.sensorservices.rfid.management.managementevent.aspx&lt;/A&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;STRONG&gt;For Provider Writers:&lt;/STRONG&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;If you look at the hierarchy of the management&amp;nbsp;events defined in the DSPI,&amp;nbsp;there is a class ManagementEvent from which&amp;nbsp;there are three derived classes:&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; i) DeviceManagementEvent&amp;nbsp;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ii) ProviderManagementEvent &lt;BR&gt;&lt;/STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;iii) ServerManagementEvent &lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;All the derived classes from DeviceManagementEvent (&lt;A href="http://msdn2.microsoft.com/en-us/library/bb656891.aspx" mce_href="http://msdn2.microsoft.com/en-us/library/bb656891.aspx"&gt;http://msdn2.microsoft.com/en-us/library/bb656891.aspx&lt;/A&gt;) and all the derived classes from ProviderManagementEvent fall in the domain of the provider; for e.g. the SourceDownEvent derives from DeviceManagementEvent and you should strongly consider supporting this in your provider/device.&amp;nbsp; Anything which derives from ServerManagementEvent falls in the domain of BizTalk RFID Service (i.e. service will raise such events).&amp;nbsp; &lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;
&lt;DIV&gt;Also, please make sure your device capabilities is in sync with the management events that you support in your provider.&amp;nbsp; For e.g. if you support SourceDownEvent, include that in your &lt;A class="" title="Device Capabilities" href="http://technet.microsoft.com/en-us/library/microsoft.sensorservices.rfid.dspi.devicecapability_members.aspx" target=_blank mce_href="http://technet.microsoft.com/en-us/library/microsoft.sensorservices.rfid.dspi.devicecapability_members.aspx"&gt;device capabilities&lt;/A&gt;.&lt;/DIV&gt;
&lt;DIV id=divRpF693899 dir=ltr&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8401023" width="1" height="1"&gt;</description></item><item><title>Simulating multiple devices using Contoso device simulator...</title><link>http://blogs.msdn.com/kalyanaj/archive/2007/10/04/simulating-multiple-devices-using-contoso-device-simulator.aspx</link><pubDate>Thu, 04 Oct 2007 14:09:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5355357</guid><dc:creator>kalyanaj</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/kalyanaj/comments/5355357.aspx</comments><wfw:commentRss>http://blogs.msdn.com/kalyanaj/commentrss.aspx?PostID=5355357</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 11.0pt"&gt;One recent question I got on BizTalk RFID was: "Is it possible to try it out with multiple simulated devices?" &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: Verdana"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: Verdana"&gt;&lt;FONT size=3&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="mso-bidi-theme-font: minor-bidi; mso-themecolor: accent1; mso-themeshade: 128"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 11.0pt"&gt;The good news is "Yes, it is amazingly easy to do this" using the Contoso Provider / Device Simulator.&amp;nbsp; Let's say you have added the Contoso Provider in BizTalk RFID using RFID Manager.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: Verdana"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="mso-bidi-theme-font: minor-bidi; mso-themecolor: accent1; mso-themeshade: 128"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 11.0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="mso-bidi-theme-font: minor-bidi; mso-themecolor: accent1; mso-themeshade: 128"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-fareast-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-font-size: 11.0pt"&gt;1.&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: Verdana; mso-fareast-font-family: Arial"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 11.0pt"&gt;Go to %RFIDINSTALLDIR%\Samples\Device Service Provider\Contoso\ContosoEndToEnd\ContosoDeviceSimulator&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-fareast-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-font-size: 11.0pt"&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-themecolor: accent1; mso-themeshade: 128"&gt;&lt;FONT face="Times New Roman" size=3&gt;2.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: Verdana; mso-fareast-font-family: Arial"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-theme-font: minor-bidi; mso-themecolor: accent1; mso-themeshade: 128"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 11.0pt"&gt;Open ContosoSimulatorConfig.xml&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: Verdana"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-fareast-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-font-size: 11.0pt"&gt;&lt;SPAN style="mso-themecolor: accent1; mso-themeshade: 128"&gt;3.&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: Verdana; mso-fareast-font-family: Arial"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-theme-font: minor-bidi; mso-themecolor: accent1; mso-themeshade: 128"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 11.0pt"&gt;Add additional sections here: add one section for each additional device that you want to simulate. Note that each section should have a unique name, unique device name, and unique port number.&amp;nbsp; You need to change only the port information and can use the same IP address.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: Verdana"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: Verdana"&gt;&lt;FONT size=3&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="mso-bidi-theme-font: minor-bidi; mso-themecolor: accent1; mso-themeshade: 128"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 11.0pt"&gt;For e.g. &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: Verdana"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="mso-bidi-theme-font: minor-bidi; mso-themecolor: accent1; mso-themeshade: 128"&gt;&lt;FONT size=3&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 11.0pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 11.0pt"&gt;section name="DeviceInformation_&lt;B style="mso-bidi-font-weight: normal"&gt;2&lt;/B&gt;"&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="mso-bidi-theme-font: minor-bidi; mso-themecolor: accent1; mso-themeshade: 128"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 11.0pt"&gt;&amp;lt;entry name="DeviceName"&amp;gt;ContosoTestDevice&lt;B style="mso-bidi-font-weight: normal"&gt;2&lt;/B&gt;&amp;lt;/entry&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="mso-bidi-theme-font: minor-bidi; mso-themecolor: accent1; mso-themeshade: 128"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 11.0pt"&gt;&amp;lt;entry name="ConnectionType"&amp;gt;TCPIP&amp;lt;/entry&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="mso-bidi-theme-font: minor-bidi; mso-themecolor: accent1; mso-themeshade: 128"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 11.0pt"&gt;&amp;lt;entry name="IpAddress"&amp;gt;0.0.0.0&amp;lt;/entry&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="mso-bidi-theme-font: minor-bidi; mso-themecolor: accent1; mso-themeshade: 128"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 11.0pt"&gt;&amp;lt;entry name="PortNumber"&amp;gt;666&lt;B style="mso-bidi-font-weight: normal"&gt;7&lt;/B&gt;&amp;lt;/entry&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="mso-bidi-theme-font: minor-bidi; mso-themecolor: accent1; mso-themeshade: 128"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 11.0pt"&gt;&amp;lt;entry name="ProviderId"&amp;gt;Contoso&amp;lt;/entry&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="mso-bidi-theme-font: minor-bidi; mso-themecolor: accent1; mso-themeshade: 128"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 11.0pt"&gt;&amp;lt;entry name="NotificationDataFile"&amp;gt;ContosoNotificationConfig.xml&amp;lt;/entry&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="mso-bidi-theme-font: minor-bidi; mso-themecolor: accent1; mso-themeshade: 128"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 11.0pt"&gt;&amp;lt;entry name="DeviceTranslatorAssemblyPath"&amp;gt;Microsoft.Rfid.Test.ContosoDeviceTranslator.dll&amp;lt;/entry&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="mso-bidi-theme-font: minor-bidi; mso-themecolor: accent1; mso-themeshade: 128"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 11.0pt"&gt;&amp;lt;entry name="DeviceTranslatorConfigFile"&amp;gt;&amp;lt;/entry&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="mso-bidi-theme-font: minor-bidi; mso-themecolor: accent1; mso-themeshade: 128"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 11.0pt"&gt;&amp;lt;/section&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="mso-bidi-theme-font: minor-bidi; mso-themecolor: accent1; mso-themeshade: 128"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 11.0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="mso-bidi-theme-font: minor-bidi; mso-themecolor: accent1; mso-themeshade: 128"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 11.0pt"&gt;4) Run “runContosoSimulator.cmd”.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P mce_keep="true"&gt;&lt;SPAN style="mso-bidi-theme-font: minor-bidi; mso-themecolor: accent1; mso-themeshade: 128"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 11.0pt"&gt;Now, you can use the Add Device Wizard to add these simulated devices and connect to them.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;SPAN style="mso-bidi-theme-font: minor-bidi; mso-themecolor: accent1; mso-themeshade: 128"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 11.0pt"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=5355357" width="1" height="1"&gt;</description></item><item><title>DeviceConnection revisited...</title><link>http://blogs.msdn.com/kalyanaj/archive/2007/09/21/deviceconnection-revisited.aspx</link><pubDate>Fri, 21 Sep 2007 21:54:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5038569</guid><dc:creator>kalyanaj</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/kalyanaj/comments/5038569.aspx</comments><wfw:commentRss>http://blogs.msdn.com/kalyanaj/commentrss.aspx?PostID=5038569</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal"&gt;&lt;FONT size=3&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;One client connection vs. multiple&amp;nbsp;client connections:&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&amp;nbsp;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;We saw an overview of the DeviceConnection class (Microsoft.Rfid.Client) in an earlier post&amp;nbsp;and how it can be used&amp;nbsp;for configuration and operations on a device.&amp;nbsp;Now,&amp;nbsp;consider the scenario where there is a client application which has opened a connection to a particular device and is doing some configuration on it (say for e.g. SetProperty). If another client application&amp;nbsp;wants to open a connection to the &lt;I&gt;same &lt;/I&gt;device to configure/operate it,&amp;nbsp; DeviceConnection.Open() doesn't allow it because having more than one application configuring/operating on the device at the same time could affect the state of the device and could potentially take the device to an undefined state.&amp;nbsp; Hence, when the second client application tries to do a deviceConnection.Open(), it would get an exception such as:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'"&gt;&amp;nbsp;"Cannot open a connection to device &amp;lt;devicename&amp;gt; because another client has already connected to the device. Retry the operation later"&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;That said, there is an override if your application is really sure of what it is doing and has the required administrative privileges: DeviceConnection.OpenAdministrationConnection(). You can use this if you are sure that you are not stepping on some other client that is connected to the device.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal"&gt;&lt;FONT size=3&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;Device Security:&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;What privileges are needed for using the DeviceConnection methods?&amp;nbsp; Any operation that can potentially affect/change the state of the device requires the caller to have administrative privileges on the device.&amp;nbsp; Having administrative privilege on a device means that atleast one of the following should be true:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;1) The caller is a member of the builtin administrators group (OR)&lt;BR&gt;2) The caller is a member of the device's custom administrator list (To view/modify this using RFID Manager, right click on a device -&amp;gt; Security)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;So, using DeviceConnection.OpenAdministrationConnection() or DeviceConnection.SetProperty() or DeviceConnection.ApplyPropertyProfile() are considered "state changing operations" and hence would require one of the above two privileges.&amp;nbsp; Using DeviceConnection.Open() or DeviceConnection.GetProperty() or DeviceConnection.PrintTag() are not considered to change state and hence don't require the above privileges - just being a member of the RFID_USER group (a Windows group created by BizTalk RFID during its installation) is enough to do such operations. Note that tag related operations (GetTags(), PrintTag() etc.) fall into the latter category.&amp;nbsp; By default, devices in BizTalk RFID inherit security options from the parent device group. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal"&gt;&lt;FONT size=3&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;Using DeviceConnection from an event handler:&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;If you have an event handler running as part of a RFID process, you may want to use DeviceConnection to do&amp;nbsp;operations such as getting/setting&amp;nbsp;the I/O port value on a device.&amp;nbsp;This scenario is considered to be very similar to any other standalone client application using DeviceConnection. Let's say you want to do a state changing device&amp;nbsp;operation from an event handler such as DeviceConnection.SetProperty(). If you see an exception such as the one below, it means the context in which the event handler is running doesn't have the required privileges to do the operation:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'"&gt;System.IO.SensorServices.Rfid.Client.DeviceManagerException: Insufficient permissions to perform the requested operation on device entity &amp;lt;device name&amp;gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;at System.IO.SensorServices.Rfid.Client.DeviceConnection.ExecuteCommand[TCommand](String deviceSourceName, TCommand cmd, VendorDefinedParameters parameters)&amp;nbsp;&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;at System.IO.SensorServices.Rfid.Client.DeviceConnection.SetProperty(String sourceName, String groupName, String propertyName, Object value, VendorDefinedParameters parameters)&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;An event handler runs in the context of the "RFID Service Account (RSA)" on Windows XP / Windows Vista; it runs in the context of a "Worker Process Account (PSA") on&amp;nbsp;a Windows Server 2003 computer.&amp;nbsp; If this account is not part of the device's custom administrator list, it means that it does not have the privileges to do the operation.&amp;nbsp; You can resolve this easily by adding&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt;PSA (on a Windows Server 2003 computer) or the RSA (on a Windows XP or Windows Vista computer) to the device's administrator list, using RFID Manager -&amp;gt; Right click on the device or device group -&amp;gt; Security -&amp;gt; Add. &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt;To summarize, any client application or an event handler using the DeviceConnection.Open() or DeviceConnection.OpenAdministrationConnection() is considered to be a "synchronous client".&amp;nbsp; There could be any number of running&amp;nbsp;"RFID Processes" bound to a device and be receiving notifications from the device. Internally, BizTalk RFID maintains only a single connection&amp;nbsp;to the device and closes this connection only when the final interested process or the client goes away. I will post more on the device connection management in a later post.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=5038569" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/kalyanaj/archive/tags/BizTalk+RFID/default.aspx">BizTalk RFID</category><category domain="http://blogs.msdn.com/kalyanaj/archive/tags/Device+Management/default.aspx">Device Management</category></item><item><title>Auto-Apply of non-persistent properties...</title><link>http://blogs.msdn.com/kalyanaj/archive/2007/09/17/auto-apply-of-non-persistent-properties.aspx</link><pubDate>Mon, 17 Sep 2007 18:39:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4958260</guid><dc:creator>kalyanaj</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/kalyanaj/comments/4958260.aspx</comments><wfw:commentRss>http://blogs.msdn.com/kalyanaj/commentrss.aspx?PostID=4958260</wfw:commentRss><description>&lt;P&gt;I briefly touched upon device properties (in my earlier post on device configuration and management) in the example of how to get the current device property profile. The "current property profile" of a device or source includes all the properties applicable to the device or source, including the standard properties (those that are defined by BizTalk RFID DSPI) as well as any additional custom properties of a specific device. Now, it may not be feasible for the provider or the device to persist the values of all of these properties, say for e.g. across a reboot of a device. To address such a scenario, BizTalk RFID provides support for a provider to specify the persistence status for a property (using the IsPersistent field in the device property metadata). Based on this information, BizTalk RFID automatically applies such properties every time after it establishes connection to a device.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;For e.g., you may notice something similar in your RfidServices.log file:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; 6|&amp;nbsp;&amp;nbsp; Info|091407 11:56:52|Going to auto-apply property profile for device ContosoTestDevice|[Device]&lt;BR&gt;&amp;nbsp;&amp;nbsp; 6|&amp;nbsp;&amp;nbsp; Info|091407 11:56:52|Property [CUSTOM:CUSTOMINTEDITABLEPROPERTY] was not persisted, adding to auto-apply list|[Device]&lt;BR&gt;&amp;nbsp;&amp;nbsp; 6|&amp;nbsp;&amp;nbsp; Info|091407 11:56:52|Property [CUSTOM:CUSTOMSTRINGEDITABLEPROPERTY] was not persisted, adding to auto-apply list|[Device]&lt;BR&gt;&amp;nbsp;&amp;nbsp; 6|&amp;nbsp;&amp;nbsp; Info|091407 11:56:52|Property [REBOOT GROUP:REBOOT] was not persisted, adding to auto-apply list|[Device]&lt;BR&gt;&amp;nbsp;&amp;nbsp; 6|&amp;nbsp;&amp;nbsp; Info|091407 11:56:52|Successfully auto applied 3 non-persisted properties|[Device]&lt;BR&gt;&amp;nbsp;&amp;nbsp; .....&lt;BR&gt;&amp;nbsp;&amp;nbsp; .....&lt;BR&gt;&amp;nbsp;&amp;nbsp; 6|&amp;nbsp;&amp;nbsp; Info|091407 11:56:52|Going to auto-apply property profile for source Antenna1 of device ContosoTestDevice|[Device]&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;Here's some background on how BizTalk RFID accomplishes this: every time there is a change in the value of one or more properties (for e.g. when you set a property or when you apply an entire property profile) BizTalk RFID creates a new version for the device in its version store to track the changes. After every successful connection to a device, it checks with the provider (using its device property metadata) if there are any properties that the provider is not persisting. If it finds such properties, it applies the values for these properties based on the latest values from its version store.&amp;nbsp; Note that the same thing applies for the source/antenna properties as well...&lt;/P&gt;
&lt;P&gt;By default, this behavior is enabled and shouldn't be modified. If you really need to turn this behavior off, you can&amp;nbsp;do that by setting RFID Manager -&amp;gt; Devices -&amp;gt; Connection Parameters -&amp;gt; "Auto-apply Non-Persistent Properties" to false.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4958260" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/kalyanaj/archive/tags/BizTalk+RFID/default.aspx">BizTalk RFID</category><category domain="http://blogs.msdn.com/kalyanaj/archive/tags/Device+Management/default.aspx">Device Management</category></item><item><title>Device States in BizTalk RFID...</title><link>http://blogs.msdn.com/kalyanaj/archive/2007/09/17/device-states-in-biztalk-rfid.aspx</link><pubDate>Mon, 17 Sep 2007 16:11:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4955715</guid><dc:creator>kalyanaj</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/kalyanaj/comments/4955715.aspx</comments><wfw:commentRss>http://blogs.msdn.com/kalyanaj/commentrss.aspx?PostID=4955715</wfw:commentRss><description>&lt;P&gt;In this post, I will talk about the various states of a device added in BizTalk RFID. Before I jump into that, want to quickly mention that you can use the "Contoso Provider" and the "Contoso Device Simulator" that come with BizTalk RFID (as part of the SDK component) to simulate a device.&amp;nbsp;You can run the device simulator by changing directory to %RFIDINSTALLDIR%\Samples\Device Service Provider\Contoso\ContosoEndToEnd\ContosoDeviceSimulator and then launching runContosoSimulator.cmd. This will launch a device at 127.0.0.1 at port 6666 and you can &lt;A class="" title="Adding a device" href="http://blogs.msdn.com/kalyanaj/archive/2007/09/14/adding-registering-a-device-with-biztalk-rfid.aspx" mce_href="http://blogs.msdn.com/kalyanaj/archive/2007/09/14/adding-registering-a-device-with-biztalk-rfid.aspx"&gt;add this device&lt;/A&gt; to BizTalk RFID.&lt;/P&gt;
&lt;P&gt;Now, back to device states - the following is the overview of the various states (you can observe these using RFID Manager):&lt;/P&gt;
&lt;P&gt;1) &lt;STRONG&gt;Open&lt;/STRONG&gt;: BizTalk RFID Service (hereafter referred to as "the service") is connected to this device. This can happen in the following scenarios: &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a) You have one or more running "RFID processes"&amp;nbsp;that are "bound" to this device.&amp;nbsp; (and/or)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; b) You have a client application running that has opened a connection to this device.&lt;/P&gt;
&lt;P&gt;2) &lt;STRONG&gt;Closed&lt;/STRONG&gt;: The service is not currently connected to this device. Obviously, this means that there are no running processes or applications that are interested in this device.&lt;/P&gt;
&lt;P&gt;3) &lt;STRONG&gt;Retrying&lt;/STRONG&gt;: The service will retry connection to this device periodically as it couldn't connect successfully in an earlier attempt. This can happen in the following scenario:&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a)&amp;nbsp;There are one or more running "RFID processes"&amp;nbsp;that are&amp;nbsp;"bound" to this device, (AND)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; b) The service couldn't connect to this device successfully in an earlier attempt.&lt;/P&gt;
&lt;P&gt;How frequently does the service re-attempt a connection to such a device? In RFID Manager, if you right click on the Devices node on the left, and select "Connection Parameters", you can see a "Connection Retry Interval" parameter. This defaults to one minute, and can be tweaked appropriately to suit your needs.&lt;/P&gt;
&lt;P&gt;How many times does the service re-attempt a connection to such a device before giving up?&amp;nbsp; In the same "Connection Parameters" dialog, you can see a "Maximum retry attempts" parameter. This defaults to 10 attempts. Again, you can configure this parameter based on your environment.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You would also notice a parameter called "Connection Check Time" in the same dialog.&amp;nbsp;&amp;nbsp;For connected devices that are associated with a RFID process, the service has a mechanism to automatically verify periodically if the connection is still alive. The "Connection Check Time" parameter dictates how frequently the service should verify the validity of such connections. If the device is not found to be alive, the service automatically re-attempts a connection to this device. Note: I say "for a device associated with a RFID process" specifically because this automatic connection checking is not supported for a device connected through &lt;EM&gt;only &lt;/EM&gt;a client application.&lt;/P&gt;
&lt;P&gt;4) &lt;STRONG&gt;Disabled - Failed&lt;/STRONG&gt;: We talked about the maximum number of retry attempts above.&amp;nbsp; What happens when the service gives up?&amp;nbsp; It takes the device to the "Failed" state. In this case, it might require the manual intervention of an administrator to fix the connectivity issue (for e.g. fix the IP address or fix a network problem). In most cases, the device has to be enabled&amp;nbsp;manually before it can be used again. I say most cases because there is also a way in which BizTalk RFID can automatically bring back to life such a device: if it receives a discovery event for the same device from the provider, it will automatically enable the device. For e.g. there could be a mobile device which has gone out of scope and when it re-enters the system, the discovery event acts as a nice&amp;nbsp;mechanism for automatically re-enabling such a device.&lt;/P&gt;
&lt;P&gt;There is another scenario (probably less common compared to the above) where a device can get into the "Failed" state and that's when the provider corresponding to a device is "stopped" while a connection to the device is open. In such a case, the device is taken to the "failed" state. When the provider is started again, the service will automatically re-attempt a connection to the device if there is atleast one RFID process that is bound to this device. If there is no RFID process interested in the device, the device will transition to the "Closed" state. Note that in this case the manual action to transition the device out of the failed state is to just start the provider.&lt;/P&gt;
&lt;P&gt;5) &lt;STRONG&gt;Disabled&amp;nbsp;-&lt;/STRONG&gt; &lt;STRONG&gt;UnConfigured&lt;/STRONG&gt;: This is the default state of a newly discovered device. Enabling such a device typically involves providing the authentication information required to connect to this device (if any). An administrator has to manually enable such a device before it can be used.&lt;/P&gt;
&lt;P&gt;6) &lt;STRONG&gt;Disabled&amp;nbsp;-&lt;/STRONG&gt; &lt;STRONG&gt;Name Conflict&lt;/STRONG&gt;: This indicates that the "physical name" of a device is different from its "logical name" (the name with which it was added to BizTalk RFID). This can happen in the following scenario:&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a) The physical device supports the NAME property and it is a writable property (AND)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;b) When starting a RFID Process, the service finds that the physical name is not the same as the logical name.&lt;/P&gt;
&lt;P&gt;An administrator has to manually enable such a device before it can be used. An easy way to fix this would be to rename the device and provide a new name so that the service can apply the same name to the physical name as well. &lt;/P&gt;
&lt;P&gt;7) &lt;STRONG&gt;Disabled - Manually Disabled&lt;/STRONG&gt;: You can also manually disable a device to temporarily put it out of use; this can be useful for any troubleshooting/maintenance activities on the device. An administrator has to manually enable such a device before it can be used&lt;/P&gt;
&lt;P&gt;To manually enable a device from any of the above four disabled states, you can right-click on a device in the Devices node of RFID Manager,&amp;nbsp;and click "Enable". &lt;/P&gt;
&lt;P&gt;So, how do you track such state changes? For e.g. how can you detect quickly when you lose connection to a device and it goes to Retrying state? BizTalk RFID raises various &lt;A class="" title="BizTalk RFID Management Events" href="http://msdn2.microsoft.com/en-us/library/microsoft.sensorservices.rfid.management.aspx" mce_href="http://msdn2.microsoft.com/en-us/library/microsoft.sensorservices.rfid.management.aspx"&gt;management events&lt;/A&gt;, for e.g. &lt;A onclick="javascript:Track('ctl00_LibFrame_ctl02|ctl00_LibFrame_ctl15',this);" href="http://msdn2.microsoft.com/en-us/library/microsoft.sensorservices.rfid.management.deviceconnectionattemptfailedevent.aspx"&gt;DeviceConnectionAttemptFailedEvent&lt;/A&gt;&amp;nbsp;when the service is not able to connect to a device. These are WMI based events and you can have your own WMI consumer client to listen to this events or use the "RFID Tray" application to view these events, or better still use MOM to manage such events. I will detail out the various device related management events in a future post...&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4955715" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/kalyanaj/archive/tags/BizTalk+RFID/default.aspx">BizTalk RFID</category><category domain="http://blogs.msdn.com/kalyanaj/archive/tags/Device+Management/default.aspx">Device Management</category></item><item><title>Device Configuration and Operations...</title><link>http://blogs.msdn.com/kalyanaj/archive/2007/09/16/configuring-and-using-a-device-using-biztalk-rfid.aspx</link><pubDate>Sun, 16 Sep 2007 08:41:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4937233</guid><dc:creator>kalyanaj</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/kalyanaj/comments/4937233.aspx</comments><wfw:commentRss>http://blogs.msdn.com/kalyanaj/commentrss.aspx?PostID=4937233</wfw:commentRss><description>&lt;P&gt;In my earlier post, I gave an overview of the various approaches in which you can add/register a device with BizTalk RFID.&amp;nbsp; Now that you have the device added, I am sure you can't wait to configure it and start putting it to use. So, how do you use BizTalk RFID to configure it as well as do certain operations on it?&amp;nbsp; I will explain both the RFID manager part of it as well using the Object Model to do this programmatically, in that order.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;A. Configuration (using RFID Manager)&lt;/STRONG&gt;: This can involve setting properties on the device, for e.g. the Regulatory Region or the event mode.&amp;nbsp; In RFID Manager, right-click on a device, and then select Properties. RFID Manager will first attempt connect to the device; if the device is online, it will retrieve the latest values for the properties from the device ("current property profile") and display the properties in the Properties Dialog. If RFID Manager is not able to connect to the device, it will display the last known version of the property values:&amp;nbsp;in this case, you will notice that you will only be able to view the properties and not edit them. The device needs to be online to be able to edit the properties as well.&amp;nbsp;What about the properties of a device's sources/antennae? You can view the important properties of the antennae in the Sources tab of the Device Properties dialog; to view the rest, you can go the Custom tab of this dialog and select a particular source to view its other properties.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;B. Operations (using RFID Manager)&lt;/STRONG&gt;: RFID Manager provides support for certain common operations on a device: one example is to view tags from a device. You can right-click on a device, and then select View Tags. You will be able to configure the refresh interval as well. There are other such device operations as well that are supported from RFID Manager.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;C. Configuration/Operations (Programmatic):&amp;nbsp; &lt;/STRONG&gt;Now, on to the programmatic part: most of the device configuration and operations can be represented as "Commands" in the BizTalk RFID Device Service Provider Interface (DSPI). For e.g. you have a GetCurrentPropertyProfileCommand to get the latest property profile from a device, or a SetPropertyCommand to set the value for a particular device property. Similarly, you have a "GetTagsCommand" or "PrintTagCommand" for various device operations. From the Object Model perspective, the execution of these commands are synchronous in nature. You need to open a connection to the device before you can execute a command on it. I will give you two approaches&amp;nbsp;by which you can achieve this:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;1. Using DeviceConnection (recommended):&lt;/STRONG&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;The DeviceConnection class is the recommended approach when you want to do programmatic configuration/operations on a device. &lt;/P&gt;
&lt;P mce_keep="true"&gt;for e.g. to get the current&amp;nbsp;property profile, here's a rough idea of how you can use the DeviceConnection class (Note: exception handling not included in the below samples):&lt;/P&gt;&lt;FONT size=2&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;using&lt;/FONT&gt;&lt;FONT size=2&gt; (&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;DeviceConnection&lt;/FONT&gt;&lt;FONT size=2&gt; deviceConnection = &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;new&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;DeviceConnection&lt;/FONT&gt;&lt;FONT size=2&gt;(&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;"localhost"&lt;/FONT&gt;&lt;FONT size=2&gt;,&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;"ContosoTestDevice"&lt;/FONT&gt;&lt;FONT size=2&gt;))&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; deviceConnection.Open(); // open a connection to the device&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;PropertyProfile&lt;/FONT&gt;&lt;FONT size=2&gt; properties = deviceConnection.GetCurrentPropertyProfile();&lt;BR&gt;}&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;/FONT&gt;for e.g. to kill&amp;nbsp;a tag:&lt;/P&gt;&lt;FONT size=2&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;using&lt;/FONT&gt;&lt;FONT size=2&gt; (&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;DeviceConnection&lt;/FONT&gt;&lt;FONT size=2&gt; deviceConnection = &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;new&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;DeviceConnection&lt;/FONT&gt;&lt;FONT size=2&gt;(&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;"localhost"&lt;/FONT&gt;&lt;FONT size=2&gt;,&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;"ContosoTestDevice"&lt;/FONT&gt;&lt;FONT size=2&gt;))&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; deviceConnection.Open();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;byte&lt;/FONT&gt;&lt;FONT size=2&gt;[] tagId = &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;new&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;byte&lt;/FONT&gt;&lt;FONT size=2&gt;[] {1, 2, 3, 4, 5, 6, 7, 8};&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; deviceConnection.KillTag(tagId);&lt;BR&gt;}&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;[You will have to add a reference to Microsoft.Rfid.Client.dll]&lt;/P&gt;
&lt;P&gt;Overall, there are lot of other such methods in the DeviceConnection class for various configurations/operations on a device.&amp;nbsp;The typical pattern for each operation/configuration method is that you will find a simpler overload for the most common usage, and you will find a more advanced usage if you want to specify more options (for e.g. if you want to perform the operation/configuration on a particular source of a device, there is an overload where you can specify the source name). You can use this class from a standalone application or from your own BizTalk RFID event handler that is part of a RFID business process.&lt;FONT size=2&gt;&lt;/P&gt;&lt;/FONT&gt;
&lt;P mce_keep="true"&gt;2. &lt;STRONG&gt;Using DeviceManagerProxy&lt;/STRONG&gt;:&lt;/P&gt;
&lt;P mce_keep="true"&gt;The DeviceManagerProxy provides support for:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Opening a connection to a device : OpenConnection(), &lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Executing a command on the device/source : ExecuteCommandForConnection(), &lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Closing the connection to the device: CloseConnection()&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P mce_keep="true"&gt;In this, you will have to build a "Command" object and execute it - for e.g. to build a SetPropertyCommand to modify the location property,&lt;/P&gt;&lt;FONT size=2&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;PropertyKey&lt;/FONT&gt;&lt;FONT size=2&gt; locationKey = &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;new&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;PropertyKey&lt;/FONT&gt;&lt;FONT size=2&gt;(&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;StandardDevicePropertyGroups&lt;/FONT&gt;&lt;FONT size=2&gt;.General, &lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;// General Group&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GeneralPropertyGroup&lt;/FONT&gt;&lt;FONT size=2&gt;.Location); &lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;// Location Property&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;EntityProperty&lt;/FONT&gt;&lt;FONT size=2&gt; locationProperty = &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;new&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;EntityProperty&lt;/FONT&gt;&lt;FONT size=2&gt;(locationKey, &lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;"New Location"&lt;/FONT&gt;&lt;FONT size=2&gt;);&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;SetPropertyCommand&lt;/FONT&gt;&lt;FONT size=2&gt; setPropertyCommand = &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;new&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;SetPropertyCommand&lt;/FONT&gt;&lt;FONT size=2&gt;(locationProperty);&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;/FONT&gt;DeviceConnection uses this model internally, and it is recommended to use the DeviceConnection model rather than using the DeviceManagerProxy directly.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4937233" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/kalyanaj/archive/tags/BizTalk+RFID/default.aspx">BizTalk RFID</category><category domain="http://blogs.msdn.com/kalyanaj/archive/tags/Device+Management/default.aspx">Device Management</category></item><item><title>Download the documentation!</title><link>http://blogs.msdn.com/kalyanaj/archive/2007/09/14/download-the-documentation.aspx</link><pubDate>Fri, 14 Sep 2007 16:50:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4911701</guid><dc:creator>kalyanaj</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/kalyanaj/comments/4911701.aspx</comments><wfw:commentRss>http://blogs.msdn.com/kalyanaj/commentrss.aspx?PostID=4911701</wfw:commentRss><description>&lt;P&gt;There is a convenient download link to download the Help file, Tutorials etc. for BizTalk RFID. The BizTalkRFID.chm file is the comprehensive help file that you can use for API reference as well as for other deployment operations.&amp;nbsp; Check it out at: &lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=22b2e8d9-8cda-44f8-8f4e-b372c7660989&amp;amp;DisplayLang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=22b2e8d9-8cda-44f8-8f4e-b372c7660989&amp;amp;DisplayLang=en&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;-Kalyan&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4911701" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/kalyanaj/archive/tags/BizTalk+RFID/default.aspx">BizTalk RFID</category><category domain="http://blogs.msdn.com/kalyanaj/archive/tags/Documentation/default.aspx">Documentation</category></item><item><title>Adding/Registering a device with BizTalk RFID</title><link>http://blogs.msdn.com/kalyanaj/archive/2007/09/14/adding-registering-a-device-with-biztalk-rfid.aspx</link><pubDate>Fri, 14 Sep 2007 15:47:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4910815</guid><dc:creator>kalyanaj</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/kalyanaj/comments/4910815.aspx</comments><wfw:commentRss>http://blogs.msdn.com/kalyanaj/commentrss.aspx?PostID=4910815</wfw:commentRss><description>&lt;P&gt;In this post, I will attempt to give an overview of the various methods in which you can add/register a device with BizTalk RFID. You can use "RFID Manager" (the MMC based management console which ships with BizTalk RFID) to check out&amp;nbsp;most of these concepts.&amp;nbsp;&amp;nbsp;The&amp;nbsp;following are the main ways in which a device can be&amp;nbsp;registered with BizTalk RFID:&lt;/P&gt;
&lt;P&gt;1. &lt;STRONG&gt;Device Discovery&lt;/STRONG&gt;: If your device provider supports discovery, it can post a discovery message to BizTalk RFID. If BizTalk RFID determines that the discovery information corresponds to that of a new device, it will add this device to its list of devices and will set it to "Unconfigured" state. The newly added device will instantly appear in the Devices view in RFID Manager. The main thing to note here is that &lt;EM&gt;you need to "enable" the device before you can start using this device&lt;/EM&gt;. Enabling such a device typically involves providing the authentication information required to connect to this device (if any). To do this, you can right-click on a device in the Devices node of RFID Manager,&amp;nbsp;and click "Enable". &lt;/P&gt;
&lt;P&gt;You can also use the "Trigger Discovery" functionality to manually trigger the above discovery process. To do this, you can right-click on a provider in the Providers node of RFID Manager, and click "Trigger Now".&lt;/P&gt;
&lt;P&gt;2. &lt;STRONG&gt;Adding a device manually&lt;/STRONG&gt;: You can use the Add Device Wizard in RFID Manager to add a device. You need to specify the following:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;The name of the device provider: i.e. what provider should this new device use)&lt;/LI&gt;
&lt;LI&gt;The connection information (i.e. how should BizTalk RFID connect to this device): For e.g. if you select TCP/IP, you need to specify the IP address and port number information of the device. In this list, you will see only those specific transport settings that are supported by your particular device provider. For e.g. if you don't see "Serial", it means your device provider doesn't support this particular transport setting.&lt;/LI&gt;
&lt;LI&gt;The authentication information required to connect to the device (if applicable)&lt;/LI&gt;
&lt;LI&gt;The DeviceGroup under which this device should be added (by default, it is "RootDeviceGroup" which is the root of the hierarchy)&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Add Device Wizard will try to connect to the device based on the connection information you specified and will retrieve certain properties such as name, location and description. You can optionally change these values and complete the device addition. If RFID Manager is not able to connect based on the specified connection information, you still have the option of adding the device ("offline" mode). Unlike a device added through discovery, a device added in this way is by default in the "enabled" and usable state.&lt;/P&gt;
&lt;P&gt;3. &lt;STRONG&gt;Bulk Addition of devices&lt;/STRONG&gt;: Very similar to 2) above, but here you have the option of adding more than one device at the same time. In Add Device Wizard in RFID Manager, you can select the "Add Multiple Devices" option and you can specify a range of addresses. RFID Manager will attempt to connect to devices in this range and you also have the option to specify that devices found in this fashion be added automatically.&lt;/P&gt;
&lt;P&gt;4. &lt;STRONG&gt;Your own client application&lt;/STRONG&gt;: You can write your own client application which uses the BizTalk RFID Object Model to add a device. You can use DeviceManagerProxy.AddDevice() and specify the above details and choose whether you want to add the device in online mode or offline mode. You need to add references to "Microsoft.Rfid.Design.dll", "Microsoft.Rfid.SpiSdk.dll", "Microsoft.Rfid.ManagementWebServiceProxies.dll".&lt;/P&gt;
&lt;P&gt;The following is the SAMPLE code for how this can be done (you need to have Contoso simulator running if you want to really see this in action):&lt;/P&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;using&lt;/FONT&gt;&lt;FONT size=2&gt; System;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;using&lt;/FONT&gt;&lt;FONT size=2&gt; Microsoft.SensorServices.Rfid.Design;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;using&lt;/FONT&gt;&lt;FONT size=2&gt; Microsoft.SensorServices.Rfid.Dspi;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;using&lt;/FONT&gt;&lt;FONT size=2&gt; Microsoft.SensorServices.Rfid.Management;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;namespace&lt;/FONT&gt;&lt;FONT size=2&gt; AddDeviceApp&lt;BR&gt;{&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; class&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;Program&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT size=2&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;static&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;void&lt;/FONT&gt;&lt;FONT size=2&gt; Main(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;string&lt;/FONT&gt;&lt;FONT size=2&gt;[] args)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TcpTransportSettings&lt;/FONT&gt;&lt;FONT size=2&gt; transportSettings = &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;new&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;TcpTransportSettings&lt;/FONT&gt;&lt;FONT size=2&gt;(&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;"127.0.0.1"&lt;/FONT&gt;&lt;FONT size=2&gt;, 6666);&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ConnectionInformation&lt;/FONT&gt;&lt;FONT size=2&gt; connectionInformation = &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;new&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;ConnectionInformation&lt;/FONT&gt;&lt;FONT size=2&gt;(&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;"Contoso"&lt;/FONT&gt;&lt;FONT size=2&gt;, transportSettings);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;UserDeviceInformation&lt;/FONT&gt;&lt;FONT size=2&gt; deviceInfo = &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;new&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;UserDeviceInformation&lt;/FONT&gt;&lt;FONT size=2&gt;(connectionInformation, &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;null&lt;/FONT&gt;&lt;FONT size=2&gt;);&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;// Build the device definition&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;DeviceDefinition&lt;/FONT&gt;&lt;FONT size=2&gt; deviceDefinition = &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;new&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;DeviceDefinition&lt;/FONT&gt;&lt;FONT size=2&gt;(deviceInfo, &lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;"ContosoTestDevice"&lt;/FONT&gt;&lt;FONT size=2&gt;, &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;null&lt;/FONT&gt;&lt;FONT size=2&gt;);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;DeviceManagerProxy&lt;/FONT&gt;&lt;FONT size=2&gt; deviceManagerProxy = &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;new&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;DeviceManagerProxy&lt;/FONT&gt;&lt;FONT size=2&gt;();&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT size=2&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; deviceManagerProxy.AddDevice(deviceDefinition, &lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;DeviceGroupDefinition&lt;/FONT&gt;&lt;FONT size=2&gt;.RootDeviceGroupName, &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;false&lt;/FONT&gt;&lt;FONT size=2&gt;);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;Console&lt;/FONT&gt;&lt;FONT size=2&gt;.WriteLine(&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;"Device added successfully in online mode"&lt;/FONT&gt;&lt;FONT size=2&gt;);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;catch&lt;/FONT&gt;&lt;FONT size=2&gt; (&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;RfidClientException&lt;/FONT&gt;&lt;FONT size=2&gt; rfidException)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;// hit exception while trying to add in online mode&lt;BR&gt;&amp;nbsp;&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console&lt;/FONT&gt;&lt;FONT size=2&gt;.WriteLine(&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;"Online AddDevice encountered exception {0}"&lt;/FONT&gt;&lt;FONT size=2&gt;, rfidException);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // process exception appropriately&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console&lt;/FONT&gt;&lt;FONT size=2&gt;.ReadLine();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;}&lt;/P&gt;&lt;/FONT&gt;
&lt;P mce_keep="true"&gt;Isn't this cool :)?&amp;nbsp;&amp;nbsp;You can explore the full power of the Object Model&amp;nbsp;using Visual Studio Intellisense or by looking at the BizTalk RFID developer reference at &lt;FONT color=#0000ff&gt;&lt;A href="http://msdn2.microsoft.com/en-us/library/bb769184.aspx" mce_href="http://msdn2.microsoft.com/en-us/library/bb769184.aspx"&gt;http://msdn2.microsoft.com/en-us/library/bb769184.aspx&lt;/A&gt;&lt;/FONT&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;That's it for now. If you have any specific topics that you would like to see, please do give me feedback and I will attempt to address it in future posts.&lt;/P&gt;
&lt;P mce_keep="true"&gt;-Kalyan&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4910815" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/kalyanaj/archive/tags/BizTalk+RFID/default.aspx">BizTalk RFID</category><category domain="http://blogs.msdn.com/kalyanaj/archive/tags/Device+Management/default.aspx">Device Management</category></item><item><title>BizTalk Server 2006 R2 RTM is here!</title><link>http://blogs.msdn.com/kalyanaj/archive/2007/09/13/biztalk-server-2006-r2-is-here.aspx</link><pubDate>Thu, 13 Sep 2007 09:27:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4909684</guid><dc:creator>kalyanaj</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/kalyanaj/comments/4909684.aspx</comments><wfw:commentRss>http://blogs.msdn.com/kalyanaj/commentrss.aspx?PostID=4909684</wfw:commentRss><description>&lt;P&gt;BizTalk Server 2006 R2 final RTM version has been launched!&amp;nbsp; This includes BizTalk RFID and I will be blogging more about the various features of RFID, particularly related to device management and RFID Manager.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/biztalk/technologies/rfid/default.mspx" mce_href="http://www.microsoft.com/biztalk/technologies/rfid/default.mspx"&gt;http://www.microsoft.com/biztalk/technologies/rfid/default.mspx&lt;/A&gt;&amp;nbsp;has more details. You can download an evaluation version from: &lt;A href="http://www.microsoft.com/biztalk/default.mspx" mce_href="http://www.microsoft.com/biztalk/default.mspx"&gt;http://www.microsoft.com/biztalk/default.mspx&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4909684" width="1" height="1"&gt;</description></item></channel></rss>