<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>simonguest.com &#187; Interoperability</title>
	<atom:link href="http://simonguest.com/category/interoperability/feed/" rel="self" type="application/rss+xml" />
	<link>http://simonguest.com</link>
	<description>The only person allowed to login as &#039;guest&#039;</description>
	<lastBuildDate>Fri, 20 Jan 2012 15:10:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>QCon San Francisco 2010</title>
		<link>http://simonguest.com/2010/10/11/qcon-san-francisco-2010/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=qcon-san-francisco-2010</link>
		<comments>http://simonguest.com/2010/10/11/qcon-san-francisco-2010/#comments</comments>
		<pubDate>Mon, 11 Oct 2010 17:54:01 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[Interoperability]]></category>

		<guid isPermaLink="false">http://simonguest.com/2010/10/11/qcon-san-francisco-2010/</guid>
		<description><![CDATA[QCon is one of my favorite conferences.&#160; Although it’s a relatively small gathering compared to TechEd or JavaOne, it always has an awesome selection of sessions and speakers.&#160; Last year was amazing, and I had the honor of presenting a session (Patterns for Cloud Computing) in one of the many great tracks. This year (San [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://qconsf.com/sf2010/"><img alt="alt" src="http://qconsf.com/sf2010/file?path=/qcon-sanfran-2010/top-banner.jpg" width="472" height="84" /></a></p>
<p><a href="http://qconsf.com/sf2010/">QCon</a> is one of my favorite conferences.&#160; Although it’s a relatively small gathering compared to TechEd or JavaOne, it always has an awesome selection of sessions and speakers.&#160; Last year was <a href="http://www.infoq.com/articles/QCon-SF-2009-Summary">amazing</a>, and I had the honor of presenting a session (<a href="http://www.infoq.com/presentations/Patterns-for-Cloud-Computing">Patterns for Cloud Computing</a>) in one of the many great tracks.</p>
<p><a href="http://qconsf.com/sf2010/">This year</a> (San Francisco, Nov 3 – 5, 2010), I’ll be participating in a <a href="http://qconsf.com/sf2010/presentation/Panel%3A+Data+in+the+Cloud">panel to talk about data in the cloud</a>.&#160; For most organizations, I think this is one of the most important aspects of moving applications to the cloud.&#160; For example: How should organizations store data in the cloud?&#160; What type of storage is best (relational, non-relational, structured, blob, something else)?&#160; How do organizations manage encrypted data in the cloud?&#160; All in all, I’m really looking forward to an exciting discussion.&#160; Fellow panelists include Amir Awadallah (CTO of Cloudera), Damien Katz (Creator of CouchDB), and Roger Bodamer (SVP of MongoDB).</p>
<p>If you are planning on attending this year, I look forward to seeing you there.&#160; If you are not, and would like to get a discount on your <a href="http://qconsf.com/sf2010/registration/">registration</a>, feel free to use the following promotional code: GUES100.&#160; By using the code, you’ll receive $100 off your registration price and the organizers of the event will donate $100 to the <a href="http://www.stanthonysf.org/">St. Anthony Foundation</a> in San Francisco.&#160; </p>
<p>But wait!&#160; There’s more!&#160; If you use the registration code I’ll donate an extra $100 to St. Anthony’s for the first ten attendees.&#160; So that’s a great conference, $100 off the ticket price, plus $200 on your behalf to a great cause!&#160; Hope to see you there!</p>
]]></content:encoded>
			<wfw:commentRss>http://simonguest.com/2010/10/11/qcon-san-francisco-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Moving VHDs to the Cloud</title>
		<link>http://simonguest.com/2010/04/22/moving-vhds-to-the-cloud/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=moving-vhds-to-the-cloud</link>
		<comments>http://simonguest.com/2010/04/22/moving-vhds-to-the-cloud/#comments</comments>
		<pubDate>Thu, 22 Apr 2010 22:25:49 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[Interoperability]]></category>

		<guid isPermaLink="false">http://simonguest.com/?p=211</guid>
		<description><![CDATA[When I speak with customers about cloud computing, a common question is often “how do I migrate an application to the cloud?&#8221;  While this is a multi-part answer, one of the hurdles for migration is often storage.  Many applications store data using the file system (e.g. read / write a file to d:dataconfig.xml).  Moving these [...]]]></description>
			<content:encoded><![CDATA[<p>When I speak with customers about cloud computing, a common question is often “how do I migrate an application to the cloud?&#8221;  While this is a multi-part answer, one of the hurdles for migration is often storage. </p>
<p>Many applications store data using the file system (e.g. read / write a file to d:dataconfig.xml).  Moving these types of applications to the cloud can be difficult as the storage mechanisms in the cloud are somewhat different. </p>
<p>To help address this problem, in Feb 2010 we released v1.1 of the <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=5664019e-6860-4c33-9843-4eb40b297ab6&amp;DisplayLang=en">Windows Azure SDK</a> which supports a new feature call Cloud Drives.  A Cloud Drive is the ability to mount a virtual drive in the cloud so that applications can write to it as they would a local drive.  This cloud drive is persisted so that even if the machine goes down, the data is not lost.</p>
<p>What many people don’t realize however is that the format that the Cloud Drive uses is interchangeable with the VHD (Virtual Hard Drive) format used by virtualization products such as Hyper-V, Virtual PC, Windows Server, and Windows 7.  What this means is that you can create a single VHD, use it locally on a Windows PC, attach it to a virtualized image, and now copy it to the cloud and access it there also.  As you can imagine, for anyone looking to migrate applications to the cloud, this opens up a world of possibilities.</p>
<p>In this post, I’ll walk through a series of steps that show creating a VHD from scratch, copying it to the cloud, and accessing it from a web role running in Azure.</p>
<p><strong>Before you begin</strong></p>
<p>You’ll of course need an Azure account.  If you don’t have one, you can go <a href="http://www.microsoft.com/windowsazure/account/">here</a> to sign up.</p>
<p>Once you have your account, you’ll need to setup two new services. </p>
<p><a href="http://simonguest.com/wp-content/uploads/2010/04/image.png"><img style="display: inline; border-width: 0px;" title="image" src="http://simonguest.com/wp-content/uploads/2010/04/image_thumb.png" border="0" alt="image" width="425" height="220" /></a> </p>
<p>You’ll need to create a storage account – this is where the VHDs will be stored – and a hosted service to run your application from.  When you set them up, make sure that they are created in the same geography (i.e. don’t have your storage account in Asia, and your hosted service in the US as the drive mounting has to be in the same region).</p>
<p>Once you have your storage account and service created, you are ready to create and upload your VHD. </p>
<p><strong>Step 1.  You’ll need a VHD</strong></p>
<p>If you already have a VHD file that you would like to use, you can skip to Step 2.  You’ll be copying this VHD to the cloud, so you may want to choose a smaller VHD file for test purposes.</p>
<p>If you are running Windows 7, creating a new VHD is easy. </p>
<p>Firstly, go to the start menu and type <strong>disk management</strong>. </p>
<p>From the start menu click on <strong>Create and format hard disk partitions</strong></p>
<p><a href="http://simonguest.com/wp-content/uploads/2010/04/image1.png"><img style="display: inline; border-width: 0px;" title="image" src="http://simonguest.com/wp-content/uploads/2010/04/image_thumb1.png" border="0" alt="image" width="344" height="92" /></a></p>
<p>This will open up the disk management tool.  From the <strong>Action</strong> menu, select <strong>Create VHD</strong>.</p>
<p><a href="http://simonguest.com/wp-content/uploads/2010/04/image2.png"><img style="display: inline; border: 0px;" title="image" src="http://simonguest.com/wp-content/uploads/2010/04/image_thumb2.png" border="0" alt="image" width="341" height="326" /></a></p>
<p>Enter a location for the VHD file and a size.  The minimum is 16Mb and the maximum is likely the amount of free disk space on your machine. </p>
<p><a href="http://simonguest.com/wp-content/uploads/2010/04/image3.png"><img style="display: inline; border-width: 0px;" title="image" src="http://simonguest.com/wp-content/uploads/2010/04/image_thumb3.png" border="0" alt="image" width="244" height="200" /></a> </p>
<p>When your disk appears in the management tool, right click on the disk name and select <strong>Initialize Disk</strong>.  Select the default (MBR) and select OK.</p>
<p><a href="http://simonguest.com/wp-content/uploads/2010/04/image4.png"><img style="display: inline; border-width: 0px;" title="image" src="http://simonguest.com/wp-content/uploads/2010/04/image_thumb4.png" border="0" alt="image" width="244" height="154" /></a></p>
<p>After initialization, right click on the disk and create a <strong>New Simple Volume</strong>.  Walk through the wizard, accepting the defaults and assign a drive letter to the VHD.  Finally, format the disk using NTFS (a quick format is fine).  If a dialog box appears asking you to format the disk (sometimes the disk gets detected just before formatting has begun), just hit cancel.</p>
<p>After this is done, you can open the drive and access it as you would any other drive. Add some files and folders, etc.</p>
<p><a href="http://simonguest.com/wp-content/uploads/2010/04/image5.png"><img style="display: inline; border: 0px;" title="image" src="http://simonguest.com/wp-content/uploads/2010/04/image_thumb5.png" border="0" alt="image" width="438" height="219" /></a> </p>
<p>When you are ready to upload to the cloud, you’ll need to detach the drive.  To do this, go back in to the disk management tool, right click on the disk name and select <strong>Detach VHD</strong>.</p>
<p><a href="http://simonguest.com/wp-content/uploads/2010/04/image6.png"><img style="display: inline; border: 0px;" title="image" src="http://simonguest.com/wp-content/uploads/2010/04/image_thumb6.png" border="0" alt="image" width="354" height="201" /></a></p>
<p>(Do not select the Delete the virtual hard disk file checkbox – otherwise, they’ll be nothing to upload!)</p>
<p><strong>Step 2.  Upload it to Azure Storage</strong></p>
<p>The next step is to upload the VHD to the cloud.  The VHD will be stored in something called Blob (Binary Large OBject) storage.  You may have heard of blob storage if you’ve seen any of the introductory Azure presentations.  It’s the type of storage that is used for binary data such as images, videos, and the like.</p>
<p>In February we enabled support for Page Blobs.  Page Blobs are binary objects stored in the cloud that support random read/writes through pages.  This makes them ideal for dealing with VHD type of access, and this is the format that we’ll be using to upload our VHD to the cloud.</p>
<p>The one caveat of this is that you must use a tool that supports page blobs (most of the tools available today only support regular blobs).  The tool I would recommend is <a href="http://www.cerebrata.com/Products/CloudStorageStudio/Default.aspx">Cloud Storage Studio</a> by Cerebrata as it supports page blobs through a nice interface.</p>
<p><a href="http://simonguest.com/wp-content/uploads/2010/04/image7.png"><img style="display: inline; border-width: 0px;" title="image" src="http://simonguest.com/wp-content/uploads/2010/04/image_thumb7.png" border="0" alt="image" width="448" height="211" /></a></p>
<p>Open the tool and access the storage account that you created in the “Before you begin” section earlier in this post. </p>
<p>I would recommend creating a new container for your VHD images to keep them separate from other content.  As shown in the screenshot above, I’ve created a container called vhd.</p>
<p><a href="http://simonguest.com/wp-content/uploads/2010/04/image8.png"><img style="display: inline; border-width: 0px;" title="image" src="http://simonguest.com/wp-content/uploads/2010/04/image_thumb8.png" border="0" alt="image" width="416" height="90" /></a></p>
<p>Select the container, and click on the <strong>Upload Page Blob</strong> button.  There are two upload buttons – you need the one with the icon that includes the page and the up arrow.</p>
<p>Point to the location of your VHD file and click on the <strong>Upload</strong> button.</p>
<p><a href="http://simonguest.com/wp-content/uploads/2010/04/image9.png"><img style="display: inline; border-width: 0px;" title="image" src="http://simonguest.com/wp-content/uploads/2010/04/image_thumb9.png" border="0" alt="image" width="428" height="290" /></a></p>
<p>This might take a little way depending on the size of your VHD and the speed of your network.</p>
<p>Once you have uploaded the file, validate that it exists by hitting the refresh button.</p>
<p><a href="http://simonguest.com/wp-content/uploads/2010/04/image10.png"><img style="display: inline; border-width: 0px;" title="image" src="http://simonguest.com/wp-content/uploads/2010/04/image_thumb10.png" border="0" alt="image" width="505" height="71" /></a></p>
<p>With the VHD uploaded, we can now move on to creating the cloud application that accesses it.</p>
<p><strong>Step 3.  Accessing the VHD from Windows Azure </strong></p>
<p>I’m going to assume that you have some knowledge of creating an ASP.NET application and uploading it to Windows Azure.  If you haven’t done this before, I would recommend checking out the <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=413E88F8-5966-4A83-B309-53B7B77EDF78&amp;displaylang=en">Windows Azure Training Kit</a>.</p>
<p>To access the VHD in the cloud, we create a webrole and use the following code.</p>
<p>Add reference to the <strong>Microsoft.WindowsAzure.CloudDrive </strong>DLL that can be found in the GAC (assuming that you have the <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=dba6a576-468d-4ef6-877e-b14e3c865d3a&amp;displaylang=en">v1.1 SDK</a> installed).  Then, in your webrole, you’ll need to add the following using statements:</p>
<pre class="brush:c-sharp">
using Microsoft.WindowsAzure;
using Microsoft.WindowsAzure.ServiceRuntime;
using Microsoft.WindowsAzure.StorageClient;
</pre>
<p>Here is the code that you should run in your web role.  (You can place this behind a button or something…)</p>
<pre class="brush:c-sharp">
// Setup the account details
String accountName = "";  // insert your storage account name here
String accountKey = "”;  // insert your storage account primary key here

StorageCredentialsAccountAndKey credentials = new StorageCredentialsAccountAndKey(accountName, accountKey);

CloudStorageAccount storageAccount = new CloudStorageAccount(credentials, new Uri(String.Format("http://{0}.blob.core.windows.net",accountName)),
                                                                            new Uri(String.Format("http://{0}.queue.core.windows.net", accountName)),
                                                                            new Uri(String.Format("http://{0}.table.core.windows.net", accountName))
                                                                            );

// initialize the local cache - need to trim the end backslash otherwise, HRESULT=D0000033
LocalResource localCache = RoleEnvironment.GetLocalResource("LocalCache");
CloudDrive.InitializeCache(localCache.RootPath.TrimEnd('\'), localCache.MaximumSizeInMegabytes);

// Create and mount the drive
CloudDrive c = storageAccount.CreateCloudDrive("vhd/myvhd.vhd");
String driveLetter = c.Mount(localCache.MaximumSizeInMegabytes, DriveMountOptions.None);

// do regular System.IO.File and System.IO.Directory operations here against driveLetter
Response.Write(System.IO.Directory.GetFiles(driveLetter + "\").Count() + " files found on the root of the mounted drive.");

// unmount the drive
c.Unmount();
</pre>
<p>There are five main pieces to the code.</p>
<p>Firstly, the storage account reference is created using the account name and key that you retrieve when you setup your Azure account.</p>
<p>After that we need to initialize a local cache used by the cloud drive.  To create this, insert the following code into your ServiceDefinition.csdef file on your webrole.</p>
<pre class="brush:xml">
&lt;LocalResources&gt;
  &lt;LocalStorage name="LocalCache" cleanOnRoleRecycle="false" sizeInMB="100" /&gt;
&lt;/LocalResources&gt;
</pre>
<p>We then create and mount the drive using the <strong>CreateCloudDrive</strong> and <strong>Mount</strong> methods.  Make sure that the path and name to your VHD matches what you uploaded in Step 2.</p>
<p>Once the drive is mounted we get a drive letter (as a string – e.g. “f:\”).  You can then make calls to that drive letter using the regular calls (e.g. <strong>System.IO.File</strong> and <strong>System.IO.Directory</strong>).  In a worker role you can even launch applications from the VHD by spawning a new process. </p>
<p>Finally, to unmount the drive, just call the <strong>Unmount</strong> method to release the VHD image.</p>
<p><a href="http://simonguest.com/wp-content/uploads/2010/04/image11.png"><img style="display: inline; border-width: 0px;" title="image" src="http://simonguest.com/wp-content/uploads/2010/04/image_thumb11.png" border="0" alt="image" width="427" height="198" /></a> </p>
<p>There are a lot of details behind the scenes that I’m not going to go into here (e.g. read and read/write access to the VHD)  &#8211; if you want to learn more, I would recommend checking out <a href="http://microsoftpdc.com/Sessions/SVC14">this PDC session</a> by Brad Calder</p>
<p><strong>Appendix.  Running this in a local development environment.</strong></p>
<p>You should note that uploading a VHD only works using a live deployment in the cloud.  In the local development fabric, you’ll find that you cannot access a remote VHD (you’ll get a HRESULT = 80070003 error).  Also, you can’t upload a page blob to local development storage.</p>
<p>However, you can still duplicate the same functionality in the local development environment by using this code:</p>
<pre class="brush:c-sharp">
// Setup the account details
CloudStorageAccount storageAccount = CloudStorageAccount.DevelopmentStorageAccount;
// initialize the local cache - need to trim the end backslash otherwise, HRESULT=D0000033
LocalResource localCache = RoleEnvironment.GetLocalResource("LocalCache");
CloudDrive.InitializeCache(localCache.RootPath.TrimEnd('\'), localCache.MaximumSizeInMegabytes);

// Create and mount the drive
CloudDrive c = storageAccount.CreateCloudDrive("vhd/myvhd.vhd");

// try creating the drive if it doesn't exist
try
{
        c.Create(16);
}
        catch (Exception)
{
         // ignore - VHD folder already exists
}

String driveLetter = c.Mount(localCache.MaximumSizeInMegabytes, DriveMountOptions.None);

// do regular System.IO.File and System.IO.Directory operations here against driveLetter
Response.Write(System.IO.Directory.GetFiles(driveLetter + "\").Count() + " files found on the root of the mounted drive.");

// unmount the drive
c.Unmount();
</pre>
<p>There are a couple of differences from the live environment.</p>
<p>Firstly, instead of using the public account details, we can just make a call to <strong>CloudStorageAccount.DevelopmentStorageAccount</strong>. </p>
<p>Secondly, just before we mount the drive we actually try to create it using the <strong>c.Create(16)</strong> command.  If it already exists, then it throws an exception that we just ignore.</p>
<p>It’s important to know that this doesn’t actually create a VHD file. Instead, it creates a new directory in this folder:</p>
<p><strong>c:users[username]AppDataLocaldftmpwadddevstoreaccount1vhd</strong></p>
<p>You can now access this folder through Windows Explorer, go into the .vhd folder and add/remove files as you wish.  Once you are ready to move to a production environment you simply copy the files from this directory in to a new VHD (as created in Step 1), upload, and switch to the production code.</p>
]]></content:encoded>
			<wfw:commentRss>http://simonguest.com/2010/04/22/moving-vhds-to-the-cloud/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>My Podcasts and Webcasts</title>
		<link>http://simonguest.com/2007/05/23/my-podcasts-and-webcasts/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=my-podcasts-and-webcasts</link>
		<comments>http://simonguest.com/2007/05/23/my-podcasts-and-webcasts/#comments</comments>
		<pubDate>Wed, 23 May 2007 17:59:00 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Blogs]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[Interoperability]]></category>
		<category><![CDATA[UX]]></category>

		<guid isPermaLink="false">/blogs/smguest/pages/My-PodCasts-and-WebCasts.aspx</guid>
		<description><![CDATA[Title The Architecture of User Experience Publication Date January 2007 Location ARCast with Ron Jacobs Summary Sure user experience (UX) is important but what does an architect need to know about it? How do you think about making it better and what are some of the key mistakes we need to avoid? In this episode [...]]]></description>
			<content:encoded><![CDATA[<table>
<tbody>
<tr>
<td><strong>Title</strong></td>
<td><strong>The Architecture of User Experience</strong></td>
</tr>
<tr>
<td><strong>Publication Date</strong></td>
<td>January 2007</td>
</tr>
<tr>
<td><strong>Location</strong></td>
<td>ARCast with Ron Jacobs</td>
</tr>
<tr>
<td><strong>Summary</strong></td>
<td>Sure user experience (UX) is important but what does an architect need to know about it? How do you think about making it better and what are some of the key mistakes we need to avoid? In this episode we are joined by Simon Guest who makes it abundantly clear. </td>
</tr>
<tr>
<td><strong>URL</strong></td>
<td>
<p><a href="http://channel9.msdn.com/ShowPost.aspx?PostID=275794">http://channel9.msdn.com/ShowPost.aspx?PostID=275794</a> </p>
</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<table>
<tbody>
<tr>
<td><strong>Title</strong></td>
<td><strong>Simon Guest on the people side of SOA</strong></td>
</tr>
<tr>
<td><strong>Publication Date</strong></td>
<td>September 2006</td>
</tr>
<tr>
<td><strong>Location</strong></td>
<td>TheServerSide.net podcast</td>
</tr>
<tr>
<td><strong>Summary</strong></td>
<td>Software architects are busy these days thinking about service-oriented architecture (SOA) and Web services &#8211; important things, no doubt. But if they want users to connect to their applications on an emotional level, architects need to start paying more attention to the user experience, according to Simon Guest, group program manager for architecture strategy at Microsoft. </td>
</tr>
<tr>
<td><strong>URL</strong></td>
<td>
<p><a href="http://www.theserverside.net/tt/articles/showarticle.tss?id=GuestPodcast">http://www.theserverside.net/tt/articles/showarticle.tss?id=GuestPodcast</a> </p>
</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<table>
<tbody>
<tr>
<td><strong>Title</strong></td>
<td><strong>Putting the User back into Architecture</strong></td>
</tr>
<tr>
<td><strong>Publication Date</strong></td>
<td>April 2006</td>
</tr>
<tr>
<td><strong>Location</strong></td>
<td>ARCast with Ron Jacobs</td>
</tr>
<tr>
<td><strong>Summary</strong></td>
<td>For the past few years the focus of Architecture in the IT industry has been largely around data centers, back end systems and services. As these IT architectures mature, it&rsquo;s time to return the focus of architecture to where it can have the biggest impact and greatest value for business, the user. </td>
</tr>
<tr>
<td><strong>URL</strong></td>
<td>
<p><a href="http://channel9.msdn.com/showpost.aspx?postid=194239">http://channel9.msdn.com/showpost.aspx?postid=194239</a> </p>
</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<table>
<tbody>
<tr>
<td><strong>Title</strong></td>
<td><strong>User Experience [Context]</strong></td>
</tr>
<tr>
<td><strong>Publication Date</strong></td>
<td>February 2006</td>
</tr>
<tr>
<td><strong>Location</strong></td>
<td>ARCast with Ron Jacobs</td>
</tr>
<tr>
<td><strong>Summary</strong></td>
<td>Have you ever considered how context affects meaning? In certain contexts a word can mean one thing while in another it has a totally different meaning. In other words context impacts comprehension. In this episode Simon discusses what you need to understand about context. </td>
</tr>
<tr>
<td><strong>URL</strong></td>
<td>
<p><a href="http://channel9.msdn.com/ShowPost.aspx?PostID=279771">http://channel9.msdn.com/ShowPost.aspx?PostID=279771</a> </p>
</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<table>
<tbody>
<tr>
<td><strong>Title</strong></td>
<td><strong>User Experience [Foundation]</strong></td>
</tr>
<tr>
<td><strong>Publication Date</strong></td>
<td>February 2006</td>
</tr>
<tr>
<td><strong>Location</strong></td>
<td>ARCast with Ron Jacobs</td>
</tr>
<tr>
<td><strong>Summary</strong></td>
<td>Sure concepts are great but sooner or later you actually have to do something. In this episode Simon and Ron discuss the foundations of a great user experience by considering the tools of the trade. </td>
</tr>
<tr>
<td><strong>URL</strong></td>
<td>
<p><a href="http://channel9.msdn.com/ShowPost.aspx?PostID=278742">http://channel9.msdn.com/ShowPost.aspx?PostID=278742</a> </p>
</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<table>
<tbody>
<tr>
<td><strong>Title</strong></td>
<td><strong>User Experience [Visualization]</strong></td>
</tr>
<tr>
<td><strong>Publication Date</strong></td>
<td>February 2006</td>
</tr>
<tr>
<td><strong>Location</strong></td>
<td>ARCast with Ron Jacobs</td>
</tr>
<tr>
<td><strong>Summary</strong></td>
<td>As humans we perceive the world primarily through our eyes. The ability to visualize data therefore is critical to building a great user experience. In this episode Simon Guest lays out principles for building visualizations that work. </td>
</tr>
<tr>
<td><strong>URL</strong></td>
<td>
<p><a href="http://channel9.msdn.com/ShowPost.aspx?PostID=277409">http://channel9.msdn.com/ShowPost.aspx?PostID=277409</a> </p>
</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<table>
<tbody>
<tr>
<td><strong>Title</strong></td>
<td><strong>Mainframe Interoperability using Avalon (WPF)</strong></td>
</tr>
<tr>
<td><strong>Publication Date</strong></td>
<td>August 2005</td>
</tr>
<tr>
<td><strong>Location</strong></td>
<td>Channel 9 Interview with Robert Scoble</td>
</tr>
<tr>
<td><strong>Summary</strong></td>
<td>Karsten Januszewski and Robert Scoble heard that Simon Guest had built an app, using Microsoft&#39;s new Avalon technology, that works with mainframes. Hmmm, a shiny frontend for a mainframe app? Well, there&#39;s more to it, as Simon tells us. </td>
</tr>
<tr>
<td><strong>URL</strong></td>
<td>
<p><a href="http://channel9.msdn.com/ShowPost.aspx?PostID=69427#69427">http://channel9.msdn.com/ShowPost.aspx?PostID=69427#69427</a> </p>
</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<table>
<tbody>
<tr>
<td><strong>Title</strong></td>
<td><strong>MSDN Architecture Webcast: Application Interoperability: Microsoft .NET and J2EE </strong></td>
</tr>
<tr>
<td><strong>Publication Date</strong></td>
<td>February 2005</td>
</tr>
<tr>
<td><strong>Location</strong></td>
<td>MSDN Webcast</td>
</tr>
<tr>
<td><strong>Summary</strong></td>
<td>This webcast shows how to use service interfaces, use case interoperability adapters, and use case adapter factories to achieve interoperability between enterprise class applications based on Java 2 Enterprise Edition and Microsoft .NET. It covers how to add .NET Framework applications at the Presentation or the Business tier, and how to implement interoperability at the Data tier using message queuing and shared databases.&nbsp; </td>
</tr>
<tr>
<td><strong>URL</strong></td>
<td>
<p><a href="http://msevents.microsoft.com/cui/webcasteventdetails.aspx?culture=en-US&amp;eventid=1032265915&amp;amp%3beventcategory=5&amp;amp%3bculture=en-us&amp;amp%3bcountrycode=us">http://msevents.microsoft.com/cui/webcasteventdetails.aspx?culture=en-US&amp;eventid=1032265915&amp;amp%3beventcategory=5&amp;amp%3bculture=en-us&amp;amp%3bcountrycode=us</a> </p>
</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<table>
<tbody>
<tr>
<td><strong>Title</strong></td>
<td><strong>Top Ten Tips for Web Services Interoperability</strong></td>
</tr>
<tr>
<td><strong>Publication Date</strong></td>
<td>February 2005</td>
</tr>
<tr>
<td><strong>Location</strong></td>
<td>MSDN TV</td>
</tr>
<tr>
<td><strong>Summary</strong></td>
<td>Simon Guest shows 10 developer-focused tips, strategies, and recommendations to make the Web Services you write more interoperable with other platforms.&nbsp; </td>
</tr>
<tr>
<td><strong>URL</strong></td>
<td>
<p><a href="http://msdn.microsoft.com/msdntv/episode.aspx?xml=episodes/en/20050210WebServicesSG/manifest.xml">http://msdn.microsoft.com/msdntv/episode.aspx?xml=episodes/en/20050210WebServicesSG/manifest.xml</a> </p>
</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://simonguest.com/2007/05/23/my-podcasts-and-webcasts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My Articles and Books</title>
		<link>http://simonguest.com/2007/05/23/my-articles-and-books/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=my-articles-and-books</link>
		<comments>http://simonguest.com/2007/05/23/my-articles-and-books/#comments</comments>
		<pubDate>Wed, 23 May 2007 16:50:00 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Interoperability]]></category>

		<guid isPermaLink="false">/blogs/smguest/pages/My-Articles-and-Books.aspx</guid>
		<description><![CDATA[Title Interoperability with OfficeXML Publication Date August 2005 Location MSDN Summary This is the first article in a series to show interoperability with the Microsoft Office XML Reference Schemas (WordProcessingML and SpreadSheetML). Here, we&#39;ll be looking at how both BEA WebLogic and IBM WebSphere (running on either Microsoft Windows or Linux) can be used to [...]]]></description>
			<content:encoded><![CDATA[<table>
<tbody>
<tr>
<td><strong>Title</strong></td>
<td><strong>Interoperability with OfficeXML</strong></td>
</tr>
<tr>
<td><strong>Publication Date</strong></td>
<td>August 2005</td>
</tr>
<tr>
<td><strong>Location</strong></td>
<td>MSDN</td>
</tr>
<tr>
<td><strong>Summary</strong></td>
<td>This is the first article in a series to show interoperability with the Microsoft Office XML Reference Schemas (WordProcessingML and SpreadSheetML). Here, we&#39;ll be looking at how both BEA WebLogic and IBM WebSphere (running on either Microsoft Windows or Linux) can be used to generate server-side documents that can be read by clients running Microsoft Office Word 2003 </td>
</tr>
<tr>
<td><strong>URL</strong></td>
<td>
<p><a href="http://msdn2.microsoft.com/en-us/architecture/ms954605">http://msdn2.microsoft.com/en-us/architecture/ms954605</a> </p>
</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<table>
<tbody>
<tr>
<td><strong>Title</strong></td>
<td><strong>Planes, Trains, and Automobiles</strong></td>
</tr>
<tr>
<td><strong>Publication Date</strong></td>
<td>July 2005</td>
</tr>
<tr>
<td><strong>Location</strong></td>
<td>Microsoft Architecture Journal Issue 5</td>
</tr>
<tr>
<td><strong>Summary</strong></td>
<td>Is HTTP a great fit for every Web Services issue that exists today? This article reviews scenarios in which alternate transports for Web Services may offer a better solution over HTTP. </td>
</tr>
<tr>
<td><strong>URL</strong></td>
<td>
<p><a href="http://msdn2.microsoft.com/en-us/architecture/aa480058">http://msdn2.microsoft.com/en-us/architecture/aa480058</a> </p>
</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<table>
<tbody>
<tr>
<td><strong>Title</strong></td>
<td><strong>WS-Security Interoperability Using WSE 2.0 and Sun JWSDP 1.5</strong></td>
</tr>
<tr>
<td><strong>Publication Date</strong></td>
<td>May 2005</td>
</tr>
<tr>
<td><strong>Location</strong></td>
<td>MSDN</td>
</tr>
<tr>
<td><strong>Summary</strong></td>
<td>&nbsp;This article shows Interoperability based on OASIS WS-Security 1.0 between Microsoft WSE 2.0 and Sun JWSDP 1.5. &nbsp;The walkthroughs in this article will take you through all you need to know to configure the two environments for securely signing and encrypting SOAP requests and responses using X509 certificates. </td>
</tr>
<tr>
<td><strong>URL</strong></td>
<td>
<p><a href="http://msdn2.microsoft.com/en-us/architecture/ms998284">http://msdn2.microsoft.com/en-us/architecture/ms998284</a> </p>
</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<table>
<tbody>
<tr>
<td><strong>Title</strong></td>
<td><strong>Web Services Security Interoperability Using WSE 2.0 and Systinet Server 5.0 for Java </strong></td>
</tr>
<tr>
<td><strong>Publication Date</strong></td>
<td>March 2005</td>
</tr>
<tr>
<td><strong>Location</strong></td>
<td>MSDN</td>
</tr>
<tr>
<td><strong>Summary</strong></td>
<td>&nbsp;This article shows Interoperability based on OASIS WS-Security 1.0 between Microsoft WSE 2.0 and Systinet Server for Java 5.0. The walkthroughs in this article will take you through all you need to know to configure the two environments for securely signing and encrypting SOAP requests and responses using X509 certificates.&nbsp; </td>
</tr>
<tr>
<td><strong>URL</strong></td>
<td>
<p><a href="http://msdn2.microsoft.com/en-us/architecture/ms998278">http://msdn2.microsoft.com/en-us/architecture/ms998278</a> </p>
</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<table>
<tbody>
<tr>
<td><strong>Title</strong></td>
<td><strong>Host-Based Web Services Integration Using SLI (Screen Logic Integration) </strong></td>
</tr>
<tr>
<td><strong>Publication Date</strong></td>
<td>February 2005</td>
</tr>
<tr>
<td><strong>Location</strong></td>
<td>MSDN</td>
</tr>
<tr>
<td><strong>Summary</strong></td>
<td>This article shows how SLI (Screen Logic Integration) can be used to expose Web services from host (mainframe) -based applications. Specifically, this walkthrough covers how NEON Systems ServiceBuilder, an integration tool designed to expose mainframe functionality, can create a Web service for an airline flight information system&nbsp; </td>
</tr>
<tr>
<td><strong>URL</strong></td>
<td>
<p><a href="http://msdn2.microsoft.com/en-us/architecture/ms998299">http://msdn2.microsoft.com/en-us/architecture/ms998299</a> </p>
</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<table>
<tbody>
<tr>
<td><strong>Title</strong></td>
<td><strong>Interoperability between Microsoft WSE 2.0 and Apache Axis 1.2 RC2 using a SOAP TCP Channel </strong></td>
</tr>
<tr>
<td><strong>Publication Date</strong></td>
<td>January 2005</td>
</tr>
<tr>
<td><strong>Location</strong></td>
<td>MSDN Blogs</td>
</tr>
<tr>
<td><strong>Summary</strong></td>
<td>This article shows how to extend the usage of the SOAP TCP channel, a sample custom transport supplied with Microsoft Web Services Enhancements (WSE) 2.0, to provide interoperability with Apache Axis 1.2.&nbsp; The walkthrough will show how Microsoft WSE 2.0 and Apache Axis 1.2 can send SOAP requests via TCP. </td>
</tr>
<tr>
<td><strong>URL</strong></td>
<td>
<p><a href="http://blogs.msdn.com/smguest/articles/AxisTCP.aspx">http://blogs.msdn.com/smguest/articles/AxisTCP.aspx</a> </p>
</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<table>
<tbody>
<tr>
<td><strong>Title</strong></td>
<td><strong>Web Services Interoperability Guidance (WSIG): BEA WebLogic 8.1 SP3 (8.1.3) </strong></td>
</tr>
<tr>
<td><strong>Publication Date</strong></td>
<td>September 2004</td>
</tr>
<tr>
<td><strong>Location</strong></td>
<td>MSDN</td>
</tr>
<tr>
<td><strong>Summary</strong></td>
<td>Based on a series of unit tests between Microsoft .NET and BEA WebLogic 8.1.3, this article shows a series of scenarios and recommendations for achieving Web services Interoperability between the two. </td>
</tr>
<tr>
<td><strong>URL</strong></td>
<td>
<p><a href="http://msdn2.microsoft.com/en-us/architecture/ms998265">http://msdn2.microsoft.com/en-us/architecture/ms998265</a> </p>
</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<table>
<tbody>
<tr>
<td><strong>Title</strong></td>
<td><strong>Web Services Interoperability Guidance (WSIG): IBM WebSphere Application Developer 5.1.2 </strong></td>
</tr>
<tr>
<td><strong>Publication Date</strong></td>
<td>September 2004</td>
</tr>
<tr>
<td><strong>Location</strong></td>
<td>MSDN</td>
</tr>
<tr>
<td><strong>Summary</strong></td>
<td>Predicting whether Web services interoperability between two platforms is going to work is sometimes difficult. Simon Guest shares recommendations for Web services interoperability between the Microsoft .NET Framework 1.1 and IBM WebSphere Application Developer (WSAD) 5.1.2. </td>
</tr>
<tr>
<td><strong>URL</strong></td>
<td>
<p><a href="http://msdn2.microsoft.com/en-us/architecture/ms998272">http://msdn2.microsoft.com/en-us/architecture/ms998272</a> </p>
</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<table>
<tbody>
<tr>
<td><strong>Title</strong></td>
<td><strong>WS-Security Interoperability Using WSE 2.0 and Sun JWSDP 1.4 </strong></td>
</tr>
<tr>
<td><strong>Publication Date</strong></td>
<td>September 2004</td>
</tr>
<tr>
<td><strong>Location</strong></td>
<td>MSDN</td>
</tr>
<tr>
<td><strong>Summary</strong></td>
<td>&nbsp;This article shows WS-Security Interoperability between Microsoft WSE 2.0 and Sun JWSDP 1.4. &nbsp;The walkthroughs in this article will take you through all you need to know to configure the two environments for securely signing and encrypting SOAP requests and responses using X509 certificates. </td>
</tr>
<tr>
<td><strong>URL</strong></td>
<td>
<p><a href="http://msdn2.microsoft.com/en-us/architecture/ms954606">http://msdn2.microsoft.com/en-us/architecture/ms954606</a> </p>
</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<table>
<tbody>
<tr>
<td><strong>Title</strong></td>
<td><strong>Displaying .NET Windows Forms from Java SWING</strong></td>
</tr>
<tr>
<td><strong>Publication Date</strong></td>
<td>January 2004</td>
</tr>
<tr>
<td><strong>Location</strong></td>
<td>MSDN</td>
</tr>
<tr>
<td><strong>Summary</strong></td>
<td>Learn how an application in Java SWING can invoke and display a Windows Form, pass parameters to the form and wait for a return value when the form is closed. This type of technique shows how organizations can introduce new forms and controls based on Windows Forms into an existing Java SWING environment and helping them to rapidly deploy .NET applications without having to rip out existing i<br />
nfrastructure or wait until new replacement applications are written. </td>
</tr>
<tr>
<td><strong>URL</strong></td>
<td>
<p><a href="http://msdn2.microsoft.com/en-us/architecture/ms954835">http://msdn2.microsoft.com/en-us/architecture/ms954835</a> </p>
</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<table>
<tbody>
<tr>
<td><strong>Title</strong></td>
<td><strong>Microsoft .NET and Java:&nbsp; Achieving Interoperability</strong></td>
</tr>
<tr>
<td><strong>Publication Date</strong></td>
<td>December 2003</td>
</tr>
<tr>
<td><strong>Location</strong></td>
<td>DevX Magazine</td>
</tr>
<tr>
<td><strong>Summary</strong></td>
<td>Although Web services are the technology most people immediately assume will solve their interoperability problems, one size does not fit all. But regardless of your needs or expectations, an interoperability solution probably exists to fulfill them. Read this quick overview to begin exploring the various methods for achieving interoperability between Java and .NET. &nbsp; </td>
</tr>
<tr>
<td><strong>URL</strong></td>
<td>
<p><a href="http://www.devx.com/interop/Article/19928/1954?pf=true">http://www.devx.com/interop/Article/19928/1954?pf=true</a> </p>
</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<table>
<tbody>
<tr>
<td><strong>Title</strong></td>
<td><strong>Microsoft .NET and J2EE Interoperability Toolkit</strong></td>
</tr>
<tr>
<td><strong>Publication Date</strong></td>
<td>September 2003</td>
</tr>
<tr>
<td><strong>Location</strong></td>
<td>Microsoft Press</td>
</tr>
<tr>
<td><strong>Summary</strong></td>
<td>Bridge the gap between the Microsoft .NET Framework and Java 2 Enterprise Edition (J2EE) by implementing the best interoperability solutions available today&mdash;and by learning to build compatible solutions and workarounds of your own. </td>
</tr>
<tr>
<td><strong>URL</strong></td>
<td>
<p><a href="http://www.amazon.com/exec/obidos/ASIN/0735619220/qid=1058741448">http://www.amazon.com/exec/obidos/ASIN/0735619220/qid=1058741448</a> </p>
</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://simonguest.com/2007/05/23/my-articles-and-books/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My Presentations</title>
		<link>http://simonguest.com/2006/11/28/mypresentations/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=mypresentations</link>
		<comments>http://simonguest.com/2006/11/28/mypresentations/#comments</comments>
		<pubDate>Tue, 28 Nov 2006 01:27:00 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[Interoperability]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[UX]]></category>

		<guid isPermaLink="false">/blogs/smguest/pages/MyPresentations.aspx</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><iframe frameborder="0" height="600" marginheight="0" marginwidth="0" src="/downloads/presentations.htm" style="width: 360px; height: 600px" width="360"></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://simonguest.com/2006/11/28/mypresentations/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Microsoft at JavaOne 2006</title>
		<link>http://simonguest.com/2006/05/16/microsoft-at-javaone-2006/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=microsoft-at-javaone-2006</link>
		<comments>http://simonguest.com/2006/05/16/microsoft-at-javaone-2006/#comments</comments>
		<pubDate>Tue, 16 May 2006 08:35:00 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Interoperability]]></category>

		<guid isPermaLink="false">/blogs/smguest/archive/2006/05/16/Microsoft-at-JavaOne-2006.aspx</guid>
		<description><![CDATA[I can&#39;t believe it&#39;s been&#160;a year&#160;since I was at JavaOne last year &#8211; it seems like only yesterday I was getting my picture at Duke&#39;s 10 year birthday!&#160; (only kidding, of course ) Although I&#39;m not in San Francisco for this year&#39;s conference, Microsoft do have a couple of sessions and a booth on the [...]]]></description>
			<content:encoded><![CDATA[<p><font face="Verdana" size="2">I can&#39;t believe it&#39;s been&nbsp;a year&nbsp;since I was at JavaOne last year &#8211; it seems like only yesterday I was getting my picture at Duke&#39;s 10 year birthday!&nbsp; (only kidding, of course <img src='http://simonguest.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> )</font></p>
<p><font face="Verdana" size="2">Although I&#39;m not in San Francisco for this year&#39;s conference, Microsoft do have a couple of sessions and a booth on the trade floor.&nbsp; I&#39;ve been following </font><a href="http://simonguest.com/mohammadakif/"><font face="Verdana" size="2">Mohammed&#39;s excellent blog </font></a><font face="Verdana" size="2">on the in&#39;s and out&#39;s of the event.&nbsp; If you in the Moscone Center, be sure to track down the team!</font></p>
]]></content:encoded>
			<wfw:commentRss>http://simonguest.com/2006/05/16/microsoft-at-javaone-2006/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WSCF 0.6 Released!</title>
		<link>http://simonguest.com/2006/02/27/wscf-0-6-released/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=wscf-0-6-released</link>
		<comments>http://simonguest.com/2006/02/27/wscf-0-6-released/#comments</comments>
		<pubDate>Mon, 27 Feb 2006 14:48:00 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Interoperability]]></category>

		<guid isPermaLink="false">/blogs/smguest/archive/2006/02/27/WSCF-0.6-Released_2100_.aspx</guid>
		<description><![CDATA[Congratulations to Christian and the guys over at Thinktecture on their v0.6 release of WSCF! New features include support for .NET Fx 2.0 and Visual Studio 2005, together with partial classes, nullable types, SOAP 1.2, generics and a host of other goodies.]]></description>
			<content:encoded><![CDATA[<p><font face="Verdana" size="2">Congratulations to Christian and the guys over at <a href="http://www.thinktecture.com">Thinktecture</a> on their </font><a href="http://www.thinktecture.com/Resources/Software/WSContractFirst/default.html"><font face="Verdana" size="2">v0.6 release</font></a><font face="Verdana" size="2"> of WSCF!</font></p>
<p><a href="http://www.thinktecture.com/Resources/Software/WSContractFirst/features06.html"><font face="Verdana" size="2">New features</font></a><font face="Verdana" size="2"> include support for .NET Fx 2.0 and Visual Studio 2005, together with partial classes, nullable types, SOAP 1.2, generics and a host of other goodies.</font></p>
]]></content:encoded>
			<wfw:commentRss>http://simonguest.com/2006/02/27/wscf-0-6-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How can you tell if a “Web Service” really is a Web Service?</title>
		<link>http://simonguest.com/2006/01/26/how-can-you-tell-if-a-%e2%80%9cweb-service%e2%80%9d-really-is-a-web-service/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=how-can-you-tell-if-a-%25e2%2580%259cweb-service%25e2%2580%259d-really-is-a-web-service</link>
		<comments>http://simonguest.com/2006/01/26/how-can-you-tell-if-a-%e2%80%9cweb-service%e2%80%9d-really-is-a-web-service/#comments</comments>
		<pubDate>Thu, 26 Jan 2006 10:18:00 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Interoperability]]></category>

		<guid isPermaLink="false">/blogs/smguest/archive/2006/01/26/How-can-you-tell-if-a-_1C20_Web-Service_1D20_-really-is-a-Web-Service_3F00_.aspx</guid>
		<description><![CDATA[I was asked the question &#34;How can you tell if a Web Service really is a Web Service?&#34;.&#160; If someone says that they have a Web Service (or more importantly is trying to sell you one!) what are the&#160;questions you should ask?&#160; I decided to put together this list of 10 things that point you [...]]]></description>
			<content:encoded><![CDATA[<p><font face="Verdana" size="2">I was asked the question &quot;How can you tell if a Web Service really is a Web Service?&quot;.&nbsp; If someone says that they have a Web Service (or more importantly is trying to sell you one!) what are the&nbsp;questions you should ask?&nbsp; I decided to put together this list of 10 things that point you in the right direction&hellip;&nbsp; and welcome any that I&#39;ve missed.</font></p>
<p><font face="Verdana"><font size="2"><strong>1.&nbsp;Uses WSDL.</strong>&nbsp; A Web Service should expose its service contract using WSDL.&nbsp; If it can&rsquo;t give you a WSDL document, it&rsquo;s probably just XML over HTTP&hellip;</font></font></p>
<p><font face="Verdana"><font size="2"><strong>2.&nbsp;Uses SOAP.</strong>&nbsp; All messages sent from and received by the Web Service must use SOAP formatting.&nbsp; If it&rsquo;s not using SOAP it&rsquo;s probably just XML over HTTP&hellip;</font></font></p>
<p><font face="Verdana"><font size="2"><strong>3.&nbsp;Uses XSD.</strong>&nbsp; All data types in the SOAP payload must be XSD compliant.&nbsp; No platform native types are allowed.&nbsp; If it&rsquo;s not using XSD it&rsquo;s probably just XML over HTTP&hellip;</font></font></p>
<p><font face="Verdana"><font size="2"><strong>4.&nbsp;Uses XML.</strong>&nbsp; The underlying messages should of course be formatted using XML.</font></font></p>
<p><font face="Verdana"><font size="2"><strong>5.&nbsp;No Arbitrary Binary Data.</strong>&nbsp; The message payload should 7 bit ASCII and should contain no embedded binary blobs.&nbsp; Any binary data passed over a Web Service should be&nbsp;sent using either SwA, DIME or MTOM (preferably MTOM).</font></font></p>
<p><font face="Verdana"><font size="2"><strong>6.&nbsp;Transport is likely to be HTTP.</strong>&nbsp; Although not a requirement, the majority of Web Services today use HTTP as the transport.&nbsp; Compliant Web Services should definitely work over HTTP.</font></font></p>
<p><font face="Verdana"><font size="2"><strong>7.&nbsp;Discovery can be through UDDI.</strong>&nbsp; Again although not a requirement, it should be possible to host the Web Service endpoint using UDDI.</font></font></p>
<p><font face="Verdana"><font size="2"><strong>8.&nbsp;Agreed Versions of Specifications.</strong>&nbsp; The versions of the above specifications (WSDL, SOAP, XSD, XML, HTTP, UDDI) should be in line with the latest version of the&nbsp;WS-I Basic Profile (<a href="http://www.ws-i.org">http://www.ws-i.org</a>)&nbsp;&ndash; to ensure Web Service compliance between vendors.</font></font></p>
<p><font face="Verdana"><font size="2"><strong>9.&nbsp;Operations should be Document Style.</strong>&nbsp; Operations to/from a Web Service should be Document/Message Style (e.g. <font face="Courier New">SendOrder(order o)</font>).&nbsp; RPC style should be avoided (e.g. <font face="Courier New">SetOrderLine1(orderId id)</font>).</font></font></p>
<p><font face="Verdana"><font size="2"><strong>10.&nbsp;Should be compliant with WS-*.</strong>&nbsp; Compliant Web Services should be able to accept WS-* payloads and extensions for Security, Reliability and Transactions (although not all stacks today support these yet).<br /></font></font></p>
]]></content:encoded>
			<wfw:commentRss>http://simonguest.com/2006/01/26/how-can-you-tell-if-a-%e2%80%9cweb-service%e2%80%9d-really-is-a-web-service/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JNBridge releases an Interop Blog</title>
		<link>http://simonguest.com/2006/01/25/jnbridge-releases-an-interop-blog/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=jnbridge-releases-an-interop-blog</link>
		<comments>http://simonguest.com/2006/01/25/jnbridge-releases-an-interop-blog/#comments</comments>
		<pubDate>Wed, 25 Jan 2006 14:15:00 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Interoperability]]></category>

		<guid isPermaLink="false">/blogs/smguest/archive/2006/01/25/JNBridge-releases-an-Interop-Blog.aspx</guid>
		<description><![CDATA[Given my new role, I seem to have less and less time recently to keep up with the latest interoperability-related posts and sites.&#160; I did however notice that Wayne from JNBridge has started a blog.&#160; Aside from product information he has an interesting post on accessing JMS from .NET.&#160; Well worth a read.]]></description>
			<content:encoded><![CDATA[<p><font face="Verdana" size="2">Given my new role, I seem to have less and less time recently to keep up with the latest interoperability-related posts and sites.&nbsp; I did however notice that Wayne from JNBridge has started a </font><a href="http://jnbridge.com/blog/"><font face="Verdana" size="2">blog</font></a><font face="Verdana" size="2">.&nbsp; Aside from product information he has an </font><a href="http://www.jnbridge.com/blog/?p=6"><font face="Verdana" size="2">interesting post</font></a><font face="Verdana" size="2"> on accessing JMS from .NET.&nbsp; Well worth a read.</font></p>
]]></content:encoded>
			<wfw:commentRss>http://simonguest.com/2006/01/25/jnbridge-releases-an-interop-blog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JavaOne 2005 Speaker Award</title>
		<link>http://simonguest.com/2005/11/21/javaone-2005-speaker-award/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=javaone-2005-speaker-award</link>
		<comments>http://simonguest.com/2005/11/21/javaone-2005-speaker-award/#comments</comments>
		<pubDate>Mon, 21 Nov 2005 17:45:00 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Interoperability]]></category>

		<guid isPermaLink="false">/blogs/smguest/archive/2005/11/21/JavaOne-2005-Speaker-Award.aspx</guid>
		<description><![CDATA[I came&#160;back from vacation today to find I had won a &#34;JavaOne 2005 Speaker Award&#34; for being in the top 20 of speakers at JavaOne this year .&#160; Here&#39;s a list of the top 20 sessions, and if you&#39;d like to watch the session (I co-presented with Raghavan Srinivas from Sun), you can find it [...]]]></description>
			<content:encoded><![CDATA[<p><font face="Verdana" size="2">I came&nbsp;back from vacation today to find I had won a &quot;JavaOne 2005 Speaker Award&quot; for being in the top 20 of speakers at JavaOne this year <img src='http://simonguest.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> .&nbsp;</font></p>
<p><font face="Verdana" size="2"><a href="http://java.sun.com/javaone/sf/speaker_awards.jsp">Here&#39;s</a> a list of the top 20 sessions, and if you&#39;d like to watch the session (I co-presented with Raghavan Srinivas from Sun), you can find it <a href="http://developers.sun.com/learning/javaoneonline/2005/interoperability/TS-9866.html">here</a>.</font></p>
]]></content:encoded>
			<wfw:commentRss>http://simonguest.com/2005/11/21/javaone-2005-speaker-award/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

