<?xml version="1.0" encoding="UTF-8"?>
<!--Generated by Squarespace Site Server v5.9.2 (http://www.squarespace.com/) on Wed, 10 Mar 2010 14:03:51 GMT--><feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/"><title>Blog.BrianLoesgen.com</title><subtitle>Blog.BrianLoesgen.com</subtitle><id>http://www.brianloesgen.com/blog/</id><link rel="alternate" type="application/xhtml+xml" href="http://www.brianloesgen.com/blog/"/><link rel="self" type="application/atom+xml" href="http://www.brianloesgen.com/blog/atom.xml"/><updated>2010-03-05T18:59:38Z</updated><generator uri="http://www.squarespace.com/" version="Squarespace Site Server v5.9.2 (http://www.squarespace.com/)">Squarespace</generator><entry><title>San Diego:Windows Azure Conference is Tomorrow!</title><category term="Azure"/><category term="Cloud"/><category term="Developer Community"/><id>http://www.brianloesgen.com/blog/2010/3/5/san-diegowindows-azure-conference-is-tomorrow.html</id><link rel="alternate" type="text/html" href="http://www.brianloesgen.com/blog/2010/3/5/san-diegowindows-azure-conference-is-tomorrow.html"/><author><name>Brian Loesgen</name></author><published>2010-03-05T18:59:38Z</published><updated>2010-03-05T18:59:38Z</updated><content type="html" xml:lang="en-US"><![CDATA[<p>San Diegans, time is running out, the Windows Azure conference (I blogged about it <a href="http://www.brianloesgen.com/blog/2010/2/26/day-long-azure-conference-in-san-diego-march-6th.html" target="_blank">here</a>) is *tomorrow*. This is a great opportunity to ramp-up quickly on what Windows Azure is, and how it can be used in the real world. Come see why everyone is so excited, and why everyone agrees that this is a major shift in our industry. This is not future-tech, the cloud isn’t vapor anymore :) – this is live and production-ready today.</p>  <p>I will be presenting on Windows Azure platform AppFabric, and specifically how to leverage it to bridge between on-premise and off-premise (or, from–one-premise-to-another-premise).</p>  <p>Hope to see you there!</p>]]></content></entry><entry><title>Windows Server AppFabric Beta 2 now available</title><category term="Dublin/Windows AppFabric"/><category term="ESB"/><category term="SOA"/><category term="WCF"/><category term="WF"/><id>http://www.brianloesgen.com/blog/2010/3/2/windows-server-appfabric-beta-2-now-available.html</id><link rel="alternate" type="text/html" href="http://www.brianloesgen.com/blog/2010/3/2/windows-server-appfabric-beta-2-now-available.html"/><author><name>Brian Loesgen</name></author><published>2010-03-02T05:38:11Z</published><updated>2010-03-02T05:38:11Z</updated><content type="html" xml:lang="en-US"><![CDATA[<p>The AppFabric team hit another milestone today with the public availability of AppFabric Beta 2. Congrats team!!!</p>  <p>Now, because I know there must be some confusion out there, AppFabric is a brand, as I blogged about <a href="http://www.brianloesgen.com/blog/2009/11/17/goodbye-dublin-hello-windows-appfabric.html" target="_blank">here</a>. I’ve been doing some posts here lately about extending BizTalk ESB to Windows Azure AppFabric, but that’s not the AppFabric this is about, this is Windows Server AppFabric. It brings together what was formerly codename “Dublin” and codename “Velocity”, and provides a host for WF/WCF. This is a really interesting set of new capabilities that .NET developers are about to get, and I’ll start blogging more about it soon, as the SOA implications are significant.</p>  <p>You can learn more and get the beta <a href="http://msdn.microsoft.com/appfabric" target="_blank">here</a>.</p>]]></content></entry><entry><title>New white paper &amp;ldquo;BizTalk ESB Toolkit: Core Components and Examples&amp;rdquo;</title><category term="BizTalk"/><category term="ESB"/><category term="ESB Toolkit"/><id>http://www.brianloesgen.com/blog/2010/3/2/new-white-paper-ldquobiztalk-esb-toolkit-core-components-and.html</id><link rel="alternate" type="text/html" href="http://www.brianloesgen.com/blog/2010/3/2/new-white-paper-ldquobiztalk-esb-toolkit-core-components-and.html"/><author><name>Brian Loesgen</name></author><published>2010-03-02T05:03:42Z</published><updated>2010-03-02T05:03:42Z</updated><content type="html" xml:lang="en-US"><![CDATA[<p>A new white paper was released a few days ago by Microsoft, written by MVP Jon Flanders, on the ESB Toolkit.</p>  <p>It’s a well written paper that walks through the architecture, and shows examples, and serves as both an overview and a mini-tutorial. Great place to start if you want to come up to speed on this.</p>  <p>He REALLY nails it well in the summary, I would quote it here but that would violate the copyright, so I’ll paraphrase: “hey this is really cool and powerful, and adds tremendous business value”. That doesn’t do it justice though, I’d suggest you go read it for yourself.</p>  <p>You can get it <a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=05bcda1a-c942-4db3-99ac-8fb83e603595" target="_blank">here</a>. Enjoy!</p>]]></content></entry><entry><title>Day-long Azure Conference in San Diego, March 6th</title><category term="Azure"/><category term="Cloud"/><category term="ESB"/><category term="ESB Toolkit"/><category term="SOA"/><id>http://www.brianloesgen.com/blog/2010/2/26/day-long-azure-conference-in-san-diego-march-6th.html</id><link rel="alternate" type="text/html" href="http://www.brianloesgen.com/blog/2010/2/26/day-long-azure-conference-in-san-diego-march-6th.html"/><author><name>Brian Loesgen</name></author><published>2010-02-26T15:15:25Z</published><updated>2010-02-26T15:15:25Z</updated><content type="html" xml:lang="en-US"><![CDATA[<p>The <a href="http://sandiegodotnet.com" target="_blank">San Diego .NET User Group</a> will be hosting our first Azure day-long conference on March 6th. This first one will be more overview level, we’re planning at least one other which will be more focused and deeper for later this year, and then perhaps more after that. For this first one, we will be covering:</p>  <p>&#160;</p>  <ul>   <li>Azure Intro (David Chou) </li>    <li>Azure Development (Daniel Egan) </li>    <li>SQL Azure (Lynn Langit) </li>    <li>Azure AppFabric (Brian Loesgen) </li> </ul>  <p>&#160;</p>  <p>And yes, the way it turned out, all speakers for this are from Microsoft, and David is a fellow co-author from the oh_so_close_to_done_now book I’ve been involved with for quite some time…. “SOA with .NET and Windows Azure”.</p>  <p>These conferences are usually a lot of fun and great investments, and this one in particular will be a great way to jump-start your Azure knowledge, or fill in some gaps you may have.</p>  <p>The event page with further details is <a href="http://www.sandiegodotnet.com/Default.aspx?tabid=86" target="_blank">here</a>. As usual, great discounts for user group members.</p>  <p>Hope to see you there!</p>]]></content></entry><entry><title>Azure Integration Part 3 &amp;ndash; Sending a Message from an ESB off-ramp to Azure&amp;rsquo;s AppFabric ServiceBus</title><category term="Azure"/><category term="BizTalk"/><category term="Cloud"/><category term="ESB"/><category term="ESB Toolkit"/><category term="SOA"/><category term="WCF"/><id>http://www.brianloesgen.com/blog/2010/1/26/azure-integration-part-3-ndash-sending-a-message-from-an-esb.html</id><link rel="alternate" type="text/html" href="http://www.brianloesgen.com/blog/2010/1/26/azure-integration-part-3-ndash-sending-a-message-from-an-esb.html"/><author><name>Brian Loesgen</name></author><published>2010-01-26T04:10:49Z</published><updated>2010-01-26T04:10:49Z</updated><content type="html" xml:lang="en-US"><![CDATA[<p>This is the third post in this series. So far, we have seen:</p>  <ul>   <li>Post #1: <a href="http://www.brianloesgen.com/blog/2010/1/5/azure-integration-ndash-part-1-creating-an-esb-on-ramp-that.html">Creating an ESB on-ramp that receives from Azure’s AppFabric Service Bus</a> </li>    <li>Post #2: <a href="http://www.brianloesgen.com/blog/2010/1/24/azure-integration-ndash-part-2-sending-a-message-from-biztal.html">Sending a Message from BizTalk to Azure’s AppFabric ServiceBus with a Dynamic Send Port</a> </li> </ul>  <p>In this third post, we will see how to use an ESB off-ramp to send a message to the Windows Azure AppFabric ServiceBus. We will actually be doing the same thing as we did in the second post, however, we’ll be doing it in a different way.</p>  <p>There is an accompanying video for this post (as I did with the others too), which you can find <a href="http://msdn.microsoft.com/en-us/biztalk/ff355203.aspx" target="_blank">here</a>.</p>  <p>The sequence used here is:</p>  <ol>   <li>Message is picked up from a file drop (because that’s how most BizTalk demos start:)) </li>    <li>An itinerary is retrieved from the itinerary repository and applied to the message </li>    <li>The itinerary processing steps are performed, and the message is sent to the ServiceBus </li>    <li>The message is retrieved by the receive location I wrote about in my <a href="http://www.brianloesgen.com/blog/2010/1/5/azure-integration-ndash-part-1-creating-an-esb-on-ramp-that.html" target="_blank">previous post</a> </li>    <li>A send port has a filter set to pick up messages received by that receive port, and persists the file to disk </li> </ol>  <p>The last two steps are not covered here, but are shown in the <a href="http://msdn.microsoft.com/en-us/biztalk/ff355203.aspx" target="_blank">video</a>.</p>  <p>In this case, we’re not using an orchestration at all, we’ve specified in the itinerary that all processing happens at a messaging level. </p>  <p>The first part of this is the itinerary selection, which is as shown below. As you can see, I’ve “hard-wired” this receive location, and anything coming through it will get the “ServiceBusTest.OrderRelayNetTcp” itinerary applied to it.</p>  <p><a href="http://www.brianloesgen.com/resource/WindowsLiveWriter-AzureIntegrationPart3SendingaMessagefrom_E4A2-?fileId=5508659"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.brianloesgen.com/resource/WindowsLiveWriter-AzureIntegrationPart3SendingaMessagefrom_E4A2-?fileId=5508661" width="718" height="474" /></a> </p>  <p>The itinerary itself is also quite simple (this one is slightly different than the one shown in the video, but they are functionally equivalent).</p>  <p><a href="http://www.brianloesgen.com/resource/WindowsLiveWriter-AzureIntegrationPart3SendingaMessagefrom_E4A2-?fileId=5508662"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.brianloesgen.com/resource/WindowsLiveWriter-AzureIntegrationPart3SendingaMessagefrom_E4A2-?fileId=5508663" width="719" height="517" /></a> </p>  <p>All of the magic happens in the “SetProperties” resolver. In this case I am using a STATIC resolver, however, that just means I have statically <em>specified</em> the values. The settings are being <em>applied </em>dynamically by the itinerary processing components. Note that I have specified we are using the WCF-Custom adapter provider. As was the case with the first two posts in this series, I have installed the Windows Azure platform AppFabric SDK, which gave me some additional bindings that let me relay messages through the ServiceBus. In the second post, we used one of those bindings along with the WCF-Custom adapter by setting some values on a dynamic send port. In this one, we will set the same properties, but do so using the out-of-the-box ESB Toolkit WCF-Custom adapter provider. Each adapter provider registered with the ESB has a UI that can be associated with it, and you get there by clicking the Endpoint Configuration ellipses:</p>  <p><a href="http://www.brianloesgen.com/resource/WindowsLiveWriter-AzureIntegrationPart3SendingaMessagefrom_E4A2-?fileId=5508664"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.brianloesgen.com/resource/WindowsLiveWriter-AzureIntegrationPart3SendingaMessagefrom_E4A2-?fileId=5508665" width="731" height="433" /></a> </p>  <p>If you compare the values above to what I set in the second post in this series, you’ll see they are pretty much the same.</p>  <p>And…. THAT’S IT!!!!! That is all we have to do in order for BizTalk to send a message to the Azure platform AppFabric ServiceBus using an ESB off-ramp. As you can see from the behavior specified, this is a secured channel (in this case I am using “shared secret”). The actual security part of this is provided with the Windows Azure platform AppFabric Access Control Service, which is tightly integrated with the ServiceBus.</p>  <p>Note also that in this example I used the netTcpRlayBinding, which is a high performance .NET-to-.NET, but also requires TCP/IP ports be open, which could be an issue depending on how locked down your network is. </p>  <p>For my demo purposes, I use the ws2007HttpRelayBinding (also provided with the Azure AppFabric SDK), as that’s over port 80.</p>  <p><a href="http://www.brianloesgen.com/resource/WindowsLiveWriter-AzureIntegrationPart3SendingaMessagefrom_E4A2-?fileId=5508666"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.brianloesgen.com/resource/WindowsLiveWriter-AzureIntegrationPart3SendingaMessagefrom_E4A2-?fileId=5508667" width="754" height="467" /></a> </p>  <p>In this series of posts I have shown you how to bridge the gap between on-premise and Windows Azure AppFabric ServiceBus using out-of-the-box BizTalk and/or ESB Toolkit components. There is much more that can be done, this is only the beginning. We are entering a really interesting time, and I think that “hybrid” applications, with some part on-premise, other parts off-premise, will become increasingly common. As that happens, having a clean integration solution becomes very important so that we don’t create “Point-to-point Spaghetti 2.0”, a more modern version of the chaos that many experienced integration developers have seen all too frequently.</p>  <p>I hope you’ve enjoyed these posts and videos, and that they help you as you explore the new and exciting world of Windows Azure.</p>]]></content></entry><entry><title>Azure Integration &amp;ndash; Part 2: Sending a Message from BizTalk to Azure&amp;rsquo;s AppFabric ServiceBus with a Dynamic Send Port</title><category term="Azure"/><category term="BizTalk"/><category term="Cloud"/><category term="Dublin/Windows AppFabric"/><category term="SOA"/><category term="WCF"/><id>http://www.brianloesgen.com/blog/2010/1/24/azure-integration-ndash-part-2-sending-a-message-from-biztal.html</id><link rel="alternate" type="text/html" href="http://www.brianloesgen.com/blog/2010/1/24/azure-integration-ndash-part-2-sending-a-message-from-biztal.html"/><author><name>Brian Loesgen</name></author><published>2010-01-24T20:31:39Z</published><updated>2010-01-24T20:31:39Z</updated><content type="html" xml:lang="en-US"><![CDATA[<p>In <a href="http://www.brianloesgen.com/blog/2010/1/5/azure-integration-ndash-part-1-creating-an-esb-on-ramp-that.html" target="_blank">a previous post</a>, I wrote about how to extend the reach of an ESB on-ramp to Windows Azure platform AppFabric ServiceBus. This same technique also works for any BizTalk receive location, as what makes it an ESB on-ramp is the presence of a pipeline that includes some of the itinerary selection and processing components from the ESB Toolkit. In that post (and <a href="http://msdn.microsoft.com/en-us/biztalk/ee873241.aspx" target="_blank">accompanying video</a>) I showed how to use InfoPath as a client to submit the message to the ServiceBus, which subsequently got relayed down and into a SharePoint-based ESB-driven BizTalk-powered workflow.</p>  <p>In this and the next post, we’ll look at how to send messages in the other direction, and in this post, I’ll show how to do it using a BizTalk dynamic send port. If you’re used dynamic send ports with BizTalk, you’ll know they’re a powerful construct that let you programmatically sent endpoint configuration information that will subsequently be provided to a send adapter. This is a great way to have a single outbound port that can deliver messages to a variety of endpoints. And, dynamic ports are a key concept behind ESB off-ramps, but more on that later.</p>  <p>The video to go along with this post can be found <a href="http://msdn.microsoft.com/en-us/biztalk/ff355196.aspx" target="_blank">here</a>.</p>  <p>The sequence used here is:</p>  <ol>   <li>Message is picked up from a file drop (because that’s how most BizTalk demos start:)) </li>    <li>A BizTalk orchestration bound to that receive port is instantiated </li>    <li>The orchestration (in an expression shape) sets properties the adapter will use </li>    <li>The message goes to the dynamic send port and is dispatched </li>    <li>The message is retrieved by the receive location I wrote about in my <a href="http://www.brianloesgen.com/blog/2010/1/5/azure-integration-ndash-part-1-creating-an-esb-on-ramp-that.html" target="_blank">previous post</a> </li>    <li>A send port has a filter set to pick up messages received by that receive port, and persists the file to disk </li> </ol>  <p>The last two steps are not covered here, but are shown in the <a href="http://msdn.microsoft.com/en-us/biztalk/ff355196.aspx" target="_blank">video</a>.</p>  <p>Our orchestration is proof-of-concept simple, as you may have expected:</p>  <p><a href="http://www.brianloesgen.com/resource/WindowsLiveWriter-AzureIntegrationPart2SendingaMessagefrom_1248D-?fileId=5491118"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.brianloesgen.com/resource/WindowsLiveWriter-AzureIntegrationPart2SendingaMessagefrom_1248D-?fileId=5491119" width="700" height="331" /></a> </p>  <p>&#160;</p>  <p>In our message assignment shape, first we create and work with the message:</p>  <p><a href="http://www.brianloesgen.com/resource/WindowsLiveWriter-AzureIntegrationPart2SendingaMessagefrom_1248D-?fileId=5491120"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.brianloesgen.com/resource/WindowsLiveWriter-AzureIntegrationPart2SendingaMessagefrom_1248D-?fileId=5491121" width="675" height="449" /></a> </p>  <p>Then, because the outbound port in our orchestration is a dynamic port, we set a couple of properties on that:</p>  <p><a href="http://www.brianloesgen.com/resource/WindowsLiveWriter-AzureIntegrationPart2SendingaMessagefrom_1248D-?fileId=5491122"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.brianloesgen.com/resource/WindowsLiveWriter-AzureIntegrationPart2SendingaMessagefrom_1248D-?fileId=5491124" width="680" height="259" /></a> </p>  <p>And…. THAT’S IT!!!!! That is all we have to do in order for BizTalk to send a message to the Azure platform AppFabric ServiceBus. As you can see from the behavior specified, this is a secured channel (in this case I am using “shared secret”). The actual security part of this is provided with the Windows Azure platform AppFabric Access Control Service, which is tightly integrated with the ServiceBus.</p>  <p>Note the value of the WCF.BindingType (netTcpRlayBinding). This is just one of the ServiceBus-related bindings you get when you install the Azure platform AppFabric SDK. This particular binding is high performance .NET-to-.NET, but requires TCP/IP ports be open, which could be an issue depending on your network.</p>  <p>I’ve always loved the flexibility that the WCF-Custom adapter provides, and here is yet another example. Another team issues an SDK well after the current release of BizTalk, and because we’re all leveraging WCF it makes it trivial for us to take advantage of the new capabilities.</p>  <p>The next post and video in this series will show how to provide message sending capabilities using the components provided with the ESB Toolkit. Stay tuned…. </p>]]></content></entry><entry><title>I&amp;rsquo;ll be presenting a new session next week: Bridging from On-premise ESB to Windows Azure</title><category term="Azure"/><category term="BizTalk"/><category term="Cloud"/><category term="ESB"/><category term="ESB Toolkit"/><category term="SOA"/><category term="WCF"/><category term="WF"/><id>http://www.brianloesgen.com/blog/2010/1/22/irsquoll-be-presenting-a-new-session-next-week-bridging-from.html</id><link rel="alternate" type="text/html" href="http://www.brianloesgen.com/blog/2010/1/22/irsquoll-be-presenting-a-new-session-next-week-bridging-from.html"/><author><name>Brian Loesgen</name></author><published>2010-01-23T03:31:00Z</published><updated>2010-01-23T03:31:00Z</updated><content type="html" xml:lang="en-US"><![CDATA[<p>I will be doing a brand-new, never-seen-before presentation at the <a href="http://www.socalcodecamp.com/" target="_blank">Code Camp in Fullerton</a> next week. I’m late signing up as I wasn’t sure if my schedule would permit it, but it all looks good, so I’ll do it.</p>  <p>The session will encapsulate some of the cool stuff I’ve been doing spanning the two environments. This will be a powerful (and I would say essential) presentation for BizTalk developers as it highlights some of the new patterns we now have at our disposal. However, I this is also an important session for anyone deploying services to Azure and calling them from on premises, as many will not have an integration background and as such will run into the typical pitfalls that experienced integration devs know to avoid.</p>  <p>I’ve done one post about bridging on-premise to Azure <a href="http://www.brianloesgen.com/blog/2010/1/5/azure-integration-ndash-part-1-creating-an-esb-on-ramp-that.html" target="_blank">here</a>, and there are more videos working their way through MSDN that should be live any time now. Once they go live, I’ll post accompanying blog posts.</p>  <p>I’ll be presenting at 2:45 on Sat Jan 30th. Hope to see you there if you’re attending this <a href="http://www.SoCalCodeCamp.com" target="_blank">Code Camp</a>.</p>  <p>&#160;</p>  <hr>  <p><strong>Title:</strong></p>  <p>Bridging the Gap between On-premise ESB and Windows Azure</p>  <p><strong>Abstract:</strong></p>  <p>Having attained the plateau of productivity, companies worldwide are enjoying the benefits and efficiencies that can be realized through a well-defined and implement SOA strategy. In addition, many are also realizing the business value and agility improvements that come from have an Enterprise Service Bus in place as a messaging backbone to support their SOA infrastructure. </p>  <p>With the recent “go-live” of Microsoft’s Windows Azure platform, intriguing new architectural patterns for distributed applications are being made possible. In this session we will look at what it means to bridge from the on-premise ESB to the Windows Azure platform. In addition, we will cover the value-add that an ESB brings to Azure usage. We will take a pragmatic approach, showing you what can be done today, with the tools available to you right now.</p>  <p>&#160;</p>  <p>Register at <a href="http://www.SoCalCodeCamp.com">http://www.SoCalCodeCamp.com</a>.</p>]]></content></entry><entry><title>San Diego: Connected Systems SIG meeting tonight, Windows Workflow 4.0</title><category term="Developer Community"/><category term="Dublin/Windows AppFabric"/><category term="SOA"/><category term="WF"/><id>http://www.brianloesgen.com/blog/2010/1/12/san-diego-connected-systems-sig-meeting-tonight-windows-work.html</id><link rel="alternate" type="text/html" href="http://www.brianloesgen.com/blog/2010/1/12/san-diego-connected-systems-sig-meeting-tonight-windows-work.html"/><author><name>Brian Loesgen</name></author><published>2010-01-12T16:34:58Z</published><updated>2010-01-12T16:34:58Z</updated><content type="html" xml:lang="en-US"><![CDATA[<p>Tonight’s meeting of the San Diego .NET user group’s Connected Systems SIG will be all about Windows Workflow 4.0.</p>  <p>If you’re in San Diego and not on the mailing list for the Connected Systems SIG, you should head over to <a href="http://www.SanDiegoDotNet.com">http://www.SanDiegoDotNet.com</a> and sign up in order to ensure you get these notifications.</p>  <p>Meeting will be at Microsoft La Jolla office, pizza at 6:00, meeting starts at 6:30. Hope to see you there!</p>  <p>&#160;</p>  <p>---------------------------------------------------------------------</p>  <p>&#160;</p>  <p>Connected Systems SIG Meeting</p>  <p><em>Tuesday, January 12th</em></p>  <p><strong>Bob Schmidt, Principal Program Manager</strong></p>  <p><strong>on</strong></p>  <p><strong>Windows Workflow Foundation 4.0,&#160; <br />Top to Bottom      <br /></strong></p>  <p><strong><u>Topic</u></strong></p>  <p>Windows Workflow Foundation (WF) 4.0, part of the new version of the .NET Framework, lets you author and run programs called &quot;workflows.&quot; Workflows offer some interesting capabilities to the application developer - they can be designed visually (though they can also be developed in code), they can make use of traditional imperative control flow (e.g. Sequence, If, While) as well as non-traditional (e.g. Flowchart, Parallel, Pick) and custom control flow, and they can run robustly for arbitrarily long periods of time (while residing in a database and not in memory when idle awaiting input). </p>  <p>Whether you used WF in .NET 3.x or not, whether you consider yourself a WF4 novice or expert, this discussion will have something interesting for you. And, if you are using WF today, I'd love to discuss any feedback you have. </p>  <p><strong><u>Speaker</u></strong></p>  <p>Bob Schmidt is a Principal Program Manager at Microsoft on the team that ships WF. He's mostly worked on BizTalk and WF since joining Microsoft in 2002. Prior to Microsoft, Bob worked as a developer (mostly Java) after graduating from Stanford with BS &amp; MS degrees in computer science.</p>]]></content></entry><entry><title>Good post explaining the new pricing model for Windows Azure AppFabric</title><category term="Azure"/><category term="Cloud"/><category term="SOA"/><id>http://www.brianloesgen.com/blog/2010/1/5/good-post-explaining-the-new-pricing-model-for-windows-azure.html</id><link rel="alternate" type="text/html" href="http://www.brianloesgen.com/blog/2010/1/5/good-post-explaining-the-new-pricing-model-for-windows-azure.html"/><author><name>Brian Loesgen</name></author><published>2010-01-05T19:18:14Z</published><updated>2010-01-05T19:18:14Z</updated><content type="html" xml:lang="en-US"><![CDATA[<p>Here’s a great post that explains the new pricing model announced yesterday for Windows Azure platform AppFabric usage. At first read, this new model makes sense to me and seems quite reasonable, in addition to being more predictable for customers.</p>  <p><a title="http://blogs.msdn.com/netservices/archive/2010/01/04/announcing-windows-azure-platform-commercial-offer-availability-and-updated-appfabric-pricing.aspx" href="http://blogs.msdn.com/netservices/archive/2010/01/04/announcing-windows-azure-platform-commercial-offer-availability-and-updated-appfabric-pricing.aspx">http://blogs.msdn.com/netservices/archive/2010/01/04/announcing-windows-azure-platform-commercial-offer-availability-and-updated-appfabric-pricing.aspx</a></p>]]></content></entry><entry><title>Azure Integration &amp;ndash; Part 1: Creating an ESB on-ramp that receives from Azure&amp;rsquo;s AppFabric Service Bus</title><category term="Azure"/><category term="BizTalk"/><category term="Cloud"/><category term="ESB"/><category term="ESB Toolkit"/><category term="SOA"/><category term="WCF"/><id>http://www.brianloesgen.com/blog/2010/1/5/azure-integration-ndash-part-1-creating-an-esb-on-ramp-that.html</id><link rel="alternate" type="text/html" href="http://www.brianloesgen.com/blog/2010/1/5/azure-integration-ndash-part-1-creating-an-esb-on-ramp-that.html"/><author><name>Brian Loesgen</name></author><published>2010-01-05T05:07:06Z</published><updated>2010-01-05T05:07:06Z</updated><content type="html" xml:lang="en-US"><![CDATA[<p>I am going to do a series of three blog posts (and accompanying videos) about how to integrate BizTalk and Azure. As you know, Azure is in the process of going live, and BizTalk can play a very compelling role bridging between on-premise and off-premise.</p>  <p>This post shows two key interactions with the Windows Azure platform AppFabric Service Bus:</p>  <ul>   <li>receiving a message from the Service Bus through a BizTalk receive location</li>    <li>publishing to the Service Bus from an InfoPath form</li> </ul>  <p>It is the first point that I think illustrates what will become a VERY commonly used pattern. This sample is based on the Order Demo I created previously, and you can go <a href="http://www.brianloesgen.com/blog/2009/7/23/two-new-esb-toolkit-videos-now-live.html" target="_blank">watch those videos</a> first to get a sense of what the demo is. It brings together BizTalk, SharePoint, ESB Toolkit, SQL Server Analysis Services, SQL Server Reporting Services, InfoPath… and more, including showing how to use the Business Rules Engine for dynamic itinerary selection (a favorite pattern of mine). I blogged about that <a href="http://www.brianloesgen.com/blog/2009/7/23/two-new-esb-toolkit-videos-now-live.html" target="_blank">here</a>. I like it because it’s a “SharePoint-based ESB-driven BizTalk-powered workflow”, really leveraging the power of the Microsoft stack.</p>  <p>The video for this blog post is available <a href="http://msdn.microsoft.com/en-us/biztalk/ee873241.aspx" target="_blank">here</a> at the MSDN BizTalk Developer site.</p>  <p>My goal in this post is to take an on-premises business process, and make it externally available. Now, traditionally in a BizTalk environment that would mean TYPICALLY that you expose a schema or orchestration as a Web service, and then reverse-proxy that so it can be reached from the outside world, probably with a load balancer in the mix.</p>  <p>There’s new tool in our toolbox now: Windows Azure platform AppFabric, which includes the Service Bus and Access Control Service. So, I set out to use that as an external relay, and an entry point into my existing order process demo.</p>  <p>Before we integrate with the existing system, let’s get the client-&gt;ServiceBus-&gt;BizTalk flow working.</p>  <p>Once you’ve signed up for the Azure service and received your developer token, the first thing you need to do is install the Windows Azure platform AppFabric SDK in your BizTalk environment. One of the things this gives you is a set of new WCF bindings, which is what I used in conjunction with BizTalk’s WCF-Custom adapter. I created a new BizTalk project, a new receive port and receive location, as shown below:</p>  <p>&#160;</p>  <p><a href="http://www.brianloesgen.com/resource/WindowsLiveWriter-CreatinganESBonrampthatpointsatAzure_F60F-?fileId=5248054"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.brianloesgen.com/resource/WindowsLiveWriter-CreatinganESBonrampthatpointsatAzure_F60F-?fileId=5248055" width="1042" height="613" /></a> </p>  <p>&#160;</p>  <p>I had many options available, but as I was going .NET (BizTalk) to .NET (Service Bus), I opted to use the Net TCP binding for greater efficiency (perhaps not so important for a demo, but, might as well do it right). Note also that transport-level security is enabled.</p>  <p><a href="http://www.brianloesgen.com/resource/WindowsLiveWriter-CreatinganESBonrampthatpointsatAzure_F60F-?fileId=5248056"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.brianloesgen.com/resource/WindowsLiveWriter-CreatinganESBonrampthatpointsatAzure_F60F-?fileId=5248057" width="346" height="314" /></a> </p>  <p>&#160;</p>  <p>For credentials, I used “shared secret”. This means that it will use the Access Control Service to authenticate me, and the corresponding issuerName and issuerSecret need to correspond to what you have set up using the Azure portal.</p>  <p><a href="http://www.brianloesgen.com/resource/WindowsLiveWriter-CreatinganESBonrampthatpointsatAzure_F60F-?fileId=5248058"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.brianloesgen.com/resource/WindowsLiveWriter-CreatinganESBonrampthatpointsatAzure_F60F-?fileId=5248059" width="359" height="471" /></a>&#160; </p>  <p>Normally, that would be it, but in my case there was a structural difference between what was being relayed to me from the Service Bus and what I needed for my existing process. So, I used the WCF adapters capability to reach into the message and only pass on what I had specified as being the body based on my XPath expression:</p>  <p><a href="http://www.brianloesgen.com/resource/WindowsLiveWriter-CreatinganESBonrampthatpointsatAzure_F60F-?fileId=5248060"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.brianloesgen.com/resource/WindowsLiveWriter-CreatinganESBonrampthatpointsatAzure_F60F-?fileId=5248061" width="372" height="428" /></a> </p>  <p></p>  <p></p>  <p></p>  <p></p>  <p></p>  <p>And… that’s it! Enabling that receive location will create an endpoint “listener” (subscriber) in Azure’s Service Bus. Pretty remarkable really, when you consider that I needed to magic at the BizTalk end other than a new WCF binding, and I can now subscribe to message from the cloud. This is the sort of thing where when you first see it work, you sit back in your chair, say “wow”, and then think about what the implications are.</p>  <p>Next step, we need a publisher. My existing demo already had an InfoPath form, so I wanted to use that. However, how do you make InfoPath talk to Windows Azure platform Service Bus? Now, I’m hardly an InfoPath expert, but I thought I’d give it a shot anyhow. Following the lead from samples in the Azure SDK, I knew I had to set up some contracts. I had to embed this right in the formcode for the form, perhaps there’s a better way (any InfoPath experts, I’d love to know), but my goal here was “just make it work”, knowing full well that I’m dealing with CTPs and ultimate production-ready approaches would likely change anyhow. So, with that as my mindset, the following is what I ended up with. Notice the OrderRelayService class, and how that aligns with the URI in the BizTalk receive location. </p>  <p>&#160;</p>  <p><a href="http://www.brianloesgen.com/resource/WindowsLiveWriter-CreatinganESBonrampthatpointsatAzure_F60F-?fileId=5248062"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.brianloesgen.com/resource/WindowsLiveWriter-CreatinganESBonrampthatpointsatAzure_F60F-?fileId=5248063" width="839" height="323" /></a> </p>  <p>Next, the “Save” button code just sets the order status, and then calls the SendForm method:</p>  <p><a href="http://www.brianloesgen.com/resource/WindowsLiveWriter-CreatinganESBonrampthatpointsatAzure_F60F-?fileId=5248064"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.brianloesgen.com/resource/WindowsLiveWriter-CreatinganESBonrampthatpointsatAzure_F60F-?fileId=5248066" width="665" height="151" /></a> </p>  <p>&#160;</p>  <p>Lastly, we have the sending part. Yes, I have my credentials in the clear here, but once this post goes live those credentials will have changed :)</p>  <p><a href="http://www.brianloesgen.com/resource/WindowsLiveWriter-CreatinganESBonrampthatpointsatAzure_F60F-?fileId=5248067"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.brianloesgen.com/resource/WindowsLiveWriter-CreatinganESBonrampthatpointsatAzure_F60F-?fileId=5248068" width="903" height="629" /></a> </p>  <p></p>  <p>And, that’s it we can now use an InfoPath form to send messages to the Service Bus, and if the Access Control Service authorizes it, the message will be published. BizTalk will have an endpoint listening and will pick up that message.</p>  <p>The last thing we need to do now is hook this into the existing process flow. If you watched the <a href="http://www.brianloesgen.com/blog/2009/7/23/two-new-esb-toolkit-videos-now-live.html" target="_blank">original Order Demo video</a>, you’ll know that I was creating orders in InfoPath, publishing to a SharePoint document list, and from there they were picked up by a BizTalk receive location that used the SharePoint adapter. As part of that, we use one of the standard ESB Toolkit pipelines to select and apply an itinerary, and we selected the itinerary based on a rules engine decision. So, how hard would it be to integrate that functionality into the messages we’re picking up from the Service Bus? Simple, we just add that pipeline to the receive location, and we’re done.</p>  <p><a href="http://www.brianloesgen.com/resource/WindowsLiveWriter-CreatinganESBonrampthatpointsatAzure_F60F-?fileId=5248069"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.brianloesgen.com/resource/WindowsLiveWriter-CreatinganESBonrampthatpointsatAzure_F60F-?fileId=5248071" width="695" height="612" /></a> </p>  <p>&#160;</p>  <p>In this post, and the <a href="http://msdn.microsoft.com/en-us/biztalk/ee873241.aspx" target="_blank">accompanying video</a>, I have shown you how to take an on-premise BizTalk application and make it available externally via the Windows Azure platform Service Bus, by just adding another receive location. And, a huge benefit you get here against having exposed your own endpoint is the scale benefits of the cloud. You don’t need to worry about having servers in a DMZ, reverse proxies,&#160; load balancers, or any of that infrastructure “goo”. </p>  <p>At this point you may want to sit back, say “wow”, and think about what new possibilities this opens up and the solutions you can now create, combining on-premise BizTalk ESB (and perhaps some of your existing applications) with the Windows Azure platform.</p>]]></content></entry><entry><title>New learning resources for Azure and BizTalk</title><category term="Azure"/><category term="BizTalk"/><category term="Cloud"/><category term="ESB Toolkit"/><category term="SOA"/><id>http://www.brianloesgen.com/blog/2009/12/29/new-learning-resources-for-azure-and-biztalk.html</id><link rel="alternate" type="text/html" href="http://www.brianloesgen.com/blog/2009/12/29/new-learning-resources-for-azure-and-biztalk.html"/><author><name>Brian Loesgen</name></author><published>2009-12-29T19:24:31Z</published><updated>2009-12-29T19:24:31Z</updated><content type="html" xml:lang="en-US"><![CDATA[<p>A couple of new resources have become available in the past few days that will likely be of interest to you.</p>  <p>&#160;</p>  <p><strong>Azure</strong></p>  <p>The Developer and Platform Evangelism team has just released a new version of the Azure training kit (Dec 23 2008). It’s a great way to learn about Azure. If you’ve not gotten a feel for what’s coming, check out the videos. It’s an easily digestible set of videos that go through the various pieces that make up the Windows Azure platform. Remember folks, this is not science fiction far future stuff, this goes live on Jan 1 2010 (this Friday!), and becomes chargeable on Feb 1.</p>  <p>The training kit includes a series of:</p>  <ul>   <li>hands on labs</li>    <li>presentations (PPTX and videos)</li>    <li>demos</li>    <li>samples and tools</li> </ul>  <p>You can get it at <b><a href="http://go.microsoft.com/fwlink/?LinkID=130354">http://go.microsoft.com/fwlink/?LinkID=130354</a></b></p>  <p>&#160;</p>  <p><strong>BizTalk</strong></p>  <p>There’s a new issue of the always-informative BizTalk Hotrod available, featuring some really cool articles on how to augment the return on your investment in BizTalk, extending its reach, and benefiting from capabilities you may not have known you had.</p>  <p>Among others, this issue includes articles on:</p>  <ul>   <li>ESB Toolkit</li>    <li>BizTalk and SharePoint (including one I contributed)</li>    <li>BizTalk management with PowerShell</li>    <li>HL7</li>    <li>BizTalk Adapter Pack 2.0</li>    <li>…much much more!</li> </ul>  <p>Lots of good stuff in there, I’d encourage you to check it out, and if you’ve not seen them, browse through the back issues also.</p>  <p>You can get it as a PDF at <a title="http://biztalkhotrod.com/Documents/Issue8_Q4_2009.pdf" href="http://biztalkhotrod.com/Documents/Issue8_Q4_2009.pdf">http://biztalkhotrod.com/Documents/Issue8_Q4_2009.pdf</a></p>]]></content></entry><entry><title>New Windows Azure platform AppFabric SDK now available</title><category term="Azure"/><category term="Cloud"/><id>http://www.brianloesgen.com/blog/2009/12/19/new-windows-azure-platform-appfabric-sdk-now-available.html</id><link rel="alternate" type="text/html" href="http://www.brianloesgen.com/blog/2009/12/19/new-windows-azure-platform-appfabric-sdk-now-available.html"/><author><name>Brian Loesgen</name></author><published>2009-12-19T17:09:11Z</published><updated>2009-12-19T17:09:11Z</updated><content type="html" xml:lang="en-US"><![CDATA[<p>There is a new version of the Windows Azure platform AppFabric SDK was made available yesterday, you can get it <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=39856a03-1490-4283-908f-c8bf0bfad8a5&amp;displaylang=en" target="_blank">here</a>. There was also a <a href="http://blogs.msdn.com/netservicesannounce/archive/2009/12/11/scheduled-maintenance-notification-appfabric-services-and-portal-dec-17th-2009.aspx" target="_blank">scheduled outage</a> of the service yesterday while the team did a “major software upgrade”, presumably this is tidying things up in advance of going production live on Jan 1. There was a pre-announcement of breaking changes posted <a href="http://blogs.msdn.com/netservicesannounce/archive/2009/12/14/windows-azure-platform-appfabric-breaking-changes-pre-announcement.aspx" target="_blank">here</a>, but… I missed that.</p>  <p>My first clue that something had changed was that the Access Control Service wasn’t talking to me anymore :). I also had an issue with it when I tried to run an existing ServiceBus client application.</p>  <p>Updating the SDK solved everything (and obviously you’ll need to rebuild any client apps to get the new assemblies).</p>  <p>So if you’re doing anything with the Azure platform AppFabric, you want to install the new SDK…</p>  <p>We are now just DAYS away from all this going live, I’m excited, and will be posting more soon. We’ve been getting closer and closer to this new era for some time, and now, it starts for real.</p>]]></content></entry><entry><title>Speaking in San Diego Tuesday - I&amp;rsquo;ll be doing a PDC recap from a Connected Systems perspective</title><category term="Azure"/><category term="BizTalk"/><category term="Cloud"/><category term="Dublin/Windows AppFabric"/><category term="ESB"/><category term="ESB Toolkit"/><category term="SOA"/><id>http://www.brianloesgen.com/blog/2009/12/7/speaking-in-san-diego-tuesday-irsquoll-be-doing-a-pdc-recap.html</id><link rel="alternate" type="text/html" href="http://www.brianloesgen.com/blog/2009/12/7/speaking-in-san-diego-tuesday-irsquoll-be-doing-a-pdc-recap.html"/><author><name>Brian Loesgen</name></author><published>2009-12-07T06:13:26Z</published><updated>2009-12-07T06:13:26Z</updated><content type="html" xml:lang="en-US"><![CDATA[<p>I’ll be doing a presentation at the Connected Systems SIG of the <a href="http://SanDiegoDotNet.com" target="_blank">San Diego .NET User Group</a> this coming Tuesday, Dec 8th.</p>  <p>Meeting will be at the Microsoft La Jolla office, 6:00 for pizza, meeting starts at 6:30 and goes until we decide to stop :)</p>  <p>&#160;</p>  <p><strong>Topic</strong></p>  <p>Recap and discussion of some of the major Connected Systems, SOA and ESB announcements and product roadmaps from PDC </p>  <p>&#160;</p>  <p><strong>Abstract</strong></p>  <p>PDC saw a flurry of announcements about emerging technologies and future versions of existing ones. Join Microsoft’s Brian Loesgen as he re-caps some of the major announcements, and what they mean for people working in Connected Systems technologies, or people building SOAs. Brian will also spend some time discussing the SOA Manifesto (<a href="http://soa-manifesto.com" target="_blank">http://soa-manifesto.com</a>) which he helped co-author and was released at the SOA Symposium conference in Rotterdam recently. He will also show (for the first time) a cool new demo that integrates on-premises ESB with the Azure platform AppFabric Service Bus, a new design pattern we have at our disposal (and will be in fully supported production when Azure goes live Feb 1 2010), and will be widely used. </p>  <p>This will be an informal discussion, with some demos and videos, and will cover a broad range of aspects of future technologies. Should be a fun meeting!</p>]]></content></entry><entry><title>Richard&amp;rsquo;s Interview with me is Live</title><category term="Azure"/><category term="BizTalk"/><category term="Cloud"/><category term="Dublin/Windows AppFabric"/><category term="ESB"/><category term="ESB Toolkit"/><category term="SOA"/><id>http://www.brianloesgen.com/blog/2009/12/4/richardrsquos-interview-with-me-is-live.html</id><link rel="alternate" type="text/html" href="http://www.brianloesgen.com/blog/2009/12/4/richardrsquos-interview-with-me-is-live.html"/><author><name>Brian Loesgen</name></author><published>2009-12-04T19:18:10Z</published><updated>2009-12-04T19:18:10Z</updated><content type="html" xml:lang="en-US"><![CDATA[<p>I participated in Richard Seroter’s “Four Questions” interview series, and his post is live now. He asked some great questions, and I put in so much effort into them that some of my answers could be blog posts here, so I thought I’d do a referencing post.</p>  <p>The interview is at <a title="Interview Series- Four Questions With … Brian Loesgen" href="http://seroter.wordpress.com/2009/12/03/interview-series-four-questions-with-brian-loesgen/">Interview Series- Four Questions With … Brian Loesgen</a></p>  <p>And, in case you’re wondering, although I do tend to eat salsa often, I am now, not nor have I ever been a Salsa dancer :) </p>  <p>Enjoy!</p>]]></content></entry><entry><title>My recap of the PDC 2009 preview of the BizTalk V.Next prototype</title><category term="BizTalk"/><category term="Dublin/Windows AppFabric"/><category term="ESB"/><category term="ESB Toolkit"/><category term="SOA"/><category term="WCF"/><category term="WF"/><id>http://www.brianloesgen.com/blog/2009/11/22/my-recap-of-the-pdc-2009-preview-of-the-biztalk-vnext-protot.html</id><link rel="alternate" type="text/html" href="http://www.brianloesgen.com/blog/2009/11/22/my-recap-of-the-pdc-2009-preview-of-the-biztalk-vnext-protot.html"/><author><name>Brian Loesgen</name></author><published>2009-11-22T20:16:57Z</published><updated>2009-11-22T20:16:57Z</updated><content type="html" xml:lang="en-US"><![CDATA[<p>Prior to joining Microsoft, I can’t tell you how many times I heard “will there be a convergence between BizTalk orchestrations and Windows Workflow Foundation? When do I use what? Are BizTalk Orchestrations going away?”. Since joining Microsoft, I’ve heard it even more. In fact, it has got to be the number one question I hear, and I’m sure that’s also true for many of you.</p>  <p>Last week at PDC 2009, Sriram did two things, he announced BizTalk Server 2009 (as I blogged about <a href="http://www.brianloesgen.com/blog/2009/11/21/biztalk-server-2009-r2-announced.html" target="_blank">here</a>), but also, he demonstrated some early prototype work that was being done around bringing together BizTalk, Windows Workflow Foundation, and Windows Server AppFabric. That announcement of R2 and the sneak preview of V.Next are significant enough that I decided to do a separate blog post about each.</p>  <p>Before we start though, let’s set expectations. What was shown in terms of WF/BizTalk integration was a very early prototype. This is NOT something you’ll be able to download next week, and put into production next month. This is early-stage code showing the direction the team is heading in. Have said that, if you follow my blog, you know that’s exactly the stage I like to get involved at :), and I feel it’s very important to keep an eye on the horizon and know what direction you’re heading in.</p>  <p>There are actually a few aspects to what was shown.</p>  <p>First and foremost, was WF integration into BizTalk. Let’s consider some of the motivations behind this:</p>  <ul>   <li>a common ask from customers is a low-latency solution (not all integrations require it, but in some cases, it can be a must-have). BizTalk is a reliable messaging platform, once a message is received, it is never, ever, lost. That reliability has a cost, as it means that there has to be durable storage (in our case SQL Server), and no matter how well tuned, persisting a message in durable storage has a latency cost associated with it </li>    <li>sometimes people aren’t sure which way to go as there are four ways to compose services on the Microsoft stack (usually capabilities lead to a decision, but there can be overlap), with no easy migration path between them:      <ol>       <li>using BizTalk orchestration </li>        <li>using Windows Workflow Foundation </li>        <li>using BizTalk ESB itineraries </li>        <li>using custom code </li>     </ol>   </li> </ul>  <p>Of those four, custom code is an option, but it puts a lot of responsibility on the developer to do “plumbing”. If or example you compose 3 services, and service #2 is unavailable, what do you do? You need to code protectively to respond to that. Or, service #2 returns a fault, what does that mean in terms of the overall composition and flow? Personally, I think a more efficient way to go about this is to let something else worry about the minutiae of the plumbing, which is what we get with the integration server capabilities of BizTalk Server.&#160; So, although there will always be times where it is the right way to go, let’s leave custom code off the list for the rest of this post.</p>  <p>That leaves us with three options, two of which are&#160; BizTalk options, and then WF which is currently completely outside BizTalk. As you probably know, with WF 3.5, if you wanted to host a workflow, you had two choices: use the hosting capabilities in SharePoint, or write your own host (which can be a daunting task depending on far you go towards being a fully featured enterprise-grade host). With .NET 4, that changes with the announcement of Windows Server AppFabric (which I blogged about <a href="http://www.brianloesgen.com/blog/2009/11/17/goodbye-dublin-hello-windows-appfabric.html" target="_blank">here</a>). What Sriram showed was a preview of what it make look like if WF were integrated into BizTalk. </p>  <p>From a BizTalker and SOA perspective, I really like the idea of having WF integrated into BizTalk, as it makes it centralizes the service composition mechanisms, and to some degree, helps mitigate the “when to use what” question as that can be reduced to a set of “common” guidelines. However, what he showed goes well beyond just using BizTalk projects as a shell from which to get at the WF designer, the integration goes much deeper than that, even in this early prototype. Bringing WF into BizTalk doesn’t change BizTalk, it extends it.</p>  <p>Here’s look at this from a Visual Studio perspective, notice the XAMLX files in a BizTalk project. Notice also the workflow designer. This is the same workflow designer that people will be used to working with Visual Studio 2010.</p>  <p>&#160;</p>  <p><a href="http://www.brianloesgen.com/resource/WindowsLiveWriter-Biz.NextThepreviewfromlastweekwhatwastha_136BE-?fileId=4846222"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.brianloesgen.com/resource/WindowsLiveWriter-Biz.NextThepreviewfromlastweekwhatwastha_136BE-?fileId=4846224" width="665" height="389" /></a> </p>  <p>&#160;</p>  <p>Bringing WF into the BizTalk environment brings benefits to the WF developers too. One of those is mapping, the screen shot below shows how you can have either a data contract or a schema on both source and destination sides, and regardless of which you pick, the experience is the same. That also means you get all of the new BizTalk Server 2009 R2 mapper goodness that I blogged about <a href="http://www.brianloesgen.com/blog/2009/11/21/biztalk-server-2009-r2-announced.html" target="_blank">here</a>. From there, as Sriram shows at about the 45 minute mark of <a href="http://microsoftpdc.com/Sessions/SVR15" target="_blank">his presentation</a>, it’s a one-click operation to generate a workflow custom activity to invoke that map, and you can then work with in the WF designer by just dragging it from the palette onto the design surface.</p>  <p><a href="http://www.brianloesgen.com/resource/WindowsLiveWriter-Biz.NextThepreviewfromlastweekwhatwastha_136BE-?fileId=4846225"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.brianloesgen.com/resource/WindowsLiveWriter-Biz.NextThepreviewfromlastweekwhatwastha_136BE-?fileId=4846226" width="666" height="453" /></a> </p>  <p>From a deployment perspective, there was a crude prototype shown, this is <strong>obviously </strong>not what it would look like in final release. The thing to notice here is the fact that the workflow is being hosted in the BizTalkServerApplication host. So, if you follow that logic a step further (rampant speculation on my part!), then that means you could use the standard BizTalk host instance model to have certain workflows running in certain hosts, and then you have instances of those hosts on selected machines.</p>  <p><a href="http://www.brianloesgen.com/resource/WindowsLiveWriter-Biz.NextThepreviewfromlastweekwhatwastha_136BE-?fileId=4846227"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.brianloesgen.com/resource/WindowsLiveWriter-Biz.NextThepreviewfromlastweekwhatwastha_136BE-?fileId=4846228" width="667" height="485" /></a> </p>  <p>There’s a lot of cool stuff in this video, and it points to an interesting convergence of technologies in a future release of BizTalk. It also raises a bunch of questions for me, and adds to a long wish list (which I’ve communicated to the team :)). The bottom line though is that WF integration will give BizTalk developers the ability to handle low latency scenarios in a standard framework supported way, and it also add value for WF developers, as it provides them with the possibility of migrating their workflows into BizTalk and gaining additional capabilities as they do so. </p>  <p><strong>What about Windows Server AppFabric and Windows Azure AppFabric?</strong></p>  <p>What remains to be seen is how this fits into AppFabric, something the team is exploring now. An obvious one to me (rampant speculation!) is that AppFabric is just another host for the workflow (as it could be if the workflow were not part of a BizTalk project), be it Windows Server AppFabric or Windows Azure AppFabric, however perhaps getting there through the BizTalk deployment model and taking things like transformation activities with it. Even today, with BizTalk Server 2009, we have integration from BizTalk into Windows Server AppFabric (and also in the other direction) by going through WCF. So, the integration exists, and will only get deeper in future releases.</p>  <p><strong>Finally….</strong></p>  <p>The last point I want to make is something that may or may not be clear from these two BizTalk announcements. The announcements show Microsoft’s firm commitment to the 10,000+ current BizTalk customers, as well as to the product itself. The capabilities planned for BizTalk Server 2009 R2 and the capabilities shown last week for the release beyond that show the level of commitment and investment that Microsoft is making in the platform. As an insider who’s been involved with BizTalk since before the first release, I can tell you that the degree of enthusiasm and excitement in the product team is very, very real. They have great vision, and the resources they need to execute on that vision. The future keeps getting brighter, this has been a fun ride, and it looks like we have even more fun ahead.</p>  <p>&#160;</p>  <p></p>  <p></p>  <p>The video of all of this is at <a title="http://microsoftpdc.com/Sessions/SVR15" href="http://microsoftpdc.com/Sessions/SVR15">http://microsoftpdc.com/Sessions/SVR15</a>. The things I’ve talked about in this post are in the second half of the video.</p>]]></content></entry></feed>