<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://community.sgdotnet.org/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title type="html">Softwaremaker</title><subtitle type="html">&lt;font size="3"&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;def Softwaremaker() :&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return &amp;quot;William Tay&amp;quot;, &amp;quot;&amp;lt;Challenging Conventions /&amp;gt;&amp;quot;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;knownType_Serialize, about = Softwaremaker() &lt;/strong&gt;&lt;/font&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;i&gt;This is a Cross-Posting site from the real deal &lt;a href="http://www.softwaremaker.net/blog"&gt;here&lt;/a&gt;: &lt;a href="http://www.softwaremaker.net/blog"&gt;http://www.softwaremaker.net/blog&lt;/a&gt;&lt;/i&gt;</subtitle><id>http://community.sgdotnet.org/blogs/softwaremaker/atom.aspx</id><link rel="alternate" type="text/html" href="http://community.sgdotnet.org/blogs/softwaremaker/default.aspx" /><link rel="self" type="application/atom+xml" href="http://community.sgdotnet.org/blogs/softwaremaker/atom.aspx" /><generator uri="http://communityserver.org" version="4.0.30619.63">Community Server</generator><updated>2007-08-21T08:53:20Z</updated><entry><title>Hi-Def AVCHD Video Format Processing for mere mortals ...</title><link rel="alternate" type="text/html" href="/blogs/softwaremaker/archive/2008/06/13/Hi_2D00_Def-AVCHD-Video-Format-Processing-for-mere-mortals-_2E00__2E00__2E00_.aspx" /><id>/blogs/softwaremaker/archive/2008/06/13/Hi_2D00_Def-AVCHD-Video-Format-Processing-for-mere-mortals-_2E00__2E00__2E00_.aspx</id><published>2008-06-13T04:13:25Z</published><updated>2008-06-13T04:13:25Z</updated><content type="html">&lt;P&gt;I had recently purchased a &lt;A href="http://www.camcorderinfo.com/content/Canon-Vixia-HF100-Camcorder-Review-35094.htm" target=_blank&gt;Canon Hi-Def Flash Camcorder HF100&lt;/A&gt; at wholesale price (&lt;EM&gt;&lt;STRONG&gt;please dont ask me how much and where I got it from&lt;/STRONG&gt;&lt;/EM&gt;). There was a long thought process before this high-end purchase. I knew I wanted a camcorder to record in &lt;A href="http://en.wikipedia.org/wiki/High-definition_video" target=_blank&gt;Hi-Def (HD) format&lt;/A&gt;. The question I had was the recorded video format. I did some research and poking around and there were some pros and cons that I was seriously considering such as:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;What is the recording storage&amp;nbsp;medium ? 
&lt;LI&gt;What is the recording format ? If answer to [1] was a &lt;A href="http://en.wikipedia.org/wiki/DV" target=_blank&gt;DV Tape&lt;/A&gt; or sort, then the answer would probably be HDV/MPEG-2 format. 
&lt;LI&gt;Do I have enought processing power / software infrastructure to deal with the answer to [2] ?&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;In the end, I&amp;nbsp;decided that I would not want to do the route of using a DV Tape. Tape is proven, tested, good, mature&amp;nbsp;and cheap but has its limitations. The fact that it is a &lt;A href="http://en.wikipedia.org/wiki/Magnetic_tape_data_storage" target=_blank&gt;sequential access medium&lt;/A&gt;&amp;nbsp;puts me off. Even &lt;A href="http://www.microsoft.com/systemcenter/dpm/default.mspx" target=_blank&gt;newER backup solutions of today&lt;/A&gt; seems to provide disk storage, whose prices have dropped in recent years, as an alternative to tape. Usually, the restoration granularity and the time it takes to restore is the deciding factor for customers to champion disk over tape. Moreover, if I record on tape and then later edit on disk, it does somehow seem that I am going backwards.&lt;/P&gt;
&lt;P&gt;So, instead of carrying bulkIER tapes around with me (and I do a lot of random recording), not forgetting that the housing for these tapes in the camcorders itself does take up some bulk and effectively limits the handling of the camera at hand, I dumped the idea of&amp;nbsp;either the &lt;A href="http://www.camcorderinfo.com/content/Canon-HV20-Camcorder-Review.htm#" target=_blank&gt;Canon HV20&lt;/A&gt;&amp;nbsp;or &lt;A href="http://www.camcorderinfo.com/content/Canon-HV30-Camcorder-Review-34401.htm#" target=_blank&gt;HV30&lt;/A&gt;. Mind you - their dual recording format in a choice of either Standard-Definition (SD)or HD is really attractive but I doubt that I would want to record in SD in a couple of years down the road where computing power, screens, bandwidth are all commodities.&lt;/P&gt;
&lt;P&gt;That left me with Question [3] above. What does it take to process/edit those videos ? From searches of many forums and reviews,&amp;nbsp;a lot of people buy a &lt;A href="http://en.wikipedia.org/wiki/AVCHD" target=_blank&gt;AVCHD&lt;/A&gt; Camcorder (such as the Canon HF100) without realizing that they dont have the infrastructure to process and edit the recorded HD clips. I guess a lot of peple dont realize that there is not much choice of video-editing software that can process a AVCHD video clip today. So. what most of them did was&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Pay X Dollar for the camcorder and then 2X Dollar for a brand new &lt;A href="http://en.wikipedia.org/wiki/.Mac" target=_blank&gt;Mac&lt;/A&gt;&amp;nbsp;- Holy Smokes. Since when does money grow on trees ? 
&lt;LI&gt;Pay a couple of hundred dollars more to buy a decent video editing software such as the &lt;A href="http://www.pinnaclesys.com/PublicSite/us/Home/" target=_blank&gt;Pinnacle Studio&lt;/A&gt; or the &lt;A href="http://www.sonycreativesoftware.com/products/vegasfamily.asp" target=_blank&gt;Sony Vegas&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;I didnt like both options. First or all, I edit video clips - Yes - but I dont consider myself to be a "pro-consumer" of sorts that would want to fork out much money just to have 3000 over video transitions up my sleeve ... and ... I am not a MAC fan. Yes, I admit. Crucify me. I am just not genetically engineered to use a MAC or any of &lt;A href="http://www.apple.com/" target=_blank&gt;Apples'&lt;/A&gt; products. Yes, I love my &lt;A href="http://www.zune.net/en-US/" target=_blank&gt;ZUNE&lt;/A&gt; and its &lt;A href="http://www.zune.net/en-us/marketplace/default.htm" target=_blank&gt;marketplace&lt;/A&gt; very much. Thank you.&lt;/P&gt;
&lt;P&gt;Therefore, I had to look for an intermediate solution since my&amp;nbsp;old, trusted and most FREE&amp;nbsp;&lt;A href="http://en.wikipedia.org/wiki/Windows_Movie_Maker" target=_blank&gt;Windows Movie Maker&lt;/A&gt; and &lt;A href="http://en.wikipedia.org/wiki/Windows_Media_Player" target=_blank&gt;Media Player&lt;/A&gt; cannot handle AVCHD video files natively and I am not willing to fork out anything more than SGD100.00&lt;/P&gt;
&lt;P&gt;Luckily, my prayers are answered and my search leads me to media\video developer &lt;A href="http://www.shedworx.com" target=_blank&gt;ShedWorx&lt;/A&gt; who has the &lt;A href="http://www.shedworx.com/?q=voltaichdpc" target=_blank&gt;VoltaicHD for both the PC&lt;/A&gt; and the &lt;A href="http://www.shedworx.com/?q=volmac-home" target=_blank&gt;MAC&lt;/A&gt;. Bascially, VoltaicHD transforms your AVCHD High-Def video clips to &lt;A href="http://en.wikipedia.org/wiki/WMV_HD" target=_blank&gt;WMV-HD&lt;/A&gt;, which both Windows Media Player and Microsoft Movie Maker can handle. FAQ &lt;A href="http://www.shedworx.com/?q=volpc-faq" target=_blank&gt;here&lt;/A&gt;. This little known shareware (just USD30.00) has gotten some &lt;A href="http://www.podfeed.net/episode/SimplyDV+Podcast+Number+11/1105120" target=_blank&gt;great&lt;/A&gt; independent &lt;A href="http://www.simplydv.co.uk/simplyBB/viewtopic.php?f=3&amp;amp;t=20328&amp;amp;start=0&amp;amp;st=0&amp;amp;sk=t&amp;amp;sd=a" target=_blank&gt;reviews&lt;/A&gt; so I went for a trial, downloaded &lt;A href="http://download.shedworx.com/common/fence.MTS" target=_blank&gt;a sample AVCHD .MTS file&lt;/A&gt; and it worked like a charm.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;&lt;FONT color=#ff0000&gt;[Note to ShedWorx]:&lt;/FONT&gt;&lt;/U&gt;&lt;/STRONG&gt; Now if you could make a command-prompt version of your awesome tool, that would be a great addition as it would complete a workflow scenario of an "&lt;STRONG&gt;&lt;EM&gt;unattended&lt;/EM&gt;&lt;/STRONG&gt;" conversion process of the captured AVCHD .MTS files to WMV-HD.&lt;/P&gt;
&lt;P&gt;&lt;IMG src="http://images.camcorderinfo.com/images/upload/Image/news/2008/CES%202008/Canon/Canon_HF100/Canon_HF100_prov_350.jpg"&gt;&lt;/P&gt;
&lt;P&gt;With that, I bought it and went broke but GOSH - what a camcorder !!!&amp;nbsp;Its light, intuitive, great handling and churn out great looking HD video clips. I guess the reviews out there in the wild will do it better justice than me writing about it here.&lt;/P&gt;
&lt;P&gt;Yes, the computing power and storage resources are high. At the best quality mode, the HF100 records at 17Mbps and my usual mode would be to record at a compromised (between storage and battery power) bitrate of 7Mbps. Even with a decent Core2 Duo&amp;nbsp;Processor T7200 2.0 GHZ (highly-rated) &lt;A href="http://en.wikipedia.org/wiki/Intel_Core_2#Merom" target=_blank&gt;Merom chip&lt;/A&gt; and 2Gs of RAM that I have, editing a WMV-HD 7Mbps video clip &lt;EM&gt;does require some patience&lt;/EM&gt;. And the file recordings are huge - as a rough gauge - AVCHD are abt 120Mb (15MB) /min of footage and becomes 500Mb (wmv) after decompression !!!&lt;/P&gt;
&lt;P&gt;Luckily, I delegated the conversion of AVCHD -&amp;gt; WMV-HD files to &lt;A href="http://www.softwaremaker.net/blog/VulcansInnards.aspx" target=_blank&gt;one of my servers&lt;/A&gt;, running a Dual Core XEON Pro 5140 2.33GHZ 4MB L2 cache 1333MHz FSB - &lt;A href="http://en.wikipedia.org/wiki/Xeon#5100-series_.22Woodcrest.22" target=_blank&gt;Woodcrest Chip&lt;/A&gt;&amp;nbsp;and this was much faster, comparatively. In any case, this can be done unattended, and this would also give me a good excuse to plug in another same processor on this 2-way box in the near future. i-wink.&lt;/P&gt;
&lt;P&gt;All in all, this is a great buy at near-wholesale price and I already had quite a lot of fun doing roving and recording real 1080p high-definition videos and enjoying the processed WMV-HD clips on my wide-screen LCD monitor, my HDTV as well as my&amp;nbsp;&lt;A href="http://www.divxtech.com/rapsody_n35.html" target=_blank&gt;Rapsody N35&lt;/A&gt; media center (which plays WMV-HD High-Definition&amp;nbsp;videos).&lt;/P&gt;
&lt;P&gt;&lt;IMG src="http://www.divxtech.com/Rapsody_Images/n35_thm_front.jpg"&gt;&lt;/P&gt;
&lt;P&gt;Below is a "&lt;STRONG&gt;&lt;EM&gt;short&lt;/EM&gt;&lt;/STRONG&gt;" clip I took with the above Canon HF100, with the sarcastic emphasis on "&lt;STRONG&gt;&lt;EM&gt;short&lt;/EM&gt;&lt;/STRONG&gt;". I took this 50-second clip in full &lt;STRONG&gt;1080/9Mbps&lt;/STRONG&gt; HD glory. Uncompressed file size&amp;nbsp;is &lt;STRONG&gt;210MB&lt;/STRONG&gt;. In order to "&lt;EM&gt;dumb&lt;/EM&gt;" it down so that it can squeeze and play&amp;nbsp;better over the HTTP ravine, I had to re-encode it to a smaller scale/Mbps&amp;nbsp;at &lt;STRONG&gt;856x480/3Mbps&lt;/STRONG&gt;. Even then, this same 50-second &lt;STRONG&gt;856x480/3Mbps&lt;/STRONG&gt; clip's file size is still at a large &lt;STRONG&gt;19MB&lt;/STRONG&gt; !!!&amp;nbsp;If you blow up the player to your full-screen, you can see that it maintains a clear and good quality at full-screen even at 3Mbps. Mind you, the source look great on my local playback at 1080/9Mbps/25fps.&lt;/P&gt;
&lt;DIV id=130bb010-294a-4382-94e3-e2cc9d89d140&gt;&lt;/DIV&gt;










 var qs = new Querystring();
 //alert(qs.get("vidfile"));

 var cnt = document.getElementById("130bb010-294a-4382-94e3-e2cc9d89d140");
 var src = 'http://www.softwaremaker.net/jwslplayer/wmvplayer.xaml';
 var cfg = {  file:'http://j2ci5a.bay.livefilestore.com/y1pMMNQE7uqg8YP9kQaCzN7qdfHRagU0B3zJgUKGeQitDEkwkxjxcFIZTiQo4gokXkaAWMk4ys2W0Spm3ma_YPJlA/CanonH100InOutTest1080_480HD_140608.wmv?download',
  image:'http://www.softwaremaker.net/jwslplayer/Silverlight.jpg',
  height:'220',
  width:'400',
  autostart:'false'
 };
 var ply = new jeroenwijering.Player(cnt,src,cfg);
&lt;img width="0" height="0" src="http://www.softwaremaker.net/blog/cptrk.ashx?id=130bb010-294a-4382-94e3-e2cc9d89d140"&gt;&lt;img src="http://community.sgdotnet.org/aggbug.aspx?PostID=219762" width="1" height="1"&gt;</content><author><name>Softwaremaker</name><uri>http://community.sgdotnet.org/members/Softwaremaker/default.aspx</uri></author><category term="http://www.softwaremaker.net/blog" scheme="http://community.sgdotnet.org/blogs/softwaremaker/archive/tags/http_3A002F002F00_www.softwaremaker.net_2F00_blog/default.aspx" /></entry><entry><title>Windows Cardspace Breach ? I think NOT</title><link rel="alternate" type="text/html" href="/blogs/softwaremaker/archive/2008/05/31/Windows-Cardspace-Breach-_3F00_-I-think-NOT.aspx" /><id>/blogs/softwaremaker/archive/2008/05/31/Windows-Cardspace-Breach-_3F00_-I-think-NOT.aspx</id><published>2008-05-31T08:45:51Z</published><updated>2008-05-31T08:45:51Z</updated><content type="html">&lt;P&gt;I was recently pointed to this &lt;A href="http://www.heise.de/english/newsticker/news/108731" target=_blank&gt;post&lt;/A&gt; that highlights&amp;nbsp;a "&lt;STRONG&gt;&lt;EM&gt;successful attempt&lt;/EM&gt;&lt;/STRONG&gt;"&amp;nbsp;by some students in Germany to crack _Infocards_.After reading through the post several times, I became convinced that it is NOT what it seems it is and that if the "&lt;STRONG&gt;&lt;EM&gt;breach&lt;/EM&gt;&lt;/STRONG&gt;" is what it says it is, there must be some pre-conditions that must be satisfied before it can happen and these criteria are not going to be easy...&lt;/P&gt;
&lt;P&gt;Just as I was putting some of my thoughts down that relates to why I think the&amp;nbsp;attempt is somehow "&lt;STRONG&gt;&lt;EM&gt;inappropriately glorified&lt;/EM&gt;&lt;/STRONG&gt;":&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;If an end-user would be stupid enough to put and store his/her passwords, credit card information on his PC 
&lt;LI&gt;There must be some sort of DNS compromise on the end-user side, which also means successfully hacking into his/her router 
&lt;LI&gt;There must be some sort of Digital Certificate Store compromise on the end-user side, which also means successfully hacking into his machine with highly-elevated priviledges or saying, the user's machine password has been stolen&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;Points [2] and [3] relates to the statements from the attempt and I quote from the above post:&lt;/P&gt;
&lt;P&gt;&lt;IMG height=34 alt=openquotes.png src="http://www.softwaremaker.net/blog/content/binary/openquotes.png" width=44 border=0&gt;&amp;nbsp;&lt;STRONG&gt;&lt;EM&gt;&lt;FONT color=#a9a9a9&gt;To reproduce the demonstration, you should change your own DNS settings and install an untrusted certificate&lt;/FONT&gt;&lt;/EM&gt;&lt;/STRONG&gt; &lt;IMG height=34 alt=closequotes.png src="http://www.softwaremaker.net/blog/content/binary/closequotes.png" width=44 border=0&gt;&lt;/P&gt;
&lt;P&gt;If I can do both those points sucessfully, to be honest, I already have control over what the user does on his machine, stealing his Infocard is probably of low priority at that point in time.&lt;/P&gt;
&lt;P&gt;Then, the &lt;A href="http://www.identityblog.com" target=_blank&gt;brains behind Cardspace, Kim Cameron&lt;/A&gt;, himself, wrote a &lt;A href="http://www.identityblog.com/?p=987" target=_blank&gt;comprehensive reply&lt;/A&gt;, which basically&amp;nbsp;was a detailed&amp;nbsp;answer to my brief thoughts above,&amp;nbsp;to counter the students' attempt and should really put any doubts in anyone's mind to rest.&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#ff0000&gt;&lt;STRONG&gt;[Added 02 June 2008]:&lt;/STRONG&gt;&lt;/FONT&gt; In this video on his blog, Kim demonstrates how &lt;STRONG&gt;&lt;EM&gt;YOU, the end-user, must FIRST POISON your own machine first&lt;/EM&gt;&lt;/STRONG&gt; before the&amp;nbsp;attack can happen: &lt;A href="http://www.identityblog.com/wp-content/images/2008/05/Students/Students.html" target=_blank&gt;http://www.identityblog.com/wp-content/images/2008/05/Students/Students.html&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Some comments standout and I quote:&lt;/P&gt;
&lt;P&gt;&lt;IMG height=34 alt=openquotes.png src="http://www.softwaremaker.net/blog/content/binary/openquotes.png" width=44 border=0&gt;&amp;nbsp;&lt;STRONG&gt;&lt;EM&gt;&lt;FONT color=#a9a9a9&gt;The demonstrator shows that if you are willing to compromise enough parts of your system using elevated access, you can render your system attackable.&amp;nbsp;This aspect of the students’ attack is not noteworthy.&lt;/FONT&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;IMG height=34 alt=closequotes.png src="http://www.softwaremaker.net/blog/content/binary/closequotes.png" width=44 border=0&gt;&lt;/P&gt;
&lt;P&gt;&lt;IMG height=34 alt=openquotes.png src="http://www.softwaremaker.net/blog/content/binary/openquotes.png" width=44 border=0&gt;&amp;nbsp;&lt;FONT color=#a9a9a9&gt;&lt;FONT color=#003300&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;FONT color=#a9a9a9&gt;There is, however, one interesting aspect to their attack.&amp;nbsp; It doesn’t concern CardSpace, but rather the way intermittent web site behavior can be combined with DNS to confuse the browser.&amp;nbsp; The student’s paper proposes implementing a stronger “Same Origin Policy” to deal with this (and other) possible attacks.&amp;nbsp; I wish they had concentrated on this positive contribution rather than making claims that require suspension of disbelief.&lt;/FONT&gt;&lt;/EM&gt;&lt;/STRONG&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;IMG height=34 alt=closequotes.png src="http://www.softwaremaker.net/blog/content/binary/closequotes.png" width=44 border=0&gt;&lt;/P&gt;
&lt;P&gt;&lt;IMG height=34 alt=openquotes.png src="http://www.softwaremaker.net/blog/content/binary/openquotes.png" width=44 border=0&gt;&amp;nbsp;&lt;STRONG&gt;&lt;EM&gt;&lt;FONT color=#a9a9a9&gt;However, the students propose equipping browsers with end user certificates so the browsers would be authenticated, rather than the sites they are visiting.&amp;nbsp; This represents a significant privacy problem in that a single tracking key would be used at all the sites the user visits.&amp;nbsp; It also doesn’t solve the problem of knowning whether I am at a “good” site or not.&amp;nbsp; The problem here is that if duped, I might provide an illegitimate site with information which seriously damages me.&lt;/FONT&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#a9a9a9&gt;&lt;FONT color=#003300&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/FONT&gt;&lt;IMG height=34 alt=closequotes.png src="http://www.softwaremaker.net/blog/content/binary/closequotes.png" width=44 border=0&gt;&lt;/P&gt;
&lt;P&gt;While I know the ignorant media will find some ways to sensationalize this unworthy episode, especially when Microsoft is such a big target, this brings to mind a popular joke which I think can be used as an anology:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;Q:&lt;/U&gt; How do you make&amp;nbsp;1 million dollars ?&lt;/STRONG&gt; &lt;BR&gt;&lt;STRONG&gt;&lt;U&gt;A:&lt;/U&gt; Start with 2.&lt;/STRONG&gt;&lt;/P&gt;&lt;img width="0" height="0" src="http://www.softwaremaker.net/blog/cptrk.ashx?id=5d7e0689-54f2-4273-bbf2-1f75e058c108"&gt;&lt;img src="http://community.sgdotnet.org/aggbug.aspx?PostID=218923" width="1" height="1"&gt;</content><author><name>Softwaremaker</name><uri>http://community.sgdotnet.org/members/Softwaremaker/default.aspx</uri></author><category term="http://www.softwaremaker.net/blog" scheme="http://community.sgdotnet.org/blogs/softwaremaker/archive/tags/http_3A002F002F00_www.softwaremaker.net_2F00_blog/default.aspx" /></entry><entry><title>Too many books - too little time and space</title><link rel="alternate" type="text/html" href="/blogs/softwaremaker/archive/2008/04/29/Too-many-books-_2D00_-too-little-time-and-space.aspx" /><id>/blogs/softwaremaker/archive/2008/04/29/Too-many-books-_2D00_-too-little-time-and-space.aspx</id><published>2008-04-29T11:08:53Z</published><updated>2008-04-29T11:08:53Z</updated><content type="html">&lt;P&gt;Gosh, I think I am in desparate need for some new empty bookshelves ... &lt;/P&gt;
&lt;P&gt;&lt;IMG src="http://www.softwaremaker.net/nGallery/photos/16/3/338x450.aspx"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;IMG src="http://www.softwaremaker.net/nGallery/photos/16/4/338x450.aspx"&gt;&amp;lt;-- Click this pic to see a higher resolution for even more details.&lt;BR&gt;&lt;IMG src="http://www.softwaremaker.net/nGallery/photos/16/1/600x450.aspx"&gt;&lt;/P&gt;
&lt;P&gt;...and you havent even seen my &lt;EM&gt;&lt;STRONG&gt;other&lt;/STRONG&gt;&lt;/EM&gt; bookshelves containing my &lt;STRONG&gt;&lt;EM&gt;other&lt;/EM&gt;&lt;/STRONG&gt; interest, which&amp;nbsp;I wont share for now ...&lt;/P&gt;&lt;img width="0" height="0" src="http://www.softwaremaker.net/blog/cptrk.ashx?id=79ce1916-2646-4a15-bd9e-d9d0e36431ca"&gt;&lt;img src="http://community.sgdotnet.org/aggbug.aspx?PostID=213443" width="1" height="1"&gt;</content><author><name>Softwaremaker</name><uri>http://community.sgdotnet.org/members/Softwaremaker/default.aspx</uri></author><category term="http://www.softwaremaker.net/blog" scheme="http://community.sgdotnet.org/blogs/softwaremaker/archive/tags/http_3A002F002F00_www.softwaremaker.net_2F00_blog/default.aspx" /></entry><entry><title>Windows Workflow Foundation: MultiThreaded Parallelism</title><link rel="alternate" type="text/html" href="/blogs/softwaremaker/archive/2008/02/25/Windows-Workflow-Foundation_3A00_-MultiThreaded-Parallelism.aspx" /><id>/blogs/softwaremaker/archive/2008/02/25/Windows-Workflow-Foundation_3A00_-MultiThreaded-Parallelism.aspx</id><published>2008-02-25T08:44:37Z</published><updated>2008-02-25T08:44:37Z</updated><content type="html">&lt;P&gt;I remember back in 2005/2006 when I was still touring the APAC circuits such as &lt;A href="http://www.softwaremaker.net/blog/IndigoAscendInAsiaPacific.aspx" target=_blank&gt;Sydney (Australia)&lt;/A&gt; and &lt;A href="http://www.softwaremaker.net/blog/GettingDownAndDirtyWithWFAndWCFInKualaLumpur.aspx" target=_blank&gt;Kuala Lumpur (Malaysia)&lt;/A&gt; doing training and consulting gigs for customers, partners about _WF_ and _WCF_ and some of the initial Windows Workflow questions came up regarding the use of &lt;A href="http://wiki.windowsworkflowfoundation.eu/default.aspx/WF/ParallelActivity.html" target=_blank&gt;Parallel Activities&lt;/A&gt;. It came&amp;nbsp;as a surprise to many people that parallel activities are not independently asynchronous.&lt;/P&gt;
&lt;P&gt;I explained that a WF instance gets only one instance from the runtime. There are reasons for this single-threaded execution model so each activity have to work with this single thread efficiently. There are ways to spin off differents thread&amp;nbsp;when &lt;EM&gt;real&lt;/EM&gt; parallelism activities are reqquired but because documentation was scare at that time, I had some trouble articulating how to do so.&lt;/P&gt;
&lt;P&gt;I just read&amp;nbsp;"&lt;A href="http://msdn2.microsoft.com/en-us/library/bb887609.aspx" target=_blank&gt;Multithreaded Parallelism in Windows Workflow Foundation&lt;/A&gt;"&amp;nbsp;on MSDN and while it is&amp;nbsp;a definite deep technical article, if you can grok it, you will understand how&amp;nbsp;"MultiThreaded Parallelism" can be done in WF using both the (rather hard-to-use) "&lt;A href="http://wiki.windowsworkflowfoundation.eu/default.aspx/WF/CallExternalMethodActivity.html" target=_blank&gt;Call External Method Activity (CEMA)&lt;/A&gt;" and the "&lt;A href="http://wiki.windowsworkflowfoundation.eu/default.aspx/WF/HandleExternalEventActivity.html" target=_blank&gt;Handle External Event Activity (HEMA)&lt;/A&gt;". Not only that, the authors (whom actually implemented such a system for their own use) also shared how&amp;nbsp;to pair&amp;nbsp;those 2 activities up using correlation and how to create wrappers aoround them so that it can be reused and therefore "&lt;EM&gt;not require talented software developer use of call-external-method and handle-external-event activities along with the CLR thread-pool&lt;/EM&gt;"&lt;/P&gt;
&lt;P&gt;A &lt;A href="http://msdn2.microsoft.com/en-us/library/bb887609.aspx" target=_blank&gt;gem of a read&lt;/A&gt;.&lt;/P&gt;&lt;img width="0" height="0" src="http://www.softwaremaker.net/blog/cptrk.ashx?id=a6f055b0-1b64-4d90-bf00-7e9ffd1b4dc5"&gt;&lt;img src="http://community.sgdotnet.org/aggbug.aspx?PostID=192116" width="1" height="1"&gt;</content><author><name>Softwaremaker</name><uri>http://community.sgdotnet.org/members/Softwaremaker/default.aspx</uri></author><category term="http://www.softwaremaker.net/blog" scheme="http://community.sgdotnet.org/blogs/softwaremaker/archive/tags/http_3A002F002F00_www.softwaremaker.net_2F00_blog/default.aspx" /></entry><entry><title>BizTalk 2006: BizTalk Server Operations Guide is available live</title><link rel="alternate" type="text/html" href="/blogs/softwaremaker/archive/2008/02/17/BizTalk-2006_3A00_-BizTalk-Server-Operations-Guide-is-Live-and-Available.aspx" /><id>/blogs/softwaremaker/archive/2008/02/17/BizTalk-2006_3A00_-BizTalk-Server-Operations-Guide-is-Live-and-Available.aspx</id><published>2008-02-16T22:25:50Z</published><updated>2008-02-16T22:25:50Z</updated><content type="html">&lt;P&gt;If you make your living installing, deploying, managing and operating _BizTalk_ 2006. I guarantee that you will be excited and be thankful for the availability of the BizTalk Server Operations Guide. So, what's in it ?&lt;/P&gt;
&lt;P&gt;&lt;IMG height=1 src="http://www.softwaremaker.net/blog/ftb/Utility/spacer.gif" width=1&gt;&lt;IMG height=34 alt=openquotes.png src="http://www.softwaremaker.net/blog/content/binary/openquotes.png" width=44 border=0&gt;&amp;nbsp;&lt;STRONG&gt;&lt;EM&gt;&lt;FONT color=#808080&gt;Guidance based on real-world experience. The idea for the guide originated with Microsoft field representatives, partner organizations, and customers who plan, deploy, and maintain BizTalk Server installations. This group of IT professionals has accumulated extensive hands-on experience with a diverse range of BizTalk solutions. As they gained experience they created checklists, best practices, and presentations to guide future BizTalk Server operations. We collected and organized this information to create the guide. &lt;BR&gt;Key portions of this guide are new; however, a considerable portion consists of documentation taken from BizTalk Server 2006 R2 Help, white papers, Knowledge Base articles, and other sources. It has been carefully reviewed and vetted by experts from the community of BizTalk Server IT professionals and members of the product development team, whom we gratefully acknowledge at the end of this topic. We believe that the information presented here will help BizTalk Server users solve, and above all, avoid many of the common problems that can occur while deploying and maintaining a BizTalk Server installation.&lt;/FONT&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;FONT color=#808080&gt;Enjoy.&lt;/FONT&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;IMG height=34 alt=closequotes.png src="http://www.softwaremaker.net/blog/content/binary/closequotes.png" width=44 border=0&gt;&lt;/P&gt;
&lt;P&gt;The BizTalk Server Operations guide is now available for download in &lt;A href="http://download.microsoft.com/download/a/a/d/aad035e6-e03b-4bea-ad9a-fa1ff8d10ca0/BTS06R2_OpReadiness.docx"&gt;DOCX&lt;/A&gt;, &lt;A href="http://download.microsoft.com/download/a/a/d/aad035e6-e03b-4bea-ad9a-fa1ff8d10ca0/BTS06R2_OpReadiness.exe"&gt;CHM&lt;/A&gt;, and &lt;A href="http://download.microsoft.com/download/a/a/d/aad035e6-e03b-4bea-ad9a-fa1ff8d10ca0/BTS06R2_OpReadiness.pdf"&gt;PDF&lt;/A&gt; file formats.&lt;/P&gt;&lt;img width="0" height="0" src="http://www.softwaremaker.net/blog/cptrk.ashx?id=bb57d7ba-7e98-4915-990c-94e56f2d2d4b"&gt;&lt;img src="http://community.sgdotnet.org/aggbug.aspx?PostID=190034" width="1" height="1"&gt;</content><author><name>Softwaremaker</name><uri>http://community.sgdotnet.org/members/Softwaremaker/default.aspx</uri></author><category term="http://www.softwaremaker.net/blog" scheme="http://community.sgdotnet.org/blogs/softwaremaker/archive/tags/http_3A002F002F00_www.softwaremaker.net_2F00_blog/default.aspx" /></entry><entry><title>I am a fan of monster lice</title><link rel="alternate" type="text/html" href="/blogs/softwaremaker/archive/2008/01/20/I-am-a-fan.aspx" /><id>/blogs/softwaremaker/archive/2008/01/20/I-am-a-fan.aspx</id><published>2008-01-20T12:14:53Z</published><updated>2008-01-20T12:14:53Z</updated><content type="html">&lt;P&gt;There are not too many movies that will get me rushing onto the web once I get home to find our more about it and the various &lt;A href="http://www.1-18-08.com/" target=_blank&gt;viral&lt;/A&gt; &lt;A href="http://slusho.jp/" target=_blank&gt;marketing&lt;/A&gt; and &lt;A href="http://1-18-08.blogspot.com/" target=_blank&gt;spins&lt;/A&gt; behind it. &lt;A href="http://www.blairwitch.com/" target=_blank&gt;Blair Witch project&lt;/A&gt; was one. &lt;A href="http://www.cloverfieldmovie.com/" target=_blank&gt;This one&lt;/A&gt;, which I just caught, is another. Spoilers &lt;A href="http://en.wikipedia.org/wiki/Cloverfield" target=_blank&gt;here&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;I am not worthy, &lt;A href="http://www.imdb.com/name/nm0009190/" target=_blank&gt;JJ Abrams&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;IMG title="CloverField Monster 01.jpg" height=526 alt="CloverField Monster 01.jpg" src="http://www.softwaremaker.net/blog/content/binary/cloverfieldmonsterart01.jpg" width=792 border=0&gt;&lt;/P&gt;
&lt;P&gt;&lt;IMG title="CloverField Monster 02.jpg" height=452 alt="CloverField Monster 02.jpg" src="http://www.softwaremaker.net/blog/content/binary/cloverfieldmonsterart02.jpg" width=720 border=0&gt;&lt;/P&gt;
&lt;P&gt;The movie's creepy monster &lt;A href="http://en.wikipedia.org/wiki/Lice" target=_blank&gt;louse&lt;/A&gt; is especially my favourite.&lt;/P&gt;
&lt;P&gt;&lt;IMG title="CloverField Monster Parasite.jpg" height=225 alt="CloverField Monster Parasite.jpg" src="http://www.softwaremaker.net/blog/content/binary/cloverfieldmonsterparasite.jpg" width=240 border=0&gt;&lt;/P&gt;&lt;img width="0" height="0" src="http://www.softwaremaker.net/blog/cptrk.ashx?id=00161a11-0b18-4792-af52-f04e37e879ec"&gt;&lt;img src="http://community.sgdotnet.org/aggbug.aspx?PostID=181975" width="1" height="1"&gt;</content><author><name>Softwaremaker</name><uri>http://community.sgdotnet.org/members/Softwaremaker/default.aspx</uri></author><category term="http://www.softwaremaker.net/blog" scheme="http://community.sgdotnet.org/blogs/softwaremaker/archive/tags/http_3A002F002F00_www.softwaremaker.net_2F00_blog/default.aspx" /></entry><entry><title>Do not ignore the correctness of casings in measurements</title><link rel="alternate" type="text/html" href="/blogs/softwaremaker/archive/2008/01/10/Do-not-ignore-the-correctness-of-casings-in-measurements.aspx" /><id>/blogs/softwaremaker/archive/2008/01/10/Do-not-ignore-the-correctness-of-casings-in-measurements.aspx</id><published>2008-01-10T14:13:01Z</published><updated>2008-01-10T14:13:01Z</updated><content type="html">&lt;P&gt;So...Let me start off this New Year 2008 with a rant post.&lt;/P&gt;
&lt;P&gt;I am constantly amazed at the technical knowledge of some of the folks manning the shops selling computer peripherals. I was in the market shopping for an external casing for my SATAII HDD and someone recommended for me to use an USB2.0 external interface because, as he simply puts it confidently and points to the marketing material on the box, "it is faster"&lt;/P&gt;
&lt;P&gt;I have to correct him that the theoretical speed of USB of 480M&lt;STRONG&gt;&lt;EM&gt;b&lt;/EM&gt;&lt;/STRONG&gt;/s is &lt;STRONG&gt;&lt;EM&gt;not faster&lt;/EM&gt;&lt;/STRONG&gt; than the theoretical speed of &lt;A href="http://en.wikipedia.org/wiki/Serial_ATA" target=_blank&gt;SATAII&lt;/A&gt;, which is pegged at 300M&lt;STRONG&gt;&lt;EM&gt;B&lt;/EM&gt;&lt;/STRONG&gt;/s. The astute reader will notice the difference in casings.&lt;/P&gt;
&lt;P&gt;A quick glance at &lt;A href="http://www.speedguide.net/read_articles.php?id=115" target=_blank&gt;this article&lt;/A&gt; will show the usual naming and&amp;nbsp;differering configurations and the huge difference between a &lt;STRONG&gt;&lt;EM&gt;B&lt;/EM&gt;&lt;/STRONG&gt;yte and a &lt;STRONG&gt;&lt;EM&gt;b&lt;/EM&gt;&lt;/STRONG&gt;it.&lt;/P&gt;
&lt;P&gt;To do some simple calculations - The max burst transfer rate of SATAII is 3 billion &lt;STRONG&gt;&lt;EM&gt;b&lt;/EM&gt;&lt;/STRONG&gt;its per second, which is equivalent 3 G&lt;STRONG&gt;&lt;EM&gt;b&lt;/EM&gt;&lt;/STRONG&gt;/s, via normal conventions not definitions.&amp;nbsp; This is equivalent to 300 million &lt;STRONG&gt;&lt;EM&gt;B&lt;/EM&gt;&lt;/STRONG&gt;ytes per second, or 300 M&lt;STRONG&gt;&lt;EM&gt;B&lt;/EM&gt;&lt;/STRONG&gt;/s. Some sites like &lt;A href="http://www.performance-pcs.com/catalog/index.php?main_page=product_info&amp;amp;products_id=4091" target=_blank&gt;this&lt;/A&gt; states 300M&lt;STRONG&gt;&lt;EM&gt;b&lt;/EM&gt;&lt;/STRONG&gt;/s, which actually means we are moving backwards in technology. Worst, some people state it as 300 G&lt;STRONG&gt;&lt;EM&gt;B&lt;/EM&gt;&lt;/STRONG&gt;/s, which means I can transfer the equivalent data of 31 DVDs in 1 single second and overstating it by about 1000 times&amp;nbsp;faster than it really is.&lt;/P&gt;
&lt;P&gt;The same applies for USB2.0. Many technical sales people&amp;nbsp;I talked to told me its 480M&lt;STRONG&gt;&lt;EM&gt;B&lt;/EM&gt;&lt;/STRONG&gt;/s and I have seen the same marketing collateral on the packaged boxes it comes in. In actual fact, it is&amp;nbsp;60M&lt;STRONG&gt;&lt;EM&gt;B&lt;/EM&gt;&lt;/STRONG&gt;/s.&lt;/P&gt;
&lt;P&gt;Now, if you compare apples to apples - it is a no-brainer to compare 300M&lt;STRONG&gt;&lt;EM&gt;B&lt;/EM&gt;&lt;/STRONG&gt;/s&amp;nbsp;against 60M&lt;STRONG&gt;&lt;EM&gt;B&lt;/EM&gt;&lt;/STRONG&gt;/s, isnt it ? Of course, the arguments will always begin when people start arguing whether is it really a 5 time performance difference, taking into account the&amp;nbsp;costs of USB's overheads and the cache memory that some of the higher-end SATAII HDD offers.&lt;/P&gt;
&lt;P&gt;Well, lets just leave those arguments in those other blogs and forum posts for now.&lt;/P&gt;&lt;img width="0" height="0" src="http://www.softwaremaker.net/blog/cptrk.ashx?id=28e66153-210a-4c4a-8221-467a8a6874ef"&gt;&lt;img src="http://community.sgdotnet.org/aggbug.aspx?PostID=180523" width="1" height="1"&gt;</content><author><name>Softwaremaker</name><uri>http://community.sgdotnet.org/members/Softwaremaker/default.aspx</uri></author><category term="http://www.softwaremaker.net/blog" scheme="http://community.sgdotnet.org/blogs/softwaremaker/archive/tags/http_3A002F002F00_www.softwaremaker.net_2F00_blog/default.aspx" /></entry><entry><title>Speaking in the Singapore .NET Usergroup December Meeting</title><link rel="alternate" type="text/html" href="/blogs/softwaremaker/archive/2007/12/03/Speaking-in-the-Singapore-.NET-Usergroup-December-Meeting.aspx" /><id>/blogs/softwaremaker/archive/2007/12/03/Speaking-in-the-Singapore-.NET-Usergroup-December-Meeting.aspx</id><published>2007-12-02T22:39:03Z</published><updated>2007-12-02T22:39:03Z</updated><content type="html">&lt;P&gt;It has been a long time since I spoke in a usergroup meeting. This time, I will replicate &lt;A href="http://www.softwaremaker.net/blog/SpeakingInMicrosoftTechED2007AsiaKualaLumpurMalaysia.aspx" target=_blank&gt;what I did in Microsoft TechED Asia 2007 in KL&lt;/A&gt;&amp;nbsp;in the Dec 2007 &lt;A href="http://sgdotnet.org/forums/thread/169557.aspx" target=_blank&gt;SgDotNet Usergroup meeting&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;U&gt;Languages, Frameworks and Architectures&lt;BR&gt;&lt;/U&gt;&lt;/EM&gt;&lt;/STRONG&gt;New language solution frameworks are emerging to make solution development less cumbersome. For example, AJAX for building rich, interactive, internet applications, SCA for composing components into services, Ruby-on-Rails for building web applications, and Blinq for generating ASP.NET websites based on a database schema. This session will look at how these languages are evolving to include architectural constructs and where that evolution will go.&lt;/P&gt;
&lt;P&gt;If you are free, do come drop by with an open mind, dont take any notes and get ready to interact.&lt;/P&gt;&lt;img width="0" height="0" src="http://www.softwaremaker.net/blog/cptrk.ashx?id=fa918aac-a32b-4689-86bd-348fa6ab5bdf"&gt;&lt;img src="http://community.sgdotnet.org/aggbug.aspx?PostID=171220" width="1" height="1"&gt;</content><author><name>Softwaremaker</name><uri>http://community.sgdotnet.org/members/Softwaremaker/default.aspx</uri></author><category term="http://www.softwaremaker.net/blog" scheme="http://community.sgdotnet.org/blogs/softwaremaker/archive/tags/http_3A002F002F00_www.softwaremaker.net_2F00_blog/default.aspx" /></entry><entry><title>Differences between the Windows Communication Foundation (WCF) Line-Of-Business (LOB) Adapter Pack and the BizTalk Adapter Framework</title><link rel="alternate" type="text/html" href="/blogs/softwaremaker/archive/2007/11/15/Differences-between-the-Windows-Communication-Foundation-_2800_WCF_2900_-Line_2D00_Of_2D00_Business-_2800_LOB_2900_-Adapter-Pack-and-the-BizTalk-Adapter-Framework.aspx" /><id>/blogs/softwaremaker/archive/2007/11/15/Differences-between-the-Windows-Communication-Foundation-_2800_WCF_2900_-Line_2D00_Of_2D00_Business-_2800_LOB_2900_-Adapter-Pack-and-the-BizTalk-Adapter-Framework.aspx</id><published>2007-11-15T14:04:07Z</published><updated>2007-11-15T14:04:07Z</updated><content type="html">&lt;P&gt;With the impending release of the _BizTalk_ Adapter&amp;nbsp;Pack (Beta 2 available &lt;A href="https://connect.microsoft.com/Downloads/Downloads.aspx?SiteID=65&amp;amp;wa=wsignin1.0" target=_blank&gt;here&lt;/A&gt;), there are some confusions as to the differences between the BizTalk Adapter Pack, &lt;A href="http://www.microsoft.com/biztalk/technologies/wcflobadaptersdk.mspx" target=_blank&gt;Microsoft's WCF Line of Business (LOB) Adapter SDK&lt;/A&gt;, and of course, the (older) &lt;A href="http://technet.microsoft.com/en-us/library/ms944509.aspx" target=_blank&gt;BizTalk Adapter Framework&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;In a nutshell, &lt;STRONG&gt;&lt;EM&gt;the BizTalk Adapter Pack is written and developed on top of the WCF LOB Adapter SDK&lt;/EM&gt;&lt;/STRONG&gt; (which is free and freely &lt;A href="http://www.microsoft.com/biztalk/technologies/wcflobadaptersdk.mspx" target=_blank&gt;downloadable&lt;/A&gt;). The value-add is that the LOBs that it can integrate with ootb are SAP (mySAP Business Suite), ORACLE (Oracle Database) and SIEBEL (Siebel eBusiness Applications). Of course, a&amp;nbsp;lot of grunt work is taken away from you, as explained &lt;A href="http://blogs.msdn.com/adapters/archive/2007/10/29/positioning-the-biztalk-adapter-pack.aspx" target=_blank&gt;here&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;One of the confusing part is the play of the words "BizTalk" in the product name. As I have explained above, built on the WCF LOB Adapter SDK, these adapters are host agnostic i.e. they are not tied to a specific product like BizTalk. You can use it with BizTalk 2006 R2 specifically (The WCF LOB adapters cannot be used in BizTalk Server versions prior to BizTalk Server 2006 R2) but you can use it outside of BizTalk as well (some configuration work required, such as the Add Adapter Reference plug-in, etc) but this also means you do not have to buy BizTalk for it, if you dont have to.&lt;/P&gt;
&lt;P&gt;This SDK is based on _WCF_, and it surfaces an adapter to an LOB system as a WCF binding. For an adapter consumer, the adapter can be accessed like a typical WCF service; the consumer does not have to learn a new programming model. The same adapter developed can be reused in multiple .NET applications including custom .NET applications, Microsoft® BizTalk® Server 2006 R2, Microsoft Office SharePoint® Server 2007 SP1, and Microsoft SQL Server™ Integration Services (SSIS) through adapter development provided. In addition, the adapter provides metadata browse, search, and retrieval functionality for the adapter consumer to selectively generate WCF contracts that reflect live type modeling of the LOB system.&lt;/P&gt;
&lt;P&gt;Confusions from customers and partners alike usually stem from the&amp;nbsp;the primary differences between WCF LOB Adapter SDK and the BizTalk Adapter Framework. I will hereby summarized it in the following table:&lt;/P&gt;
&lt;H3 class=subHeading&gt;&lt;/H3&gt;
&lt;P&gt;
&lt;TABLE style="BACKGROUND-COLOR:#cccccc;" cellSpacing=0 cellPadding=0&gt;

&lt;TR&gt;
&lt;TH&gt;Feature &lt;/TH&gt;
&lt;TH&gt;WCF LOB Adapter SDK &lt;/TH&gt;
&lt;TH&gt;BizTalk Server Adapter Framework &lt;/TH&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P&gt;API&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;.NET 3.0 Assembly, provides help classes for metadata processing, connection management, and messaging&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;COM, provides basic support for adapter operations.&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P&gt;Adapter exposure&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;UL&gt;
&lt;LI&gt;Exposed as WCF binding; available to any application that can consume a WCF binding including BizTalk Server 2006 R2 (using the WCF adapter)&lt;BR&gt;&lt;BR&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;UL&gt;
&lt;LI&gt;Exposed only to BizTalk Server; not reusable by other applications.&lt;BR&gt;&lt;BR&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P&gt;Tools&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;Adapter Code Generation Wizard, metadata browser for Visual Studio&amp;nbsp;2005&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;n/a&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P&gt;Extensibility&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;Yes (as WCF channel extension)&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;No&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P&gt;If you are knee-deep into writing, shipping and selling&amp;nbsp;adapters for BizTalk, I strongly urge you to visit the Adapters' Team Blog &lt;A href="http://blogs.msdn.com/adapters" target=_blank&gt;here&lt;/A&gt;.&lt;BR&gt;&lt;/P&gt;&lt;img width="0" height="0" src="http://www.softwaremaker.net/blog/cptrk.ashx?id=36da6ce2-cf48-4417-902f-3992a5f246f8"&gt;&lt;img src="http://community.sgdotnet.org/aggbug.aspx?PostID=162529" width="1" height="1"&gt;</content><author><name>Softwaremaker</name><uri>http://community.sgdotnet.org/members/Softwaremaker/default.aspx</uri></author><category term="http://www.softwaremaker.net/blog" scheme="http://community.sgdotnet.org/blogs/softwaremaker/archive/tags/http_3A002F002F00_www.softwaremaker.net_2F00_blog/default.aspx" /></entry><entry><title>Threading and Throttling differences between WCF and ASMX</title><link rel="alternate" type="text/html" href="/blogs/softwaremaker/archive/2007/10/13/Threading-and-Throttling-differences-between-WCF-and-ASMX.aspx" /><id>/blogs/softwaremaker/archive/2007/10/13/Threading-and-Throttling-differences-between-WCF-and-ASMX.aspx</id><published>2007-10-12T22:40:28Z</published><updated>2007-10-12T22:40:28Z</updated><content type="html">&lt;P&gt;I know I havent been posting deep technical stuff that I &lt;A href="http://www.softwaremaker.net/blog/CategoryView,category,Web%2BServices%2BEnhancements%2B(WSE).aspx" target=_blank&gt;used to do&lt;/A&gt;. Contrary to what people think my current role entails, keeping abreast of the technology landscape is what I am supposed to do and what I enjoy and so when colleagues joked with me when&amp;nbsp;was the last time I booted up &lt;A href="http://msdn.microsoft.com/vstudio/" target=_blank&gt;Visual Studio&lt;/A&gt;, for example, I enjoyed seeing their shocked faces when I told them: "&lt;EM&gt;oh - just last night. why you asked ?&lt;/EM&gt;" i-wink.&lt;/P&gt;
&lt;P&gt;I dont dwell deep like I used to but I still code up decent projects&amp;nbsp;which I implement within my own developmental&amp;nbsp;testing&amp;nbsp;environment (yes, I have one running latest versions of &lt;A href="http://www.microsoft.com/windowsserver2003/technologies/directory/activedirectory/default.mspx" target=_blank&gt;Active Directory&lt;/A&gt;, &lt;A href="http://office.microsoft.com/en-us/sharepointserver/FX100492001033.aspx" target=_blank&gt;SharePoint&lt;/A&gt;, &lt;A href="http://www.microsoft.com/exchange/default.mspx" target=_blank&gt;Exchange&lt;/A&gt;&amp;nbsp;and all the other goodies), driving the houshold crazy when I think of new and different ways to document expenses, publish a Book or CD library, home automation projects using all sorts of different technologies (yes, that includes &lt;A href="http://www.rubyonrails.org/" target=_blank&gt;Ruby-on-Rails&lt;/A&gt;)&amp;nbsp;or in my new &lt;A href="http://www.htc.com/product/03-product_tytn_II.htm" target=_blank&gt;Windows Mobile 6 Device&lt;/A&gt;. Of course, I admit I dont post topics&amp;nbsp;deep like I used to. It is not so much the content but more so, the limiting factor of time.&lt;/P&gt;
&lt;P&gt;Recently, I was involved in some internal technical discussions with regards to the issue of scale comparisions between _WCF_ and ASMX. Below are some discussions:&lt;/P&gt;
&lt;P&gt;If you&amp;nbsp;have a web service that is going to be IO bound, you would definitely want it to be scalable and &lt;EM&gt;almost&lt;/EM&gt; every&amp;nbsp;resource in the world tells&amp;nbsp;you to&amp;nbsp;implement&amp;nbsp;&lt;A href="http://msdn.microsoft.com/msdnmag/issues/03/06/Threading/" target=_blank&gt;ASP.NET asynchronous pattern&lt;/A&gt; (BeginSomething/EndSomething, etc)&amp;nbsp;on it&amp;nbsp;so to go easy on the thread pool. ASP.NET&amp;nbsp;uses an IAsyncHttpHandler to handle the request, which means the worker threads are not blocked while the IO-bound operation executes somewhere else. Sounds good so far.&lt;/P&gt;
&lt;P&gt;If you make a WCF version of it with &lt;A href="http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2007/05/18/9336.aspx" target=_blank&gt;webHttpBinding&lt;/A&gt; (which&amp;nbsp;actually means you can invoked it AJAX-style) following the same async pattern for the methods, you may find that&amp;nbsp;each invocation of the WCF service eats up two threads – one for its ASP.NET HttpModule.ProcessRequest and the other for the actual IO. Ouch! You may think that this means&amp;nbsp;your WCF implementation may end up eating all threads reserved for ASP.NET, which would indeed scale down the server&lt;/P&gt;
&lt;P&gt;Is this true OR are we missing the complete picture ?&lt;/P&gt;
&lt;P&gt;While the scenarios explained above are reasonable observations, it doesnt paint the complete picture. WCF &lt;STRONG&gt;&lt;EM&gt;does&lt;/EM&gt;&lt;/STRONG&gt; perform better scalability than ASMX.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;&lt;U&gt;Threading:&lt;/U&gt;&lt;/STRONG&gt;&lt;BR&gt;For ASMX, when a request comes in, it would be queued up immediately for async ASMX. So the thread is released for that request and a new thread will pick up the work item later. &lt;/LI&gt;&lt;/UL&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT:0px;"&gt;
&lt;P&gt;For WCF, when a request comes in, we queue it up in WCF and let an IO thread handle the request. At the same time, the request thread-pool thread is held to wait for the request to complete.&lt;/P&gt;
&lt;P&gt;Yes, WCF uses more threads than async ASMX. But there is a reason for this. Using asynchronous ASMX is dangerous and not really a good practice&amp;nbsp;(&lt;EM&gt;and I have&amp;nbsp;hinted at this many times in the many&amp;nbsp;Web Service/ASMX presentations I have&amp;nbsp;done over the past few&amp;nbsp;years&lt;/EM&gt;).&amp;nbsp;While it does well at what it is supposed to do, it does trick the developer into a "&lt;EM&gt;false sense of security&lt;/EM&gt;". Essentially, if you dont know how the ASP.NET blackbox works, you may find yourself thrown against the car wall when you take a hidden, unsuspecting corner at high speeds. It does not provide enough throttling for client loads. Basically the server takes all items and queue them up for later processing. The server does not have a good throttling mechanism to control the number of work items. To everyone else, it seems&amp;nbsp;that the server is quite friendly to all clients. However, if the number of clients is unbounded, this is really bad. First of all, the server working set would grow unlimited due to unlimited requests queued up. Secondly, many client requests would become obsolete when it’s picked up by the server from the queue. The latter&amp;nbsp;accounts for a a good set of problematic scenarios I have come across in my past consulting gigs with regards to high-load and high-transactional&amp;nbsp;ASMX asynchronous implementations before I joined the borg.&lt;/P&gt;
&lt;P&gt;Think of it as a side of the brain (that tells you that you are about to be full) not functioning properly when you sit down at a &lt;A href="http://en.wikipedia.org/wiki/Buffet" target=_blank&gt;buffet&lt;/A&gt; table. You eat and eat and eat without knowning when to stop and then your &lt;A href="http://en.wikipedia.org/wiki/Digestion" target=_blank&gt;ingestion/digestion&lt;/A&gt; system starts kicking in, you actually hit the wall. Hard. Literally.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;&lt;U&gt;Server Throughput&lt;/U&gt;&lt;/STRONG&gt;&lt;BR&gt;When you measure scalability,&amp;nbsp;the most important measurement is the server throughput. That is, how many requests the server can handle per time unit? For async ASMX, it would be pretty fast at the initial phase. However, like the ingestion/digestion&amp;nbsp;analogy I was referring to above - Once the server is in&amp;nbsp;a steady phase (as when CPU is fully loaded), the throughput will go down because the server capacity has reached. You can compare the data between async ASMX and sync ASMX &lt;STRONG&gt;&lt;EM&gt;over the long run&lt;/EM&gt;&lt;/STRONG&gt; to see what I mean. &lt;/LI&gt;&lt;/UL&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT:0px;"&gt;
&lt;P&gt;Also you would see higher memory usage of the async approach.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;&lt;U&gt;ASP.NET Throttling&lt;/U&gt;&lt;/STRONG&gt;&lt;BR&gt;That said, ASP.NET does have a throttling mechanism that is used for sync ASMX, which is the threadpool thread limit. The number of threads used to handle requests are bounded (&lt;A href="http://support.microsoft.com/kb/821268" target=_blank&gt;http://support.microsoft.com/kb/821268&lt;/A&gt;). WCF uses this fact to throttle incoming requests. You can always change the configuration settings to increase number of threads to be used to allow more work items to be queued up.&lt;/LI&gt;&lt;/UL&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT:0px;"&gt;
&lt;P&gt;The max number of threads follows the following formula:&lt;BR&gt;&lt;STRONG&gt;&lt;EM&gt;MaxWorkerThreads&amp;nbsp;x #CPU – MinFreeThreads&lt;/EM&gt;&lt;/STRONG&gt;&lt;BR&gt;This is 12 by default on a single-proc machine.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;&lt;U&gt;Two-level Throttling for WCF&lt;BR&gt;&lt;/U&gt;&lt;/STRONG&gt;WCF leverages the ASP.NET threadpool throttling to throttle client requests. At the same time, WCF has its &lt;A href="http://msdn2.microsoft.com/en-us/library/ms735114.aspx" target=_blank&gt;own item queue throttling&lt;/A&gt;. The former is throttled by the setting mentioned in the immediate above point, while the latter is controlled by &lt;A href="http://kennyw.com/indigo/150" target=_blank&gt;WCF throttling settings (maxConcurrentCalls etc)&lt;/A&gt;. ASP.NET can automatically adjust threads based on CPU loads so that you would always get full load of the server.&lt;/LI&gt;&lt;/UL&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT:0px;"&gt;
&lt;P&gt;In this way, you may experience client failures because the requests are rejected at ASP.NET layer beforehand. So you can increase the ASP.NET throttling to get better experience. But eventually you would still be bounded by the physical server capacity, no matter whether you use async ASMX, sync ASMX, or WCF as mentioned above.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;There is improvement work done in .NET 3.0 SP1&amp;nbsp;and of course, .NET 3.5 (beta 2 &lt;A href="http://www.microsoft.com/downloads/details.aspx?familyid=d2f74873-c796-4e60-91c8-f0ef809b09ee&amp;amp;displaylang=en" target=_blank&gt;here&lt;/A&gt;), with the use of&amp;nbsp;&lt;EM&gt;prioritized item queues.&amp;nbsp;&lt;/EM&gt;Do expect even-better WCF performance&amp;nbsp;even in&amp;nbsp;some of the&amp;nbsp;common scenarios. Fine tuning minWorkerThreads will even give us even better results.&lt;/P&gt;
&lt;P&gt;Thanks&amp;nbsp;to &lt;A href="http://blogs.msdn.com/wenlong/" target=_blank&gt;Wenlong&lt;/A&gt; for helping out with the guidance and explanation. The complete scenario and the design principles for it&amp;nbsp;will be published in greater detail in a MSDN whitepaper later. Do watch out for it.&lt;/P&gt;&lt;img width="0" height="0" src="http://www.softwaremaker.net/blog/cptrk.ashx?id=30444bbe-15e6-45fd-adc2-18df79385216"&gt;&lt;img src="http://community.sgdotnet.org/aggbug.aspx?PostID=153381" width="1" height="1"&gt;</content><author><name>Softwaremaker</name><uri>http://community.sgdotnet.org/members/Softwaremaker/default.aspx</uri></author><category term="http://www.softwaremaker.net/blog" scheme="http://community.sgdotnet.org/blogs/softwaremaker/archive/tags/http_3A002F002F00_www.softwaremaker.net_2F00_blog/default.aspx" /></entry><entry><title>Please sell us solutions, SingNet</title><link rel="alternate" type="text/html" href="/blogs/softwaremaker/archive/2007/10/12/Please-sell-us-solutions_2C00_-SingTel.aspx" /><id>/blogs/softwaremaker/archive/2007/10/12/Please-sell-us-solutions_2C00_-SingTel.aspx</id><published>2007-10-11T16:37:24Z</published><updated>2007-10-11T16:37:24Z</updated><content type="html">&lt;P&gt;I have been a &lt;A href="http://www.singtel.com" target=_blank&gt;SingTel&lt;/A&gt; and &lt;A href="http://www.singnet.com/" target=_blank&gt;SingNet&lt;/A&gt; customer for the longest time and do recommend friends and family over sometimes. While I have no complains about the service, I do have questions about some of their front-line staff &lt;A href="http://www.softwaremaker.net/blog/GripesAboutOurLocalSingaporeServiceProviders.aspx" target=_blank&gt;operations&lt;/A&gt; and &lt;A href="http://www.softwaremaker.net/blog/CourtesyMinusSomeTechnicalCapabilitiesEqualsZeroSales.aspx" target=_blank&gt;capabilities&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;Another incident struck today.&lt;/P&gt;
&lt;P&gt;I decided to sign up for the &lt;A href="http://en.wikipedia.org/wiki/ADSL" target=_blank&gt;ADSL&lt;/A&gt; upgrade package from the current 3500kbps to the &lt;A href="http://en.wikipedia.org/wiki/ADSL2" target=_blank&gt;ADSL2&lt;/A&gt; 6000kbps after my contract is up for renewal. On the day of service activation, things just weren't going well. To cut a long story short, the downtime and service disruption was almost 3/4 of the day (which meant no www and email access == no work gets done) and my router power-supply cable failed today for some reason (due to age, I believe) and&amp;nbsp;luckily, I had an old power-supply cable lying around which was put to good use.&amp;nbsp;When the ADSL2 modem arrived late, I hooked it up, expecting a simple plug-n-play.&lt;/P&gt;
&lt;P&gt;I was wrong.&lt;/P&gt;
&lt;P&gt;The SingNet technical service staff was at a loss to help me. The only thing they could do was tell me that I could hook up my single machine (I have 8 at home) to the modem directly and things work fine. &lt;STRONG&gt;That is not a solution. Solve my problem, SingTel&lt;/STRONG&gt;. Dont you know how many people in Singapore uses a Router to &lt;A href="http://www.smartcomputing.com/editorial/article.asp?article=articles/archive/r1005/19r05/19r05.asp&amp;amp;guid=" target=_blank&gt;share broadband bandwidth&lt;/A&gt; amongst the household. If ADSL bandwidth was made for 1 machine and 1 user, we dont need anything more than 256mbps. Their technical staff did 1 step further and said they supported only 2 brands of routers with their modems. Fine - given that there are hundreds of models of routers anyways. I qualify myself as a technical person and asked if I could have the settings&amp;nbsp; of those "supported" routers so I know how to tweak and configure mine to work with the new modem.&lt;/P&gt;
&lt;P&gt;Me: &lt;EM&gt;&lt;STRONG&gt;"Could I have those config settings of those routers so I can see how I can configure mine"&lt;BR&gt;&lt;/STRONG&gt;&lt;/EM&gt;SingNet: &lt;STRONG&gt;&lt;EM&gt;"Err...We support 2 brands X and Y of routers but I am sorry, the settings are NOT in my knowledge base so I cannot help you there..."&lt;/EM&gt;&lt;/STRONG&gt; &lt;BR&gt;Me: &lt;STRONG&gt;&lt;EM&gt;"OK. What else can I do ? If it doesnt work with my router, I cannot surf so tell me what I am paying for again ?"&lt;/EM&gt;&lt;/STRONG&gt; &lt;BR&gt;SingNet: &lt;STRONG&gt;&lt;EM&gt;"I am sorry, Sir but those are the only 2 brands of integrated Router-modem we support"&lt;/EM&gt;&lt;/STRONG&gt; &lt;BR&gt;Me: &lt;STRONG&gt;&lt;EM&gt;"Huh ? Integrated Router-modem ? Are you asking me to throw away my VPN Firewall router so I can use your modem ? Duh !"&lt;/EM&gt;&lt;/STRONG&gt; 
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;So, we have this pipe of 6mpbs of bandwidth flowing through, we share. It makes sense and is cost-effective. So, while looking at the PO of the delivered modem, I saw the vendor who actually was being subcontracted by SingTel to sell those modems so I decided to give them a call and it was great that their support-line was open till 2100 hours. This would have never happened in the Australia, US or Canada. i-smile&lt;/P&gt;
&lt;P&gt;It turns out that SingNet has only subcontracted to bundle their modems with their ADSL service offerings and the modem they are bundling is actually a router-modem !!! which explains why it cannot work with my current router as both services and DHCP will clash. To cut another long story short, I had to do some research, together with this vendor, to see how we can disable the router function and use this modem mainly as a bridge. There is no user&amp;nbsp;iterface. Guess what I have to do ?&lt;/P&gt;
&lt;P&gt;I have to telnet into the device with the proper credentials and command-lined these:&lt;/P&gt;
&lt;P&gt;_{Administrator}=&amp;gt;ppp relay&lt;BR&gt;{Administrator}[ppp relay]=&amp;gt;flush&lt;BR&gt;{Administrator}[ppp relay]=&amp;gt;..&lt;BR&gt;{Administrator}[ppp]=&amp;gt;flush&lt;BR&gt;{Administrator}[ppp]=&amp;gt;:eth&lt;BR&gt;{Administrator}[eth]=&amp;gt;flush&lt;BR&gt;{Administrator}[eth]=&amp;gt;:atm&lt;BR&gt;{Administrator}[atm]=&amp;gt;flush&lt;BR&gt;{Administrator}[atm]=&amp;gt;phonebook&lt;BR&gt;{Administrator}[atm phonebook]=&amp;gt;flush&lt;BR&gt;{Administrator}[atm phonebook]=&amp;gt;add&lt;BR&gt;name = pvcInternet&lt;BR&gt;addr = 0.100&lt;BR&gt;:atm phonebook add name=pvcInternet addr=0*100&lt;BR&gt;{Administrator}[atm phonebook]=&amp;gt;..&lt;BR&gt;{Administrator}[atm]=&amp;gt;ifadd&lt;BR&gt;intf = atmInternet&lt;BR&gt;:atm ifadd intf=atmInternet&lt;BR&gt;{Administrator}[atm]=&amp;gt;ifconfig&lt;BR&gt;intf = atmInternet&lt;BR&gt;[dest] = pvcInternet&lt;BR&gt;[qos] = default&lt;BR&gt;[encaps] = llc&lt;BR&gt;[retry] = 10&lt;BR&gt;[fcs] = disabled&lt;BR&gt;[ulp] = mac&lt;BR&gt;:atm ifconfig intf=atmInternet dest=pvcInternet ulp=mac&lt;BR&gt;{Administrator}[atm]=&amp;gt;ifattach&lt;BR&gt;intf = atmInternet&lt;BR&gt;:atm ifattach intf=atmInternet&lt;BR&gt;{Administrator}[atm]=&amp;gt;..&lt;BR&gt;{Administrator}=&amp;gt;eth bridge&lt;BR&gt;{Administrator}[eth bridge]=&amp;gt;ifadd&lt;BR&gt;intf = snbbridge&lt;BR&gt;:eth bridge ifadd intf=snbbridge&lt;BR&gt;{Administrator}[eth bridge]=&amp;gt;ifconfig&lt;BR&gt;intf = snbbridge&lt;BR&gt;[dest] = atmInternet&lt;BR&gt;[portstate] = forwarding&lt;BR&gt;[retry] = 10&lt;BR&gt;[vlan] = default&lt;BR&gt;[prioconfig] = disabled&lt;BR&gt;[ipprec] = disabled&lt;BR&gt;[priority] = 0&lt;BR&gt;[regenprio] = 01234567&lt;BR&gt;[ingressfiltering] = disabled&lt;BR&gt;[acceptvlanonly] = disabled&lt;BR&gt;[mcastfilter] = disabled&lt;BR&gt;[dynvlan] = disabled&lt;BR&gt;[igmpsnooping] = enabled&lt;BR&gt;:eth bridge ifconfig intf=snbbridge dest=atmInternet&lt;BR&gt;{Administrator}[eth bridge]=&amp;gt;ifattach&lt;BR&gt;intf = snbbridge&lt;BR&gt;:eth bridge ifattach intf=snbbridge&lt;BR&gt;{Administrator}[eth bridge]=&amp;gt;saveall&lt;BR&gt;{Administrator}[eth bridge]=&amp;gt;:&lt;BR&gt;{Administrator}=&amp;gt;dhcp server config state=disabled&lt;BR&gt;{Administrator}=&amp;gt;saveall&lt;BR&gt;{Administrator}=&amp;gt;exit&lt;BR&gt;&amp;nbsp;&lt;BR&gt;After this exit, this particular&amp;nbsp;router-modem functions as a bridge mode and I was able to post this blog.&lt;/P&gt;
&lt;P&gt;WTF ?!?!?!?! Are they expecting home-users and lay-men to be typing these commands into a &lt;A href="http://en.wikipedia.org/wiki/Unix" target=_blank&gt;UNIX&lt;/A&gt; firmware ? I consider myself to be fairly technical and yet I barfed at the idea of doing this. Goodbye Civilization, Hello Stone Age&amp;nbsp;...&lt;/P&gt;
&lt;P&gt;... which brings me to&amp;nbsp;my main point ...&lt;/P&gt;
&lt;P&gt;I bought into an upgrade path. My old modem was A modem, nothing more, nothing less. I used a router to connect to it. An upgrade path should be seamless. But SingNet decided to have a field day with me ...&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Their technical service staff have no idea it is a router modem. They kept using the term "Modem" only so I had to run around in circles figuring out why it doesnt work in the first place 
&lt;LI&gt;It gave me a router modem, with no user interface and documentation on how to use it, much less how to enable it to switch to a bridging mode. Obviously, an upgrade path is given to customers who have been on a certain older plan for x amount of time and obviously had their way of doing things. To share a ADSL connection, most people (if not all) use a router. By introducing a router modem into the picture, SingNet is forcing customers to throw their old router away. People like me have VPN rules, Firewall rules, Port Forwarding rules in this router and if it functions as a wireless access point as well, absolutely NO ONE would throw it away.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;That is not a solution. Solve my problem, SingTel. &lt;/STRONG&gt;Give customers options, SingNet. &lt;A href="http://www.softwaremaker.net/blog/BeingMoreCustomerfocusedLearningFromUnitedOverseasBank.aspx" target=_blank&gt;Follow the lead of UOB&lt;/A&gt;. A customer like me, and I am sure there MUST be hundreds of me in Singapore, at least, who were on the older plan for an x amount of time uses a current router. Then give me a pure modem, please. Give what you gave me today to those people who are looking for a router modem. Have choices. Choices are good. No choices are bad.&lt;/P&gt;
&lt;P&gt;To make things worse, after I got it all set up, I ran multiple FTP test plus the famous &lt;A href="http://www.speedtest.net" target=_blank&gt;SpeedTest&lt;/A&gt;&amp;nbsp;and found my speed to be about an average of 2900kpbs. This is only a fraction of my promised 6000kbps and even worse than my older 3500kpbs plan. If this doesnt get fixed in time, I will make sure everyone in Singapore hears about this though formal and informal complaints through chat rooms / forums and the press&lt;/P&gt;
&lt;P&gt;Gosh - when are our service providers ever going to get it right ?&lt;/P&gt;&lt;img width="0" height="0" src="http://www.softwaremaker.net/blog/cptrk.ashx?id=0e181297-f737-497e-b36a-8a115e11fc6d"&gt;&lt;img src="http://community.sgdotnet.org/aggbug.aspx?PostID=153078" width="1" height="1"&gt;</content><author><name>Softwaremaker</name><uri>http://community.sgdotnet.org/members/Softwaremaker/default.aspx</uri></author><category term="http://www.softwaremaker.net/blog" scheme="http://community.sgdotnet.org/blogs/softwaremaker/archive/tags/http_3A002F002F00_www.softwaremaker.net_2F00_blog/default.aspx" /></entry><entry><title>Speaking in our Singapore Government Public Sector Day - 22nd Oct 2007</title><link rel="alternate" type="text/html" href="/blogs/softwaremaker/archive/2007/10/02/Speaking-in-our-Singapore-Government-Public-Sector-Day-_2D00_-22nd-Oct-2007.aspx" /><id>/blogs/softwaremaker/archive/2007/10/02/Speaking-in-our-Singapore-Government-Public-Sector-Day-_2D00_-22nd-Oct-2007.aspx</id><published>2007-10-02T08:13:20Z</published><updated>2007-10-02T08:13:20Z</updated><content type="html">&lt;P&gt;This is targetted at our Singapore Government Public Sector customers and obviously this blog post is targetted at those customers who are reading this post. i-smile.&lt;/P&gt;
&lt;P&gt;I will be speaking at the above event, which will be held at our office premises. As to the topic I am speaking about, this area is something which I have been focusing of late and it really is all about architecture and the alignment of it through businesss and information technology.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;Aligning Business and IT for Greater Corporate Agility&lt;/U&gt;&lt;/STRONG&gt;&lt;BR&gt;For long, IT and Business has communicated. While they may be speaking in the same language but are they speaking in the same "dialect”?&amp;nbsp; In this session, William Tay will share his field experience as well as explore Microsoft's vision for service-oriented architecture:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;What are the best implementation approaches so that instead of being led by the business, IT strategies are driven by business needs 
&lt;LI&gt;How Microsoft supports this vision by way of an integrated platform, etc.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;If you are coming for &lt;A href="http://www.softwaremaker.net/blog/SpeakingInTheEnterpriseArchitectureConference2007InSingapore.aspx" target=_blank&gt;my session at the Enterprise Architecture Summit 2007 (18th Oct 2007)&lt;/A&gt;, which coincidentally, is also targetted at the Public Sector customers (regionally, of course), the above event on the 22nd Oct 2007&amp;nbsp;will be a good sequel to my Enterprise Architecture Summit pitch where I will be discussing in greater details on the value of the Microsoft platform to implement those business capabilities.&lt;/P&gt;&lt;img width="0" height="0" src="http://www.softwaremaker.net/blog/cptrk.ashx?id=3011e0c2-f61d-4f71-99a6-d73b1de1c304"&gt;&lt;img src="http://community.sgdotnet.org/aggbug.aspx?PostID=150749" width="1" height="1"&gt;</content><author><name>Softwaremaker</name><uri>http://community.sgdotnet.org/members/Softwaremaker/default.aspx</uri></author><category term="http://www.softwaremaker.net/blog" scheme="http://community.sgdotnet.org/blogs/softwaremaker/archive/tags/http_3A002F002F00_www.softwaremaker.net_2F00_blog/default.aspx" /></entry><entry><title>Does what happens in Facebook stay in Facebook</title><link rel="alternate" type="text/html" href="/blogs/softwaremaker/archive/2007/09/27/Does-what-happens-in-Facebook-stay-in-Facebook.aspx" /><id>/blogs/softwaremaker/archive/2007/09/27/Does-what-happens-in-Facebook-stay-in-Facebook.aspx</id><published>2007-09-27T03:00:47Z</published><updated>2007-09-27T03:00:47Z</updated><content type="html">&lt;P&gt;My friend, Chester,&amp;nbsp;shared this &lt;A href="http://www.albumoftheday.com/facebook/" target=_blank&gt;link&lt;/A&gt; with me. I am fully aware of &lt;A href="http://www.facebook.com" target=_blank&gt;Facebook&lt;/A&gt;'s privacy policies and I think that it leaves much more to be desired. This is precisely the reason why I dont share much in Facebook or dont put up incriminating pictures of myself up there.&lt;/P&gt;
&lt;P&gt;I wonder how many of the millions of people in Facebook knows about this. Come to think of it, who wouldnt do so. I would assume that the &lt;A href="http://www.broom.org/epic/" target=_blank&gt;Googles, Amazons&lt;/A&gt;, LinkedIns would love to have that kind of leverage and power, wouldnt they ?&lt;/P&gt;&lt;img width="0" height="0" src="http://www.softwaremaker.net/blog/cptrk.ashx?id=9803e33c-921f-4206-ba92-cae06b91bdca"&gt;&lt;img src="http://community.sgdotnet.org/aggbug.aspx?PostID=149559" width="1" height="1"&gt;</content><author><name>Softwaremaker</name><uri>http://community.sgdotnet.org/members/Softwaremaker/default.aspx</uri></author><category term="http://www.softwaremaker.net/blog" scheme="http://community.sgdotnet.org/blogs/softwaremaker/archive/tags/http_3A002F002F00_www.softwaremaker.net_2F00_blog/default.aspx" /></entry><entry><title>How to hack around the .svc curse</title><link rel="alternate" type="text/html" href="/blogs/softwaremaker/archive/2007/08/25/How-to-hack-around-the-.svc-curse.aspx" /><id>/blogs/softwaremaker/archive/2007/08/25/How-to-hack-around-the-.svc-curse.aspx</id><published>2007-08-25T06:06:02Z</published><updated>2007-08-25T06:06:02Z</updated><content type="html">&lt;P&gt;It was not so long ago when &lt;A href="http://www.softwaremaker.net/blog/SteveIsAskingIfTheyShouldDumpTheSvcFileExtensionsInIndigo.aspx" target=_blank&gt;I made my intentions known&lt;/A&gt; that the .svc extension in _WCF_ is really a clutz. It is obstrusive and really unnatural, especially when it comes to RESTful Web Services.&lt;/P&gt;
&lt;P&gt;In a closed door meeting with the product group folks back in 2005, before WCF rolled out and way before I joined &lt;A href="http://en.wikipedia.org/wiki/Borg" target=_blank&gt;the borg&lt;/A&gt;, I was told that this is a issue not with WCF itself, but by its web host - &lt;A href="http://en.wikipedia.org/wiki/Internet_Information_Services" target=_blank&gt;Microsoft Internet Information Server (IIS)&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;There&amp;nbsp;are&amp;nbsp;some attempts to hack around it but one of the&amp;nbsp;best I have seen is to do URL Re-Writing: Off &lt;A href="http://www.masteringbiztalk.com/blogs/jon" target=_blank&gt;Jon Flanders&lt;/A&gt; &lt;A href="http://www.masteringbiztalk.com/blogs/jon/PermaLink,guid,9e0d8d1e-ac7c-49b5-8072-bde42609f5db.aspx" target=_blank&gt;here&lt;/A&gt;. You can see from the bottom of&amp;nbsp;his post&amp;nbsp;via &lt;A href="http://blogs.thinktecture.com/cweyer" target=_blank&gt;Christian Weyer&lt;/A&gt; that this still will not work with IIS6 (damned legacies) but this will give you a good excuse to move to a &lt;A href="http://technet2.microsoft.com/windowsserver/en/library/9d93db52-0855-4161-b1d3-8581a8385f1f1033.mspx?mfr=true" target=_blank&gt;&lt;STRONG&gt;&lt;EM&gt;Better&lt;/EM&gt;&lt;/STRONG&gt;, &lt;STRONG&gt;&lt;EM&gt;Leaner&lt;/EM&gt;&lt;/STRONG&gt; and &lt;STRONG&gt;&lt;EM&gt;Meaner&lt;/EM&gt;&lt;/STRONG&gt;&lt;/A&gt; &lt;A href="http://www.microsoft.com/windowsserver2008/default.mspx" target=_blank&gt;IIS7&lt;/A&gt;, which is a &lt;A href="http://msdn.microsoft.com/msdnmag/issues/07/03/IIS7/" target=_blank&gt;complete rewrite of its predecessor&lt;/A&gt;. About time, I say.&lt;/P&gt;&lt;img width="0" height="0" src="http://www.softwaremaker.net/blog/cptrk.ashx?id=54e70119-b6be-49b6-bbdf-075ca458da68"&gt;&lt;img src="http://community.sgdotnet.org/aggbug.aspx?PostID=142055" width="1" height="1"&gt;</content><author><name>Softwaremaker</name><uri>http://community.sgdotnet.org/members/Softwaremaker/default.aspx</uri></author><category term="http://www.softwaremaker.net/blog" scheme="http://community.sgdotnet.org/blogs/softwaremaker/archive/tags/http_3A002F002F00_www.softwaremaker.net_2F00_blog/default.aspx" /></entry><entry><title>Windows Communication Foundation AND Compact Framework: Part II</title><link rel="alternate" type="text/html" href="/blogs/softwaremaker/archive/2007/08/21/Windows-Communication-Foundation-AND-the-Comact-Framework_3A00_-Part-II.aspx" /><id>/blogs/softwaremaker/archive/2007/08/21/Windows-Communication-Foundation-AND-the-Comact-Framework_3A00_-Part-II.aspx</id><published>2007-08-21T00:53:20Z</published><updated>2007-08-21T00:53:20Z</updated><content type="html">&lt;P&gt;Following up on &lt;A href="http://www.softwaremaker.net/blog/WindowsCommunicationFoundationANDCompactFramework.aspx" target=_blank&gt;this&lt;/A&gt;, here are some more aggregated shareable details with regards to the &lt;A href="http://msdn2.microsoft.com/en-us/netframework/aa497273.aspx" target=_blank&gt;Compact Framework&lt;/A&gt; 3.5:&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="COLOR:#1f497d;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;
&lt;TABLE class=MsoNormalTable style="BORDER-COLLAPSE:collapse;mso-yfti-tbllook:1184;mso-padding-alt:0in 0in 0in 0in;" cellSpacing=0 cellPadding=0&gt;

&lt;TR style="mso-yfti-irow:0;mso-yfti-firstrow:yes;"&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#9bbb59 1pt solid;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:247.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#9bbb59 1pt solid;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;Feature&lt;B&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#9bbb59 1pt solid;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:76.6pt;PADDING-TOP:0in;BORDER-BOTTOM:#9bbb59 1pt solid;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;Desktop WCF&lt;B&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#9bbb59 1pt solid;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:162.3pt;PADDING-TOP:0in;BORDER-BOTTOM:#9bbb59 1pt solid;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;Compact WCF&lt;B&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow:1;"&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;BACKGROUND:#e6eed5;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:247.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;Bindings:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;BACKGROUND:#e6eed5;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:76.6pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;BACKGROUND:#e6eed5;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:162.3pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow:2;"&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:247.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoListParagraph style="MARGIN:0in 0in 0pt 0.5in;TEXT-INDENT:-0.25in;mso-list:l0 level1 lfo1;"&gt;&lt;SPAN style="COLOR:#76923c;FONT-FAMILY:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;SPAN style="mso-list:Ignore;"&gt;·&lt;SPAN style="FONT:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;BasicHttpBinding&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:76.6pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:162.3pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow:3;"&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;BACKGROUND:#e6eed5;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:247.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;"&gt;
&lt;P class=MsoListParagraph style="MARGIN:0in 0in 0pt 0.5in;TEXT-INDENT:-0.25in;mso-list:l0 level1 lfo1;"&gt;&lt;SPAN style="COLOR:#76923c;FONT-FAMILY:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;SPAN style="mso-list:Ignore;"&gt;·&lt;SPAN style="FONT:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;CustomBinding&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;BACKGROUND:#e6eed5;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:76.6pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;BACKGROUND:#e6eed5;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:162.3pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow:4;"&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:247.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoListParagraph style="MARGIN:0in 0in 0pt 0.5in;TEXT-INDENT:-0.25in;mso-list:l0 level1 lfo1;"&gt;&lt;SPAN style="COLOR:#76923c;FONT-FAMILY:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;SPAN style="mso-list:Ignore;"&gt;·&lt;SPAN style="FONT:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;WindowsMobileMailBinding&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:76.6pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;N/A&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:162.3pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow:5;"&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;BACKGROUND:#e6eed5;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:247.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;"&gt;
&lt;P class=MsoListParagraph style="MARGIN:0in 0in 0pt 0.5in;TEXT-INDENT:-0.25in;mso-list:l0 level1 lfo1;"&gt;&lt;SPAN style="COLOR:#76923c;FONT-FAMILY:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;SPAN style="mso-list:Ignore;"&gt;·&lt;SPAN style="FONT:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;ExchangeWebServiceMailBinding&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;BACKGROUND:#e6eed5;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:76.6pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;Yes, via NetCF install&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;BACKGROUND:#e6eed5;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:162.3pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow:6;"&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:247.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;Formatters:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:76.6pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:162.3pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow:7;"&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;BACKGROUND:#e6eed5;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:247.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;"&gt;
&lt;P class=MsoListParagraph style="MARGIN:0in 0in 0pt 0.5in;TEXT-INDENT:-0.25in;mso-list:l0 level1 lfo1;"&gt;&lt;SPAN style="COLOR:#76923c;FONT-FAMILY:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;SPAN style="mso-list:Ignore;"&gt;·&lt;SPAN style="FONT:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;SoapFormatter&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;BACKGROUND:#e6eed5;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:76.6pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;BACKGROUND:#e6eed5;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:162.3pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow:8;"&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:247.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoListParagraph style="MARGIN:0in 0in 0pt 0.5in;TEXT-INDENT:-0.25in;mso-list:l0 level1 lfo1;"&gt;&lt;SPAN style="COLOR:#76923c;FONT-FAMILY:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;SPAN style="mso-list:Ignore;"&gt;·&lt;SPAN style="FONT:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;BinaryFormatter&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:76.6pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:162.3pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;No&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow:9;"&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;BACKGROUND:#e6eed5;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:247.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;Encoders:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;BACKGROUND:#e6eed5;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:76.6pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;BACKGROUND:#e6eed5;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:162.3pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow:10;"&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:247.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoListParagraph style="MARGIN:0in 0in 0pt 0.5in;TEXT-INDENT:-0.25in;mso-list:l0 level1 lfo1;"&gt;&lt;SPAN style="COLOR:#76923c;FONT-FAMILY:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;SPAN style="mso-list:Ignore;"&gt;·&lt;SPAN style="FONT:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;TextMessageEncoder&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:76.6pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:162.3pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow:11;"&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;BACKGROUND:#e6eed5;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:247.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;"&gt;
&lt;P class=MsoListParagraph style="MARGIN:0in 0in 0pt 0.5in;TEXT-INDENT:-0.25in;mso-list:l0 level1 lfo1;"&gt;&lt;SPAN style="COLOR:#76923c;FONT-FAMILY:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;SPAN style="mso-list:Ignore;"&gt;·&lt;SPAN style="FONT:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;BinaryMessageEncodingBindingElement&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;BACKGROUND:#e6eed5;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:76.6pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;BACKGROUND:#e6eed5;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:162.3pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;No&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow:12;"&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:247.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoListParagraph style="MARGIN:0in 0in 0pt 0.5in;TEXT-INDENT:-0.25in;mso-list:l0 level1 lfo1;"&gt;&lt;SPAN style="COLOR:#76923c;FONT-FAMILY:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;SPAN style="mso-list:Ignore;"&gt;·&lt;SPAN style="FONT:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;MTOMEncoder&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:76.6pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:162.3pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;No&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow:13;"&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;BACKGROUND:#e6eed5;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:247.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;"&gt;
&lt;P class=MsoListParagraph style="MARGIN:0in 0in 0pt 0.5in;TEXT-INDENT:-0.25in;mso-list:l0 level1 lfo1;"&gt;&lt;SPAN style="COLOR:#76923c;FONT-FAMILY:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;SPAN style="mso-list:Ignore;"&gt;·&lt;SPAN style="FONT:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;GzipEncoder&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;BACKGROUND:#e6eed5;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:76.6pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;No&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;BACKGROUND:#e6eed5;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:162.3pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;Sample available&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow:14;"&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:247.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;Transports:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:76.6pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:162.3pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow:15;"&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;BACKGROUND:#e6eed5;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:247.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;"&gt;
&lt;P class=MsoListParagraph style="MARGIN:0in 0in 0pt 0.5in;TEXT-INDENT:-0.25in;mso-list:l0 level1 lfo1;"&gt;&lt;SPAN style="COLOR:#76923c;FONT-FAMILY:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;SPAN style="mso-list:Ignore;"&gt;·&lt;SPAN style="FONT:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;HttpTransportBindingElement&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;BACKGROUND:#e6eed5;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:76.6pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;BACKGROUND:#e6eed5;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:162.3pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow:16;"&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:247.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoListParagraph style="MARGIN:0in 0in 0pt 0.5in;TEXT-INDENT:-0.25in;mso-list:l0 level1 lfo1;"&gt;&lt;SPAN style="COLOR:#76923c;FONT-FAMILY:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;SPAN style="mso-list:Ignore;"&gt;·&lt;SPAN style="FONT:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;HttpsTransportBindingElement&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:76.6pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:162.3pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow:17;"&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;BACKGROUND:#e6eed5;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:247.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;"&gt;
&lt;P class=MsoListParagraph style="MARGIN:0in 0in 0pt 0.5in;TEXT-INDENT:-0.25in;mso-list:l0 level1 lfo1;"&gt;&lt;SPAN style="COLOR:#76923c;FONT-FAMILY:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;SPAN style="mso-list:Ignore;"&gt;·&lt;SPAN style="FONT:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;MailTransportBindingElement&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;BACKGROUND:#e6eed5;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:76.6pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;Yes, via NetCF install&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;BACKGROUND:#e6eed5;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:162.3pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow:18;"&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:247.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoListParagraph style="MARGIN:0in 0in 0pt 0.5in;TEXT-INDENT:-0.25in;mso-list:l0 level1 lfo1;"&gt;&lt;SPAN style="COLOR:#76923c;FONT-FAMILY:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;SPAN style="mso-list:Ignore;"&gt;·&lt;SPAN style="FONT:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;MsmqTransportBindingElement&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:76.6pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:162.3pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;No&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow:19;"&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;BACKGROUND:#e6eed5;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:247.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;"&gt;
&lt;P class=MsoListParagraph style="MARGIN:0in 0in 0pt 0.5in;TEXT-INDENT:-0.25in;mso-list:l0 level1 lfo1;"&gt;&lt;SPAN style="COLOR:#76923c;FONT-FAMILY:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;SPAN style="mso-list:Ignore;"&gt;·&lt;SPAN style="FONT:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;TcpTransportBindingElement&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;BACKGROUND:#e6eed5;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:76.6pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;BACKGROUND:#e6eed5;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:162.3pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;No&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow:20;"&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:247.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoListParagraph style="MARGIN:0in 0in 0pt 0.5in;TEXT-INDENT:-0.25in;mso-list:l0 level1 lfo1;"&gt;&lt;SPAN style="COLOR:#76923c;FONT-FAMILY:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;SPAN style="mso-list:Ignore;"&gt;·&lt;SPAN style="FONT:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:76.6pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:162.3pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow:21;"&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;BACKGROUND:#e6eed5;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:247.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;XmlDictionaryReader/Writer&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;BACKGROUND:#e6eed5;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:76.6pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;BACKGROUND:#e6eed5;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:162.3pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;Yes; stub around XmlTextReader/Writer&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow:22;"&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:247.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;DataContractSerializer&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:76.6pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:162.3pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;No; but can be wire-compatible with DCS via XmlSerializer&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow:23;"&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;BACKGROUND:#e6eed5;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:247.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;Service proxy generation&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;BACKGROUND:#e6eed5;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:76.6pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;Yes; via SvcUtil.exe&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;BACKGROUND:#e6eed5;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:162.3pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;Yes; via NetCFSvcUtil.exe, not integrated into VS2008&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow:24;"&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:247.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoListParagraph style="MARGIN:0in 0in 0pt 0.5in;TEXT-INDENT:-0.25in;mso-list:l0 level1 lfo1;"&gt;&lt;SPAN style="COLOR:#76923c;FONT-FAMILY:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;SPAN style="mso-list:Ignore;"&gt;·&lt;SPAN style="FONT:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;Non-HTTP transports&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:76.6pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:162.3pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;No&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow:25;"&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;BACKGROUND:#e6eed5;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:247.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;"&gt;
&lt;P class=MsoListParagraph style="MARGIN:0in 0in 0pt 0.5in;TEXT-INDENT:-0.25in;mso-list:l0 level1 lfo1;"&gt;&lt;SPAN style="COLOR:#76923c;FONT-FAMILY:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;SPAN style="mso-list:Ignore;"&gt;·&lt;SPAN style="FONT:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;Custom headers&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;BACKGROUND:#e6eed5;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:76.6pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;BACKGROUND:#e6eed5;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:162.3pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;No&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow:26;"&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:247.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;WS-Addressing&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:76.6pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:162.3pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow:27;"&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;BACKGROUND:#e6eed5;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:247.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;WS-Security message level security&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;BACKGROUND:#e6eed5;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:76.6pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;BACKGROUND:#e6eed5;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:162.3pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow:28;"&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:247.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoListParagraph style="MARGIN:0in 0in 0pt 0.5in;TEXT-INDENT:-0.25in;mso-list:l0 level1 lfo1;"&gt;&lt;SPAN style="COLOR:#76923c;FONT-FAMILY:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;SPAN style="mso-list:Ignore;"&gt;·&lt;SPAN style="FONT:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;X.509&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:76.6pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:162.3pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow:29;"&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;BACKGROUND:#e6eed5;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:247.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;"&gt;
&lt;P class=MsoListParagraph style="MARGIN:0in 0in 0pt 0.5in;TEXT-INDENT:-0.25in;mso-list:l0 level1 lfo1;"&gt;&lt;SPAN style="COLOR:#76923c;FONT-FAMILY:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;SPAN style="mso-list:Ignore;"&gt;·&lt;SPAN style="FONT:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;Username/password&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;BACKGROUND:#e6eed5;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:76.6pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;BACKGROUND:#e6eed5;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:162.3pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;No&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow:30;"&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:247.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;WS-ReliableMessaging&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:76.6pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:162.3pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;No&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow:31;"&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;BACKGROUND:#e6eed5;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:247.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;Patterns&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;BACKGROUND:#e6eed5;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:76.6pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;BACKGROUND:#e6eed5;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:162.3pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow:32;"&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:247.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoListParagraph style="MARGIN:0in 0in 0pt 0.5in;TEXT-INDENT:-0.25in;mso-list:l0 level1 lfo1;"&gt;&lt;SPAN style="COLOR:#76923c;FONT-FAMILY:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;SPAN style="mso-list:Ignore;"&gt;·&lt;SPAN style="FONT:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;Service model&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:76.6pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:162.3pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;No&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow:33;"&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;BACKGROUND:#e6eed5;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:247.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;"&gt;
&lt;P class=MsoListParagraph style="MARGIN:0in 0in 0pt 0.5in;TEXT-INDENT:-0.25in;mso-list:l0 level1 lfo1;"&gt;&lt;SPAN style="COLOR:#76923c;FONT-FAMILY:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;SPAN style="mso-list:Ignore;"&gt;·&lt;SPAN style="FONT:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;Message layer programming&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;BACKGROUND:#e6eed5;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:76.6pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;BACKGROUND:#e6eed5;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:162.3pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow:34;"&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:247.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoListParagraph style="MARGIN:0in 0in 0pt 1in;TEXT-INDENT:-0.25in;mso-list:l0 level2 lfo1;"&gt;&lt;SPAN style="COLOR:#76923c;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Courier New';"&gt;&lt;SPAN style="mso-list:Ignore;"&gt;o&lt;SPAN style="FONT:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;Buffered messages&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:76.6pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:162.3pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;BACKGROUND-COLOR:transparent;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow:35;"&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;BACKGROUND:#e6eed5;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:247.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;"&gt;
&lt;P class=MsoListParagraph style="MARGIN:0in 0in 0pt 1in;TEXT-INDENT:-0.25in;mso-list:l0 level2 lfo1;"&gt;&lt;SPAN style="COLOR:#76923c;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Courier New';"&gt;&lt;SPAN style="mso-list:Ignore;"&gt;o&lt;SPAN style="FONT:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;Streaming messages&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0c0;PADDING-RIGHT:5.4pt;BORDER-TOP:#c0c0c0;PADDING-LEFT:5.4pt;BACKGROUND:#e6eed5;PADDING-BOTTOM:0in;BORDER-LEFT:#c0c0c0;WIDTH:76.6pt;PADDING-TOP:0in;BORDER-BOTTOM:#c0c0c0;"&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;TEXT-ALIGN:center;" align=center&gt;&lt;SPAN style="COLOR:#76923c;"&gt;&lt;FONT face=Calibri&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT:#c0c0