<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-NZ"><title type="html">Ulrich's SOAP Box</title><subtitle type="html">Architecture, BizTalk, Web Services, and other stuff</subtitle><id>http://blogs.msdn.com/ulrichr/atom.xml</id><link rel="alternate" type="text/html" href="http://blogs.msdn.com/ulrichr/default.aspx" /><link rel="self" type="application/atom+xml" href="http://blogs.msdn.com/ulrichr/atom.xml" /><generator uri="http://communityserver.org" version="2.1.61025.2">Community Server</generator><updated>2005-02-08T06:06:00Z</updated><entry><title>Working with Whitehorse, Pt2…</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/ulrichr/archive/2005/07/14/438623.aspx" /><id>http://blogs.msdn.com/ulrichr/archive/2005/07/14/438623.aspx</id><published>2005-07-14T03:04:00Z</published><updated>2005-07-14T03:04:00Z</updated><content type="html">&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;I said in my last post that the benefit of using Whitehorse has been marginal so far. To my surprise, I never got a single email refuting this. I still stand by that comment, although I am being a little hard on Whitehorse. &lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;At this stage in the design process, I've painted a picture of my application design, and a picture of my logical datacenter design. I use the word picture explicitly, because that is what it is. It is a visual representation, without any additional information (metadata) attached. Kind of a flat representation of a 3D world. Today, I'm going to describe how I started to add that additional information, initially to the application design.&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;If you refer back to the application design in my previous post, you'll see I started by selecting one area of functionality we would be delivering (point-of-sale customer and sales order), and then built up an application design. To the basic POS system, I added some additional features to support further development, like an event publisher to allow new systems to be attached to the application, and a library of common services (InfrastructureLibrary). Remember also that my application utilises published SAP Web Services, which in my initial design I emulates using an ASP.NET Web Service (SAPWS).&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;The first thing I did today was to try to access the real SAP Web Services. I consulted the SAP API documentation and found the address of the WSDL files that described the Web Services I planned to utilise. Then, within the Application Diagram, I deleted the dummy ASP.NET Web Service (SAPWS), and added an External Web Service instead. When I did this, I got a dialog, which allowed me to specify the path to the WSDL file for the SAP API I wanted to use. I entered the URL, and this created an external Web Service in the Application Designer. &lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;At this point I bumped into a couple of issues. Firstly, SAP exposes each API call as a separate web service, instead of a single web service with multiple web methods. This meant that I had to create a total of 8 separate external web services in the application designer, one for each SAP API I planned to call. This could make for a pretty cluttered Application Design if you planned to access a large number of SAP APIs.&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;The second issue came up when I looked at the signature of the SAP web services. These were RPC/encoded web services, rather than document/literal. I wanted to stick to document/literal web services, following the guidelines of the WS-I Basic Profile. I believe that later versions of SAP provide better web service interfaces. However, it became apparent that putting a web service façade across the front of the provided SAP web services was going to be a good idea. &lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;&amp;nbsp;&lt;/P&gt;&lt;IMG height=800 src="http://kiwicoder.members.winisp.net/AD1.jpg" width=800&gt; 
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;You can see my Application Design above. Note that I cropped it a bit, to focus on the area of interest. At this stage, I had linked to each of the SAP web services, and I had defined the web services (and web methods) for my SAPFacade (a less granular set of business web services,&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;implemented in terms of native SAP web services). I still need to define the rest of my applications, but at this point I thought I'd have a little fun….&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-FAMILY: Verdana"&gt;I checked everything into Visual Sourcesafe (I'm working stand-alone off my laptop, so no Team Server &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Wingdings"&gt;L&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Verdana"&gt;), labelled the version, and then checked it all out again. Then I right-clicked on SAPFacade, and selected "Implement Application". VSTS created the ASP.NET Web Service project (in C#), automatically added web references to all of the SAP web services I had linked to in my Application Design, and created stubs for the methods of the two web services I had defined. Selecting one of the web methods, I was then immediately able to write the following code, with completion etc.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;&amp;nbsp;&lt;/P&gt;&lt;IMG height=120 src="http://kiwicoder.members.winisp.net/CodeSnippet.jpg" width=800&gt; 
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;At this point, I really began to see some benefits from Whitehorse. Usually when I'm working with corporate customers, I don't get the luxury of completely "green fields" development. What I mean by that is that I invariably have to link my applications to existing applications/systems, and that I need to deploy those applications onto existing (sometimes shared) infrastructure (more about that next week). With a "static" design tool like Visio I typically can't pull in definitions from existing systems, and integrate them with my evolving design (although to be fair, I can pull in web services definitions in some other design tools). My Application Design was now starting to capture significant meta-data behind the visual elements, and more importantly, this meta-data is automatically transferred to the application developer (in the form of class definitions etc). I was beginning to get hooked!&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;One last really COOL feature! I talked above about the fact that I wasn't that happy with the exposed SAP web services, and I implemented a façade to those services which provided a web service interface that better suited me. Now of course as I continue to develop this application, I will build up a pretty comprehensive SAPFacade (a number of web services, grouped around specific business entities, such as SalesOrders, and Customers). Of course within my customer, other designers will be working on related applications, and these designers will benefit from the work I have done providing business level wrappers around the SAP web services. SO, what I can now do, is right-click on the SAPFacade application within the Application Designer, and select "Add To Toolbox". Now this component will be available on my toolbox, for re-use in other application designs (and I can export it for others to use as well). Of course I can use this to add other enterprise wide common components, like InfrastructureWS. Now that ROCKS!&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;More next week, as I start to "flesh out" my logical Datacenter Design.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=438623" width="1" height="1"&gt;</content><author><name>ulrichr</name><uri>http://blogs.msdn.com/members/ulrichr.aspx</uri></author></entry><entry><title>An apology</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/ulrichr/archive/2005/07/13/438259.aspx" /><id>http://blogs.msdn.com/ulrichr/archive/2005/07/13/438259.aspx</id><published>2005-07-13T06:51:00Z</published><updated>2005-07-13T06:51:00Z</updated><content type="html">&lt;P&gt;&lt;FONT face=Arial size=2&gt;My post yesterday didn't work very well because I posted the pictures of the designer onto a web site that had download limitations. The result was that most people who tried to view the post couldn't see the pictures. Now fixed, thanks to &lt;a href="http://blogs.msdn.com/nigel"&gt;Nigel Parker&lt;/A&gt;, who loaned me some webspace. Thanks Nigel&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;Tomorrow, I'll post the second article in this series.&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=438259" width="1" height="1"&gt;</content><author><name>ulrichr</name><uri>http://blogs.msdn.com/members/ulrichr.aspx</uri></author></entry><entry><title>Working with Whitehorse…</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/ulrichr/archive/2005/07/12/437825.aspx" /><id>http://blogs.msdn.com/ulrichr/archive/2005/07/12/437825.aspx</id><published>2005-07-12T05:37:00Z</published><updated>2005-07-12T05:37:00Z</updated><content type="html">&lt;FONT face=Arial size=2&gt;I've done my fair share of technology presentations, and recently a lot of those have centered around the designers in Visual Studio Team System (aka Whitehorse). Now when you do a presentation, it's hard to really exercise the technology. You tend to stick to specific scripts, and avoid concepts that are complex, and take too long to explain (unless you want your audience to fall asleep).&lt;/FONT&gt; 
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;As a result, I was both excited, and a little bit worried, when one of my corporate customers asked me to help them architect and design a new series of applications they were going to build using VSTS. Excited, because I was finally going to get a chance to really exercise this cool technology, and a bit worried, because I wondered just how much value it would actually add to the design process, and whether it would really work as promised (it still a beta after all). &lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;This blog is the first in a series where I'm going to try to explain how I went about using Whitehorse, and how effective I found it.&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;The customer had already developed an enterprise architecture which covered off the major applications they needed to build in the coming months, and also provided a whole lot of guidelines around how those applications should be architected (leading towards a SOA). The customer also already had some applications deployed using VS 2003, in an existing datacenter environment. &lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;We started by identifying a candidate application. This was a retail POS application which was going to be browser based, and would provide retail customer management, and order creation/update. At the back-end, this functionality was all provided by SAP. We planned to integrate with SAP via SAP Web Services.&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;We started by laying out our initial application design. You can see the initial design below. The various applications are laid out in tiers, with a presentation tier containing the POS web site (CustomerSalesOrder), an application tier containing process level services (StoreOpsPS), another application tier containing the more atomic web services (SAPFacade, StoreOpEvents, and InfrastructureServices), and a data tier. &lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;&amp;nbsp;&lt;/P&gt;&lt;IMG height=600 src="http://nigelp.members.winisp.net/AD.jpg" width=800&gt; 
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;The key applications for the retail POS system are the CustomerSalesOrder web site, and the StoreOpsPS higher level services. As we started looking at those more closely, we realised that there were going to be some common services which would be shared by various applications. We decided to group these as InfrastructureServices, and these included things like auditing, authentication etc. We also wanted to be able to add integration with other systems easily, so we decided to implement an event publisher (StoreOpsEventPublisher), which applications could subscribe to. This was not required for the initial application, but we felt it would come in handy later on.&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;At this stage, we did not have access to the SAP system, so we mimicked that with a ASP.NET Web Service called SAPWS. We put a couple of Web Services into this proxy based on the SAP documentation. Later we'll replace this with the actual SAP web services. &lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;At this stage, we talked to the infrastructure team, and got them to help us lay out the existing infrastructure using the Logical Datacenter Designer. That diagram is shown here&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;&amp;nbsp;&lt;/P&gt;&lt;IMG height=600 src="http://nigelp.members.winisp.net/LDD.jpg" width=800&gt; 
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;As you can see, they have two logical tiers, with presentation and application in the WebZone, and then several "data" tiers (SAPZone, DatabaseZone, and MainframeZone). From my perspective, although SAP and the mainframe have application logic, I only access them as data servers.&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;One thing that was not immediately apparent to me was that I needed to actually connect up endpoints even within a zone. So, when I first built this it would not validate against my Application Design, because I hadn't specified the LocalWS, or the EventQueue (OK, so I should RTFM). I found that I could connect up various Web Services, database connections, and generic connections, and then set constraints around them. For example I was able to specify that the protocol for the EventQueue had to be MSMQ. Cool.&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;At this point, I created a deployment diagram, and then spent some time putting all the applications into the appropriate servers, and linking up these within and across the zones. This took an hour or so, mainly due to my incomplete understanding of how it all worked. I also laid out the operations on each of the Web Services, ready for these to be created.&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;So, after all this, did Whitehorse help me design this system? At this stage in the process, I'd have to admit the benefit was still marginal. It did help, in that it forced the various interested parties to cooperate, and design not only how the application was going to work, but also how it was going to be deployed, but at this stage, we could have done all this with Visio.&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;HOWEVER, stay tuned for my next blog, when I'll describe how we continued to work with these design views, and make them much richer than they are here...&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=437825" width="1" height="1"&gt;</content><author><name>ulrichr</name><uri>http://blogs.msdn.com/members/ulrichr.aspx</uri></author><category term="SOA" scheme="http://blogs.msdn.com/ulrichr/archive/tags/SOA/default.aspx" /><category term="Architecture" scheme="http://blogs.msdn.com/ulrichr/archive/tags/Architecture/default.aspx" /></entry><entry><title>A chance to win some cool prizes</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/ulrichr/archive/2005/06/12/428419.aspx" /><id>http://blogs.msdn.com/ulrichr/archive/2005/06/12/428419.aspx</id><published>2005-06-12T06:17:00Z</published><updated>2005-06-12T06:17:00Z</updated><content type="html">&lt;P&gt;&lt;FONT face=Arial size=2&gt;As I said in my previous post, I've been trying out a lot of beta software recently. One of the things I've been working with a lot is Visual Studio Team System. I reckon its pretty cool (actually, I'd have trouble going back to the previous version now), and really wish I'd had something like it in some of the projects I've done in the past. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;To encourage you all to try it as well, we (the Microsoft New Zealand Developer and Platform team) have decided to run a competition to encourage you to try it out. The competition&amp;nbsp;comes in two flavours, to appeal to both individual developers, and to development teams, and the prizes are pretty cool. There's about $100K in prizes up for grabs, for New Zealand developers only, so you have a great chance to win. Plus you get the chance to become world famous in New Zealand, because the winners get drawn at TechEd, which will give you some great exposure to the New Zealand development community.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;To find out more, go to &lt;SPAN&gt;&lt;A title=http://www.microsoft.co.nz/msdn/competition href="http://www.microsoft.co.nz/msdn/competition"&gt;&lt;FONT face="Times New Roman" size=3&gt;http://www.microsoft.co.nz/msdn/competition&lt;/FONT&gt;&lt;/A&gt;. Oh, and if you haven't already, get the VSTS beta &lt;A href="http://www.microsoft.com/nz/evaluate/products/vs2005.aspx"&gt;here&lt;/A&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN&gt;Best of luck...&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=428419" width="1" height="1"&gt;</content><author><name>ulrichr</name><uri>http://blogs.msdn.com/members/ulrichr.aspx</uri></author></entry><entry><title>The life of a beta tester...</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/ulrichr/archive/2005/06/07/426468.aspx" /><id>http://blogs.msdn.com/ulrichr/archive/2005/06/07/426468.aspx</id><published>2005-06-07T05:22:00Z</published><updated>2005-06-07T05:22:00Z</updated><content type="html">&lt;FONT face=Arial size=2&gt;Ha, this blogging seemed like a great idea at first, but its really hard to maintain. I've got a lot of respect for people like Scott who are pretty busy, and yet still manage to blog so frequently. I've been pretty busy presenting on various topics, and as part of that, I've been playing (don't tell my boss, but its all good fun) with a whole range of beta technologies. Currently, on my desktop I have VSTS Beta 2, SQL Server CTP, WSE 3.0 CTP, and BizTalk Server 2006. Now you'd think with all that beta software, almost nothing would work, but actually, things are going pretty well. 
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Scott Woodgate talks about &lt;a href="http://blogs.msdn.com/scottwoo/archive/2005/06/02/424378.aspx"&gt;Rolling Thunder&lt;/A&gt;, when he speaks about various cool features in the new BizTalk 2006, so I thought I'd share some of my own Rolling Thunder for the various technologies I've been checking out over the last 6 weeks, starting with BizTalk 2006.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Rolling Thunder #1 -&amp;nbsp;The BizTalk Configuration Utility&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;One of the biggest complaints I've had from customers is that while installing BizTalk is pretty simple, the configuration wizard was just too complex. If you made any mistakes, and forgot to install a feature, or wanted to make changes, you often ended up unconfiguring (hopefully you remembered to do that), and then re-running the configuration. Well, the first thing&amp;nbsp; that hit me in the eye was the new configuration wizard. Simplicity itself to run, and you could run and re-run it to install features, and then uninstall features as needed. I was pretty pleased about that, because I tried to install BizTalk onto SQL 2005, so I ended up uninstalling the BAM Events, and generally changing things around several times.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Rolling Thunder #2 -&amp;nbsp;The BizTalk Flatfile Schema Wizard&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Scott's already blogged about this, but its such a cool feature, I had to mention it as well. I wish I'd had something like this back in BizTalk 2000 days....&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Rolling Thunder #3 - WSE 3 MTOM support&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I was giving a talk about WSE and Indigo to our local .NET User Group. I was also pretty intensely using Visual Studio 2005 Team Suite for my development, so I wanted to show both WSE2 and WSE3. &lt;a href="http://blogs.msdn.com/rdias/"&gt;Rebecca Dias&lt;/A&gt; kindly gave me access to an early version of the WSE3 CTP (which you can get &lt;A href="http://msdn.microsoft.com/webservices/building/wse/default.aspx"&gt;here&lt;/A&gt;), so I put together a bunch of samples showing security in WSE2 with Visual Studio 2003 (on a VPC), and then showed MTOM support in WSE3 directly off my laptop. A lot of people have been struggling with sending binary data across web services, with some using WS-Attachments, and some using MIME. Finally, with an implementation of MTOM available, we can all move to a standard way to do this. And it's so simple too. &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I've also looked at the security features in WSE3, but more on that in another post. WSE3 is very cool though, and I recommend you check out the CTP.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;And before anyone says, I know I should probably put all this beta software into a VPC (and I do for some builds and demos), but it really does work very well together.&lt;/P&gt;&lt;/FONT&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=426468" width="1" height="1"&gt;</content><author><name>ulrichr</name><uri>http://blogs.msdn.com/members/ulrichr.aspx</uri></author><category term="Web Services" scheme="http://blogs.msdn.com/ulrichr/archive/tags/Web+Services/default.aspx" /><category term="BizTalk" scheme="http://blogs.msdn.com/ulrichr/archive/tags/BizTalk/default.aspx" /></entry><entry><title>Calling on Kiwi Ingenuity</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/ulrichr/archive/2005/04/27/412811.aspx" /><id>http://blogs.msdn.com/ulrichr/archive/2005/04/27/412811.aspx</id><published>2005-04-27T11:07:00Z</published><updated>2005-04-27T11:07:00Z</updated><content type="html">&lt;FONT face=Arial size=2&gt;
&lt;DIV&gt;&lt;A title=http://blogs.msdn.com/scottwoo/archive/2005/04/27/412640.aspx HREF="/scottwoo/archive/2005/04/27/412640.aspx"&gt;Scott Woodgate&lt;/A&gt; just announced the &lt;A title=http://www.csdevcompetition.com/ href="http://www.csdevcompetition.com/"&gt;Connected Systems Developer Competition&lt;/A&gt;. If you build the best sample application that makes use of VS.NET 2005, SQL Server 2005, and BizTalk, you get to win $50,000 (US!). I'd&amp;nbsp;really love this prize to go to someone from New Zealand. If I didn't already work for Microsoft, I'd give it a go myself. &lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;Check out...&lt;/FONT&gt;&lt;a href="http://blogs.msdn.com/scottwoo/archive/2005/04/27/412640.aspx"&gt;&lt;FONT face=Arial size=2&gt;http://blogs.msdn.com/scottwoo/archive/2005/04/27/412640.aspx&lt;/FONT&gt;&lt;/A&gt;&lt;/DIV&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=412811" width="1" height="1"&gt;</content><author><name>ulrichr</name><uri>http://blogs.msdn.com/members/ulrichr.aspx</uri></author></entry><entry><title>A long absence</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/ulrichr/archive/2005/04/19/409808.aspx" /><id>http://blogs.msdn.com/ulrichr/archive/2005/04/19/409808.aspx</id><published>2005-04-19T06:09:00Z</published><updated>2005-04-19T06:09:00Z</updated><content type="html">&lt;DIV class=Section1&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN&gt;Well, its been a while since I last posted. What with the changes to our blogging infrastructure, plus my workload suddenly increasing dramatically, I just never seemed to get around to writing another blog. &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN&gt;So what have I been doing. Well, I got asked to do a couple of talks about Visual Studio Team System (VSTS), at local developer conferences, and then we had Connect 05 in Christchurch, Wellington and Auckland. Didn’t seem that bad, but I really like to make sure I am prepared for talks, so it all ended up taking a lot longer than I anticipated (but was very interesting). &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN&gt;VSTS is truly huge. I’ve spent the last 7 years building increasingly complex server systems on Microsoft technologies, everything from the Rugby World Cup web site, to message exchanges built on BizTalk Server, so I really relate to the designers that ship with VSTS. For the talk, the demo script involved a fairly simple 3 tier web application, which you hook together, and then deploy to a logical datacenter. Impressive in itself, but I decided to have a bit of fun, and ended up plugging in the application and datacenter designs of several of my past projects. This took a lot of time, but was pretty cool. &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN&gt;I’ll be doing a lot more with this stuff in the next few weeks, so stay tuned. &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=409808" width="1" height="1"&gt;</content><author><name>ulrichr</name><uri>http://blogs.msdn.com/members/ulrichr.aspx</uri></author></entry><entry><title>WSE 2.0 SP3 went live today on MSDN.</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/ulrichr/archive/2005/03/01/382861.aspx" /><id>http://blogs.msdn.com/ulrichr/archive/2005/03/01/382861.aspx</id><published>2005-03-01T10:00:00Z</published><updated>2005-03-01T10:00:00Z</updated><content type="html">&lt;div class="Section1"&gt; &lt;p&gt;&lt;font size="2" face="Arial"&gt;&lt;span style='font-size:10.0pt;font-family:Arial'&gt;&amp;nbsp;Get it &lt;a href="http://msdn.microsoft.com/webservices/building/wse/"&gt;here&lt;/a&gt;.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=382861" width="1" height="1"&gt;</content><author><name>ulrichr</name><uri>http://blogs.msdn.com/members/ulrichr.aspx</uri></author></entry><entry><title>Links from my Business Process Management session this morning...</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/ulrichr/archive/2005/02/21/377830.aspx" /><id>http://blogs.msdn.com/ulrichr/archive/2005/02/21/377830.aspx</id><published>2005-02-21T15:59:00Z</published><updated>2005-02-21T15:59:00Z</updated><content type="html">&lt;div class="Section1"&gt; &lt;p&gt;&lt;font size="2" face="Arial"&gt;&lt;span style='font-size:10.0pt;font-family:Arial'&gt;I promised a few links from my Business Process Management session this morning&amp;hellip;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Arial"&gt;&lt;span style='font-size:10.0pt;font-family:Arial'&gt;The BizTalk Server Security paper - &lt;a href="http://www.microsoft.com/biztalk/techinfo/whitepapers/2004/security.asp"&gt;http://www.microsoft.com/biztalk/techinfo/whitepapers/2004/security.asp&lt;/a&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Arial"&gt;&lt;span style='font-size:10.0pt;font-family:Arial'&gt;Using Microsoft Tools for Business Process Management - &lt;a href="http://www.microsoft.com/biztalk/techinfo/whitepapers/2004/business_process.asp"&gt;http://www.microsoft.com/biztalk/techinfo/whitepapers/2004/business_process.asp&lt;/a&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Arial"&gt;&lt;span style='font-size:10.0pt;font-family:Arial'&gt;BizTalk Server 2004: Understanding BPM Servers - &lt;a href="http://www.microsoft.com/biztalk/techinfo/whitepapers/2004/bpmservers.asp"&gt;http://www.microsoft.com/biztalk/techinfo/whitepapers/2004/bpmservers.asp&lt;/a&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Arial"&gt;&lt;span style='font-size:10.0pt;font-family:Arial'&gt;BizTalk Technical Guides, including deployment, performance, security - &lt;a href="http://msdn.microsoft.com/BPI/TechGuides/default.aspx"&gt;http://msdn.microsoft.com/BPI/TechGuides/default.aspx&lt;/a&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Arial"&gt;&lt;span style='font-size:10.0pt;font-family:Arial'&gt;Thanks to those of you who attended. I got some great questions, and feedback.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Arial"&gt;&lt;span style='font-size:10.0pt;font-family:Arial'&gt;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=377830" width="1" height="1"&gt;</content><author><name>ulrichr</name><uri>http://blogs.msdn.com/members/ulrichr.aspx</uri></author></entry><entry><title>Martin Fowler on patterns</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/ulrichr/archive/2005/02/21/377717.aspx" /><id>http://blogs.msdn.com/ulrichr/archive/2005/02/21/377717.aspx</id><published>2005-02-21T10:30:00Z</published><updated>2005-02-21T10:30:00Z</updated><content type="html">&lt;div class="Section1"&gt; &lt;p&gt;&lt;font size="2" face="Arial"&gt;&lt;span style='font-size:10.0pt;font-family:Arial'&gt;&amp;nbsp;Well, here I am at the Microsoft Regional Architect Forum on the Gold Coast. I just caught Martin Fowler&amp;rsquo;s keynote on Enterprise Application Architecture Patterns, and patterns generally. Martin is an engaging speaker, and I was pretty keen to catch his ideas on patterns after I worked with his colleague, Gregor Hohpe on the Integration Patterns book. Martin also gave out a URL to a survey he&amp;rsquo;s done on &amp;ldquo;good&amp;rdquo; (Martin was quick to stress that this is his idea of &amp;ldquo;good&amp;rdquo;) sources of pattern information. You can get that &lt;a href="http://martinfowler.com/articles/enterprisePatterns.html"&gt;here&lt;/a&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=377717" width="1" height="1"&gt;</content><author><name>ulrichr</name><uri>http://blogs.msdn.com/members/ulrichr.aspx</uri></author></entry><entry><title>Which TCP/IP ports does BizTalk use?</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/ulrichr/archive/2005/02/17/375795.aspx" /><id>http://blogs.msdn.com/ulrichr/archive/2005/02/17/375795.aspx</id><published>2005-02-17T12:06:00Z</published><updated>2005-02-17T12:06:00Z</updated><content type="html">&lt;div class="Section1"&gt; &lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;&lt;span style="FONT-SIZE: 12pt"&gt;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;font face="Arial" size="2"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Check it out in this handy &lt;a href="http://www.msdn.microsoft.com/library/default.asp?url=/library/en-us/deploying/htm/ebiz_depl_secure_tdpr.asp"&gt;article&lt;/a&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=375795" width="1" height="1"&gt;</content><author><name>ulrichr</name><uri>http://blogs.msdn.com/members/ulrichr.aspx</uri></author><category term="BizTalk" scheme="http://blogs.msdn.com/ulrichr/archive/tags/BizTalk/default.aspx" /></entry><entry><title>A nice analogy</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/ulrichr/archive/2005/02/17/375765.aspx" /><id>http://blogs.msdn.com/ulrichr/archive/2005/02/17/375765.aspx</id><published>2005-02-17T11:21:00Z</published><updated>2005-02-17T11:21:00Z</updated><content type="html">&lt;div class="Section1"&gt; &lt;p&gt;&lt;font face="Arial" size="2"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;I’m a sucker for a nice analogy! I find they are a great way to help you to understand complex ideas and systems, by referencing stuff you understand well. Of course there is the danger that you can carry one too far, but I still find I understand and remember stuff better when someone provides a nice vision for me. For example, I’ve always liked &lt;A href="http://blogs.msdn.com/pathelland"&gt;Pat Helland’s&lt;/a&gt; analogies about IT, first the Emissaries and Fiefdoms, and then the Growth of American cities aligned to the development of IT.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Arial" size="2"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Yesterday I presented at the Service Oriented Architecture conference here in Auckland, and I also sat in on a session by &lt;a href="http://www-128.ibm.com/developerworks/speakers/colan/"&gt;Mark Colan&lt;/a&gt; from IBM. Mark made a nice analogy between the way systems were originally developed in a monolithic fashion, then object-oriented, and then SOA, likening it to walls (bear with me here).&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Arial" size="2"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Mark started the analogy by showing us an ancient wall, composed of irregular bricks, with large mortar chunks in between, and even some pieces that had been added on years later, and cemented into place. This was analogous to our monolithic applications, held together by code, which largely could not be changed, although some retro-fit did happen, tacked into place by more custom code. The next picture was a more modern wall, composed of bricks that were all the same size, still obviously held together by mortar. This was like o-o, because the components fitted together well, but you still needed code to hook them together, and once hooked together, rearranging them is impractical. The last picture Mark showed was of a Lego “sculpture” of Harry Potter (you can see it if you ever fly into or out of Auckland Airport). This was SOA. Bricks still the same, but they could easily be composed in a lot of interesting ways, and even after being built, they could be rearranged into new compositions. Kind of licke the cement was now re-useable, as well as the bricks.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Arial" size="2"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;The other point Mark made was that the guy who built the Lego sculpture had several attempts at it before he got it right, which parallels the potential rapid development style possible with SOA.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Arial" size="2"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Nice one Mark!&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=375765" width="1" height="1"&gt;</content><author><name>ulrichr</name><uri>http://blogs.msdn.com/members/ulrichr.aspx</uri></author><category term="SOA" scheme="http://blogs.msdn.com/ulrichr/archive/tags/SOA/default.aspx" /></entry><entry><title>BizTalk MSMQ Adapter released</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/ulrichr/archive/2005/02/17/375750.aspx" /><id>http://blogs.msdn.com/ulrichr/archive/2005/02/17/375750.aspx</id><published>2005-02-17T10:57:00Z</published><updated>2005-02-17T10:57:00Z</updated><content type="html">&lt;div class="Section1"&gt; &lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;&lt;span style="FONT-SIZE: 12pt"&gt;Cool. The MSMQ Adapter (as different from the MSMQT Adapter) has now been released for BizTalk. You can download &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=CBA87D07-7F50-4D7B-A888-388D123F736E&amp;amp;displaylang=en"&gt;here&lt;/a&gt;.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;&lt;span style="FONT-SIZE: 12pt"&gt;I’ve been waiting for this, because I do a lot of development on my machine, and want to have MSMQ and BizTalk on the same machine. If I installed (registered) MSMQT, I wouldn’t be able to have MSMQ on that machine. If I had MSMQ, I couldn’t read the messages from the queue (you get the idea).&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;&lt;span style="FONT-SIZE: 12pt"&gt;Now onto that Publish Subscribe pattern example…&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=375750" width="1" height="1"&gt;</content><author><name>ulrichr</name><uri>http://blogs.msdn.com/members/ulrichr.aspx</uri></author><category term="BizTalk" scheme="http://blogs.msdn.com/ulrichr/archive/tags/BizTalk/default.aspx" /></entry><entry><title>Patterns Repository</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/ulrichr/archive/2005/02/17/375686.aspx" /><id>http://blogs.msdn.com/ulrichr/archive/2005/02/17/375686.aspx</id><published>2005-02-17T09:03:00Z</published><updated>2005-02-17T09:03:00Z</updated><content type="html">&lt;div class="Section1"&gt; &lt;p&gt;&lt;font face="Arial" size="2"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;If you haven’t already seen it, check out &lt;a href="http://patternshare.org/"&gt;http://patternshare.org&lt;/a&gt;. It’s a table of architecture and design patterns, split into Application, Integration, Operational etc patterns. It pulls in and references patterns from GoF, our Integration Patterns book, The Enterprise Application Patterns book, and other sources, and links you to the pattern synopsis if its available on the net. A cool resource for architects.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=375686" width="1" height="1"&gt;</content><author><name>ulrichr</name><uri>http://blogs.msdn.com/members/ulrichr.aspx</uri></author><category term="Architecture" scheme="http://blogs.msdn.com/ulrichr/archive/tags/Architecture/default.aspx" /></entry><entry><title>A new blog...</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/ulrichr/archive/2005/02/08/369561.aspx" /><id>http://blogs.msdn.com/ulrichr/archive/2005/02/08/369561.aspx</id><published>2005-02-08T14:06:00Z</published><updated>2005-02-08T14:06:00Z</updated><content type="html">&lt;div class="Section1"&gt; &lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;&lt;span style='font-size:12.0pt'&gt;A friend of mine, Alex James, has just started blogging. Alex owns his own small company, building some pretty slick software which allows applications to share data or datalayers. You can find his blog &lt;a href="http://www.base4.net/Rss.aspx"&gt;here&lt;/a&gt;, and download his software from his web site &lt;a href="http://www.base4.net/welcome.aspx"&gt;here&lt;/a&gt;.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;&lt;span style='font-size:12.0pt'&gt;Looking at the number of blogs though, it seems Alex has been spending too much time blogging. Get back to work man!&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=369561" width="1" height="1"&gt;</content><author><name>ulrichr</name><uri>http://blogs.msdn.com/members/ulrichr.aspx</uri></author></entry></feed>