<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://developers.de/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>Search results matching tags 'BizTalk Server 2006', 'BizTalk', and 'BizTalk RFID'</title><link>http://developers.de/search/SearchResults.aspx?a=1&amp;o=DateDescending&amp;tag=BizTalk+Server+2006,BizTalk,BizTalk+RFID&amp;orTags=0</link><description>Search results matching tags 'BizTalk Server 2006', 'BizTalk', and 'BizTalk RFID'</description><dc:language>en-US</dc:language><generator>CommunityServer 2008 SP1 (Build: 30619.63)</generator><item><title>Don't cache your DeviceConnection in an EventHandler / Eine DeviceConnection sollte man nicht in einem Eventhandler cachen</title><link>http://developers.de/blogs/andreas_erben/archive/2008/06/11/don-t-cache-your-device-connection-in-an-eventhandler-eine-device-connection-sollte-man-nicht-in-einem-eventhandler-cachen.aspx</link><pubDate>Wed, 11 Jun 2008 08:29:38 GMT</pubDate><guid isPermaLink="false">7e491611-45ad-4dae-a68f-c4cb64439510:2338</guid><dc:creator>aerben</dc:creator><description>&lt;p&gt;(German version below / deutsche Version weiter unten)&lt;/p&gt; &lt;p&gt;A while ago I talked to someone who knows BizTalk RFID inside out about that sometimes it just takes too long to open a connection to a device in an EventHandler.&lt;/p&gt; &lt;p&gt;The advice I received was, why not caching the connection to the device in the EventHandler, possibly opening it in the in the Init() method and keeping it open.&lt;/p&gt; &lt;p&gt;Out of respect I gave it serious thought and now seriously recommend NOT to do that.&lt;/p&gt; &lt;ul&gt; &lt;li&gt;When opening the connection in the Init()-method takes too long or has any slight problems, it will mess up starting up the whole process pipeline.&lt;/li&gt; &lt;li&gt;You would need to build thread safety around it. Though this is not the biggest concern, it is something you should not do.&lt;/li&gt; &lt;li&gt;There is a reason why a DeviceConnection implements IDisposable and allows you to use the using statement.&lt;/li&gt; &lt;li&gt;You effectively disable the chance of any other event handler in another process or even in another piece of software, e.g. a webservice, to access the device normally because you are hogging the connection the whole time.&lt;/li&gt; &lt;li&gt;Connection caching should be implemented by the device provider implementation, because only this piece of software can have appropriate knowledge.&lt;/li&gt; &lt;li&gt;In my opinion mechanisms like connection pooling should be part of the application stack in fact.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;There might be isolated cases where it still makes sense to cache a connection in an EventHandler, but those should be pretty rare.&lt;/p&gt; &lt;p&gt;(German version / deutsche Version)&lt;/p&gt; &lt;p&gt;For einiger Zeit unterhielt ich mich mit jemandem, der/die BizTalk RFID in- und auswendig kennt darüber, dass es manchmal einfach zu lange dauert, in einem EventHandler eine Verbindung zu einem Gerät zu öffnen.&lt;/p&gt; &lt;p&gt;Ich erhielt den Ratschlag, warum ich nicht die DeviceConnection im EventHandler cachen würde und sie vielleicht schon in der Init()-Methode öffnen würde und danach einfach offen lassen.&lt;/p&gt; &lt;p&gt;Aus Respekt gegenüber meinem Gesprächspartner habe ich ernsthaft darüber nachgedacht und empfehle nun sehr ernsthaft, dies NICHT zu tun.&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Wenn das Öffnen der Verbindung in der Init()-Methode zu lange dauert, oder ein kleines Problem dabei auftritt, wird das den Startvorgang für die ganze Prozess-Pipeline stören.&lt;/li&gt; &lt;li&gt;Man muss um die Verbindung herum eine ordentliche Thread-Safety herum bauen. Auch wenn das nicht das Hauptproblem sein sollte, ist es einfach etwas, was man vermeiden sollte.&lt;/li&gt; &lt;li&gt;Es gibt einen Grund, warum die DeviceConnection IDisposable implementiert und so das using-Statement zulässt.&lt;/li&gt; &lt;li&gt;Man entzieht jedem anderen EventHandler in einem anderen Prozess oder auch einer anderen Software, z.B. einem Webservice, die Chance, selbst normal auf das Device zuzugreifen, weil man die ganze Zeit die Verbindung blockiert.&lt;/li&gt; &lt;li&gt;Eigentlich sollte man Connection Caching in einer Device Provider Implementierung vorfinden, da nur diese &amp;quot;wissen&amp;quot; kann, was das Device wirklich benötigt.&lt;/li&gt; &lt;li&gt;Meiner Meinung nach sollten Connection Pooling Mechanismen auch bei RFID Teil des Applikationsstack sein.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Es mag einzelne, isolierte Szenarien geben, wo es Sinn machen kann, eine DeviceConnection in einem EventHandler zu cachen, dies sollte aber wirklich ziemlich selten erforderlich sein.&lt;/p&gt;</description></item><item><title>Typical setting of IOPorts in BizTalk RFID / Typisches Setzen von IOPorts in BizTalk RFID</title><link>http://developers.de/blogs/andreas_erben/archive/2008/05/05/typical-setting-of-ioports-in-biztalk-rfid-typisches-setzen-von-ioports-in-biztalk-rfid.aspx</link><pubDate>Mon, 05 May 2008 07:26:34 GMT</pubDate><guid isPermaLink="false">7e491611-45ad-4dae-a68f-c4cb64439510:2336</guid><dc:creator>aerben</dc:creator><description>&lt;p&gt;(German version below / deutsche Version weiter unten)&lt;/p&gt; &lt;p&gt;When wanting to set an IOPort in BizTalk RFID, to for example switch on a specific light connected to an RFID reader, you basically deal with bits and bytes that you set somewhere. There are typically two ways of how this is implemented in a device:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;the device will encode several signal lines in a bitmask in just one port (e.g. implemented by Intermec)  &lt;li&gt;the device will have a port for each and every line (e.g. implemented by Sirit)&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;Depending on the implementation and your hardware you will have to set a bit to 0 or to 1 to actually activate the line (usually to 1).&lt;/p&gt; &lt;p&gt;So, when wanting to set the second and third line, this could look like this in the first case (e.g. Intermec):&lt;/p&gt; &lt;table cellspacing="0" cellpadding="0"&gt;  &lt;tr&gt; &lt;td&gt; &lt;div style="font-size:10pt;background:#ffffc0;color:black;font-family:courier new;"&gt; &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;byte&lt;/span&gt;[] bitValue = &lt;span style="color:#2b91af;"&gt;BitConverter&lt;/span&gt;.GetBytes(6);&lt;/p&gt; &lt;p style="margin:0px;"&gt;connection.SetProperty(&amp;quot;ThePortName&amp;quot;,&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#2b91af;"&gt;StandardDevicePropertyGroups&lt;/span&gt;.Source,&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#2b91af;"&gt;SourcePropertyGroup&lt;/span&gt;.PortOutputValue,&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bitValue, &lt;span style="color:blue;"&gt;null&lt;/span&gt;);&lt;/p&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt; &lt;p&gt;and like this in the second case (e.g. Sirit):&lt;/p&gt; &lt;table cellspacing="0" cellpadding="0"&gt;  &lt;tr&gt; &lt;td&gt; &lt;div style="font-size:10pt;background:#ffffc0;color:black;font-family:courier new;"&gt; &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;byte&lt;/span&gt;[] bitValue = &lt;span style="color:#2b91af;"&gt;BitConverter&lt;/span&gt;.GetBytes(1);&lt;/p&gt; &lt;p style="margin:0px;"&gt;connection.SetProperty(&amp;quot;PortNameOfLine2&amp;quot;,&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#2b91af;"&gt;StandardDevicePropertyGroups&lt;/span&gt;.Source,&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#2b91af;"&gt;SourcePropertyGroup&lt;/span&gt;.PortOutputValue,&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bitValue, &lt;span style="color:blue;"&gt;null&lt;/span&gt;);&lt;/p&gt; &lt;div style="font-size:10pt;background:#ffffc0;color:black;font-family:courier new;"&gt; &lt;p style="margin:0px;"&gt;connection.SetProperty(&amp;quot;PortNameOfLine3&amp;quot;,&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#2b91af;"&gt;StandardDevicePropertyGroups&lt;/span&gt;.Source,&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#2b91af;"&gt;SourcePropertyGroup&lt;/span&gt;.PortOutputValue,&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bitValue, &lt;span style="color:blue;"&gt;null&lt;/span&gt;);&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;(German version)&lt;/p&gt; &lt;p&gt;Wenn man einen IOPort in BizTalk RFID setzen möchte, um beispielsweise ein bestimmtes Licht, welches an einen RFID Reader angeschlossen ist, anzuschalten, hat man vereinfacht gesagt mit Bits und Bytes zu tun, die man irgendwo setzen muss. Typischerweise gibt es zwei Herangehensweisen, wie dies in einem Gerät implementiert ist:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;das Gerät kodiert verschiedene Leitungen in einer Bitmaske in nur einem Port (z.B. so durch Intermec implementiert)  &lt;li&gt;das Gerät hat einen Port für jede einzelne Leitung (z. B. so bei Sirit zu finden)&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;Je nach Implementierung und der vorliegenden Hardware muss man nun den Wert jeweils zu 0 oder 1 setzen, um die Leitung zu aktivieren (normalerweise auf 1).&lt;/p&gt; &lt;p&gt;Wenn man also die zweite und dritte Leitung aktivieren möchte, würde das im ersten Fall (z.B. bei Intermec) so aussehen:&lt;/p&gt; &lt;table cellspacing="0" cellpadding="0"&gt;  &lt;tr&gt; &lt;td&gt; &lt;div style="font-size:10pt;background:#ffffc0;color:black;font-family:courier new;"&gt; &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;byte&lt;/span&gt;[] bitValue = &lt;span style="color:#2b91af;"&gt;BitConverter&lt;/span&gt;.GetBytes(6);&lt;/p&gt; &lt;p style="margin:0px;"&gt;connection.SetProperty(&amp;quot;ThePortName&amp;quot;,&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#2b91af;"&gt;StandardDevicePropertyGroups&lt;/span&gt;.Source,&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#2b91af;"&gt;SourcePropertyGroup&lt;/span&gt;.PortOutputValue,&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bitValue, &lt;span style="color:blue;"&gt;null&lt;/span&gt;);&lt;/p&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt; &lt;p&gt;und so im zweiten Fall (z.B. bei Sirit):&lt;/p&gt; &lt;table cellspacing="0" cellpadding="0"&gt;  &lt;tr&gt; &lt;td&gt; &lt;div style="font-size:10pt;background:#ffffc0;color:black;font-family:courier new;"&gt; &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;byte&lt;/span&gt;[] bitValue = &lt;span style="color:#2b91af;"&gt;BitConverter&lt;/span&gt;.GetBytes(1);&lt;/p&gt; &lt;p style="margin:0px;"&gt;connection.SetProperty(&amp;quot;PortNameOfLine2&amp;quot;,&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#2b91af;"&gt;StandardDevicePropertyGroups&lt;/span&gt;.Source,&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#2b91af;"&gt;SourcePropertyGroup&lt;/span&gt;.PortOutputValue,&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bitValue, &lt;span style="color:blue;"&gt;null&lt;/span&gt;);&lt;/p&gt; &lt;div style="font-size:10pt;background:#ffffc0;color:black;font-family:courier new;"&gt; &lt;p style="margin:0px;"&gt;connection.SetProperty(&amp;quot;PortNameOfLine3&amp;quot;,&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#2b91af;"&gt;StandardDevicePropertyGroups&lt;/span&gt;.Source,&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#2b91af;"&gt;SourcePropertyGroup&lt;/span&gt;.PortOutputValue,&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bitValue, &lt;span style="color:blue;"&gt;null&lt;/span&gt;);&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</description></item><item><title>daenet wins German innovation prize 2008 for SOA / daenet gewinnt den Innovationspreis 2008 f&amp;#252;r die Kategorie SOA</title><link>http://developers.de/blogs/andreas_erben/archive/2008/03/06/daenet-wins-german-innovation-prize-2008-for-soa-daenet-gewinnt-den-innovationspreis-2008-f-252-r-die-kategorie-soa.aspx</link><pubDate>Thu, 06 Mar 2008 15:41:43 GMT</pubDate><guid isPermaLink="false">7e491611-45ad-4dae-a68f-c4cb64439510:1817</guid><dc:creator>aerben</dc:creator><description>&lt;p&gt;(German version below / deutsche Version weiter unten)&lt;/p&gt;  &lt;p&gt;Now I can finally talk about it. &lt;a href="http://www.imittelstand.de/auszeichnungen/innovationspreis2008/kategoriesieger/soa.html" target="_blank"&gt;Our daenet SOA Suite now has officially been awarded with an important prize&lt;/a&gt;. &amp;quot;&lt;a title="http://www.imittelstand.de/auszeichnungen/innovationspreis2008/kategoriesieger/soa.html" href="http://www.imittelstand.de/auszeichnungen/innovationspreis2008/kategoriesieger/soa.html"&gt;http://www.imittelstand.de/auszeichnungen/innovationspreis2008/kategoriesieger/soa.html&lt;/a&gt;&amp;quot; The &amp;quot;Innovationspreis 2008&amp;quot; (innovation prize 2008) specifically considers the needs of the so called &amp;quot;Mittelstand&amp;quot;. The &amp;quot;Mittelstand&amp;quot; is the engine and the driver of the economy in Germany. Even though it means roughly &amp;quot;medium sized businesses&amp;quot;, many of them are international, globalized companies with 10000 employees and more that in the US most often would be called enterprises. What is special about them is the down-to-earth &amp;quot;can-do&amp;quot; attitude and the need for fast return of investment (ROI) coupled with a high level of innovation.&lt;/p&gt;  &lt;p&gt;So we are very proud that our SOA solution is being recognized as the &lt;strong&gt;BEST&lt;/strong&gt; SOA solution for the most important customers that possibly could exist for all the right reasons.&lt;/p&gt;  &lt;p&gt;The &lt;a href="http://www.imittelstand.de/auszeichnungen/innovationspreis2008/jury.html" target="_blank"&gt;jury&lt;/a&gt; was huge and impressive, both academically apt and still with the mindset of delivering value is the key differentiator in life.&lt;/p&gt;  &lt;p&gt;Why did we target the needs of the &amp;quot;Mittelstand&amp;quot;? Because we see that a lot of SOA approaches are far too complex for most companies and therefore too much being talked about and too little is being actually done. Being suitable for &amp;quot;Mittelstand&amp;quot; in my opinion automatically means being suitable for enterprises with the advantage that you can &amp;quot;scale&amp;quot; the approach down even to the departmental level.&lt;/p&gt;  &lt;p&gt;In future posts I will likely talk more about what the &lt;em&gt;daenet&lt;/em&gt; SOA Suite can do... until then: just ask me if you are interested.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;(German version / deutsche Version)&lt;/p&gt;  &lt;p&gt;Nun kann ich endlich dar&amp;#252;ber sprechen. &lt;a href="http://www.imittelstand.de/auszeichnungen/innovationspreis2008/kategoriesieger/soa.html" target="_blank"&gt;Unsere daenet SOA Suite wurde offiziell mit einem wichtigen Preis ausgezeichnet&lt;/a&gt;. &amp;quot;&lt;a title="http://www.imittelstand.de/auszeichnungen/innovationspreis2008/kategoriesieger/soa.html" href="http://www.imittelstand.de/auszeichnungen/innovationspreis2008/kategoriesieger/soa.html"&gt;http://www.imittelstand.de/auszeichnungen/innovationspreis2008/kategoriesieger/soa.html&lt;/a&gt;&amp;quot; Der &amp;quot;Innovationspreis 2008&amp;quot; ber&amp;#252;cksichtigt besonders die Bed&amp;#252;rfnisse des sogenannten &amp;quot;Mittelstand&amp;quot;. Der Mittelstand ist der Motor der deutschen Wirtschaft. Auch wenn es eigentlich &amp;quot;Mittelgro&amp;#223;e Firmen&amp;quot; bedeutet, sind viele dieser in Wirklichkeit internationale, globalisierte Firmen mit 10000 und mehr Angestellten, die in den USA oft &amp;quot;enterprises&amp;quot; genannt w&amp;#252;rden. Besonders am Mittelstand ist die Bodenst&amp;#228;ndigkeit und die &amp;quot;wir machen&amp;#39;s m&amp;#246;glich&amp;quot;-Einstellung, welche aber mit der Notwendigkeit einhergeht, einen schnellen Investitionsr&amp;#252;ckfluss (ROI) zu erreichen, der mit einem hohen Innovationsbedarf und hoher Innovationskraft gekoppelt ist.&lt;/p&gt;  &lt;p&gt;Also sind wir sehr stolz, dass unsere SOA L&amp;#246;sung als die &lt;strong&gt;BESTE&lt;/strong&gt; SOA L&amp;#246;sung f&amp;#252;r diese Kundenzielgruppe anerkannt wurde, welche sicherlich aus all den richtigen Gr&amp;#252;nden heraus gesehen die wichtigste Kundenzielgruppe &amp;#252;berhaupt ist.&lt;/p&gt;  &lt;p&gt;Die &lt;a href="http://www.imittelstand.de/auszeichnungen/innovationspreis2008/jury.html" target="_blank"&gt;Jury&lt;/a&gt; selbst war gro&amp;#223; und beeindruckend: Akademisch qualifiziert und gleichzeitig mit dem Bewusstsein, dass &amp;quot;Werte schaffen&amp;quot; der Hauptunterscheidungsgrund im Leben ist.&lt;/p&gt;  &lt;p&gt;Warum haben wir speziell die Bed&amp;#252;rfnisse des &amp;quot;Mittelstand&amp;quot; adressiert? Weil wir sehen, dass viele SOA Ans&amp;#228;tze bei weitem zu komplex f&amp;#252;r die meisten Firmen sind und deshalb zu viel geredet und zu wenig gehandelt wird. Wenn eine L&amp;#246;sung f&amp;#252;r den Mittelstand geeignet ist, heisst das meiner Meinung nach, dass sie automatisch auch f&amp;#252;r Konzerne geeignet ist aber den Vorteil mitbringt, nach &amp;quot;unten&amp;quot; skalierbar zu sein, also selbst auf Abteilungsebene einsetzbar zu sein.&lt;/p&gt;  &lt;p&gt;In k&amp;#252;nftigen Artikeln werde ich wahrscheinlich mehr dar&amp;#252;ber schreiben, was die &lt;em&gt;daenet&lt;/em&gt; SOA Suite alles kann... bis dahin: Bitte fragen Sie mich, wenn Sie Interesse haben!&lt;/p&gt;</description></item><item><title>Huge surprise today around daenet and SOA / Heute gro&amp;#223;e &amp;#220;berraschung rund um daenet und SOA</title><link>http://developers.de/blogs/andreas_erben/archive/2008/03/06/huge-surprise-today-around-daenet-and-soa-heute-gro-223-e-220-berraschung-rund-um-daenet-und-soa.aspx</link><pubDate>Thu, 06 Mar 2008 12:35:18 GMT</pubDate><guid isPermaLink="false">7e491611-45ad-4dae-a68f-c4cb64439510:1816</guid><dc:creator>aerben</dc:creator><description>&lt;p&gt;(German version below / deutsche Version weiter unten)&lt;/p&gt;  &lt;p&gt;Expect a huge surprise today. I am waiting for the official press info to leak out so nobody is upset with me that I talk about it. What I can tell you is that it is around &lt;em&gt;daenet&lt;/em&gt; and SOA. It will be one more reason to talk to us when it comes to this topic :)&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;(German version / deutsche Version)&lt;/p&gt;  &lt;p&gt;Heute kommt noch eine gro&amp;#223;e &amp;#220;berraschung auf uns zu. Ich warte noch darauf, dass eine offizielle Presseinfo raussickert, so dass niemand sauer auf mich sein kann, dass ich dar&amp;#252;ber rede. Was ich jetzt schon sagen kann ist, dass es um &lt;em&gt;daenet&lt;/em&gt; und SOA geht. Es wird ein weiterer Grund sein, mit uns &amp;#252;ber dieses Themengebiet zu sprechen :)&lt;/p&gt;</description></item><item><title>Typical processing of IOPortValueChangedEvents / Typische Verarbeitung von IOPortValueChangedEvents</title><link>http://developers.de/blogs/andreas_erben/archive/2008/02/27/typical-processing-of-ioportvaluechangedevents-typische-verarbeitung-von-ioportvaluechangedevents.aspx</link><pubDate>Wed, 27 Feb 2008 11:13:58 GMT</pubDate><guid isPermaLink="false">7e491611-45ad-4dae-a68f-c4cb64439510:1814</guid><dc:creator>aerben</dc:creator><description>&lt;p&gt;(German version below, deutsche Version weiter unten)&lt;/p&gt;  &lt;p&gt;When dealing with IOPortValueChangedEvents, you will have a method like this: &lt;/p&gt;  &lt;table cellspacing="0" cellpadding="0"&gt;     &lt;tr&gt;       &lt;td&gt;         &lt;div style="font-size:10pt;background:#ffffc0;color:black;font-family:courier new;"&gt;           &lt;div style="font-size:10pt;background:#ffffc0;color:black;font-family:courier new;"&gt;             &lt;p style="margin:0px;"&gt;[&lt;span style="color:#2b91af;"&gt;RfidEventHandlerMethod&lt;/span&gt;]&lt;/p&gt;              &lt;div style="font-size:10pt;background:#ffffc0;color:black;font-family:courier new;"&gt;               &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;IOPortValueChangedEvent&lt;/span&gt; HandleIOPortValueChangedEvent(&lt;/p&gt;                &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#2b91af;"&gt;IOPortValueChangedEvent&lt;/span&gt; iOPortEvent)&lt;/p&gt;             &lt;/div&gt;           &lt;/div&gt;         &lt;/div&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/table&gt;  &lt;p&gt;What to do with it now?    &lt;br /&gt;After considering the DeviceName, the PortName, the Source and the Time-properties of the ioPortEvent, usually the most important piece of information is in the byte-array shown here:&lt;/p&gt;  &lt;table cellspacing="0" cellpadding="0"&gt;     &lt;tr&gt;       &lt;td&gt;         &lt;div style="font-size:10pt;background:#ffffc0;color:black;font-family:courier new;"&gt;           &lt;div style="font-size:10pt;background:#ffffc0;color:black;font-family:courier new;"&gt;             &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;byte&lt;/span&gt;[] iodata = iOPortEvent.GetPortValue();&lt;/p&gt;           &lt;/div&gt;         &lt;/div&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/table&gt;  &lt;p&gt;(Of course can have VendorSpecificData also, but this special case is neglected here.)&lt;/p&gt;  &lt;p&gt;What you want to do for each of these bytes is to be able to compare against it. We look at the &amp;quot;discrete&amp;quot; case where you do not care about continuous values but about specific lines being set somewhere, meaning that specific bits are set to &amp;quot;0&amp;quot; or &amp;quot;1&amp;quot;.    &lt;br /&gt;This is &amp;quot;old-school&amp;quot;. Typically this is done by two things:     &lt;br /&gt;1. Define a bitmask with the bits that interest you, use it with &amp;quot;AND&amp;quot; on the retrieved value     &lt;br /&gt;2. then compare the result with a value you provide. This gives you pretty good flexibility.     &lt;br /&gt;In the case of having only one element in the array above, this is simplified to:&lt;/p&gt;  &lt;table cellspacing="0" cellpadding="0"&gt;     &lt;tr&gt;       &lt;td&gt;         &lt;div style="font-size:10pt;background:#ffffc0;color:black;font-family:courier new;"&gt;           &lt;div style="font-size:10pt;background:#ffffc0;color:black;font-family:courier new;"&gt;             &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;byte&lt;/span&gt; ioValue = iodata[0];&lt;/p&gt;              &lt;div style="font-size:10pt;background:#ffffc0;color:black;font-family:courier new;"&gt;               &lt;p style="margin:0px;"&gt;ioValue = &lt;span style="color:#2b91af;"&gt;Convert&lt;/span&gt;.ToByte( ioValue &amp;amp; m_InputIOBitMask );&lt;/p&gt;                &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt; (ioValue == m_InputIOValue)&lt;/p&gt;                &lt;p style="margin:0px;"&gt;{&lt;/p&gt;                &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160; &lt;span style="color:green;"&gt;// do something&lt;/span&gt;&lt;/p&gt;                &lt;p style="margin:0px;"&gt;}&lt;/p&gt;             &lt;/div&gt;           &lt;/div&gt;         &lt;/div&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/table&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;(German version, deutsche Version)&lt;/p&gt;  &lt;p&gt;Wenn man mit&amp;#160; IOPortValueChangedEvents zu tun hat, wird in der Regel eine derartige Methode vorliegen: &lt;/p&gt;  &lt;table cellspacing="0" cellpadding="0"&gt;     &lt;tr&gt;       &lt;td&gt;         &lt;div style="font-size:10pt;background:#ffffc0;color:black;font-family:courier new;"&gt;           &lt;div style="font-size:10pt;background:#ffffc0;color:black;font-family:courier new;"&gt;             &lt;p style="margin:0px;"&gt;[&lt;span style="color:#2b91af;"&gt;RfidEventHandlerMethod&lt;/span&gt;]&lt;/p&gt;              &lt;div style="font-size:10pt;background:#ffffc0;color:black;font-family:courier new;"&gt;               &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;IOPortValueChangedEvent&lt;/span&gt; HandleIOPortValueChangedEvent(&lt;/p&gt;                &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#2b91af;"&gt;IOPortValueChangedEvent&lt;/span&gt; iOPortEvent)&lt;/p&gt;             &lt;/div&gt;           &lt;/div&gt;         &lt;/div&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/table&gt;  &lt;p&gt;Was nun?    &lt;br /&gt;Nachdem man DeviceName,&amp;#160; PortName,&amp;#160; Source und die Time-Properties von ioPortEvent beachtet hat, ist normalerweise der wirklich relevante Teil in diesem Byte-Array:&lt;/p&gt;  &lt;table cellspacing="0" cellpadding="0"&gt;     &lt;tr&gt;       &lt;td&gt;         &lt;div style="font-size:10pt;background:#ffffc0;color:black;font-family:courier new;"&gt;           &lt;div style="font-size:10pt;background:#ffffc0;color:black;font-family:courier new;"&gt;             &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;byte&lt;/span&gt;[] iodata = iOPortEvent.GetPortValue();&lt;/p&gt;           &lt;/div&gt;         &lt;/div&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/table&gt;  &lt;p&gt;(Nat&amp;#252;rlich kann es auch VendorSpecificData geben, dieser Fall wird hier aber vernachl&amp;#228;ssigt)&lt;/p&gt;  &lt;p&gt;Nun will man in der Lage sein, diese Bytes gegen etwas zu vergleichen. Wir betrachten den &amp;quot;diskreten&amp;quot; Fall, also wo man sich nicht um kontinuierliche Werte k&amp;#252;mmert, sondern darum dass bestimmte Verbindungen irgendwo vorhanden sind. Dies bedeutet, dass bestimmte Bits auf &amp;quot;0&amp;quot; oder &amp;quot;1&amp;quot; sind.    &lt;br /&gt;Das ist &amp;quot;Old School&amp;quot;. Typischerweise wird dies durch zwei Dinge erledigt:     &lt;br /&gt;1. Definiere eine BitMask mit den Bits, welche interessant sind und verkn&amp;#252;pfe diese mit &amp;quot;UND&amp;quot; mit dem erhaltenen Wert     &lt;br /&gt;2. dann wird das Ergebnis mit einem Wert verglichen, f&amp;#252;r welchen wir uns interessieren. So erreicht man relativ gro&amp;#223;e Flexibilit&amp;#228;t.     &lt;br /&gt;In dem Fall, dass nur ein Element im obigen Array ist, vereinfacht sich dies zu:&lt;/p&gt;  &lt;table cellspacing="0" cellpadding="0"&gt;     &lt;tr&gt;       &lt;td&gt;         &lt;div style="font-size:10pt;background:#ffffc0;color:black;font-family:courier new;"&gt;           &lt;div style="font-size:10pt;background:#ffffc0;color:black;font-family:courier new;"&gt;             &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;byte&lt;/span&gt; ioValue = iodata[0];&lt;/p&gt;              &lt;div style="font-size:10pt;background:#ffffc0;color:black;font-family:courier new;"&gt;               &lt;p style="margin:0px;"&gt;ioValue = &lt;span style="color:#2b91af;"&gt;Convert&lt;/span&gt;.ToByte( ioValue &amp;amp; m_InputIOBitMask );&lt;/p&gt;                &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt; (ioValue == m_InputIOValue)&lt;/p&gt;                &lt;p style="margin:0px;"&gt;{&lt;/p&gt;                &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160; &lt;span style="color:green;"&gt;// irgendwas machen&lt;/span&gt;&lt;/p&gt;                &lt;p style="margin:0px;"&gt;}&lt;/p&gt;             &lt;/div&gt;           &lt;/div&gt;         &lt;/div&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/table&gt;</description></item><item><title>Presentation at the / Pr&amp;#228;sentation auf den 1st Worldwide Microsoft RFID Solution Days</title><link>http://developers.de/blogs/andreas_erben/archive/2008/02/20/presentation-at-the-pr-228-sentation-auf-den-1st-worldwide-microsoft-rfid-solution-days.aspx</link><pubDate>Wed, 20 Feb 2008 03:29:44 GMT</pubDate><guid isPermaLink="false">7e491611-45ad-4dae-a68f-c4cb64439510:1813</guid><dc:creator>aerben</dc:creator><description>&lt;p&gt;(German version below / deutsche Version weiter unten)&lt;/p&gt;  &lt;p&gt;Today I had the honor to present at the 1st Worldwide Microsoft RFID Solution Days (currently the corresponding page can be found &lt;a href="https://dynamicevents.emeetingsonline.com/emeetings/websitev2.asp?mmnno=279&amp;amp;pagename=SITE95554" target="_blank"&gt;here&lt;/a&gt;).&lt;/p&gt;  &lt;p&gt;You can find &lt;a href="http://developers.de/blogs/andreas_erben/Presentations/BizTalkRFID/RFIDSolutionDays2008/RFIDSolDays-StampingRoad2Success-daenet.zip" target="_blank"&gt;my presentation here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;In the presentation I spoke about BizTalk RFID and about how a customer sees potential of real business problems to be solved easily with the help of RFID based technologies, about what the long-term vision is and what components can help building up a sound architecture at the same time.&lt;/p&gt;  &lt;p&gt;I introduced the Sensor Service Bus, the &lt;em&gt;daenet&lt;/em&gt; SOA Suite and XSYLON and what they can do for a customer.&lt;/p&gt;  &lt;p&gt;When talking about the SOA Suite it might have been that some folks might have misunderstood me jokingingly saying that using a virtual distributed service bus with some processing done by the participants instead of the core server might lead to BizTalk selling less licenses. Well, the actual point behind this is, that the patterns introduced by the daenet SOA Suite in fact are different from BizTalk&amp;#39;s hub/spoke approach. So, what it actually means is - well, you might sell less BizTalk licenses for the use cases where BizTalk is currently not a good fit anyways. (We are talking about direct communication between clients and services here.)&lt;/p&gt;  &lt;p&gt;In the end I have a strong belief in that it is better to deliver customer satisfaction than to sell a product at all cost and have a customer that might end up being unhappy with the solution they get.&lt;/p&gt;  &lt;p&gt;So, we are complementing BizTalk with new features and approaches, not competing with it.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;(German version / deutsche Version)&lt;/p&gt;  &lt;p&gt;Heute hatte ich die Ehre auf den ersten weltweiten Microsoft RFID Solution Days (zur Zeit kann die entsprechende Seite noch &lt;a href="https://dynamicevents.emeetingsonline.com/emeetings/websitev2.asp?mmnno=279&amp;amp;pagename=SITE95554" target="_blank"&gt;hier&lt;/a&gt; gefunden werden).&lt;/p&gt;  &lt;p&gt;&lt;a href="http://developers.de/blogs/andreas_erben/Presentations/BizTalkRFID/RFIDSolutionDays2008/RFIDSolDays-StampingRoad2Success-daenet.zip" target="_blank"&gt;Meine Pr&amp;#228;sentation ist hier&lt;/a&gt; zu finden.&lt;/p&gt;  &lt;p&gt;In der Pr&amp;#228;sentation sprach ich &amp;#252;ber BizTalk RFID und dar&amp;#252;ber, wie ein Kunde das Potential sieht, echte Probleme in Gesch&amp;#228;ftsprozessen mit RFID basierenden Technologien leicht zu l&amp;#246;sen, was die langfristige Vision des Kunden ist und welche Komponenten helfen k&amp;#246;nnen, das Ganze in einer guten Architektur zu verankern sind.&lt;/p&gt;  &lt;p&gt;Ich f&amp;#252;hrte den Sensor Service Bus, die &lt;em&gt;daenet&lt;/em&gt; SOA Suite und XSYLON ein und erkl&amp;#228;rte, was diese Komponenten f&amp;#252;r einen Kunden tun k&amp;#246;nnen.&lt;/p&gt;  &lt;p&gt;Als ich &amp;#252;ber die SOA Suite gesprochen habe, haben mich m&amp;#246;glicherweise einige mi&amp;#223;verstanden, als ich aus Spa&amp;#223; gesagt habe, dass bei der Verwendung eines virtuellen verteilten Service Bus, wo Teile der Verarbeitung direkt bei den Partizipanten stattfindet, statt auf einem Server im Kern der Verarbeitung,dies dazu f&amp;#252;hren k&amp;#246;nnte, dass BizTalk weniger oft verkauft w&amp;#252;rde. Nun, der Knackpunkt dahinter ist, dass die Patterns, welche &amp;#252;ber die daenet SOA Suite eingef&amp;#252;hrt werden tats&amp;#228;chlich unterschiedlich gegen&amp;#252;ber dem typischen Hub/Spoke Szenario des BizTalk ist. Was wirklich gemeint ist: Nun, vielleicht verkauft man weniger BizTalk Lizenzen f&amp;#252;r die Use Cases, wo BizTalk sowieso nicht gut passen w&amp;#252;rde (denn wir reden hier &amp;#252;ber die direkte Kommunikation zwischen Clients und Services).&lt;/p&gt;  &lt;p&gt;Ich glaube fest daran, dass es besser ist, den Kunden zufrieden zu stellen, als um jeden Preis ein Produkt zu verkaufen und am Ende einen Kunden zu haben, der mit der gelieferten L&amp;#246;sung ungl&amp;#252;cklich ist.&lt;/p&gt;  &lt;p&gt;Wir erg&amp;#228;nzen also BizTalk um sinnvolle neue Features und Ans&amp;#228;tze und stehen nicht im Wettbewerb damit.&lt;/p&gt;</description></item><item><title>Consideration when using PGL templates to Printronix printers - Was ist bei der Verwendung von PGL Templates f&amp;#252;r Printronix Drucker zu beachten</title><link>http://developers.de/blogs/andreas_erben/archive/2008/02/06/consideration-when-using-pgl-templates-to-printronix-printers-was-ist-bei-der-verwendung-von-pgl-templates-f-252-r-printronix-drucker-zu-beachten.aspx</link><pubDate>Wed, 06 Feb 2008 08:28:00 GMT</pubDate><guid isPermaLink="false">7e491611-45ad-4dae-a68f-c4cb64439510:1791</guid><dc:creator>aerben</dc:creator><description>&lt;p&gt;(German Version below - Deutsche Version weiter unten)&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;Read the release notes of the Printronix DSPI!&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;(This section relates to the DSPI available in February 2008)&lt;/p&gt;
&lt;p&gt;One relevant part of it says:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;The provider does not support locking tags using the Print Wizard. Tags must be locked using the LOCK option in the PGL template.&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;So, you need to adjust the template when you want to lock tags. 
&lt;p&gt;Then: 
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;PGL templates must use DF1 for the Tag Identifier field.&lt;/em&gt; 
&lt;p&gt;&lt;em&gt;PGL templates must use DF2 for the Tag Data field.&lt;/em&gt; 
&lt;p&gt;&lt;em&gt;PGL templates must use DF3 for the Access Code field.&lt;/em&gt; 
&lt;p&gt;&lt;em&gt;PGL templates must use DF4 for the Kill Code field.&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;For example this means that for BizTalk RFID to &amp;quot;know&amp;quot; what to do when you want to put the Tag Identifier field, you have to put&amp;nbsp;&amp;quot;DF1&amp;quot; in your PGL template. 
&lt;blockquote&gt;
&lt;p&gt;&lt;u&gt;The SFCC must be ‘~’.&lt;/u&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;e.g. in the template:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;font face="courier new"&gt;~NORMAL&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;h3&gt;&lt;strong&gt;Do not forget to put &amp;quot;DISK&amp;quot; in your &amp;quot;~CREATE&amp;quot; line&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;For those who write/edit templates from scratch in PGL or whose tools for editing templates are perhaps flawed, it is important to remember that you need to put &amp;quot;DISK&amp;quot; in your &amp;quot;~CREATE&amp;quot; line.&lt;/p&gt;
&lt;p&gt;Example:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;font face="courier new"&gt;~CREATE;RAFU450;216;DISK&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;If you forget this, then you will try endlessly to send the template to the printer through BizTalk RFID, it will not show up in the list of available templates! Actually BizTalk RFID will send the template just fine, but the printer is missing the instruction to save the template in the flash memory where it needs to be stored, so it will not be available for you.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;Vista users (and others): Do not edit the supplied PGL-template examples with Notepad, use a good text editor&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&amp;quot;Notepad&amp;quot; of Windows Vista unfortunately does not represent the usual line-feeds correctly (this also applies to some other text editor programs).&lt;/p&gt;
&lt;p&gt;Example:&amp;nbsp; RAFU450.pgl in Vista Notepad&lt;/p&gt;
&lt;p&gt;&lt;a href="http://developers.de/blogs/andreas_erben/WindowsLiveWriter/ConsiderationwhenusingPGLtemplatestoPrin_3F01/image_6.png"&gt;&lt;img style="BORDER-RIGHT:0px;BORDER-TOP:0px;BORDER-LEFT:0px;BORDER-BOTTOM:0px;" height="68" alt="image" src="http://developers.de/blogs/andreas_erben/WindowsLiveWriter/ConsiderationwhenusingPGLtemplatestoPrin_3F01/image_thumb_2.png" width="552" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Example how it should look like:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;font face="Courier New"&gt;~CREATE;RAFU450;216;DISK&lt;br /&gt;RFWTAG;96;EPC&lt;br /&gt;96;DF1;H&lt;br /&gt;STOP&lt;br /&gt;RFWTAG;256;USR&lt;br /&gt;256;DF2;H&lt;br /&gt;STOP&lt;br /&gt;END&lt;br /&gt;~NORMAL&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Please use another text-editor that ideally does not do anything fancy like gobbling up those characters or changing encoding or adding prefix bytes...&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;(German version / deutsche Version)&lt;/h2&gt;
&lt;h3&gt;&lt;strong&gt;Die Release Notes des Printronix DSPI lesen!&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;(Dieser Bereich bezieht sich auf den DSPI, welcher Anfang Februar 2008 verfügbar war.)&lt;/p&gt;
&lt;p&gt;Eine relevante Aussage ist:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;The provider does not support locking tags using the Print Wizard. Tags must be locked using the LOCK option in the PGL template.&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Also muss man im PGL Template vorsehen, dass ein Tag &amp;quot;gelockt&amp;quot; wird. 
&lt;p&gt;Dann:&amp;nbsp; 
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;PGL templates must use DF1 for the Tag Identifier field.&lt;/em&gt; 
&lt;p&gt;&lt;em&gt;PGL templates must use DF2 for the Tag Data field.&lt;/em&gt; 
&lt;p&gt;&lt;em&gt;PGL templates must use DF3 for the Access Code field.&lt;/em&gt; 
&lt;p&gt;&lt;em&gt;PGL templates must use DF4 for the Kill Code field.&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Dies bedeutet, dass wir die DF1 bis DF4 Felder für die Kern-Tag-Funktionalitäten nutzen müssen, welche BizTalk RFID benötigt. Zum Beispiel benötigt BizTalk RFID das &amp;quot;DF1&amp;quot;-Feld im Template um zu wissen, dass man das Tag Identifier Feld benutzen möchte.. 
&lt;blockquote&gt;
&lt;p&gt;&lt;u&gt;The SFCC must be ‘~’.&lt;/u&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Zum Beispiel also im Template:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;font face="courier new"&gt;~NORMAL&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;Nicht vergessen, &amp;quot;DISK&amp;quot; in der &amp;quot;~CREATE&amp;quot; Zeile anzufügen.&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Für diejenigen, welche Templates verändern oder komplett manuell in PGL erzeugen, oder für diejenigen, welche Templates mit Tools verändern, welche vielleicht ein paar Problemchen haben, ein wichtiger Hinweis: In die &amp;quot;~CREATE&amp;quot;-Zeile muss ein &amp;quot;DISK&amp;quot;.&lt;/p&gt;
&lt;p&gt;Beispiel:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;font face="courier new"&gt;~CREATE;RAFU450;216;DISK&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Wenn man dies vergisst, wird man immer wieder erfolglos versuchen, das Template über BizTalk RFID an den Drucker zu übertragen, es wird nie in der Liste der verfügbaren Templates auftauchen. Genauer gesagt macht BizTalk RFID alles richtig, das Template wird ordentlich an den Drucker geschickt, aber es fehlt die Anweisung, dass das Template im Flash Memory, wo es hin muss, abgespeicehrt wird - daher ist es nicht verfügbar.&lt;/p&gt;
&lt;p&gt;Bei Problemen also ruhig einmal in einem guten Text Editor (nicht Notepad für Vista, dies stellt Zeilenumbrüche nicht gut dar) im PGL-Template nachschauen.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;Vista Benutzer und andere: Die mitgelieferten PGL-Template Beispiele nicht mit Notepad verändern, sondern einen besseren Text Editor verwenden.&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Das &amp;quot;Notepad&amp;quot; von Windows Vista stellt leider die üblichen Zeilenumbrüche nicht richtig dar (dies gilt auch für manche anderen Editoren).&lt;/p&gt;
&lt;p&gt;Beispiel:&amp;nbsp; RAFU450.pgl in Vista Notepad&lt;/p&gt;
&lt;p&gt;&lt;a href="http://developers.de/blogs/andreas_erben/WindowsLiveWriter/ConsiderationwhenusingPGLtemplatestoPrin_3F01/image_6.png"&gt;&lt;img style="BORDER-RIGHT:0px;BORDER-TOP:0px;BORDER-LEFT:0px;BORDER-BOTTOM:0px;" height="68" alt="image" src="http://developers.de/blogs/andreas_erben/WindowsLiveWriter/ConsiderationwhenusingPGLtemplatestoPrin_3F01/image_thumb_2.png" width="552" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Beispiel wie es aussehen sollte:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;font face="Courier New"&gt;~CREATE;RAFU450;216;DISK&lt;br /&gt;RFWTAG;96;EPC&lt;br /&gt;96;DF1;H&lt;br /&gt;STOP&lt;br /&gt;RFWTAG;256;USR&lt;br /&gt;256;DF2;H&lt;br /&gt;STOP&lt;br /&gt;END&lt;br /&gt;~NORMAL&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Bitte daher einen anderen Texteditor verwenden, der idealerweise keine derartigen Zeichen verschluckt und der auch nicht versucht das Encoding zu verändern oder Prefix-Bytes anzuhängen.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>German/deutscher BizTalk RFID Webcast as part of the German/als Teil des deutschen BizTalk Server 2006 R2 Launch</title><link>http://developers.de/blogs/andreas_erben/archive/2007/11/15/german-deutscher-biztalk-rfid-webcast-as-part-of-the-german-als-teil-des-deutschen-biztalk-server-2006-r2-launch.aspx</link><pubDate>Thu, 15 Nov 2007 18:49:00 GMT</pubDate><guid isPermaLink="false">7e491611-45ad-4dae-a68f-c4cb64439510:1675</guid><dc:creator>aerben</dc:creator><description>&lt;p&gt;(German version below, English version is very minimal since this post is targeted to the German audience)&lt;/p&gt; &lt;p&gt;On November 15, 2007, I presented BizTalk RFID in a webcast format to the German audience in German as part of the launch of BizTalk 2006 R2.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;(German version)&lt;/p&gt; &lt;p&gt;Am 15. November 2007 durfte ich BizTalk RFID der deutschen Community im Rahmen des deutschen Microsoft BizTalk Server 2006 R2 Launch-Events vorführen.&lt;/p&gt; &lt;p&gt;Anbei stelle ich gerne allen &lt;a href="http://developers.de/blogs/andreas_erben/Presentations/BizTalkRFID/BTS2006R2LaunchGermany/BTSR2Launch_Germany_BTSRFID.zip" target="_blank"&gt;die Slides hier zum Download zur Verfügung&lt;/a&gt;. Für Code-Beispiele und ähnliches möchte ich auf mein &lt;a href="http://developers.de/blogs/andreas_erben/archive/2007/11/08/biztalk-rfid-work-at-teched-emea-developers-2007-by-daenet.aspx" target="_blank"&gt;vorheriges Blog-Post zur TechEd Developers 2007 in Barcelona verweisen&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Leider war ich durch eine starke Erkältung und damit zusammenhängendem Doping, um den Webcast überhaupt durchführen zu können schwer &amp;quot;gehandicappt&amp;quot; und ich bitte die Teilnehmer um Nachsicht. Gerne spreche ich mit Interessierten im Nachgang über BizTalk RFID.&lt;/p&gt; &lt;p&gt;Der Webcast war leider nur eine Stunde lang und hatte den Anspruch, die technischen Aspekte einem gemischtem Publikum etwas näher zu bringen. Dies ist ein schwieriges Unterfangen, da das Produkt zu umfangreich und die Interessengruppen zu verschieden sind, um es allen recht zu machen. Ich hoffe, dass dennoch ein erstes Gefühl dafür entstand, was man mit Biztalk RFID erreichen kann, über viele Bereiche musste ich leider sehr schnell rüberfliegen und sehr oberflächlich bleiben. Wir wollten dennoch bewusst vermeiden, nur einen Feature-Rundflug mit Marketing-Slides über das Produkt zu machen, sondern zumindest einen kurzen Einblick in das &amp;quot;doing&amp;quot; geben, daher gab es in der Veranstaltung zum Beispiel kurz &amp;quot;Code&amp;quot; zu sehen und auch ein kommendes &amp;quot;SOA-Integrations Pattern&amp;quot;, der Sensor Service Bus, wurde kurz vorgestellt.&lt;/p&gt; &lt;p&gt;Nach meiner Meinung wäre es sinnvoll, künftig mehrere Veranstaltungen zum Thema durchzuführen, welche sich beispielsweise wie folgt aufgliedern könnten:&lt;/p&gt; &lt;table cellpadding="2" cellspacing="2"&gt;  &lt;tr&gt; &lt;td&gt;&lt;b&gt;Zielgruppe&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;Beschreibung&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Alle&lt;/td&gt; &lt;td&gt;Allgemeiner Überblick ohne Entwicklung usw – im Gegensatz zu dem „alles in einer Stunde“&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Entscheidungsträger/BDMs (Business Decision Maker), Business Analysten, Solution-Architekten&lt;/td&gt; &lt;td&gt;business value: typische Business Szenarien und wie man diese mit BizTalk RFID lösen kann, welchen Business Value BizTalk RFID bietet (z.B. Supply Chain, Asset Management usw.)&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Software-Architekten, Entwickler&lt;/td&gt; &lt;td&gt;Architektonische und Integrations Patterns mit BizTalk RFID (vielleicht mit Vertiefung von Sensor Service Bus in gesonderter Session)&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Softwareentwickler&lt;/td&gt; &lt;td&gt;Einführung in die synchronen BizTalk RFID APIs&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Softwareentwickler&lt;/td&gt; &lt;td&gt;Einführung in die asynchrone BizTalk RFID Entwicklung&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Softwareentwickler&lt;/td&gt; &lt;td&gt;Einführung in die DSPI Entwicklung&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Architekten, Softwareentwickler&lt;/td&gt; &lt;td&gt;Best Practices, Business Rule Engine, Logging, Performance Aspekte... (lässt sich beliebig ausweiten)&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Administratoren, IT-Pros&lt;/td&gt; &lt;td&gt;BizTalk RFID für den IT Pro&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Entscheidungsträger/BDMs (Business Decision Maker)&lt;/td&gt; &lt;td&gt;Kundenstories&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Alle&lt;/td&gt; &lt;td&gt;Workshops - mit Einbeziehung von Hardware&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</description></item><item><title>BizTalk RFID@Work at TechEd EMEA Developers 2007 by daenet</title><link>http://developers.de/blogs/andreas_erben/archive/2007/11/08/biztalk-rfid-work-at-teched-emea-developers-2007-by-daenet.aspx</link><pubDate>Thu, 08 Nov 2007 10:55:30 GMT</pubDate><guid isPermaLink="false">7e491611-45ad-4dae-a68f-c4cb64439510:1657</guid><dc:creator>aerben</dc:creator><description>&lt;p&gt;(German version below)&lt;/p&gt; &lt;p&gt;Today we presented about &lt;a href="http://www.microsoft.com/biztalk/technologies/rfid/default.mspx" target="_blank"&gt;Microsoft BizTalk RFID&lt;/a&gt; at the &lt;a href="http://www.mseventseurope.com/teched/07/developers" target="_blank"&gt;TechEd EMEA Developers conference in Barcelona&lt;/a&gt;. Some content was similar to &lt;a href="http://developers.de/blogs/andreas_erben/archive/2007/11/02/presentation-at-pr-228-sentation-auf-der-microsoft-soa-amp-business-process-conference-2007.aspx" target="_blank"&gt;the presentation we did last week at the Microsoft SOA&amp;amp;Business Process Management conference in Redmond&lt;/a&gt;, but since the audience at TechEd is more developer centric, we prioritized on showing demos and code. You can find our slide deck here: &lt;a title="SBP306_Microsoft BizTalk RFID @ Work.zip" href="http://developers.de/blogs/andreas_erben/Presentations/BizTalkRFID/TechEdEMEADevelopers2007/SBP306_Microsoft%20BizTalk%20RFID%20@%20Work.zip"&gt;SBP306_Microsoft BizTalk RFID @ Work.zip&lt;/a&gt;. This slide deck will also contain additional material not presented in the &amp;quot;Backup slides&amp;quot; section at the end.&lt;/p&gt; &lt;p&gt;Please check out &lt;a href="http://developers.de/blogs/damir_dobric/default.aspx" target="_blank"&gt;Damir&amp;#39;s blog posts&lt;/a&gt; to get the bits we talked about:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://developers.de/blogs/damir_dobric/archive/2007/11/08/tech-session-samples.aspx"&gt;Tech Session Samples&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://developers.de/blogs/damir_dobric/archive/2007/11/07/eventhandler-project-template-for-visual-studio.aspx"&gt;EventHandler Project Template for Visual Studio&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://developers.de/blogs/damir_dobric/archive/2007/11/05/dspi-project-template-for-visual-studio-2008.aspx"&gt;Dspi Project Template for Visual Studio 2008&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://developers.de/blogs/damir_dobric/archive/2007/10/13/debugeventhandler-for-biztalk-rfid.aspx"&gt;DebugEventHandler for BizTalk RFID&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://developers.de/blogs/damir_dobric/archive/2007/10/29/filewatcher-dspi-provider.aspx"&gt;FileWatcher DSPI Provider&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;(German version)&lt;/p&gt; &lt;p&gt;Heute präsentierten wir über &lt;a href="http://www.microsoft.com/biztalk/technologies/rfid/default.mspx" target="_blank"&gt;Microsoft BizTalk RFID&lt;/a&gt; auf der &lt;a href="http://www.mseventseurope.com/teched/07/developers" target="_blank"&gt;TechEd EMEA Developers Konferenz in Barcelona&lt;/a&gt;. Naturgemäß ist einiger Inhalt ähnlich zu dem, was wir &lt;a href="http://developers.de/blogs/andreas_erben/archive/2007/11/02/presentation-at-pr-228-sentation-auf-der-microsoft-soa-amp-business-process-conference-2007.aspx" target="_blank"&gt;letzte Woche auf der Microsoft SOA&amp;amp;Business Process Management conference in Redmond vortrugen&lt;/a&gt;. Da die TechEd Developer-fokussiert ist, haben wir den Schwerpunkt auf Demos und Programmierung gesetzt. Das Slide-Deck ist hier verfügbar: &lt;a title="SBP306_Microsoft BizTalk RFID @ Work.zip" href="http://developers.de/blogs/andreas_erben/Presentations/BizTalkRFID/TechEdEMEADevelopers2007/SBP306_Microsoft%20BizTalk%20RFID%20@%20Work.zip"&gt;SBP306_Microsoft BizTalk RFID @ Work.zip&lt;/a&gt;. In der PowerPoint-Datei gibt es zusätzliches Material welches wir leider nicht vorstellen konnten im &amp;quot;Backup slides&amp;quot;-Bereich.&lt;/p&gt; &lt;p&gt;&lt;a href="http://developers.de/blogs/damir_dobric/default.aspx" target="_blank"&gt;Damir&lt;/a&gt; hat in verschiedenen Posts die relevanten vorgestellten Beispiele veröffentlicht.&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://developers.de/blogs/damir_dobric/archive/2007/11/08/tech-session-samples.aspx"&gt;Tech Session Samples&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://developers.de/blogs/damir_dobric/archive/2007/11/07/eventhandler-project-template-for-visual-studio.aspx"&gt;EventHandler Project Template for Visual Studio&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://developers.de/blogs/damir_dobric/archive/2007/11/05/dspi-project-template-for-visual-studio-2008.aspx"&gt;Dspi Project Template for Visual Studio 2008&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://developers.de/blogs/damir_dobric/archive/2007/10/13/debugeventhandler-for-biztalk-rfid.aspx"&gt;DebugEventHandler for BizTalk RFID&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://developers.de/blogs/damir_dobric/archive/2007/10/29/filewatcher-dspi-provider.aspx"&gt;FileWatcher DSPI Provider&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;</description></item><item><title>Presentation at the / Pr&amp;#228;sentation auf der Microsoft SOA &amp;amp; Business Process Conference 2007</title><link>http://developers.de/blogs/andreas_erben/archive/2007/11/02/presentation-at-pr-228-sentation-auf-der-microsoft-soa-amp-business-process-conference-2007.aspx</link><pubDate>Fri, 02 Nov 2007 09:18:00 GMT</pubDate><guid isPermaLink="false">7e491611-45ad-4dae-a68f-c4cb64439510:1644</guid><dc:creator>aerben</dc:creator><description>&lt;p&gt;(German version below)&lt;/p&gt;
&lt;p&gt;&lt;a href="http://developers.de/blogs/damir_dobric/default.aspx" target="_blank"&gt;Damir&lt;/a&gt; and I presented at the &lt;a href="http://www.mssoaandbpconference.com/" target="_blank"&gt;Microsoft SOA &amp;amp; Business Process Conference 2007&lt;/a&gt; at the Microsoft Conference Center in Redmond.&lt;br /&gt;We talked about interesting topics surrounding BizTalk RFID, a completely new component of BizTalk 2006 R2, and a new concept named &amp;quot;Sensor Service Bus&amp;quot;. It was a relatively technical session, but demonstrates business value in an RTI (Reusable Transport Item) scenario.&lt;br /&gt;If you are interested, we invite you to check out our &lt;a href="http://developers.de/files/folders/damir_dobric/entry1642.aspx" target="_blank"&gt;slide-deck&lt;/a&gt;.&lt;br /&gt;We are happy about follow-ups, specifically regarding the &amp;quot;Sensor Service Bus&amp;quot;, please do not hesitate to contact us.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;(German version / deutsche version)&lt;/p&gt;
&lt;p&gt;&lt;a href="http://developers.de/blogs/damir_dobric/default.aspx" target="_blank"&gt;Damir&lt;/a&gt; und ich präsentierten auf der &lt;a href="http://www.mssoaandbpconference.com/" target="_blank"&gt;Microsoft SOA &amp;amp; Business Process Conference 2007&lt;/a&gt; im Microsoft Conference Center in Redmond.&lt;/p&gt;
&lt;p&gt;Wir stellten interessante Themen rund um BizTalk RFID, eine komplett neue Komponente von Microsoft BizTalk Server 2006 R2, und um das neue Konzept des &amp;quot;Sensor Service Bus&amp;quot; vor. Es handelt sich um eine relativ technische Session, dennoch wird Mehrwert für Kunden in einem RTI (Reusable Transport Items - wiederverwertbare Transportmaterialien) - Szenario demonstriert.&lt;br /&gt;Wir laden interessierte Leser herzlich ein, unser &lt;a href="http://developers.de/files/folders/damir_dobric/entry1642.aspx" target="_blank"&gt;Slide-Deck&lt;/a&gt; hierzu anzuschauen.&lt;/p&gt;
&lt;p&gt;Wir freuen uns über Folgegespräche, besonders bezogen auf den &amp;quot;Sensor Service Bus&amp;quot;. Zögern Sie nicht, uns zu kontaktieren.&lt;/p&gt;</description></item></channel></rss>