<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Clemens Vasters, Bldg 42 : MSDN</title><link>http://blogs.msdn.com/clemensv/archive/tags/MSDN/default.aspx</link><description>Tags: MSDN</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Good Morning. It's 2008 and I have a new job. </title><link>http://blogs.msdn.com/clemensv/archive/2008/01/11/good-morning-it-s-2008-and-i-have-a-new-job.aspx</link><pubDate>Fri, 11 Jan 2008 13:21:49 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7078215</guid><dc:creator>clemensv</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/clemensv/comments/7078215.aspx</comments><wfw:commentRss>http://blogs.msdn.com/clemensv/commentrss.aspx?PostID=7078215</wfw:commentRss><wfw:comment>http://blogs.msdn.com/clemensv/rsscomments.aspx?PostID=7078215</wfw:comment><description>&lt;P&gt;2007 I've posted some 30 entries on my blog. That's what some of the "Whoa, listen to me, I am so awesome!" blogging crowd of today typically does in a day or two. 2008 promises to be so interesting that it would be a shame not to be blogging, and hence I do. There'll be lots of things going on in tech and in the world.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Over the past year I've been very deeply involved in the still rather stealthy&amp;nbsp;project '&lt;A href="http://www.microsoft.com/soa/products/oslo.aspx"&gt;Oslo&lt;/A&gt;' about which we'll talk about in MUCH more detail throughout this year than we have at the recent conferences. When you are in a project with tight disclosure constraints there's really nothing of any substance to talk or blog about. Hence I didn't. &lt;/P&gt;
&lt;P&gt;However, since&amp;nbsp;Wednesday I have a new job. I'm now getting my hands dirty&amp;nbsp;by writing code for our Internet Service Bus infrastructure that's currently code-named &lt;A href="http://labs.biztalk.net/"&gt;'BizTalk Services'&lt;/A&gt;. Here, the rules of the game are very different. We're actually building most of the stuff out in the open and are inviting people to play with it. That's really more in the spirit of how I've been working with the community in the past and therefore I'm looking forward to the fun that's to be had in this new&amp;nbsp;team.&lt;/P&gt;
&lt;P&gt;Beware; since I gather that I've lost about 95% of my readership&amp;nbsp;of my main at &lt;A href="http://vasters.com/clemensv"&gt;http://vasters.com/clemensv&lt;/A&gt; blog due to my inactivity&amp;nbsp;I will use the opportunity to adjust the agenda and make it a "everything that I find interesting" place. Expect political opinion. My MSDN blog at &lt;A href="http://blogs.msdn.com/clemensv"&gt;http://blogs.msdn.com/clemensv&lt;/A&gt;&amp;nbsp;will get mirrored copies of the tech topics as&amp;nbsp;I've done that&amp;nbsp;since I work here at MSFT.&amp;nbsp;If you&amp;nbsp;just care about the tech stuff read the MSDN mirror.&amp;nbsp;&lt;/P&gt;&lt;img width="0" height="0" src="http://vasters.com/clemensv/cptrk.ashx?id=8d56d52c-7aba-47d9-ab6f-236d7ccd411d"&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=7078215" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/clemensv/archive/tags/MSDN/default.aspx">MSDN</category></item><item><title>SOA and Business Process Conference 2007 </title><link>http://blogs.msdn.com/clemensv/archive/2007/08/29/soa-and-business-process-conference-2007.aspx</link><pubDate>Wed, 29 Aug 2007 11:18:10 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4631464</guid><dc:creator>clemensv</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/clemensv/comments/4631464.aspx</comments><wfw:commentRss>http://blogs.msdn.com/clemensv/commentrss.aspx?PostID=4631464</wfw:commentRss><wfw:comment>http://blogs.msdn.com/clemensv/rsscomments.aspx?PostID=4631464</wfw:comment><description>&lt;P&gt;You are in North America and not in&amp;nbsp;&lt;A href="http://vasters.com/clemensv/PermaLink,guid,a1692142-3221-4ecc-8e5f-5aff2635d714.aspx"&gt;Europe&lt;/A&gt;? You want more content than&amp;nbsp;what fits into&amp;nbsp;a track at TechEd? &lt;/P&gt;
&lt;P&gt;No problem! Just come to the &lt;A href="http://www.mssoaandbpconference.com/"&gt;SOA and Business Process Conference&lt;/A&gt; that we're running October 29 - November 2 at the Microsoft Conference Center&amp;nbsp;here in Redmond.&amp;nbsp;There'll be lots of very interesting new stuff from teams across&amp;nbsp;our division&amp;nbsp;here at Microsoft. And &lt;A href="http://www.mssoaandbpconference.com/speakers.htm"&gt;our boss&lt;/A&gt; speaks, too. &lt;/P&gt;
&lt;P&gt;If distributed systems&amp;nbsp;and composite applications are your thing,&amp;nbsp;you should be here for that conference.&amp;nbsp;No debating, &lt;A href="http://www.mssoaandbpconference.com/"&gt;sign up&lt;/A&gt;&amp;nbsp;and come! &lt;/P&gt;&lt;img width="0" height="0" src="http://vasters.com/clemensv/cptrk.ashx?id=e221f471-92a2-4d0c-90ed-18733e791231"&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4631464" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/clemensv/archive/tags/MSDN/default.aspx">MSDN</category><category domain="http://blogs.msdn.com/clemensv/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://blogs.msdn.com/clemensv/archive/tags/SOA+BP+Conference/default.aspx">SOA BP Conference</category></item><item><title>Live again at TechEd Barcelona: The Steve &amp; Clemens Show </title><link>http://blogs.msdn.com/clemensv/archive/2007/08/29/live-again-at-teched-barcelona-the-steve-clemens-show.aspx</link><pubDate>Wed, 29 Aug 2007 10:47:23 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4631235</guid><dc:creator>clemensv</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/clemensv/comments/4631235.aspx</comments><wfw:commentRss>http://blogs.msdn.com/clemensv/commentrss.aspx?PostID=4631235</wfw:commentRss><wfw:comment>http://blogs.msdn.com/clemensv/rsscomments.aspx?PostID=4631235</wfw:comment><description>&lt;P&gt;Even though the &lt;A href="http://www.mseventseurope.com/teched/07/developers/Pages/default.aspx"&gt;TechEd Europe Developer&amp;nbsp;Website&lt;/A&gt; doesn't yet clearly say so, Steve Swartz and&amp;nbsp;myself&amp;nbsp;will "of course!" be back with a new set of Steve &amp;amp; Clemens talks in Barcelona for TechEd Europe Developer (November 5-9). And for the first time we'll stay for another week and also give a talk at &lt;A href="http://www.mseventseurope.com/teched/07/itforum/Pages/Default.aspx"&gt;TechEd Europe ITForum&lt;/A&gt; (November 12-16) this year. &lt;/P&gt;
&lt;P&gt;What will we talk about? &lt;/P&gt;
&lt;P&gt;Last year we've started with a history lesson, did a broad&amp;nbsp;and mostly technology agnostic overview of&amp;nbsp;distributed systems architecture across&amp;nbsp;4 talks and closed with a talk that speculated about the future. &lt;/P&gt;
&lt;P&gt;This year at the TechEd Developer show, we'll be significantly more concrete and zoom in on the technologies that make up the Microsoft SOA and Business Process platform and show how things are meant to fit together. We'll talk about the rise of declarative programming and composition and how that manifests in the .NET Framework and elsewhere. And as messaging dudes we'll also talk about messaging again. At TechEd ITForum we'll&amp;nbsp;talk about the end-to-end lifecycle of composite applications and how to manage it effectively.&lt;/P&gt;
&lt;P&gt;And of course there'll be "futures". Much less handwavy futures than last year, actually.&lt;/P&gt;
&lt;P&gt;So .... We'll be in Barcelona for TechEd. You too?&lt;/P&gt;&lt;img width="0" height="0" src="http://vasters.com/clemensv/cptrk.ashx?id=a1692142-3221-4ecc-8e5f-5aff2635d714"&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4631235" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/clemensv/archive/tags/MSDN/default.aspx">MSDN</category><category domain="http://blogs.msdn.com/clemensv/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://blogs.msdn.com/clemensv/archive/tags/TechEd+Europe/default.aspx">TechEd Europe</category></item><item><title>LiveID + CardSpace</title><link>http://blogs.msdn.com/clemensv/archive/2007/08/27/liveid-cardspace.aspx</link><pubDate>Mon, 27 Aug 2007 18:58:21 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4600287</guid><dc:creator>clemensv</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/clemensv/comments/4600287.aspx</comments><wfw:commentRss>http://blogs.msdn.com/clemensv/commentrss.aspx?PostID=4600287</wfw:commentRss><wfw:comment>http://blogs.msdn.com/clemensv/rsscomments.aspx?PostID=4600287</wfw:comment><description>&lt;P&gt;&lt;A href="http://winliveid.spaces.live.com/blog/cns!AEE1BB0D86E23AAC!931.entry"&gt;Check this out&lt;/A&gt;.&lt;/P&gt;&lt;img width="0" height="0" src="http://vasters.com/clemensv/cptrk.ashx?id=48f3d81b-61f9-4bd5-99d5-8624bfcd0b5e"&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4600287" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/clemensv/archive/tags/MSDN/default.aspx">MSDN</category><category domain="http://blogs.msdn.com/clemensv/archive/tags/CardSpace/default.aspx">CardSpace</category></item><item><title>Sin, Sin, Sin: How to do Simple, Webby, and Completely Insecure ASP.NET Membership Authentication and Role Authorization with WCF</title><link>http://blogs.msdn.com/clemensv/archive/2007/08/22/sin-sin-sin-how-to-do-simple-webby-and-completely-insecure-asp-net-membership-authentication-and-role-authorization-with-wcf.aspx</link><pubDate>Wed, 22 Aug 2007 11:20:05 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4513313</guid><dc:creator>clemensv</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/clemensv/comments/4513313.aspx</comments><wfw:commentRss>http://blogs.msdn.com/clemensv/commentrss.aspx?PostID=4513313</wfw:commentRss><wfw:comment>http://blogs.msdn.com/clemensv/rsscomments.aspx?PostID=4513313</wfw:comment><description>&lt;P&gt;We're all sinners. Lots of the authentication mechanisms on the Web are not even "best effort", but rather just cleartext transmissions of usernames and passwords that are easily intercepted and not secure at all. We're security sinners by using them and even more so by allowing this.&amp;nbsp;However,&amp;nbsp;the reality is that there's very likely more authentication on the Web done in an insecure fashion and in&amp;nbsp;cleartext than using any other mechanism. So if you are building WCF apps and you decide "that's good enough" what to do?&lt;/P&gt;
&lt;P&gt;WCF is - rightfully - taking a pretty hard stance on these matters.&amp;nbsp;If you try to use any of the&amp;nbsp;more advanced&amp;nbsp;in-message authN and authZ mechnanisms such as the &lt;A href="http://msdn2.microsoft.com/en-us/library/ms731049.aspx"&gt;integration with the ASP.NET membership&lt;/A&gt;/&lt;A href="http://msdn2.microsoft.com/en-us/library/aa702542.aspx"&gt;role provider&lt;/A&gt; models, you'll find yourself in security territory and our security designers took very good care that you are not creating a config that&amp;nbsp;results in the cleartext transmission of credentials.&amp;nbsp;And for that you'll need certificates and you'll also find that it requires full trust (even in 3.5) to use that level of robust on-wire security. &lt;/P&gt;
&lt;P&gt;dasBlog has (we're sinners, too)&amp;nbsp;a stance on authentication that's about as lax as everyone else's stance in blog-land.&amp;nbsp;There are not many&amp;nbsp;MetaWeblog API endpoints running over https (as&amp;nbsp;they rather&amp;nbsp;should) that I've seen.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So what I need for a bare minimum dasBlog install where the user isn't willing to get an https certificate for their site is a very simple, &lt;STRONG&gt;consciously insecure&lt;/STRONG&gt;, bare-bones authentication and authorization mechanism for WCF services that uses the ASP.NET membership/role model (dasBlog will use that model as we switch to the .NET Framework 3.5 later this year). The It also needs to get completely out of the way when the service is configured with any real AuthN/AuthZ mechanism. &lt;/P&gt;
&lt;P&gt;So here's a behavior (some C# 3.0 syntax, but easy to fix) that you can add to channel factories (client) and service endpoints (server) that will do just that. &lt;STRONG&gt;If you care about confidentiality of credentials on the wire don't use it&lt;/STRONG&gt;. For this to work, you need to put&amp;nbsp;the behavior&amp;nbsp;on both ends.&amp;nbsp;The behavior will do nothing (as intended) when the binding isn't the &lt;EM&gt;BasicHttpBinding&lt;/EM&gt; with &lt;EM&gt;BasicHttpSecurityMode.None&lt;/EM&gt;). The header will&amp;nbsp;not show up in WSDL. &lt;/P&gt;
&lt;P&gt;On the client, you simply&amp;nbsp;add the behavior and otherwise set the credentials as you would usually do for UserName authentication. This makes sure that the client code stays compatible when you upgrade the wire protocol to&amp;nbsp;a&amp;nbsp;more secure (yet still username-based)&amp;nbsp;binding via config.&lt;/P&gt;&lt;FONT size=4&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#2b91af&gt;MyClient&lt;/FONT&gt;&amp;nbsp;remoteService = &lt;FONT color=#0000ff&gt;new&lt;/FONT&gt; &lt;FONT color=#2b91af&gt;MyClient&lt;/FONT&gt;();&lt;BR&gt;remoteService.ChannelFactory.Endpoint.Behaviors.Add(&lt;FONT color=#0000ff&gt;new&lt;/FONT&gt; &lt;FONT color=#2b91af&gt;SimpleAuthenticationBehavior&lt;/FONT&gt;());&lt;BR&gt;remoteService.ClientCredentials.UserName.UserName = &lt;FONT color=#a31515&gt;"admin"&lt;/FONT&gt;;&lt;BR&gt;remoteService.ClientCredentials.UserName.Password = &lt;FONT color=#a31515&gt;"!adminadmin"&lt;/FONT&gt;;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;On the server, you just configure your ASP.NET membership and role database. With that in place, you can even use role-based security attributes&amp;nbsp;or any other authorization mechnanism you are accustomed to in ASP.NET. Just&amp;nbsp;as on the client, the behavior goes out of the way and gives way for the "real thing" once you turn on security.&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 8pt; COLOR: blue; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;using&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 8pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;FONT color=#000000&gt; System.Runtime.Serialization;&lt;BR&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;using&lt;/SPAN&gt;&lt;FONT color=#000000&gt; System.ServiceModel;&lt;BR&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;using&lt;/SPAN&gt;&lt;FONT color=#000000&gt; System.ServiceModel.Channels;&lt;BR&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;using&lt;/SPAN&gt;&lt;FONT color=#000000&gt; System.ServiceModel.Description;&lt;BR&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;using&lt;/SPAN&gt;&lt;FONT color=#000000&gt; System.ServiceModel.Dispatcher;&lt;BR&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;using&lt;/SPAN&gt;&lt;FONT color=#000000&gt; System.ServiceModel.Security;&lt;BR&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;using&lt;/SPAN&gt;&lt;FONT color=#000000&gt; System.Threading;&lt;BR&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;using&lt;/SPAN&gt;&lt;FONT color=#000000&gt; System.Web.Security;&lt;BR&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;using&lt;/SPAN&gt;&lt;FONT color=#000000&gt; System.Xml.Serialization;&lt;BR&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;namespace&lt;/SPAN&gt;&lt;FONT color=#000000&gt; dasBlog.Storage&lt;BR&gt;{&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;[&lt;/FONT&gt;&lt;SPAN style="COLOR: #2b91af"&gt;DataContract&lt;/SPAN&gt;&lt;FONT color=#000000&gt;(Namespace = &lt;/FONT&gt;&lt;SPAN style="COLOR: #2b91af"&gt;Names&lt;/SPAN&gt;&lt;FONT color=#000000&gt;.DataContractNamespace)]&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;class&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: #2b91af"&gt;SimpleAuthenticationHeader&lt;BR&gt;&lt;/SPAN&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;[&lt;/FONT&gt;&lt;SPAN style="COLOR: #2b91af"&gt;DataMember&lt;/SPAN&gt;&lt;FONT color=#000000&gt;]&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt;&lt;FONT color=#000000&gt; UserName;&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;[&lt;/FONT&gt;&lt;SPAN style="COLOR: #2b91af"&gt;DataMember&lt;/SPAN&gt;&lt;FONT color=#000000&gt;]&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt;&lt;FONT color=#000000&gt; Password;&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;BR&gt;&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;class&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: #2b91af"&gt;SimpleAuthenticationBehavior&lt;/SPAN&gt;&lt;FONT color=#000000&gt; : &lt;/FONT&gt;&lt;SPAN style="COLOR: #2b91af"&gt;IEndpointBehavior&lt;BR&gt;&lt;/SPAN&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;BR&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;#region&lt;/SPAN&gt;&lt;FONT color=#000000&gt; IEndpointBehavior Members&lt;BR&gt;&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;void&lt;/SPAN&gt;&lt;FONT color=#000000&gt; AddBindingParameters(&lt;/FONT&gt;&lt;SPAN style="COLOR: #2b91af"&gt;ServiceEndpoint&lt;/SPAN&gt;&lt;FONT color=#000000&gt; endpoint,&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;SPAN style="COLOR: #2b91af"&gt;BindingParameterCollection&lt;/SPAN&gt;&lt;FONT color=#000000&gt; bindingParameters)&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;BR&gt;&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;void&lt;/SPAN&gt;&lt;FONT color=#000000&gt; ApplyClientBehavior(&lt;/FONT&gt;&lt;SPAN style="COLOR: #2b91af"&gt;ServiceEndpoint&lt;/SPAN&gt;&lt;FONT color=#000000&gt; endpoint,&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;SPAN style="COLOR: #2b91af"&gt;ClientRuntime&lt;/SPAN&gt;&lt;FONT color=#000000&gt; clientRuntime)&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt;&lt;FONT color=#000000&gt; (endpoint.Binding &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;is&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: #2b91af"&gt;BasicHttpBinding&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &amp;amp;&amp;amp;&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;((&lt;/FONT&gt;&lt;SPAN style="COLOR: #2b91af"&gt;BasicHttpBinding&lt;/SPAN&gt;&lt;FONT color=#000000&gt;)endpoint.Binding).Security.Mode == &lt;/FONT&gt;&lt;SPAN style="COLOR: #2b91af"&gt;BasicHttpSecurityMode&lt;/SPAN&gt;&lt;FONT color=#000000&gt;.None )&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;var&lt;/SPAN&gt;&lt;FONT color=#000000&gt; credentials = endpoint.Behaviors.Find&amp;lt;&lt;/FONT&gt;&lt;SPAN style="COLOR: #2b91af"&gt;ClientCredentials&lt;/SPAN&gt;&lt;FONT color=#000000&gt;&amp;gt;();&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt;&lt;FONT color=#000000&gt; (credentials != &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;null&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &amp;amp;&amp;amp; credentials.UserName != &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;null&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &amp;amp;&amp;amp; credentials.UserName.UserName != &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;null&lt;/SPAN&gt;&lt;FONT color=#000000&gt;)&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;clientRuntime.MessageInspectors.Add(&lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: #2b91af"&gt;ClientMessageInspector&lt;/SPAN&gt;&lt;FONT color=#000000&gt;(credentials.UserName));&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;BR&gt;&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;void&lt;/SPAN&gt;&lt;FONT color=#000000&gt; ApplyDispatchBehavior(&lt;/FONT&gt;&lt;SPAN style="COLOR: #2b91af"&gt;ServiceEndpoint&lt;/SPAN&gt;&lt;FONT color=#000000&gt; endpoint, System.ServiceModel.Dispatcher.&lt;/FONT&gt;&lt;SPAN style="COLOR: #2b91af"&gt;EndpointDispatcher&lt;/SPAN&gt;&lt;FONT color=#000000&gt; endpointDispatcher)&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt;&lt;FONT color=#000000&gt; (endpoint.Binding &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;is&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: #2b91af"&gt;BasicHttpBinding&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &amp;amp;&amp;amp;&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;((&lt;/FONT&gt;&lt;SPAN style="COLOR: #2b91af"&gt;BasicHttpBinding&lt;/SPAN&gt;&lt;FONT color=#000000&gt;)endpoint.Binding).Security.Mode == &lt;/FONT&gt;&lt;SPAN style="COLOR: #2b91af"&gt;BasicHttpSecurityMode&lt;/SPAN&gt;&lt;FONT color=#000000&gt;.None)&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;endpointDispatcher.DispatchRuntime.MessageInspectors.Add(&lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: #2b91af"&gt;DispatchMessageInspector&lt;/SPAN&gt;&lt;FONT color=#000000&gt;());&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;BR&gt;&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;void&lt;/SPAN&gt;&lt;FONT color=#000000&gt; Validate(&lt;/FONT&gt;&lt;SPAN style="COLOR: #2b91af"&gt;ServiceEndpoint&lt;/SPAN&gt;&lt;FONT color=#000000&gt; endpoint)&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;BR&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;#endregion&lt;BR&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;FONT color=#000000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;class&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: #2b91af"&gt;DispatchMessageInspector&lt;/SPAN&gt;&lt;FONT color=#000000&gt; : &lt;/FONT&gt;&lt;SPAN style="COLOR: #2b91af"&gt;IDispatchMessageInspector&lt;BR&gt;&lt;/SPAN&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;BR&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;#region&lt;/SPAN&gt;&lt;FONT color=#000000&gt; IDispatchMessageInspector Members&lt;BR&gt;&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;object&lt;/SPAN&gt;&lt;FONT color=#000000&gt; AfterReceiveRequest(&lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;ref&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: #2b91af"&gt;Message&lt;/SPAN&gt;&lt;FONT color=#000000&gt; request, &lt;/FONT&gt;&lt;SPAN style="COLOR: #2b91af"&gt;IClientChannel&lt;/SPAN&gt;&lt;FONT color=#000000&gt; channel, &lt;/FONT&gt;&lt;SPAN style="COLOR: #2b91af"&gt;InstanceContext&lt;/SPAN&gt;&lt;FONT color=#000000&gt; instanceContext)&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;int&lt;/SPAN&gt;&lt;FONT color=#000000&gt; headerIndex = request.Headers.FindHeader(&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;"simpleAuthenticationHeader"&lt;/SPAN&gt;&lt;FONT color=#000000&gt;, &lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;"http://dasblog.info/2007/08/security"&lt;/SPAN&gt;&lt;FONT color=#000000&gt;);&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt;&lt;FONT color=#000000&gt; (headerIndex &amp;gt;= 0)&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;var&lt;/SPAN&gt;&lt;FONT color=#000000&gt; header = request.Headers.GetHeader&amp;lt;&lt;/FONT&gt;&lt;SPAN style="COLOR: #2b91af"&gt;SimpleAuthenticationHeader&lt;/SPAN&gt;&lt;FONT color=#000000&gt;&amp;gt;(headerIndex);&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;request.Headers.RemoveAt(headerIndex);&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt;&lt;FONT color=#000000&gt; ( &lt;/FONT&gt;&lt;SPAN style="COLOR: #2b91af"&gt;Membership&lt;/SPAN&gt;&lt;FONT color=#000000&gt;.ValidateUser(header.UserName, header.Password) )&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;var&lt;/SPAN&gt;&lt;FONT color=#000000&gt; identity = &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: #2b91af"&gt;FormsIdentity&lt;/SPAN&gt;&lt;FONT color=#000000&gt;(&lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: #2b91af"&gt;FormsAuthenticationTicket&lt;/SPAN&gt;&lt;FONT color=#000000&gt;(header.UserName, &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;false&lt;/SPAN&gt;&lt;FONT color=#000000&gt;, 15));&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: #2b91af"&gt;Thread&lt;/SPAN&gt;&lt;FONT color=#000000&gt;.CurrentPrincipal = &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: #2b91af"&gt;RolePrincipal&lt;/SPAN&gt;&lt;FONT color=#000000&gt;(identity);&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;return&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;null&lt;/SPAN&gt;&lt;FONT color=#000000&gt;;&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;BR&gt;&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;void&lt;/SPAN&gt;&lt;FONT color=#000000&gt; BeforeSendReply(&lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;ref&lt;/SPAN&gt;&lt;FONT color=#000000&gt; System.ServiceModel.Channels.&lt;/FONT&gt;&lt;SPAN style="COLOR: #2b91af"&gt;Message&lt;/SPAN&gt;&lt;FONT color=#000000&gt; reply, &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;object&lt;/SPAN&gt;&lt;FONT color=#000000&gt; correlationState)&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;BR&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;#endregion&lt;BR&gt;&lt;/SPAN&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;BR&gt;&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;class&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: #2b91af"&gt;ClientMessageInspector&lt;/SPAN&gt;&lt;FONT color=#000000&gt; : &lt;/FONT&gt;&lt;SPAN style="COLOR: #2b91af"&gt;IClientMessageInspector&lt;BR&gt;&lt;/SPAN&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;BR&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;#region&lt;/SPAN&gt;&lt;FONT color=#000000&gt; IClientMessageInspector Members&lt;BR&gt;&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: #2b91af"&gt;UserNamePasswordClientCredential&lt;/SPAN&gt;&lt;FONT color=#000000&gt; creds;&lt;BR&gt;&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt;&lt;FONT color=#000000&gt; ClientMessageInspector(&lt;/FONT&gt;&lt;SPAN style="COLOR: #2b91af"&gt;UserNamePasswordClientCredential&lt;/SPAN&gt;&lt;FONT color=#000000&gt; creds)&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;this&lt;/SPAN&gt;&lt;FONT color=#000000&gt;.creds = creds;&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;BR&gt;&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;void&lt;/SPAN&gt;&lt;FONT color=#000000&gt; AfterReceiveReply(&lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;ref&lt;/SPAN&gt;&lt;FONT color=#000000&gt; System.ServiceModel.Channels.&lt;/FONT&gt;&lt;SPAN style="COLOR: #2b91af"&gt;Message&lt;/SPAN&gt;&lt;FONT color=#000000&gt; reply, &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;object&lt;/SPAN&gt;&lt;FONT color=#000000&gt; correlationState)&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;BR&gt;&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;object&lt;/SPAN&gt;&lt;FONT color=#000000&gt; BeforeSendRequest(&lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;ref&lt;/SPAN&gt;&lt;FONT color=#000000&gt; System.ServiceModel.Channels.&lt;/FONT&gt;&lt;SPAN style="COLOR: #2b91af"&gt;Message&lt;/SPAN&gt;&lt;FONT color=#000000&gt; request, &lt;/FONT&gt;&lt;SPAN style="COLOR: #2b91af"&gt;IClientChannel&lt;/SPAN&gt;&lt;FONT color=#000000&gt; channel)&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;request.Headers.Add(&lt;/FONT&gt;&lt;SPAN style="COLOR: #2b91af"&gt;MessageHeader&lt;/SPAN&gt;&lt;FONT color=#000000&gt;.CreateHeader(&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;"simpleAuthenticationHeader"&lt;/SPAN&gt;&lt;FONT color=#000000&gt;, &lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;&lt;A href="http://dasblog.info/2007/08/security"&gt;http://dasblog.info/2007/08/security&lt;/A&gt;&lt;/SPAN&gt;&lt;FONT color=#000000&gt;, &lt;BR&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: #2b91af"&gt;SimpleAuthenticationHeader&lt;/SPAN&gt;&lt;FONT color=#000000&gt;{ UserName = creds.UserName, Password = creds.Password }));&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;return&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;null&lt;/SPAN&gt;&lt;FONT color=#000000&gt;;&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;BR&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;#endregion&lt;BR&gt;&lt;/SPAN&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;BR&gt;}&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img width="0" height="0" src="http://vasters.com/clemensv/cptrk.ashx?id=3cc59a29-0e1a-487d-8b45-10ea559ef30d"&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4513313" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/clemensv/archive/tags/WCF/default.aspx">WCF</category><category domain="http://blogs.msdn.com/clemensv/archive/tags/MSDN/default.aspx">MSDN</category></item><item><title>XML-RPC with WCF</title><link>http://blogs.msdn.com/clemensv/archive/2007/08/21/xml-rpc-with-wcf.aspx</link><pubDate>Tue, 21 Aug 2007 01:46:33 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4494791</guid><dc:creator>clemensv</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/clemensv/comments/4494791.aspx</comments><wfw:commentRss>http://blogs.msdn.com/clemensv/commentrss.aspx?PostID=4494791</wfw:commentRss><wfw:comment>http://blogs.msdn.com/clemensv/rsscomments.aspx?PostID=4494791</wfw:comment><description>&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#ff1493&gt;UPDATE:&lt;/FONT&gt; The code has been updated. Ignore this post and &lt;A href="http://vasters.com/clemensv/PermaLink,guid,679ca50b-c907-4831-81c4-369ef7b85839.aspx"&gt;go here&lt;/A&gt;.&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;I'm writing lots of code&amp;nbsp;lately. I've rejoined the dasBlog community and I'm busy&amp;nbsp;writing a prototype for the .NET Framework 3.5 version of dasBlog (we just released the 2.0 version, see &lt;A href="http://www.dasblog.info/"&gt;http://www.dasblog.info/&lt;/A&gt;).&lt;/P&gt;
&lt;P&gt;One of the&amp;nbsp;goals of the prototype, which we'll eventually merge into the main codebase once&amp;nbsp;the .NET Framework 3.5 is available at hosting sites is to standardize on WCF for all non-HTML endpoints. Since lots of the relevant inter-blog and blogging tool APIs&amp;nbsp;are still based on XML-RPC, that called for an implementation of XML-RPC on WCF. I've just isolated that code and &lt;A href="http://wcf.netfx3.com/files/folders/creating_and_using_custom_bindings/entry11943.aspx"&gt;put it up on wcf.netfx3.com&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;My XML-RPC implementation is a binding with a special encoder and a set of behaviors. The Service Model programming experience is completely "normal" with no special extension attributes. That means you can also expose the XML-RPC contracts as SOAP endpoints with all the advanced WCF bindings and features if you like. &lt;/P&gt;
&lt;P&gt;The binding&amp;nbsp;supports client and service side and is completely config enabled.&amp;nbsp;Here's a snippet from the MetaWeblog contract:&lt;/P&gt;&lt;FONT size=4&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;[&lt;FONT color=#2b91af&gt;ServiceContract&lt;/FONT&gt;(Namespace = &lt;FONT color=#a31515&gt;&lt;A href="http://www.xmlrpc.com/metaWeblogApi"&gt;http://www.xmlrpc.com/metaWeblogApi&lt;/A&gt;&lt;/FONT&gt;)]&lt;BR&gt;&lt;FONT color=#0000ff&gt;public&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;interface&lt;/FONT&gt; &lt;FONT color=#2b91af&gt;IMetaWeblog&lt;/FONT&gt; : Microsoft.ServiceModel.Samples.XmlRpc.Contracts.Blogger.&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#2b91af&gt;IBlogger&lt;BR&gt;&lt;/FONT&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp; [&lt;FONT color=#2b91af&gt;OperationContract&lt;/FONT&gt;(Action=&lt;FONT color=#a31515&gt;"metaWeblog.editPost"&lt;/FONT&gt;)]&lt;BR&gt;&lt;FONT color=#0000ff&gt;&amp;nbsp;&amp;nbsp; bool&lt;/FONT&gt; metaweblog_editPost(&lt;FONT color=#0000ff&gt;string&lt;/FONT&gt; postid,&lt;BR&gt;&lt;FONT color=#0000ff&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string&lt;/FONT&gt; username,&lt;BR&gt;&lt;FONT color=#0000ff&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;string&lt;/FONT&gt; password,&lt;BR&gt;&lt;FONT color=#2b91af&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Post&lt;/FONT&gt; post,&lt;BR&gt;&lt;FONT color=#0000ff&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bool&lt;/FONT&gt; publish);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;&amp;nbsp; [&lt;FONT color=#2b91af&gt;OperationContract&lt;/FONT&gt;(Action=&lt;FONT color=#a31515&gt;"metaWeblog.getCategories"&lt;/FONT&gt;)]&lt;BR&gt;&lt;FONT color=#2b91af&gt;&amp;nbsp;&amp;nbsp; CategoryInfo&lt;/FONT&gt;[] metaweblog_getCategories(&lt;FONT color=#0000ff&gt; string&lt;/FONT&gt; blogid,&lt;BR&gt;&lt;FONT color=#0000ff&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string&lt;/FONT&gt; username,&lt;BR&gt;&lt;FONT color=#0000ff&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string&lt;/FONT&gt; password);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;BR&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;}&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;For your convenience I've included&amp;nbsp;complete Blogger, MetaWeblog, and MovableType API contracts along with the respective data types in the test application. The test app is a small in-memory blog that you can use with the blogging function of Word 2007 as a client or some other blogging client for testing. &lt;/P&gt;
&lt;P&gt;Of the other interesting XML-RPC APIs, the &lt;A href="http://www.hixie.ch/specs/pingback/pingback"&gt;Pingback API&lt;/A&gt; has the following contract:&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: Consolas; FONT-SIZE: 8pt; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA; mso-no-proof: yes"&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;[&lt;/FONT&gt;&lt;SPAN style="COLOR: #2b91af"&gt;ServiceContract&lt;/SPAN&gt;&lt;FONT color=#000000&gt;(Namespace=&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;"http://www.hixie.ch/specs/pingback/pingback"&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000000&gt;)]&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;interface&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: #2b91af"&gt;&lt;FONT size=2 face="Courier New"&gt;IPingback&lt;BR&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;[&lt;/FONT&gt;&lt;SPAN style="COLOR: #2b91af"&gt;OperationContract&lt;/SPAN&gt;&lt;FONT color=#000000&gt;(Action=&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;"pingback.ping"&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000000&gt;)]&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt;&lt;FONT color=#000000&gt; ping(&lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt;&lt;FONT color=#000000&gt; sourceUri, &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000000&gt; targetUri);&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: Consolas; FONT-SIZE: 8pt; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA; mso-no-proof: yes"&gt;&lt;FONT size=2 face=Verdana&gt;and the &lt;A href="http://www.xmlrpc.com/weblogsCom"&gt;WeblogUpdates API&lt;/A&gt; looks like this:&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: Consolas; FONT-SIZE: 8pt; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA; mso-no-proof: yes"&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: Consolas; FONT-SIZE: 8pt; mso-bidi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&lt;/FONT&gt;&lt;SPAN style="COLOR: #2b91af"&gt;DataContract&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt;]&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;struct&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: #2b91af"&gt;&lt;FONT size=2 face="Courier New"&gt;WeblogUpdatesReply&lt;BR&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;[&lt;/FONT&gt;&lt;SPAN style="COLOR: #2b91af"&gt;DataMember&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt;]&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;bool&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt; flerror;&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;[&lt;/FONT&gt;&lt;SPAN style="COLOR: #2b91af"&gt;DataMember&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt;]&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt; message;&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;BR&gt;&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;[&lt;/FONT&gt;&lt;SPAN style="COLOR: #2b91af"&gt;ServiceContract&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt;]&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;interface&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: #2b91af"&gt;&lt;FONT size=2 face="Courier New"&gt;IWeblogUpdates&lt;BR&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;[&lt;/FONT&gt;&lt;SPAN style="COLOR: #2b91af"&gt;OperationContract&lt;/SPAN&gt;&lt;FONT color=#000000&gt;(Action = &lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;"weblogUpdates.extendedPing"&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt;)]&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: #2b91af"&gt;WeblogUpdatesReply&lt;/SPAN&gt;&lt;FONT color=#000000&gt; ExtendedPing(&lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt;&lt;FONT color=#000000&gt; weblogName, &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt;&lt;FONT color=#000000&gt; weblogUrl, &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt;&lt;FONT color=#000000&gt; checkUrl, &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt; rssUrl);&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;[&lt;/FONT&gt;&lt;SPAN style="COLOR: #2b91af"&gt;OperationContract&lt;/SPAN&gt;&lt;FONT color=#000000&gt;(Action=&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;"weblogUpdates.ping"&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt;)]&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: #2b91af"&gt;WeblogUpdatesReply&lt;/SPAN&gt;&lt;FONT color=#000000&gt; Ping(&lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt;&lt;FONT color=#000000&gt; weblogName, &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2 face="Courier New"&gt; weblogUrl);&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;/SPAN&gt;I'm expecting some interop bugs since I've done a clean implementation from the specs, so if you find any please let me know.&lt;/P&gt;
&lt;P&gt;The code is subject to the Microsoft samples license, which means that you can put it into your (blogging) apps. Enjoy.&lt;/P&gt;&lt;img width="0" height="0" src="http://vasters.com/clemensv/cptrk.ashx?id=9677a491-9037-4b79-baa3-bcf093737957"&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4494791" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/clemensv/archive/tags/WCF/default.aspx">WCF</category><category domain="http://blogs.msdn.com/clemensv/archive/tags/MSDN/default.aspx">MSDN</category></item><item><title>TweetieBot - A BizTalk Services Experiment</title><link>http://blogs.msdn.com/clemensv/archive/2007/05/16/tweetiebot-a-biztalk-services-experiment.aspx</link><pubDate>Wed, 16 May 2007 22:33:48 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2678944</guid><dc:creator>clemensv</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/clemensv/comments/2678944.aspx</comments><wfw:commentRss>http://blogs.msdn.com/clemensv/commentrss.aspx?PostID=2678944</wfw:commentRss><wfw:comment>http://blogs.msdn.com/clemensv/rsscomments.aspx?PostID=2678944</wfw:comment><description>&lt;P&gt;&lt;IMG style="FLOAT: left" src="http://vasters.com/clemensv/content/binary/image00112345678910111213.jpg" border=0&gt;Having an &lt;A href="http://vasters.com/clemensv/PermaLink,guid,842e5373-60c1-4390-b820-00dba8b0cb4c.aspx"&gt;Internet Service Bus&lt;/A&gt; up in the cloud is not very entertaining unless there are services in the bus. Therefore, I built one (and already showed some of the &lt;A href="http://vasters.com/clemensv/PermaLink,guid,603e2393-c8de-40dd-b2e9-88f504b44149.aspx"&gt;code basics&lt;/A&gt;) that’s hopefully fun to play with and will soon share the first version with you after some scrubbing and pending a few updates to the ISB that will optimize the authentication process. It’s a 0.1 version and an experiment. The code download should be ready in the next two weeks, including those adjustments. But you can actually play with parts of it today without compiling or installing anything. The info is at the bottom of this post.&lt;/P&gt;
&lt;P&gt;To make matters really interesting, this sample not only shows how to plug a service into the cloud and call it from some Console app, but is a combo of two rather unusual hosts for WCF services: A Windows Live Messenger Add-In that acts as the server, and a Windows Vista Sidebar gadget that acts as the client. &lt;/P&gt;
&lt;P&gt;Since the Silicon Valley scene is currently all over &lt;A href="http://www.twitter.com/"&gt;Twitter&lt;/A&gt; and clones of Twitter are apparently popping up &lt;A href="http://www.techcrunch.com/2007/05/14/web-2-in-germany-copy-paste-innovation-or-more/"&gt;somewhere every day&lt;/A&gt;, I thought I could easily provide fodder to the proponents of the alleged Microsoft tradition of purely relying on copying other’s ideas and clone them as well ;-)&amp;nbsp; Well, no, maybe not. This is a bit different. &lt;/P&gt;
&lt;P&gt;&lt;IMG style="FLOAT: right" src="http://vasters.com/clemensv/content/binary/image0021234567891011121314.jpg" border=0&gt;TweetieBot is an example of a simple personal service. If you choose to host it, you own it, you run it, you control it. The data is held nowhere but on your personal machine and it’s using the BizTalk Services ISB to stick its head up into the cloud and at a stable endpoint so that its easily reachable for a circle of friends, bridging the common obstacles of dynamic IPs, firewalls and NAT. No need to use UPnP or open up ports on your router. If you choose to do so, you can encrypt traffic so that there’s no chance that anyone looking at our ISB nor anyone else can see the what’s actually going across the wire. &lt;/P&gt;
&lt;P&gt;Right now, lots of the Web 2.0 world lives on the assumption that everything needs to live at central places and that community forms around ad-driven hubs. The mainframe folks had a similar stance in the 70s and 80s and then Personal Computers came along. The pendulum is always swinging and I have little doubt that it will swing back to “personal” once more and that the federation of personal services will seriously challenge the hub model once more.&lt;/P&gt;
&lt;P&gt;So what does the sample do? As indicated, TweetieBot is a bot that plugs into a Windows Live Messenger using a simple Add-In. &lt;A href="http://community.bartdesmet.net/blogs/bart/archive/2006/09/17/4431.aspx"&gt;Bart De Smet&lt;/A&gt; has a brilliant summary for how to build such Add-Ins. When the Add-In is active and someone chats the bot, it answers politely and remembers the chat line, time and sender. The bird has a leaky long term memory, though. It forgets everything past the last 40 lines.&lt;/P&gt;
&lt;P&gt;Where it gets interesting is that the Add-In can stick three endpoints into the BizTalk Services ISB:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;A Request/Response Web Service that allows retrieving the list of the last 40 (or less) “tweets” and also allows client to submit tweets programmatically. 
&lt;LI&gt;An RSS service that allows (right now) anyone to peek in to the chat log of the last 40 tweets. 
&lt;LI&gt;An Event service that allows subscribers to get real-time notifications whenever a new tweet is recorded.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;The accompanying Sidebar Gadget, which is implemented &lt;A href="http://blogs.msdn.com/karstenj/archive/2006/10/09/activex-wpf-gadget.aspx"&gt;using WPF&lt;/A&gt;, is a client for two of these services. &lt;/P&gt;
&lt;P&gt;&lt;IMG style="FLOAT: left" src="http://vasters.com/clemensv/content/binary/image00312345678910.jpg" border=0&gt;&amp;nbsp;&lt;IMG style="FLOAT: right" src="http://vasters.com/clemensv/content/binary/image00412345.jpg" border=0&gt;When you drop the Gadget on the Sidebar, it will prompt for the IM address of the TweetieBot service you’d like to subscribe to. Once you’ve authenticated at the relay using your registered Information Card, the gadget will pull and show the current list of Tweets and subscribe to the Events service for real-time updates. And whenever someone chats the bot, the Sidebar gadget will immediately show the new entry. So even though the Gadget lives on some client machine that’s hidden between several layers of firewalls and behind NAT, it can actually get push-style event notifications through the cloud! &lt;/P&gt;
&lt;P&gt;“How do I send events to clients?” must be one of the most frequent questions that I’ve been asked about Web Services in the past several years. Well, this is your answer right here.&lt;/P&gt;
&lt;P&gt;While I’m still toying around with the code and the guys on the 1st floor in my building are doing some tweaks on the ISB infrastructure to make multi-endpoint authentication simpler, you can already play with the bot and help me a bit: &lt;/P&gt;
&lt;P&gt;Using Windows Live Messenger you can chat (&lt;A href="msnim:chat?contact=TweetieBot@hotmail.com"&gt;click here&lt;/A&gt;) &lt;A href="mailto:tweetiebot@hotmail.com"&gt;tweetiebot@hotmail.com&lt;/A&gt; &lt;B&gt;now&lt;/B&gt;. Drop a few lines. If the bot is online (which means that I’m not tinkering with it) it will reply. Then look at this &lt;A href="http://connect.biztalk.net/services/tweetiebot/tweetiebot%40hotmail.com/rss/"&gt;RSS feed&lt;/A&gt; [1] and you can see what you and everyone else have been telling the bot recently. Enjoy.&lt;/P&gt;
&lt;P&gt;[1] &lt;A href="http://connect.biztalk.net/services/tweetiebot/tweetiebot%40hotmail.com/rss"&gt;http://connect.biztalk.net/services/tweetiebot/tweetiebot%40hotmail.com/rss&lt;/A&gt;&lt;/P&gt;&lt;img width="0" height="0" src="http://vasters.com/clemensv/cptrk.ashx?id=64a8caa0-f9c1-4515-82d3-359a95c56954"&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2678944" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/clemensv/archive/tags/MSDN/default.aspx">MSDN</category></item><item><title>Help Wanted</title><link>http://blogs.msdn.com/clemensv/archive/2007/05/08/help-wanted.aspx</link><pubDate>Tue, 08 May 2007 06:07:58 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2473493</guid><dc:creator>clemensv</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/clemensv/comments/2473493.aspx</comments><wfw:commentRss>http://blogs.msdn.com/clemensv/commentrss.aspx?PostID=2473493</wfw:commentRss><wfw:comment>http://blogs.msdn.com/clemensv/rsscomments.aspx?PostID=2473493</wfw:comment><description>&lt;P&gt;After roughly 15 months of working for the firm I've got to say that while it was fun talking about the .NET Framework and BizTalk at conferences and in writing, it's quite a bit more fun to be part of &lt;EM&gt;building&lt;/EM&gt; the .NET Framework and BizTalk.&amp;nbsp;You could be part of it, too,&amp;nbsp;if you have&amp;nbsp;the Jedi skills it takes. [The listed Assistant job&amp;nbsp;requires the mastering the art of&amp;nbsp;coordinating the Jedi Council's schedule across the galaxy; you just believe me - and that's just&amp;nbsp;a&amp;nbsp;small&amp;nbsp;part of the job].&amp;nbsp;The good news is that we're growing quite a bit:&lt;/P&gt;
&lt;P&gt;
&lt;TABLE class=MsoNormalTable style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-border-alt: solid #999999 .75pt; mso-yfti-tbllook: 1184" cellSpacing=0 cellPadding=0 border=1&gt;
&lt;TBODY&gt;
&lt;TR style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #999999 1pt solid; PADDING-LEFT: 0.75pt; BACKGROUND: #f1f1f1; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #999999 1pt solid; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; mso-border-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;SPAN style="COLOR: black; mso-bidi-font-size: 11.0pt"&gt;Job Title&lt;/SPAN&gt; &lt;?xml:namespace prefix = o /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #999999 1pt solid; PADDING-LEFT: 0.75pt; BACKGROUND: #f1f1f1; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;SPAN style="COLOR: black; mso-bidi-font-size: 11.0pt"&gt;Job Category&lt;/SPAN&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #999999 1pt solid; PADDING-LEFT: 0.75pt; BACKGROUND: #f1f1f1; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;SPAN style="COLOR: black; mso-bidi-font-size: 11.0pt"&gt;Product&lt;/SPAN&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #999999 1pt solid; PADDING-LEFT: 0.75pt; BACKGROUND: #f1f1f1; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;SPAN style="COLOR: black; mso-bidi-font-size: 11.0pt"&gt;Location&lt;/SPAN&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 1"&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #999999 1pt solid; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;A name=49938538-45a8-41cc-b94f-568fb40dc914&gt;&lt;/A&gt;&lt;A href="http://members.microsoft.com/careers/search/details.aspx?JobID=49938538-45A8-41CC-B94F-568FB40DC914&amp;amp;start=1&amp;amp;interval=25&amp;amp;SortCol=DatePosted&amp;amp;SortOrder=DEF"&gt;&lt;SPAN style="mso-bookmark: 49938538-45a8-41cc-b94f-568fb40dc914"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #0033cc; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt"&gt;Product Manager &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bookmark: 49938538-45a8-41cc-b94f-568fb40dc914"&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;Marketing&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;.NET Framework&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;WA - Redmond&lt;o:p&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: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; BACKGROUND: #f1f1f1; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #999999 1pt solid; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; mso-border-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;A name=bf001754-49ce-455f-a4ca-afcf451e7edc&gt;&lt;/A&gt;&lt;A href="http://members.microsoft.com/careers/search/details.aspx?JobID=BF001754-49CE-455F-A4CA-AFCF451E7EDC&amp;amp;start=1&amp;amp;interval=25&amp;amp;SortCol=DatePosted&amp;amp;SortOrder=DEF"&gt;&lt;SPAN style="mso-bookmark: bf001754-49ce-455f-a4ca-afcf451e7edc"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #0033cc; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt"&gt;Group Program Manager &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bookmark: bf001754-49ce-455f-a4ca-afcf451e7edc"&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; BACKGROUND: #f1f1f1; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;Program Management&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; BACKGROUND: #f1f1f1; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;.NET Framework&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; BACKGROUND: #f1f1f1; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;WA - Redmond&lt;o:p&gt;&lt;/o:p&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: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #999999 1pt solid; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;A name=8ad54e75-74ee-43bd-96a2-3f7028006933&gt;&lt;/A&gt;&lt;A href="http://members.microsoft.com/careers/search/details.aspx?JobID=8AD54E75-74EE-43BD-96A2-3F7028006933&amp;amp;start=1&amp;amp;interval=25&amp;amp;SortCol=DatePosted&amp;amp;SortOrder=DEF"&gt;&lt;SPAN style="mso-bookmark: 8ad54e75-74ee-43bd-96a2-3f7028006933"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #0033cc; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt"&gt;Software Development Engineer in Test &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bookmark: 8ad54e75-74ee-43bd-96a2-3f7028006933"&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;Software Testing&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;.NET Framework&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;WA - Redmond&lt;o:p&gt;&lt;/o:p&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: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; BACKGROUND: #f1f1f1; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #999999 1pt solid; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; mso-border-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;A name=ed1ee828-c023-4488-baa4-274a24f2c572&gt;&lt;/A&gt;&lt;A href="http://members.microsoft.com/careers/search/details.aspx?JobID=ED1EE828-C023-4488-BAA4-274A24F2C572&amp;amp;start=1&amp;amp;interval=25&amp;amp;SortCol=DatePosted&amp;amp;SortOrder=DEF"&gt;&lt;SPAN style="mso-bookmark: ed1ee828-c023-4488-baa4-274a24f2c572"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #0033cc; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt"&gt;Software Development Engineer in Test &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bookmark: ed1ee828-c023-4488-baa4-274a24f2c572"&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; BACKGROUND: #f1f1f1; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;Software Testing&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; BACKGROUND: #f1f1f1; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;.NET Framework&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; BACKGROUND: #f1f1f1; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;WA - Redmond&lt;o:p&gt;&lt;/o:p&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: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #999999 1pt solid; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;A name=19d7c065-f25e-4c99-81ae-bdb10d28de98&gt;&lt;/A&gt;&lt;A href="http://members.microsoft.com/careers/search/details.aspx?JobID=19D7C065-F25E-4C99-81AE-BDB10D28DE98&amp;amp;start=1&amp;amp;interval=25&amp;amp;SortCol=DatePosted&amp;amp;SortOrder=DEF"&gt;&lt;SPAN style="mso-bookmark: 19d7c065-f25e-4c99-81ae-bdb10d28de98"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #0033cc; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt"&gt;Software Development Engineer &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bookmark: 19d7c065-f25e-4c99-81ae-bdb10d28de98"&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;Software Development&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;.NET Framework&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;WA - Redmond&lt;o:p&gt;&lt;/o:p&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: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; BACKGROUND: #f1f1f1; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #999999 1pt solid; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; mso-border-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;A name=3f4a3595-3008-4ad2-a09d-39d09ef34583&gt;&lt;/A&gt;&lt;A href="http://members.microsoft.com/careers/search/details.aspx?JobID=3F4A3595-3008-4AD2-A09D-39D09EF34583&amp;amp;start=1&amp;amp;interval=25&amp;amp;SortCol=DatePosted&amp;amp;SortOrder=DEF"&gt;&lt;SPAN style="mso-bookmark: 3f4a3595-3008-4ad2-a09d-39d09ef34583"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #0033cc; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt"&gt;Program Manager &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bookmark: 3f4a3595-3008-4ad2-a09d-39d09ef34583"&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; BACKGROUND: #f1f1f1; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;Program Management&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; BACKGROUND: #f1f1f1; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;.NET Framework&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; BACKGROUND: #f1f1f1; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;WA - Redmond&lt;o:p&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: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #999999 1pt solid; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;A name=c062afe8-51a7-404d-a639-e128c49f9447&gt;&lt;/A&gt;&lt;A href="http://members.microsoft.com/careers/search/details.aspx?JobID=C062AFE8-51A7-404D-A639-E128C49F9447&amp;amp;start=1&amp;amp;interval=25&amp;amp;SortCol=DatePosted&amp;amp;SortOrder=DEF"&gt;&lt;SPAN style="mso-bookmark: c062afe8-51a7-404d-a639-e128c49f9447"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #0033cc; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt"&gt;Program Manager &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bookmark: c062afe8-51a7-404d-a639-e128c49f9447"&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;Program Management&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;.NET Framework&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;WA - Redmond&lt;o:p&gt;&lt;/o:p&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: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; BACKGROUND: #f1f1f1; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #999999 1pt solid; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; mso-border-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;A name=262abc5b-703a-4990-9461-bb3321daf1e5&gt;&lt;/A&gt;&lt;A href="http://members.microsoft.com/careers/search/details.aspx?JobID=262ABC5B-703A-4990-9461-BB3321DAF1E5&amp;amp;start=1&amp;amp;interval=25&amp;amp;SortCol=DatePosted&amp;amp;SortOrder=DEF"&gt;&lt;SPAN style="mso-bookmark: 262abc5b-703a-4990-9461-bb3321daf1e5"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #0033cc; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt"&gt;Program Manager &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bookmark: 262abc5b-703a-4990-9461-bb3321daf1e5"&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; BACKGROUND: #f1f1f1; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;Program Management&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; BACKGROUND: #f1f1f1; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;.NET Framework&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; BACKGROUND: #f1f1f1; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;WA - Redmond&lt;o:p&gt;&lt;/o:p&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: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #999999 1pt solid; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;A name=8109b1d9-a95a-4527-81fc-536e4b2fff72&gt;&lt;/A&gt;&lt;A href="http://members.microsoft.com/careers/search/details.aspx?JobID=8109B1D9-A95A-4527-81FC-536E4B2FFF72&amp;amp;start=1&amp;amp;interval=25&amp;amp;SortCol=DatePosted&amp;amp;SortOrder=DEF"&gt;&lt;SPAN style="mso-bookmark: 8109b1d9-a95a-4527-81fc-536e4b2fff72"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #0033cc; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt"&gt;Program Manager &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bookmark: 8109b1d9-a95a-4527-81fc-536e4b2fff72"&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;Program Management&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;.NET Framework&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;WA - Seattle&lt;o:p&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: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; BACKGROUND: #f1f1f1; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #999999 1pt solid; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; mso-border-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;A name=74245946-3493-4c03-9b3d-05749c1a2cb3&gt;&lt;/A&gt;&lt;A href="http://members.microsoft.com/careers/search/details.aspx?JobID=74245946-3493-4C03-9B3D-05749C1A2CB3&amp;amp;start=1&amp;amp;interval=25&amp;amp;SortCol=DatePosted&amp;amp;SortOrder=DEF"&gt;&lt;SPAN style="mso-bookmark: 74245946-3493-4c03-9b3d-05749c1a2cb3"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #0033cc; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt"&gt;Software Development Engineer &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bookmark: 74245946-3493-4c03-9b3d-05749c1a2cb3"&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; BACKGROUND: #f1f1f1; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;Software Development&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; BACKGROUND: #f1f1f1; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;.NET Framework&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; BACKGROUND: #f1f1f1; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;WA - Redmond&lt;o:p&gt;&lt;/o:p&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: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #999999 1pt solid; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;A name=d77948db-7da1-4907-b7b5-0465124eeb58&gt;&lt;/A&gt;&lt;A href="http://members.microsoft.com/careers/search/details.aspx?JobID=D77948DB-7DA1-4907-B7B5-0465124EEB58&amp;amp;start=1&amp;amp;interval=25&amp;amp;SortCol=DatePosted&amp;amp;SortOrder=DEF"&gt;&lt;SPAN style="mso-bookmark: d77948db-7da1-4907-b7b5-0465124eeb58"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #0033cc; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt"&gt;Product Manager &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bookmark: d77948db-7da1-4907-b7b5-0465124eeb58"&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;Marketing&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;Biz Talk Server&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;WA - Redmond&lt;o:p&gt;&lt;/o:p&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: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; BACKGROUND: #f1f1f1; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #999999 1pt solid; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; mso-border-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;A name=59264b34-1565-4d7d-ba68-f4a74453056c&gt;&lt;/A&gt;&lt;A href="http://members.microsoft.com/careers/search/details.aspx?JobID=59264B34-1565-4D7D-BA68-F4A74453056C&amp;amp;start=1&amp;amp;interval=25&amp;amp;SortCol=DatePosted&amp;amp;SortOrder=DEF"&gt;&lt;SPAN style="mso-bookmark: 59264b34-1565-4d7d-ba68-f4a74453056c"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #0033cc; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt"&gt;Software Development Engineer &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bookmark: 59264b34-1565-4d7d-ba68-f4a74453056c"&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; BACKGROUND: #f1f1f1; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;Software Development&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; BACKGROUND: #f1f1f1; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;.NET Framework&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; BACKGROUND: #f1f1f1; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;WA - Redmond&lt;o:p&gt;&lt;/o:p&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: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #999999 1pt solid; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;A name=fa877459-0d94-4031-965b-c94280a0e9e6&gt;&lt;/A&gt;&lt;A href="http://members.microsoft.com/careers/search/details.aspx?JobID=FA877459-0D94-4031-965B-C94280A0E9E6&amp;amp;start=1&amp;amp;interval=25&amp;amp;SortCol=DatePosted&amp;amp;SortOrder=DEF"&gt;&lt;SPAN style="mso-bookmark: fa877459-0d94-4031-965b-c94280a0e9e6"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #0033cc; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt"&gt;Software Development Engineer in Test &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bookmark: fa877459-0d94-4031-965b-c94280a0e9e6"&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;Software Testing&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;.NET Framework&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;WA - Redmond&lt;o:p&gt;&lt;/o:p&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: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; BACKGROUND: #f1f1f1; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #999999 1pt solid; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; mso-border-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;A name=7c5d12ef-d3dc-4517-94c1-ddc90ebf530b&gt;&lt;/A&gt;&lt;A href="http://members.microsoft.com/careers/search/details.aspx?JobID=7C5D12EF-D3DC-4517-94C1-DDC90EBF530B&amp;amp;start=1&amp;amp;interval=25&amp;amp;SortCol=DatePosted&amp;amp;SortOrder=DEF"&gt;&lt;SPAN style="mso-bookmark: 7c5d12ef-d3dc-4517-94c1-ddc90ebf530b"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #0033cc; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt"&gt;Software Development Engineer &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bookmark: 7c5d12ef-d3dc-4517-94c1-ddc90ebf530b"&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; BACKGROUND: #f1f1f1; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;Software Development&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; BACKGROUND: #f1f1f1; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;.NET Framework&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; BACKGROUND: #f1f1f1; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;WA - Redmond&lt;o:p&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: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #999999 1pt solid; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;A name=8c3f604a-c2f1-442e-b1a6-f3b14accc9b3&gt;&lt;/A&gt;&lt;A href="http://members.microsoft.com/careers/search/details.aspx?JobID=8C3F604A-C2F1-442E-B1A6-F3B14ACCC9B3&amp;amp;start=1&amp;amp;interval=25&amp;amp;SortCol=DatePosted&amp;amp;SortOrder=DEF"&gt;&lt;SPAN style="mso-bookmark: 8c3f604a-c2f1-442e-b1a6-f3b14accc9b3"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #0033cc; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt"&gt;Business Manager &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bookmark: 8c3f604a-c2f1-442e-b1a6-f3b14accc9b3"&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;Software Development&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;.NET Framework&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;WA - Redmond&lt;o:p&gt;&lt;/o:p&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: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; BACKGROUND: #f1f1f1; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #999999 1pt solid; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; mso-border-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;A name=219e723b-99e4-4a0f-91e5-72d255bd5dd3&gt;&lt;/A&gt;&lt;A href="http://members.microsoft.com/careers/search/details.aspx?JobID=219E723B-99E4-4A0F-91E5-72D255BD5DD3&amp;amp;start=1&amp;amp;interval=25&amp;amp;SortCol=DatePosted&amp;amp;SortOrder=DEF"&gt;&lt;SPAN style="mso-bookmark: 219e723b-99e4-4a0f-91e5-72d255bd5dd3"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #0033cc; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt"&gt;Technical Writer &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bookmark: 219e723b-99e4-4a0f-91e5-72d255bd5dd3"&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; BACKGROUND: #f1f1f1; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;User Assistance &amp;amp; Education&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; BACKGROUND: #f1f1f1; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;Biz Talk Server&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; BACKGROUND: #f1f1f1; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;WA - Redmond&lt;o:p&gt;&lt;/o:p&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: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #999999 1pt solid; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;A name=6d82a604-be50-446f-a7c3-e58ff912be55&gt;&lt;/A&gt;&lt;A href="http://members.microsoft.com/careers/search/details.aspx?JobID=6D82A604-BE50-446F-A7C3-E58FF912BE55&amp;amp;start=1&amp;amp;interval=25&amp;amp;SortCol=DatePosted&amp;amp;SortOrder=DEF"&gt;&lt;SPAN style="mso-bookmark: 6d82a604-be50-446f-a7c3-e58ff912be55"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #0033cc; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt"&gt;Program Manager &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bookmark: 6d82a604-be50-446f-a7c3-e58ff912be55"&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;Software Development&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;.NET Framework&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;WA - Redmond&lt;o:p&gt;&lt;/o:p&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: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; BACKGROUND: #f1f1f1; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #999999 1pt solid; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; mso-border-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;A name=2037448e-bd57-47d2-b9bf-c6924c819fd1&gt;&lt;/A&gt;&lt;A href="http://members.microsoft.com/careers/search/details.aspx?JobID=2037448E-BD57-47D2-B9BF-C6924C819FD1&amp;amp;start=1&amp;amp;interval=25&amp;amp;SortCol=DatePosted&amp;amp;SortOrder=DEF"&gt;&lt;SPAN style="mso-bookmark: 2037448e-bd57-47d2-b9bf-c6924c819fd1"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #0033cc; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt"&gt;Assistant &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bookmark: 2037448e-bd57-47d2-b9bf-c6924c819fd1"&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; BACKGROUND: #f1f1f1; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;Administrative Services&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; BACKGROUND: #f1f1f1; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;.NET Framework&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; BACKGROUND: #f1f1f1; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;WA - Redmond&lt;o:p&gt;&lt;/o:p&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: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #999999 1pt solid; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;A name=f13a4475-7b51-4386-8c98-a3afe9c8c7c4&gt;&lt;/A&gt;&lt;A href="http://members.microsoft.com/careers/search/details.aspx?JobID=F13A4475-7B51-4386-8C98-A3AFE9C8C7C4&amp;amp;start=1&amp;amp;interval=25&amp;amp;SortCol=DatePosted&amp;amp;SortOrder=DEF"&gt;&lt;SPAN style="mso-bookmark: f13a4475-7b51-4386-8c98-a3afe9c8c7c4"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #0033cc; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt"&gt;Software Development Engineer in Test &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bookmark: f13a4475-7b51-4386-8c98-a3afe9c8c7c4"&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;Software Development&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;.NET Framework&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;WA - Redmond&lt;o:p&gt;&lt;/o:p&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: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; BACKGROUND: #f1f1f1; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #999999 1pt solid; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; mso-border-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;A name=1690b3d8-b713-4af6-a206-069751357ef7&gt;&lt;/A&gt;&lt;A href="http://members.microsoft.com/careers/search/details.aspx?JobID=1690B3D8-B713-4AF6-A206-069751357EF7&amp;amp;start=1&amp;amp;interval=25&amp;amp;SortCol=DatePosted&amp;amp;SortOrder=DEF"&gt;&lt;SPAN style="mso-bookmark: 1690b3d8-b713-4af6-a206-069751357ef7"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #0033cc; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt"&gt;Program Manager &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bookmark: 1690b3d8-b713-4af6-a206-069751357ef7"&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; BACKGROUND: #f1f1f1; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;Program Management&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; BACKGROUND: #f1f1f1; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;Biz Talk Server&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; BACKGROUND: #f1f1f1; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;WA - Redmond&lt;o:p&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: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #999999 1pt solid; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;A name=04d187b5-d0da-4d61-9af5-02c8cb409437&gt;&lt;/A&gt;&lt;A href="http://members.microsoft.com/careers/search/details.aspx?JobID=04D187B5-D0DA-4D61-9AF5-02C8CB409437&amp;amp;start=1&amp;amp;interval=25&amp;amp;SortCol=DatePosted&amp;amp;SortOrder=DEF"&gt;&lt;SPAN style="mso-bookmark: 04d187b5-d0da-4d61-9af5-02c8cb409437"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #0033cc; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt"&gt;Product Manager &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bookmark: 04d187b5-d0da-4d61-9af5-02c8cb409437"&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;Marketing&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;.NET Framework&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;WA - Redmond&lt;o:p&gt;&lt;/o:p&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: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; BACKGROUND: #f1f1f1; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #999999 1pt solid; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; mso-border-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;A name=a9cad1ac-b51f-452e-8e93-874165547919&gt;&lt;/A&gt;&lt;A href="http://members.microsoft.com/careers/search/details.aspx?JobID=A9CAD1AC-B51F-452E-8E93-874165547919&amp;amp;start=1&amp;amp;interval=25&amp;amp;SortCol=DatePosted&amp;amp;SortOrder=DEF"&gt;&lt;SPAN style="mso-bookmark: a9cad1ac-b51f-452e-8e93-874165547919"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #0033cc; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt"&gt;Program Manager &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bookmark: a9cad1ac-b51f-452e-8e93-874165547919"&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; BACKGROUND: #f1f1f1; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;Program Management&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; BACKGROUND: #f1f1f1; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;.NET Framework&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; BACKGROUND: #f1f1f1; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;WA - Redmond&lt;o:p&gt;&lt;/o:p&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: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #999999 1pt solid; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;A name=53427d6d-92b9-4b58-a53d-3ed39a7b62a9&gt;&lt;/A&gt;&lt;A href="http://members.microsoft.com/careers/search/details.aspx?JobID=53427D6D-92B9-4B58-A53D-3ED39A7B62A9&amp;amp;start=1&amp;amp;interval=25&amp;amp;SortCol=DatePosted&amp;amp;SortOrder=DEF"&gt;&lt;SPAN style="mso-bookmark: 53427d6d-92b9-4b58-a53d-3ed39a7b62a9"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #0033cc; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt"&gt;Program Manager &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bookmark: 53427d6d-92b9-4b58-a53d-3ed39a7b62a9"&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;Program Management&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;.NET Framework&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;WA - Redmond&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 24; mso-yfti-lastrow: yes"&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; BACKGROUND: #f1f1f1; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #999999 1pt solid; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; mso-border-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;A name=d4ac1650-1f05-46c4-ba87-f58822c5e217&gt;&lt;/A&gt;&lt;A href="http://members.microsoft.com/careers/search/details.aspx?JobID=D4AC1650-1F05-46C4-BA87-F58822C5E217&amp;amp;start=1&amp;amp;interval=25&amp;amp;SortCol=DatePosted&amp;amp;SortOrder=DEF"&gt;&lt;SPAN style="mso-bookmark: d4ac1650-1f05-46c4-ba87-f58822c5e217"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #0033cc; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt"&gt;Test Manager &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bookmark: d4ac1650-1f05-46c4-ba87-f58822c5e217"&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; BACKGROUND: #f1f1f1; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;Software Testing&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; BACKGROUND: #f1f1f1; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;.NET Framework&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #999999 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 0.75pt; BACKGROUND: #f1f1f1; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #f0f0f0; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #999999 1pt solid; mso-border-alt: solid #999999 .75pt; mso-border-left-alt: solid #999999 .75pt; mso-border-top-alt: solid #999999 .75pt"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 15.6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;WA - Redmond&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P&gt;For privacy and other reasons, please &lt;STRONG&gt;do not&lt;/STRONG&gt; send resumes or job applications to me! Go through the jobs site. I'm just pointing to the right place ... ;-)&lt;/P&gt;&lt;img width="0" height="0" src="http://friends.newtelligence.net/clemensv/cptrk.ashx?id=d22ea845-bcd4-466e-99d9-cc22ee759ecc"&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2473493" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/clemensv/archive/tags/MSDN/default.aspx">MSDN</category></item><item><title>Connected Systems @MIX: The Videos</title><link>http://blogs.msdn.com/clemensv/archive/2007/05/05/connected-systems-mix-the-videos.aspx</link><pubDate>Sat, 05 May 2007 07:07:23 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2420915</guid><dc:creator>clemensv</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/clemensv/comments/2420915.aspx</comments><wfw:commentRss>http://blogs.msdn.com/clemensv/commentrss.aspx?PostID=2420915</wfw:commentRss><wfw:comment>http://blogs.msdn.com/clemensv/rsscomments.aspx?PostID=2420915</wfw:comment><description>&lt;P&gt;For those of you who couldn't make it to MIX, here are the (Silverlight-) videos of the talks from the Connected Systems Division deep-linked to &lt;A href="http://sessions.visitmix.com"&gt;sessions.visitmix.com&lt;/A&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://int1.fp.sandpiper.net/soma/applications/silverlight/v1/Default.html?title=DEV03 - Navigating the Programmable Web&amp;amp;speakers=Don Box, Steve Maine&amp;amp;source=videos/DEV03.wmv" target=_blank&gt;Don Box, Steve Maine: &lt;STRONG&gt;Navigating the Programmable Web&lt;/STRONG&gt;&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://int1.fp.sandpiper.net/soma/applications/silverlight/v1/Default.html?title=XBD07 - Enable Windows CardSpace and Information Cards in Your Web Site&amp;amp;speakers=Garrett Serack, Mike Jones, Pat Felsted&amp;amp;source=videos/XBD07.wmv" target=_blank&gt;Garrett Serack, Mike Jones, Pat Felsted: &lt;STRONG&gt;Enable Windows CardSpace and Information Cards on Your Web Site&lt;/STRONG&gt;&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://int1.fp.sandpiper.net/soma/applications/silverlight/v1/Default.html?title=PAN03 - PANEL DISCUSSION: Digital Identity and the Psychology of Security&amp;amp;speakers=Kaliya Hamlin, Kim Cameron, Laurie Rae, Marc Canter, Scott Kveton&amp;amp;source=videos/PAN03.wmv" target=_blank&gt;Kim Cameron and Panel: &lt;STRONG&gt;Digital Identity and the Psychology of Security&lt;/STRONG&gt;&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;img width="0" height="0" src="http://friends.newtelligence.net/clemensv/cptrk.ashx?id=22aef11a-20e4-4583-ae05-8ad0c15c7526"&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2420915" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/clemensv/archive/tags/MSDN/default.aspx">MSDN</category></item><item><title>Live at MIX: WCF and the Web (and Steve Maine, and Don Box)</title><link>http://blogs.msdn.com/clemensv/archive/2007/05/02/live-at-mix-wcf-and-the-web-and-steve-maine-and-don-box.aspx</link><pubDate>Wed, 02 May 2007 03:51:05 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2366206</guid><dc:creator>clemensv</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/clemensv/comments/2366206.aspx</comments><wfw:commentRss>http://blogs.msdn.com/clemensv/commentrss.aspx?PostID=2366206</wfw:commentRss><wfw:comment>http://blogs.msdn.com/clemensv/rsscomments.aspx?PostID=2366206</wfw:comment><description>&lt;P&gt;We love WS-*&amp;nbsp;as much as we do love&amp;nbsp;Web-Style services. I say "Web-style", full knowing that the buzzterm is REST. Since REST is an architectural style and not an implementation technology, it makes sense to make a distinction and, also, claiming complete RESTfulness for a system is actually a pretty high bar to aspire to. So in order to avoid&amp;nbsp;monikers like POX or Lo-REST/Hi-REST, I just call it what&amp;nbsp;it what this is all about to mere mortals whose don't have an advanced degree in HTTP Philosophy: Services that work like the Web - or Web-Style.&amp;nbsp;That's not to say that a Web-Style service cannot be fully RESTful. It surely can be. But if all you want to do is GET to serve up data into mashups and manipulate your backend resources in some other way, that's up to you. Anyways....&lt;/P&gt;
&lt;P&gt;Tomorrow at 10:00am (Session DEV03, Room Delfino 4101A), our&amp;nbsp;resident Lo-REST/Hi-REST/POX/Web-Style&amp;nbsp;Program Manager&amp;nbsp;&lt;STRONG&gt;Steve Maine&lt;/STRONG&gt; and our Architect &lt;STRONG&gt;Don Box&lt;/STRONG&gt; will explain to you how to use the new Web-Style "Programmable Web" features that we're adding to the .NET Framework 3.5 to implement&amp;nbsp;the server magic and the service-client magic to power all the&amp;nbsp;user experience&amp;nbsp;goodness you've seen here at MIX.&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;DIV style="FONT-WEIGHT: bold"&gt;&lt;EM&gt;Navigating the Programmable Web&lt;/EM&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;EM&gt;&lt;/EM&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;EM&gt;&lt;SPAN class=catalogSpeakerLabel&gt;Speaker(s):&lt;/SPAN&gt; &lt;SPAN&gt;Don Box - Microsoft&lt;/SPAN&gt;, &lt;SPAN&gt;Steve Maine&lt;/SPAN&gt;&lt;/EM&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;EM&gt;&lt;SPAN class=catalogCategoryLabel&gt;Audience(s):&lt;/SPAN&gt; Developer&lt;/EM&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;EM&gt;RSS. ATOM. JSON. POX. REST. WS-*. What are all these terms, and how do they impact the daily life of a developer trying to navigate today’s programmable Web? Join us as we explore how to consume and create Web services using a variety of different formats and protocols. Using popular services (Flickr, GData, and Amazon S3) as case studies, we look at what it takes to program against these services using the Microsoft platform today and how that will change in the future.&lt;/EM&gt;&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;
&lt;DIV dir=ltr&gt;If you are in Vegas for MIX, come see the session. I just saw the demo, it'll be good.&lt;/DIV&gt;&lt;img width="0" height="0" src="http://friends.newtelligence.net/clemensv/cptrk.ashx?id=aa502cba-e47c-4cfe-a036-875175ad295a"&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2366206" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/clemensv/archive/tags/MSDN/default.aspx">MSDN</category></item><item><title>BizTalk Services: Christian shuttling back and forth on the bus</title><link>http://blogs.msdn.com/clemensv/archive/2007/04/28/christian-shuttling-back-and-forth-on-the-bus.aspx</link><pubDate>Sat, 28 Apr 2007 02:53:15 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2305489</guid><dc:creator>clemensv</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/clemensv/comments/2305489.aspx</comments><wfw:commentRss>http://blogs.msdn.com/clemensv/commentrss.aspx?PostID=2305489</wfw:commentRss><wfw:comment>http://blogs.msdn.com/clemensv/rsscomments.aspx?PostID=2305489</wfw:comment><description>&lt;P&gt;&lt;A href="http://blogs.thinktecture.com/cweyer/archive/2007/04/27/414819.aspx"&gt;Christian Weyer shows&lt;/A&gt; off the few lines of pretty straightforward WCF code &amp;amp; config&amp;nbsp;he needed to figure out in order to&amp;nbsp;set up a duplex conversation through BizTalk Services. &lt;/P&gt;&lt;img width="0" height="0" src="http://friends.newtelligence.net/clemensv/cptrk.ashx?id=b2d16e20-c2d6-4a8c-b59a-640cd7dbc0ae"&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2305489" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/clemensv/archive/tags/MSDN/default.aspx">MSDN</category></item><item><title>Stephen Forte on what BizTalk Services means for his shop</title><link>http://blogs.msdn.com/clemensv/archive/2007/04/27/stephen-forte-on-what-biztalk-services-means-for-his-shop.aspx</link><pubDate>Fri, 27 Apr 2007 01:09:51 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2290767</guid><dc:creator>clemensv</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/clemensv/comments/2290767.aspx</comments><wfw:commentRss>http://blogs.msdn.com/clemensv/commentrss.aspx?PostID=2290767</wfw:commentRss><wfw:comment>http://blogs.msdn.com/clemensv/rsscomments.aspx?PostID=2290767</wfw:comment><description>&lt;P&gt;Steve has a &lt;A href="http://www.stephenforte.net/owdasblog/PermaLink.aspx?guid=a8de9324-c373-4cab-8e10-4e23251a3fb4"&gt;great analysis &lt;/A&gt;of what BizTalk Services means for Corzen and how he views it in the broader industry context. &lt;/P&gt;&lt;img width="0" height="0" src="http://friends.newtelligence.net/clemensv/cptrk.ashx?id=d53f0e81-eebb-4327-a92f-2f2ab5fcc602"&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2290767" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/clemensv/archive/tags/MSDN/default.aspx">MSDN</category></item><item><title>Internet Service Bus</title><link>http://blogs.msdn.com/clemensv/archive/2007/04/25/internet-service-bus.aspx</link><pubDate>Wed, 25 Apr 2007 06:28:23 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2274702</guid><dc:creator>clemensv</dc:creator><slash:comments>13</slash:comments><comments>http://blogs.msdn.com/clemensv/comments/2274702.aspx</comments><wfw:commentRss>http://blogs.msdn.com/clemensv/commentrss.aspx?PostID=2274702</wfw:commentRss><wfw:comment>http://blogs.msdn.com/clemensv/rsscomments.aspx?PostID=2274702</wfw:comment><description>&lt;P&gt;&lt;SPAN&gt;"ESB" (for "Enterprise Service Bus") is an acronym floating around in the SOA/BPM space for quite a while now. The notion is that you have a set of shared services in an enterprise that act as a shared foundation for discovering, connecting and federating services. That's a good thing and there's not much of a debate about the usefulness, except whether &lt;A href="http://www.microsoft.com/biztalk/solutions/soa/esb.mspx"&gt;&lt;FONT color=#0000ff&gt;ESB&lt;/FONT&gt;&lt;/A&gt; is the actual term is being used to describe this service fabric or whether there's a concrete product with that name. Microsoft has, for instance,&amp;nbsp;directory services, the UDDI registry, and our P2P resolution services&amp;nbsp;that contribute to the discovery portion,&amp;nbsp;we've got BizTalk&amp;nbsp;Server as&amp;nbsp;a scalable business process, integration and federation hub, we've got the Windows Communication Foundation for building service oriented applications and endpoints, we've got the Windows Workflow Foundation for building workflow-driven endpoint applications, and we have the Identity Platform with ILM/MIIS, ADFS, and CardSpace that provides the federated identity backplane. &lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Today, the division I work in (Connected Systems Division) has announced &lt;A href="http://labs.biztalk.net/"&gt;&lt;FONT color=#0000ff&gt;BizTalk Services&lt;/FONT&gt;&lt;/A&gt;, which&amp;nbsp;John Shewchuk explains &lt;A href="http://connectedsystems.spaces.live.com/"&gt;&lt;FONT color=#0000ff&gt;here&lt;/FONT&gt;&lt;/A&gt;&amp;nbsp;and Dennis Pilarinos drills into &lt;A href="http://www.dennispi.com/"&gt;&lt;FONT color=#0000ff&gt;here&lt;/FONT&gt;&lt;/A&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Two aspects that&amp;nbsp;make&amp;nbsp;the idea of a&amp;nbsp;"service bus" generally very attractive&amp;nbsp;are that&amp;nbsp;the service bus&amp;nbsp;enables identity federation and connectivity federation.&amp;nbsp;This idea gets far more interesting and more broadly applicable when we&amp;nbsp;remove the "Enterprise" constraint from ESB it and put "Internet" into its place, thus&amp;nbsp;elevating it to an "Internet Services Bus", or ISB.&amp;nbsp;If we look at&amp;nbsp;the&amp;nbsp;most&amp;nbsp;popular&amp;nbsp;Internet-dependent applications outside of the browser these days, like the many Instant Messaging apps, BitTorrent, Limewire, VoIP, Orb/Slingbox, Skype, Halo,&amp;nbsp;Project Gotham Racing, and others,&amp;nbsp;many of them&amp;nbsp;depend on one or two key services must be provided for each of them: Identity Federation (or, in absence of that,&amp;nbsp;a central identity&amp;nbsp;service) and some sort of message relay in order to connect up two or more application instances&amp;nbsp;that each sit&amp;nbsp;behind firewalls - and at the very least&amp;nbsp;some stable, shared rendezvous point or directory to seed P2P connections.&amp;nbsp;The question "how does&amp;nbsp;Messenger work?" has, from an high-level architecture perspective a simple answer: The Messenger "switchboard" acts as a message relay. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;The problem gets really juicy when we look at the reality of what connecting such applications means and what an ISV (or you!) were to come up with the next cool thing on the Internet:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;You'll soon find out that you will have to run a whole lot of server infrastructure and the routing of all of that traffic goes through your pipes. If your cool thing involves moving lots of large files around (let's say you'd want to build a photo sharing app like the very unfortunately deceased &lt;A href="http://en.wikipedia.org/wiki/Microsoft_Max"&gt;&lt;FONT color=#0000ff&gt;Microsoft Max&lt;/FONT&gt;&lt;/A&gt;) you'd&amp;nbsp;suddenly find&amp;nbsp;yourself running some significant sets of&amp;nbsp;pipes (tubes?)&amp;nbsp;into your basement even though your users&amp;nbsp;are just passing data from one place to the next.&amp;nbsp;That's a killer for lots of good ideas as this represents a significant entry barrier. Interesting stuff can get popular very, very fast these days and sometimes faster than you can say "Venture Capital".&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Messenger runs such infrastructure. And the need for such infrastructure was indeed an (not entirely unexpected) important&amp;nbsp;takeaway from the cited Max project. What looked just to be a very polished and cool client app to showcase all the Vista and NETFX 3.0 goodness was just the tip of a significant iceberg of (just as cool) server functionality that was running in a Microsoft data center to make the sharing experience as seamless and easy as it was.&amp;nbsp;Once you want to&amp;nbsp;do cool stuff that goes beyond the request/response browser thing, you easily end up running a data center. And people will quickly think that your&amp;nbsp;application sucks if that data center doesn't "just work". And that translates into several "nines" in terms of availability in my book. And that'll cost you.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;As cool as Flickr and YouTube are, I don't think of none of them or their brethren to be nearly as disruptive in terms of architectural paradigm shift&amp;nbsp;and long-term technology impact as Napster, ICQ and Skype were as they appeared on the scene. YouTube is just a place with interesting content. ICQ changed the world of collaboration. Napster's and Skype's impact changed and is changing entire industries. The Internet is far more and has more potential than just having some shared, mashed-up&amp;nbsp;places where lots of people go to consume, search&amp;nbsp;and upload stuff. "Personal computing" where I'm in control of MY stuff and share between MY places from wherever I happen to be and NOT giving that data to someone else so that they can decorate my stuff with ads has a future. The pendulum will swing back. I want to be able to take a family picture with my digital camera and snap that into a digital picture frame at my dad's house at the push of a button without some&amp;nbsp;"place" being in the middle of that. The picture frame just has to be able to stick its head out to a place where my camera can&amp;nbsp;talk to it so that it can accept that picture and know that it's me who is sending it.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Another personal, and very concrete and real&amp;nbsp;point in case: I am running, and I've written about that before,&amp;nbsp;a custom-built (software/hardware) combo of two machines (one in Germany, one here in the US) that provide me and my family with full Windows Media Center embedded access to live and recorded TV along with electronic program guide data for 45+ German TV channels, Sports Pay-TV included. The work of getting the connectivity right (dynamic DNS, port mappings, firewall holes), dealing with the bandwidth constraints&amp;nbsp;and shielding&amp;nbsp;this against unwanted access&amp;nbsp;were ridiculously complicated. This solution&amp;nbsp;and IP telephony and video conferencing (over Messenger, Skype) are&amp;nbsp;shrinking the distance to home to what's effectively just the inconvenience of the time difference of 9 hours and that we don't see family and friends in person all that often. Otherwise we're completely "plugged in" on what's going on at home and in Germany in general. That's an immediate and huge improvement of the quality of living for us, is enabled by the Internet, and has very little to do with "the Web", let alone "Web 2.0" - except that my Program Guide app for Media Center happens to be an AJAX app today.&amp;nbsp;Using BizTalk Services would throw out a whole lot of complexity that I had to deal with myself, especially on the access control/identity and connectivity and discoverability fronts. Of course, as I've done it the hard way and it's working to a degree that my wife is very happy with it as it stands (which is the customer satisfaction metric that matters here), I'm not making changes for technology's sake until I'm attacking the next revision of this or I'll wait for one of the alternative and improving solutions (Orb is on a good path) to catch up with what I have. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;But I digress. Just as much as the services that&amp;nbsp;were just&amp;nbsp;announced (and the ones that are lined up to follow) are a potential&amp;nbsp;enabler for new Napster/ICQ/Skype type consumer space applications from innovative companies who don't have the capacity or expertise to run their own data center, they are also and just as importantly the "&lt;EM&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;Small and Medium Enterprise&lt;/SPAN&gt;&lt;/B&gt;&lt;/EM&gt; Service Bus". &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;If you are an ISV catering shrink-wrapped business solutions to SMEs whose network infrastructure&amp;nbsp;may be as simple as&amp;nbsp;a DSL line (with dynamic IP) that goes into a (wireless) hub and is as locked down as it possibly can be by the local networking company that services them, we can do as much as we want as an industry in trying to make inter-company B2B work and expand it to SMEs;&amp;nbsp;your customers just aren't playing in that game if they can't&amp;nbsp;get over these basic connectivity hurdles. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Your app, that lives behind the firewall shield and NAT and a dynamic IP,&amp;nbsp;doesn't have a stable, public place where it can publish its endpoints and you have no way to federate identity (and access control)&amp;nbsp;unless you are doing some pretty invasive surgery on their network setup&amp;nbsp;or you&amp;nbsp;end up building and running run a bunch of infrastructure on-site or for them. And that's the same problem as the mentioned consumer apps have.&amp;nbsp;Even more so, if you look at the list of "coming soon" services, you'll find that problems like relaying events or coordinating work with workflows are very suitable for&amp;nbsp;many common use-cases in SME business applications once you imagine expanding their scope to inter-company collaboration.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;So where's "Megacorp Enterprises" in that play? First of all, Megacorp isn't an island. Every Megacorp depends on lots of SME suppliers and retailers (or their equivalents in the respective lingo of the verticals). Plugging all of them directly into&amp;nbsp;Megacorp's "ESB" often isn't feasible for lots of reasons and increasingly less so if the SME had a second or third (imagine that!) customer and/or supplier.&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Second, Megacorp isn't a uniform big&amp;nbsp;entity.&amp;nbsp;The count of "enterprise applications" running inside of Megacorp is measured in thousands rather than dozens. We're often inclined to think of SAP or Siebel when we think of enterprise applications,&amp;nbsp;but the vast majority are much simpler and more scoped than that. It's not entirely ridiculous to think that&amp;nbsp;some of those applications runs (gasp!) under someone's desk or in a cabinet in an extra room of a department.&amp;nbsp;And it's also not entirely ridiculous to think that these applications are so vertical and special that their integration into the "ESB" gets continuously overridden by someone else's higher priorities and yet, the respective business department needs a very practical way to connect with partners &lt;EM&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;now&lt;/SPAN&gt;&lt;/EM&gt; and be "connectable" even though it sits deeply inside the network thicket of Megacorp. While it is likely on every CIO's&amp;nbsp;goal sheet to contain that sort of IT anarchy, it's a reality that needs answers in order to keep the business bring in the money.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Third, Megacorp needs to work with Gigacorp. To make it interesting, let's assume that Megacorp and Gigacorp don't like each other much and trust each other even less. They even compete. Yet, they've got to work on a standard and hence they need to collaborate. It turns out that this scenario is almost entirely the same as the "Panic! Our departments take IT in their own hands!" scenario described above. At most, Megacorp wants to give Gigacorp a rendezvous and identity federation point on neutral ground. So instead of letting Gigacorp on their ESB, they both hook their apps and their identity infrastructures into the ISB and let the ISB be the mediator in that play.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Bottom line: There are very many solution scenarios, of which I mentioned just a few,&amp;nbsp;where "I" is&amp;nbsp;a much&amp;nbsp;more suitable&amp;nbsp;scope than "E". Sometimes&amp;nbsp;the appropriate scope is just "I", sometimes the appropriate scope is just "E". They key to achieve the agility that SOA strategies commonly promise is the ability to do the "E to I" scale-up whenever you need it in order to enable broader communication. If you need to elevate one or a set services from your ESB to Internet scope, you have the option to go and do so as appropriate and integrated with your identity infrastructure.&amp;nbsp;And since this all strictly WS-* standards based, your "E" might actually be "whatever you happen to run today".&amp;nbsp;BizTalk Services is&amp;nbsp;the "I".&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Or, in other words,&amp;nbsp;&lt;A href="http://labs.biztalk.net/"&gt;&lt;FONT color=#0000ff&gt;this is a pretty big deal.&lt;/FONT&gt;&lt;/A&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img width="0" height="0" src="http://friends.newtelligence.net/clemensv/cptrk.ashx?id=842e5373-60c1-4390-b820-00dba8b0cb4c"&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2274702" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/clemensv/archive/tags/MSDN/default.aspx">MSDN</category></item><item><title>So how much faster is it really and is it? WCF performance in comparison. </title><link>http://blogs.msdn.com/clemensv/archive/2007/04/02/so-how-much-faster-is-it-really-and-is-it-wcf-performance-in-comparison.aspx</link><pubDate>Tue, 03 Apr 2007 00:41:34 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2014504</guid><dc:creator>clemensv</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/clemensv/comments/2014504.aspx</comments><wfw:commentRss>http://blogs.msdn.com/clemensv/commentrss.aspx?PostID=2014504</wfw:commentRss><wfw:comment>http://blogs.msdn.com/clemensv/rsscomments.aspx?PostID=2014504</wfw:comment><description>&lt;P&gt;We &lt;A href="http://msdn2.microsoft.com/en-us/library/bb310550.aspx"&gt;just published a great whitepaper&lt;/A&gt; written by our WCF/WF Performance PM Saurabh Gupta on the relative performance of WCF compared to ASMX, WSE, Enterprise Services, and Remoting. This is material for your favorites folder. The summary says:&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P&gt;&lt;EM&gt;To summarize the results, WCF is 25%—50% faster than ASP.NET Web Services, and approximately 25% faster than .NET Remoting. Comparison with .NET Enterprise Service is load dependant, as in one case WCF is nearly 100% faster but in another scenario it is nearly 25% slower. For WSE 2.0/3.0 implementations, migrating them to WCF will obviously provide the most significant performance gains &lt;STRONG&gt;of almost 4x&lt;/STRONG&gt;.&lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;The one&amp;nbsp;scenario where WCF is slower are some comparison scenarios with ES. I'd say that even getting within strinking distance&amp;nbsp;of ES/COM+/DCOM/RPC performance for a V1 release that's based on Web services&amp;nbsp;technology is quite an astonishing accomplishment. The ES/COM+/DCOM/RPC stack underneath&amp;nbsp;had almost 15 years to get to where it's at. And the 4x should give you a really convincing reason to&amp;nbsp;make the move&amp;nbsp;from WSE to WCF.&lt;/P&gt;&lt;img width="0" height="0" src="http://friends.newtelligence.net/clemensv/cptrk.ashx?id=50eba4bc-5ceb-4052-a428-ec063870f80d"&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2014504" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/clemensv/archive/tags/MSDN/default.aspx">MSDN</category></item><item><title>Dinner Now</title><link>http://blogs.msdn.com/clemensv/archive/2007/04/02/dinner-now.aspx</link><pubDate>Mon, 02 Apr 2007 22:46:26 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2013868</guid><dc:creator>clemensv</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/clemensv/comments/2013868.aspx</comments><wfw:commentRss>http://blogs.msdn.com/clemensv/commentrss.aspx?PostID=2013868</wfw:commentRss><wfw:comment>http://blogs.msdn.com/clemensv/rsscomments.aspx?PostID=2013868</wfw:comment><description>&lt;P&gt;Before I continue pointing out SDK samples, why not take a look at a&amp;nbsp;great end-to-end .NET Framework 3.0 demo first? It's been out there for a while and hence this isn't really news, but in case you've not seen it (or the latest revision of it)&amp;nbsp;go check out &lt;A href="http://www.dinnernow.net"&gt;DinnerNow&lt;/A&gt;. The demo covers WCF, Workflow, CardSpace and PowerShell. Awesome piece of work from our Evangelism team. &lt;/P&gt;&lt;img width="0" height="0" src="http://friends.newtelligence.net/clemensv/cptrk.ashx?id=4ee51b44-49bd-4b10-8960-74fe1af93f3f"&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2013868" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/clemensv/archive/tags/MSDN/default.aspx">MSDN</category></item></channel></rss>