<?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>R&#38;D &#187; Web Services</title>
	<atom:link href="http://blog.adnanmasood.com/category/web-services/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.adnanmasood.com</link>
	<description>Adnan on Technology, Research &#38; Development</description>
	<lastBuildDate>Thu, 17 May 2012 15:39:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Speaking @ SoCal .NET Architecture Users Group &#8211; Implementing SOA Design Patterns with WCF</title>
		<link>http://blog.adnanmasood.com/2012/05/04/speaking-socal-net-architecture-users-group-implementing-soa-design-patterns-with-wcf/</link>
		<comments>http://blog.adnanmasood.com/2012/05/04/speaking-socal-net-architecture-users-group-implementing-soa-design-patterns-with-wcf/#comments</comments>
		<pubDate>Fri, 04 May 2012 12:00:38 +0000</pubDate>
		<dc:creator>Adnan Masood</dc:creator>
				<category><![CDATA[Enterprise Architecture]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Speaking]]></category>
		<category><![CDATA[Web Services]]></category>

		<guid isPermaLink="false">http://blog.adnanmasood.com/?p=955</guid>
		<description><![CDATA[I will be speaking at the next SoCal IASA chapter meeting will be Thursday May 17, 2012 at Rancho Santiago Community College District, 2323 N. Broadway, Santa Ana. Meeting starts at 7:00 pm iA, pizza and networking 6:30 pm. RSVP by emailing to mike.vincent@mvasoftware.com if you plan to attend. Implementing SOA Design Patterns with WCF [...]]]></description>
			<content:encoded><![CDATA[<p>I will be speaking at the next SoCal IASA chapter meeting will be Thursday May 17, 2012 at Rancho Santiago Community College District, 2323 N. Broadway, Santa Ana. Meeting starts at 7:00 pm iA, pizza and networking 6:30 pm. RSVP by emailing to mike.vincent@mvasoftware.com if you plan to attend.</p>
<p><a href="http://www.socaldotnetarchitecture.org/" target="_blank">Implementing SOA Design Patterns with WCF</a></p>
<p>Service Oriented Architecture (SOA) is an architectural design pattern where it&#8217;s design is determined by few guiding principles mainly (a) Ser- vice compatibility is determined based on policy (b) Services share schema and contract, not class (c) Services are Autonomous and (d) Boundaries are Explicit. Implementation of these so-called SOA tenants requires a powerful framework which provides a unified programming model, reliable messaging, security, workflow service, interoperability and integration, syndication, meta-data exploration support, service versioning, REST-Ful endpoints and many other modern connected systems features. Both Service-Orientation and the Windows Communication Foundation (WCF) offer the promise of greater interoperability and ease of integration, but in order to realize benefits such as these we must evolve the way we architect solutions.</p>
<p>This session will be a hands-on introduction to SOA with Windows Communication Foundation. Speaker presents patterns using WCF that allows you to define descriptive, maintainable, yet extensible contracts and implementation of SOA tenants. Since SOA promotes loose coupling at the transport layer; you&#8217;ll learn how to create loosely coupled systems, the difference between web reference, service reference and channelfactory. The attendees will learn how to avoid anti-Patterns and leverage WCF to create extensible, versioned, responsive, interoperable, and easy-to- maintain services.</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fblog.adnanmasood.com%2F2012%2F05%2F04%2Fspeaking-socal-net-architecture-users-group-implementing-soa-design-patterns-with-wcf%2F&amp;title=Speaking%20%40%20SoCal%20.NET%20Architecture%20Users%20Group%20%26%238211%3B%20Implementing%20SOA%20Design%20Patterns%20with%20WCF" id="wpa2a_2"><img src="http://blog.adnanmasood.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.adnanmasood.com/2012/05/04/speaking-socal-net-architecture-users-group-implementing-soa-design-patterns-with-wcf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Microsoft Windows Server AppFabric Cookbook Available for Pre-Order</title>
		<link>http://blog.adnanmasood.com/2012/01/03/microsoft-windows-server-appfabric-cookbook-available-for-pre-order/</link>
		<comments>http://blog.adnanmasood.com/2012/01/03/microsoft-windows-server-appfabric-cookbook-available-for-pre-order/#comments</comments>
		<pubDate>Wed, 04 Jan 2012 05:15:29 +0000</pubDate>
		<dc:creator>Adnan Masood</dc:creator>
				<category><![CDATA[Web Services]]></category>

		<guid isPermaLink="false">http://blog.adnanmasood.com/?p=607</guid>
		<description><![CDATA[I am working with Hammad Rajjoub and with Rick Garibay as a technical editor on their new Windows Server App-Fabric book which is now available for pre-order. http://www.packtpub.com/microsoft-windows-server-appfabric-cookbook/book The book is well organized and is written from a developer&#8217;s point of view with and end to end hands-on discussion on app-fabric. It&#8217;s goal is to [...]]]></description>
			<content:encoded><![CDATA[<p>I am working with <a href="http://hammadrajjoub.net/" target="_blank">Hammad Rajjoub </a>and with <a href="http://rickgaribay.net/" target="_blank">Rick Garibay</a> as a technical editor on their new Windows Server App-Fabric book which is now available for pre-order.</p>
<p><a href="http://www.packtpub.com/microsoft-windows-server-appfabric-cookbook/book" target="_blank">http://www.packtpub.com/microsoft-windows-server-appfabric-cookbook/book</a></p>
<p>The book is well organized and is written from a developer&#8217;s point of view with and end to end hands-on discussion on app-fabric. It&#8217;s goal is to help reader</p>
<ul>
<li>Gain a solid understanding of the capabilities provided by Windows Server AppFabric with a pragmatic, hands-on, results-oriented approach with this book and eBook</li>
<li>Learn how to apply the WCF and WF skills you already have to make the most of what Windows Server AppFabric has to offer</li>
<li>Includes step-by-step recipes for developing highly scalable composite services that utilize the capabilities provided by Windows Server AppFabric including caching, hosting, monitoring and persistence.</li>
</ul>
<p>shameless plug, <a href="http://www.packtpub.com/microsoft-windows-server-appfabric-cookbook/book" target="_blank">pre-order now </a> <img src='http://blog.adnanmasood.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fblog.adnanmasood.com%2F2012%2F01%2F03%2Fmicrosoft-windows-server-appfabric-cookbook-available-for-pre-order%2F&amp;title=Microsoft%20Windows%20Server%20AppFabric%20Cookbook%20Available%20for%20Pre-Order" id="wpa2a_4"><img src="http://blog.adnanmasood.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.adnanmasood.com/2012/01/03/microsoft-windows-server-appfabric-cookbook-available-for-pre-order/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Learn Windows Azure with Stanford&#8217;s Folding@home distributed computing project</title>
		<link>http://blog.adnanmasood.com/2010/05/25/learn-windows-azure-with-stanfords-foldinghome-distributed-computing-project/</link>
		<comments>http://blog.adnanmasood.com/2010/05/25/learn-windows-azure-with-stanfords-foldinghome-distributed-computing-project/#comments</comments>
		<pubDate>Wed, 26 May 2010 03:45:13 +0000</pubDate>
		<dc:creator>Adnan Masood</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Research & Development]]></category>
		<category><![CDATA[Web Services]]></category>

		<guid isPermaLink="false">http://blog.adnanmasood.com/?p=466</guid>
		<description><![CDATA[&#160; Are you A) a Scientist/researcher/student/ looking for the right enterprise platform for your next big scientific project? B) a developer/architect who wants to learn cloud computing with windows Azure and would like to go beyond the Hello World Apps? C) an hobbyist interested in Stanford&#8217;s Folding@home distributed computing project and see it&#8217;s implementation D) [...]]]></description>
			<content:encoded><![CDATA[<p/>&nbsp;
<p/>
<p><strong>Are you</strong></p>
<p/>
A) a Scientist/researcher/student/ looking for the right enterprise platform for your next big scientific project?</p>
<p>B) a developer/architect who wants to learn cloud computing with windows Azure and would like to go beyond the Hello World Apps?</p>
<p>C) an hobbyist interested in Stanford&#8217;s Folding@home distributed computing project and see it&#8217;s implementation</p>
<p>D) someone who would like to try out a free two week trial of windows Azure and see a cool distributed computing project unfold (<a href="http://folding.stanford.edu/">literally</a> <img src='http://blog.adnanmasood.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  )</p>
<p>E) a combination of above</p>
<p/>
If your answer is anything from A-E, this is a perfect opportunity for you. <a href="http://distributed.cloudapp.net">@home with Windows Azure</a> is an online hands-on workshop! This is a guided tour of process of building and deploying a large scale Azure application. No more &#8220;hello world&#8221;! in this two hour long session, you will see how to build and deploy a real cloud app that leverages the Azure data center It&#8217;s a free online session where each attendee will receive a temporary, self-expiring, full-access account to work with Azure for a period of 2-weeks.</p>
<p/>
The webcast is 2 hours and offered at 4 different times during the month of June.</p>
<p/>
For details, check out the<a href="http://distributed.cloudapp.net/"> project website </a> and the event registration page.</p>
<p/>
You&#8217;d need VS.NET 2008/2010 with the <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=5664019e-6860-4c33-9843-4eb40b297ab6&amp;displaylang=en">Windows Azure Tools for Microsoft Visual Studio 1.1 (February 2010)</a></p>
<p/>
Enjoy!</p>
<p/>
PS. A recording of the <a href="https://www.livemeeting.com/cc/microsoftevents/view?id=CSD30WS&amp;role=attend&amp;pw=ATT4589">Tuesday, May 4th</a> session can be viewed along with the webcasts on <a href="http://distributed.cloudapp.net/video/hellocloud" target="_blank">Creating your first Azure application </a> and <a href="http://distributed.cloudapp.net/video/folding" target="_blank">Running and deploying the @home with Windows Azure application</a> however in order to get the free 2 week account, you&#8217;d need to signup and attend an event.</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fblog.adnanmasood.com%2F2010%2F05%2F25%2Flearn-windows-azure-with-stanfords-foldinghome-distributed-computing-project%2F&amp;title=Learn%20Windows%20Azure%20with%20Stanford%26%238217%3Bs%20Folding%40home%20distributed%20computing%20project" id="wpa2a_6"><img src="http://blog.adnanmasood.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.adnanmasood.com/2010/05/25/learn-windows-azure-with-stanfords-foldinghome-distributed-computing-project/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Step by Step Guide for Authenticating WCF Service with Username and Password over SSL</title>
		<link>http://blog.adnanmasood.com/2010/04/29/step-by-step-guide-for-authenticating-wcf-service-with-username-and-password-over-ssl/</link>
		<comments>http://blog.adnanmasood.com/2010/04/29/step-by-step-guide-for-authenticating-wcf-service-with-username-and-password-over-ssl/#comments</comments>
		<pubDate>Thu, 29 Apr 2010 14:42:57 +0000</pubDate>
		<dc:creator>Adnan Masood</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Research & Development]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Web Services]]></category>

		<guid isPermaLink="false">http://blog.adnanmasood.com/?p=423</guid>
		<description><![CDATA[Here is a short step by step guide on how to get your WCF service to perform Message and Transport level security over SSL with user name and password. I ran into this recently and thought should document it along with source code to provide reference for the rest of us. 1. If your development [...]]]></description>
			<content:encoded><![CDATA[<p>Here is a short step by step guide on how to get your WCF service to perform Message and Transport level security over SSL with user name and password. I ran into this recently and thought should document it along with source code to provide reference for the rest of us.</p>
<p>1. If your development machine is XP (or 2K3 server) and you need dev SSL cert installed on it, follow the instructions mentioned in the articles here. The SelfSSL makes it real easy to do self signed certificates, literally one  statement.</p>
<p><a href="http://www.visualwin.com/SelfSSL/" target="_self">Setting up SSL with a SelfSSL certificate on Windows Server 2003 (and XP)</a></p>
<p><a href="http://www.somacon.com/p42.php" target="_blank">Create a self-signed SSL certificate with IIS 6.0 Resource Kit SelfSSL</a></p>
<p>2. Create a WCF Service Project. Name the service and contracts appropriately. In my sample it is a simple contract like follows.</p>
<pre class="brush: csharp;" lang="C#">   [ServiceContract]
    public interface IWcfService
    {
        [OperationContract]
        string GetData(int value);
    }</pre>
<p>Make sure you make the appropriate config changes matching with your service contract.</p>
<p>2. Add a custom validator class in your service. You can create a separate file for it. In this example I have added it to the main service file WcfService.svc.cs. You are going to need to add the reference (not just adding these lines at the top, go to add-reference and add the corresponding dll&#8217;s to the project)</p>
<pre>using System.IdentityModel.Selectors;
using System.IdentityModel.Tokens;</pre>
<p>and the custom validator code.</p>
<pre class="brush: csharp;" lang="C#">public class CustomValidator : UserNamePasswordValidator
    {
        public override void Validate(string userName, string password)
        {
            if (userName == "test" &amp;&amp; password == "test")
                return;
            throw new SecurityTokenException(
                "Unknown Username or Password");
        }
    }</pre>
<p>You probably want to make this user name and password moved to a more secure location or point to your database/authentication store for security and maintainability perspective.</p>
<p>3. Now the code part is done. Move to config file. Enable custom errors so you know details about the errors happening.</p>
<p>&lt;customErrors mode=&#8221;Off&#8221; defaultRedirect=&#8221;GenericErrorPage.htm&#8221;&gt;</p>
<p>4. Add a new bindings attribute in the config called SafeServiceConf which will specify the TransportWithMessageCredential type of security. You can add this right before &lt;/system.serviceModel&gt;</p>
<pre class="brush: csharp;" lang="C#">
&lt;bindings&gt;
&lt;wsHttpBinding&gt;
&lt;binding name="SafeServiceConf" maxReceivedMessageSize="65536"&gt;
&lt;readerQuotas maxStringContentLength="65536" maxArrayLength="65536"
maxBytesPerRead="65536" /&gt;
&lt;security mode="TransportWithMessageCredential"&gt;
&lt;message clientCredentialType="UserName" /&gt;
&lt;/security&gt;
&lt;/binding&gt;
&lt;/wsHttpBinding&gt;
&lt;/bindings&gt;
&lt;bindings&gt;       &lt;wsHttpBinding&gt;          &lt;binding name="SafeServiceConf" maxReceivedMessageSize="65536"&gt;             &lt;readerQuotas maxStringContentLength="65536" maxArrayLength="65536"                maxBytesPerRead="65536" /&gt;             &lt;security mode="TransportWithMessageCredential"&gt;                &lt;message clientCredentialType="UserName" /&gt;             &lt;/security&gt;          &lt;/binding&gt;       &lt;/wsHttpBinding&gt;    &lt;/bindings&gt;</pre>
<p>5. Modify your end point address to refer to this binding configuration</p>
<pre class="brush: csharp;" lang="C#">			&lt;endpoint address="" binding="wsHttpBinding" contract="MySamples.IWcfService" bindingConfiguration="SafeServiceConf"&gt;</pre>
<p>also modify your metadata exchange endpoint to use mexHttpsBinding</p>
<pre class="brush: csharp;" lang="C#">				&lt;endpoint address="mex" binding="mexHttpsBinding" contract="IMetadataExchange"/&gt;</pre>
<p>6. Modify your service behavior to look like this</p>
<pre class="brush: csharp;" lang="C#">				&lt;behavior name="WcfService.Service1Behavior"&gt;
					&lt;serviceMetadata httpGetEnabled="true"/&gt;
          &lt;serviceDebug includeExceptionDetailInFaults="true" /&gt;
          &lt;serviceCredentials&gt;
            &lt;userNameAuthentication
                 userNamePasswordValidationMode="Custom"
                 customUserNamePasswordValidatorType="MySamples.CustomValidator,WcfService"
                                                                          /&gt;

          &lt;/serviceCredentials&gt;
        &lt;/behavior&gt;</pre>
<p>It&#8217;s recommended that &#8220;Include exception in faults&#8221; should be disabled when moved to production.</p>
<p>7. Now you are almost ready to run the service however before you do this, make sure that you are running it in the IIS AND you have the SSL enabled on the server as specified in step 1 otherwise you&#8217;ll run into WCF error stating that there is no HTTPS endpoint available.</p>
<div id="attachment_424" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.adnanmasood.com/wp-content/uploads/2010/04/setupVD.jpg"><img class="size-medium wp-image-424" title="Setup Virtual Directory IIS from Visual Studio" src="http://blog.adnanmasood.com/wp-content/uploads/2010/04/setupVD-300x258.jpg" alt="Setup Virtual Directory in IIS from Visual Studio" width="300" height="258" /></a><p class="wp-caption-text">Setup Virtual Directory in IIS from Visual Studio</p></div>
<p>You should be able to run and see the service end point as follows.</p>
<div id="attachment_431" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.adnanmasood.com/wp-content/uploads/2010/04/running-service-1.jpg"><img class="size-medium wp-image-431" title="Running WCF Service over SSL" src="http://blog.adnanmasood.com/wp-content/uploads/2010/04/running-service-1-300x214.jpg" alt="Running WCF Service over SSL" width="300" height="214" /></a><p class="wp-caption-text">Running WCF Service over SSL</p></div>
<div id="attachment_432" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.adnanmasood.com/wp-content/uploads/2010/04/running-service-2.jpg"><img class="size-medium wp-image-432" title="Running WCF Service over SSL 2" src="http://blog.adnanmasood.com/wp-content/uploads/2010/04/running-service-2-300x189.jpg" alt="Running WCF Service over SSL 2" width="300" height="189" /></a><p class="wp-caption-text">Running WCF Service over SSL 2</p></div>
<p>8. Now that the service is done, let&#8217;s move towards building the client. Add the service reference to the service end point. You can do it either via entering the entire URL or using the discover feature.</p>
<div id="attachment_428" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.adnanmasood.com/wp-content/uploads/2010/04/addWCFReference2.jpg"><img class="size-medium wp-image-428" title="Add WCF Reference" src="http://blog.adnanmasood.com/wp-content/uploads/2010/04/addWCFReference2-300x237.jpg" alt="Add WCF Reference" width="300" height="237" /></a><p class="wp-caption-text">Add WCF Reference</p></div>
<p>9. Name your reference &#8220;Client&#8221; or modify your code appropriately. Following is the code for client implementation.</p>
<pre class="brush: csharp;" lang="C#">       private static void Main(string[] args)
        {
           ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(
                delegate { return true; });

            var client = new WcfServiceClient();
            GetCredentials();
            client.ClientCredentials.UserName.UserName = username;
            client.ClientCredentials.UserName.Password = password;
            Console.Write(client.GetData(1));
            client.Close();
            Console.Read();
        }</pre>
<p>The  RemoteCertificateValidationCallback part is used to programatically avoid the following warning which would popup due to self signed cert usage.</p>
<div id="attachment_429" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.adnanmasood.com/wp-content/uploads/2010/04/certwarning.jpg"><img class="size-medium wp-image-429" title="Certificate Warning" src="http://blog.adnanmasood.com/wp-content/uploads/2010/04/certwarning-300x231.jpg" alt="Certificate Warning" width="300" height="231" /></a><p class="wp-caption-text">Self signed Certificate Warning</p></div>
<p>10. Now run the program.</p>
<div id="attachment_430" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.adnanmasood.com/wp-content/uploads/2010/04/running-WCF-client.jpg"><img class="size-medium wp-image-430" title="Running WCF client" src="http://blog.adnanmasood.com/wp-content/uploads/2010/04/running-WCF-client-300x173.jpg" alt="Running WCF client" width="300" height="173" /></a><p class="wp-caption-text">Running WCF client</p></div>
<p>You can see that for the right credentials, service will run just fine. Otherwise a security exception will be thrown.</p>
<p>Source code can be downloaded from here.<a href="http://blog.adnanmasood.com/wp-content/uploads/2010/04/WCFAuthSample.zip">WCFAuthSample</a></p>
<p>Feel free to drop me an email or comment here if you have any questions.</p>
<p><strong>References and Further Readings:</strong></p>
<p><a href="http://msdn.microsoft.com/en-us/library/ms733131.aspx">How to: Authenticate with a User Name and Password</a></p>
<p><a href="http://www.codeproject.com/KB/WCF/wcf_https_usernameauth.aspx">WCF Service over HTTPS with custom username and password validator in IIS</a></p>
<p><a href="http://wcfsecurityguide.codeplex.com/wikipage?title=Ch%2005%20-%20Authentication,%20Authorization%20and%20Identities%20in%20WCF&amp;ProjectName=wcfsecurityguide">Chapter 5 – Authentication, Authorization and Identities in WCF</a></p>
<p><a href="http://msdn.microsoft.com/en-us/library/ms789011.aspx">How to: Use Transport Security and Message Credentials</a></p>
<p><a href="http://msdn.microsoft.com/en-us/library/system.servicemodel.securitymode.aspx">SecurityMode Enumeration</a></p>
<p><a href="http://www.thejoyofcode.com/WCF_Could_not_establish_trust_relationship_for_the_SSL_TLS_secure_channel_with_authority.aspx">WCF: Could not establish trust relationship for the SSL/TLS secure channel with authority</a></p>
<p><a href="http://msdn.microsoft.com/en-us/library/aa751792.aspx">Deploying an Internet Information Services-Hosted WCF Service</a></p>
<p><a href="http://social.msdn.microsoft.com/Forums/en/wcf/thread/308dcb5a-34c0-415b-a7d3-3ec9d142849a">How messages are encrypted when security mode is &#8220;Message&#8221;?<br />
</a></p>
<p><a href="http://www.codeproject.com/kb/wcf/senthil.aspx">Simple WCF &#8211; X509 Certificate</a></p>
<p><a href="http://www.microsoft.com/downloads/en/confirmation.aspx?familyId=c42e27ac-3409-40e9-8667-c748e422833f&amp;displayLang=en">Windows HTTP Services Certificate Configuration Tool (WinHttpCertCfg.exe)</a></p>
<p><a href="http://www.visualwin.com/SelfSSL/">Setting up SSL with a SelfSSL certificate on Windows Server 2003 (and XP)</a></p>
<p><a href="http://www.somacon.com/p42.php">Create a self-signed SSL certificate with IIS 6.0 Resource Kit SelfSSL</a></p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fblog.adnanmasood.com%2F2010%2F04%2F29%2Fstep-by-step-guide-for-authenticating-wcf-service-with-username-and-password-over-ssl%2F&amp;title=Step%20by%20Step%20Guide%20for%20Authenticating%20WCF%20Service%20with%20Username%20and%20Password%20over%20SSL" id="wpa2a_8"><img src="http://blog.adnanmasood.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.adnanmasood.com/2010/04/29/step-by-step-guide-for-authenticating-wcf-service-with-username-and-password-over-ssl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WCF Interoperability – ASMX, WCF or MVC REST SDK &#8211; Open Questions</title>
		<link>http://blog.adnanmasood.com/2009/09/21/wcf-interoperability-%e2%80%93-asmx-wcf-or-mvc-rest-sdk-open-questions/</link>
		<comments>http://blog.adnanmasood.com/2009/09/21/wcf-interoperability-%e2%80%93-asmx-wcf-or-mvc-rest-sdk-open-questions/#comments</comments>
		<pubDate>Mon, 21 Sep 2009 19:31:53 +0000</pubDate>
		<dc:creator>Adnan Masood</dc:creator>
				<category><![CDATA[Generic]]></category>
		<category><![CDATA[Web Services]]></category>

		<guid isPermaLink="false">http://www.adnanmasood.com/PermaLink.aspx?guid=c89b4bbb-0985-4f12-863c-ff926bf23947</guid>
		<description><![CDATA[A while ago I did a blog post on WCF-ASMX interoperability which came out from an experience I had in service collaboration with a partner. In a recent conversation with Jeff Bergman, a friend and co-worker, there was a question of WCF or not to WCF on a project which requires similar service interop and [...]]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal"><font size="3">A while ago I did a <a href="http://adnanmasood.com/CommentView,guid,906fdcd8-775f-47fd-a622-ca82a867ff42.aspx">blog<br />
post</a> on WCF-ASMX interoperability which came out from an experience I had in service collaboration with a partner. In a recent conversation<br />
with <a href="http://www.jeffbergman.com/yabe/Posts">Jeff Bergman</a>, a friend<br />
and co-worker, there was a question of WCF or not to WCF on a project which<br />
requires similar service interop and since I believe in Atwood’s theory of <a href="http://www.codinghorror.com/blog/archives/001124.html">strong opinions<br />
held weekly</a>, I jumped in with the opinion of using WCF contrary to <a href="http://adnanmasood.com/CommentView,guid,906fdcd8-775f-47fd-a622-ca82a867ff42.aspx">my<br />
own earlier recommendation</a>.</font></p>
<p class="MsoNormal"><font size="3">Jeff of course disagreed and pointed out the Christian’s Weyer’s<br />
article on <a href="http://blogs.thinktecture.com/cweyer/archive/2007/05/10/414840.aspx">flattening</a>. For my <a href="http://msdn.microsoft.com/en-us/library/ms733025.aspx">excellent<br />
logging and tracing</a> in WCF argument, he stated that <i style="">“for asmx, you can add the <a href="http://social.msdn.microsoft.com/Forums/en-US/asmxandxml/thread/395b25e2-5f7a-4888-a56c-291e51495c0f">[SoapLoggerExtensionAttribute]</a><br />
to get some kind of logging of soap requests”</i>. Therefore I am quoting his argument below; I am still somewhat unconvinced &#8216;in principle&#8217; but pragmatically speaking, he drives a hard bargain!</font></p>
<p class="MsoNormal"><font size="3"><o:p></o:p><i style="">“At the end of the<br />
day, I think the WCF architecture is powerful but with power comes complexity,<br />
complexity in configuration files and complexity in the wsdl it generates and<br />
complexity in the pipeline architecture and how you can plug into it.<o:p></o:p></i></font></p>
<p class="MsoNormal"><font size="3"><i style=""><o:p></o:p>As for Rest, the WCF<br />
team has developed the <a href="http://haacked.com/archive/0001/01/01/rest-for-mvc.aspx">MVC Rest SDK</a>.</i></font></p>
<p class="MsoNormal"><font size="3"><i style="">I prefer convention<br />
over configuration and simplicity of code instead of injection as a general<br />
principle.<o:p> <br /></o:p></i></font></p>
<p class="MsoNormal"><font size="3"><i style="">My preference would to<br />
be to use WCF in situations where you have more control over the client<br />
(internal uses mainly) and want to support different communication<br />
channels.&nbsp; <b>At the end of the day when dealing with partners,<br />
Interoperability is the biggest challenge and making things as simple to<br />
consume as possible is desirable.</b>”</i></font></p>
<p class="MsoNormal"><font size="3">Have you encountered an interop issue with your WCF service and<br />
what has been your approach? Leave a comment or email me.</font></p>
<p class="MsoNormal"><font size="3"><o:p></o:p>Happy Coding!</font></p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fblog.adnanmasood.com%2F2009%2F09%2F21%2Fwcf-interoperability-%25e2%2580%2593-asmx-wcf-or-mvc-rest-sdk-open-questions%2F&amp;title=WCF%20Interoperability%20%E2%80%93%20ASMX%2C%20WCF%20or%20MVC%20REST%20SDK%20%26%238211%3B%20Open%20Questions" id="wpa2a_10"><img src="http://blog.adnanmasood.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.adnanmasood.com/2009/09/21/wcf-interoperability-%e2%80%93-asmx-wcf-or-mvc-rest-sdk-open-questions/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Doesn’t Smell like SOA? You may be right! What is NOT SOA?</title>
		<link>http://blog.adnanmasood.com/2009/09/08/doesn%e2%80%99t-smell-like-soa-you-may-be-right-what-is-not-soa/</link>
		<comments>http://blog.adnanmasood.com/2009/09/08/doesn%e2%80%99t-smell-like-soa-you-may-be-right-what-is-not-soa/#comments</comments>
		<pubDate>Tue, 08 Sep 2009 21:02:40 +0000</pubDate>
		<dc:creator>Adnan Masood</dc:creator>
				<category><![CDATA[Generic]]></category>
		<category><![CDATA[Web Services]]></category>

		<guid isPermaLink="false">http://www.adnanmasood.com/PermaLink.aspx?guid=68c24d6c-05a1-4444-bdfc-dd83050b59e7</guid>
		<description><![CDATA[The Large Hadron Collider was created to help unlock the secrets of the universe. And also to create a working SOA implementation. (SOAFacts.com) In a recent all-things-technology dinner conversation with a friend and developer extraordinaire Rashid, we talked about his recent purchase, Thomas Erl’s Service-oriented architecture: concepts, technology, and design. During this discussion he rightfully [...]]]></description>
			<content:encoded><![CDATA[<p><META content=Word.Document name=ProgId><br />
<META content="Microsoft Word 12" name=Generator><br />
<META content="Microsoft Word 12" name=Originator><LINK href="file:///C:%5CDOCUME%7E1%5CADNAN%7E1.MAS%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml" rel=File-List><LINK href="file:///C:%5CDOCUME%7E1%5CADNAN%7E1.MAS%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx" rel=themeData><LINK href="file:///C:%5CDOCUME%7E1%5CADNAN%7E1.MAS%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml" rel=colorSchemeMapping><br />
<STYLE><br />
<!--<br />
 /* Font Definitions */<br />
 @font-face<br />
	{font-family:Wingdings;<br />
	panose-1:5 0 0 0 0 0 0 0 0 0;<br />
	mso-font-charset:2;<br />
	mso-generic-font-family:auto;<br />
	mso-font-pitch:variable;<br />
	mso-font-signature:0 268435456 0 0 -2147483648 0;}<br />
@font-face<br />
	{font-family:"Cambria Math";<br />
	panose-1:2 4 5 3 5 4 6 3 2 4;<br />
	mso-font-charset:0;<br />
	mso-generic-font-family:roman;<br />
	mso-font-pitch:variable;<br />
	mso-font-signature:-1610611985 1107304683 0 0 159 0;}<br />
@font-face<br />
	{font-family:Calibri;<br />
	panose-1:2 15 5 2 2 2 4 3 2 4;<br />
	mso-font-charset:0;<br />
	mso-generic-font-family:swiss;<br />
	mso-font-pitch:variable;<br />
	mso-font-signature:-1610611985 1073750139 0 0 159 0;}<br />
 /* Style Definitions */<br />
 p.MsoNormal, li.MsoNormal, div.MsoNormal<br />
	{mso-style-unhide:no;<br />
	mso-style-qformat:yes;<br />
	mso-style-parent:"";<br />
	margin-top:0in;<br />
	margin-right:0in;<br />
	margin-bottom:10.0pt;<br />
	margin-left:0in;<br />
	line-height:115%;<br />
	mso-pagination:widow-orphan;<br />
	font-size:11.0pt;<br />
	font-family:"Calibri","sans-serif";<br />
	mso-ascii-font-family:Calibri;<br />
	mso-ascii-theme-font:minor-latin;<br />
	mso-fareast-font-family:Calibri;<br />
	mso-fareast-theme-font:minor-latin;<br />
	mso-hansi-font-family:Calibri;<br />
	mso-hansi-theme-font:minor-latin;<br />
	mso-bidi-font-family:"Times New Roman";<br />
	mso-bidi-theme-font:minor-bidi;}<br />
a:link, span.MsoHyperlink<br />
	{mso-style-priority:99;<br />
	color:blue;<br />
	mso-themecolor:hyperlink;<br />
	text-decoration:underline;<br />
	text-underline:single;}<br />
a:visited, span.MsoHyperlinkFollowed<br />
	{mso-style-noshow:yes;<br />
	mso-style-priority:99;<br />
	color:purple;<br />
	mso-themecolor:followedhyperlink;<br />
	text-decoration:underline;<br />
	text-underline:single;}<br />
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph<br />
	{mso-style-priority:34;<br />
	mso-style-unhide:no;<br />
	mso-style-qformat:yes;<br />
	margin-top:0in;<br />
	margin-right:0in;<br />
	margin-bottom:10.0pt;<br />
	margin-left:.5in;<br />
	mso-add-space:auto;<br />
	line-height:115%;<br />
	mso-pagination:widow-orphan;<br />
	font-size:11.0pt;<br />
	font-family:"Calibri","sans-serif";<br />
	mso-ascii-font-family:Calibri;<br />
	mso-ascii-theme-font:minor-latin;<br />
	mso-fareast-font-family:Calibri;<br />
	mso-fareast-theme-font:minor-latin;<br />
	mso-hansi-font-family:Calibri;<br />
	mso-hansi-theme-font:minor-latin;<br />
	mso-bidi-font-family:"Times New Roman";<br />
	mso-bidi-theme-font:minor-bidi;}<br />
p.MsoListParagraphCxSpFirst, li.MsoListParagraphCxSpFirst, div.MsoListParagraphCxSpFirst<br />
	{mso-style-priority:34;<br />
	mso-style-unhide:no;<br />
	mso-style-qformat:yes;<br />
	mso-style-type:export-only;<br />
	margin-top:0in;<br />
	margin-right:0in;<br />
	margin-bottom:0in;<br />
	margin-left:.5in;<br />
	margin-bottom:.0001pt;<br />
	mso-add-space:auto;<br />
	line-height:115%;<br />
	mso-pagination:widow-orphan;<br />
	font-size:11.0pt;<br />
	font-family:"Calibri","sans-serif";<br />
	mso-ascii-font-family:Calibri;<br />
	mso-ascii-theme-font:minor-latin;<br />
	mso-fareast-font-family:Calibri;<br />
	mso-fareast-theme-font:minor-latin;<br />
	mso-hansi-font-family:Calibri;<br />
	mso-hansi-theme-font:minor-latin;<br />
	mso-bidi-font-family:"Times New Roman";<br />
	mso-bidi-theme-font:minor-bidi;}<br />
p.MsoListParagraphCxSpMiddle, li.MsoListParagraphCxSpMiddle, div.MsoListParagraphCxSpMiddle<br />
	{mso-style-priority:34;<br />
	mso-style-unhide:no;<br />
	mso-style-qformat:yes;<br />
	mso-style-type:export-only;<br />
	margin-top:0in;<br />
	margin-right:0in;<br />
	margin-bottom:0in;<br />
	margin-left:.5in;<br />
	margin-bottom:.0001pt;<br />
	mso-add-space:auto;<br />
	line-height:115%;<br />
	mso-pagination:widow-orphan;<br />
	font-size:11.0pt;<br />
	font-family:"Calibri","sans-serif";<br />
	mso-ascii-font-family:Calibri;<br />
	mso-ascii-theme-font:minor-latin;<br />
	mso-fareast-font-family:Calibri;<br />
	mso-fareast-theme-font:minor-latin;<br />
	mso-hansi-font-family:Calibri;<br />
	mso-hansi-theme-font:minor-latin;<br />
	mso-bidi-font-family:"Times New Roman";<br />
	mso-bidi-theme-font:minor-bidi;}<br />
p.MsoListParagraphCxSpLast, li.MsoListParagraphCxSpLast, div.MsoListParagraphCxSpLast<br />
	{mso-style-priority:34;<br />
	mso-style-unhide:no;<br />
	mso-style-qformat:yes;<br />
	mso-style-type:export-only;<br />
	margin-top:0in;<br />
	margin-right:0in;<br />
	margin-bottom:10.0pt;<br />
	margin-left:.5in;<br />
	mso-add-space:auto;<br />
	line-height:115%;<br />
	mso-pagination:widow-orphan;<br />
	font-size:11.0pt;<br />
	font-family:"Calibri","sans-serif";<br />
	mso-ascii-font-family:Calibri;<br />
	mso-ascii-theme-font:minor-latin;<br />
	mso-fareast-font-family:Calibri;<br />
	mso-fareast-theme-font:minor-latin;<br />
	mso-hansi-font-family:Calibri;<br />
	mso-hansi-theme-font:minor-latin;<br />
	mso-bidi-font-family:"Times New Roman";<br />
	mso-bidi-theme-font:minor-bidi;}<br />
.MsoChpDefault<br />
	{mso-style-type:export-only;<br />
	mso-default-props:yes;<br />
	mso-ascii-font-family:Calibri;<br />
	mso-ascii-theme-font:minor-latin;<br />
	mso-fareast-font-family:Calibri;<br />
	mso-fareast-theme-font:minor-latin;<br />
	mso-hansi-font-family:Calibri;<br />
	mso-hansi-theme-font:minor-latin;<br />
	mso-bidi-font-family:"Times New Roman";<br />
	mso-bidi-theme-font:minor-bidi;}<br />
.MsoPapDefault<br />
	{mso-style-type:export-only;<br />
	margin-bottom:10.0pt;<br />
	line-height:115%;}<br />
@page Section1<br />
	{size:8.5in 11.0in;<br />
	margin:.5in .5in .5in .5in;<br />
	mso-header-margin:.5in;<br />
	mso-footer-margin:.5in;<br />
	mso-paper-source:0;}<br />
div.Section1<br />
	{page:Section1;}<br />
 /* List Definitions */<br />
 @list l0<br />
	{mso-list-id:341857026;<br />
	mso-list-type:hybrid;<br />
	mso-list-template-ids:-1862113164 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}<br />
@list l0:level1<br />
	{mso-level-number-format:bullet;<br />
	mso-level-text:;<br />
	mso-level-tab-stop:none;<br />
	mso-level-number-position:left;<br />
	text-indent:-.25in;<br />
	font-family:Symbol;}<br />
@list l1<br />
	{mso-list-id:1099915187;<br />
	mso-list-type:hybrid;<br />
	mso-list-template-ids:-338145018 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}<br />
@list l1:level1<br />
	{mso-level-tab-stop:none;<br />
	mso-level-number-position:left;<br />
	text-indent:-.25in;}<br />
ol<br />
	{margin-bottom:0in;}<br />
ul<br />
	{margin-bottom:0in;}<br />
--><br />
</STYLE></p>
<p><P class=MsoNormal><I>The Large Hadron Collider was created to help unlock the secrets of the universe. And also to create a working SOA implementation. (SOAFacts.com)<?xml:namespace prefix = o /><o:p></o:p></I></P><br />
<P class=MsoNormal>In a recent all-things-technology dinner conversation with a friend and developer extraordinaire <A href="http://www.myurdublog.com/">Rashid</A>, we talked about his recent purchase, Thomas Erl’s <A href="http://books.google.com/books?id=GN1QAAAAMAAJ&amp;dq=inauthor:Thomas+inauthor:Erl&amp;ei=NJ2mSsOgFIuMkATY8fD3Bw">Service-oriented architecture: concepts, technology, and design</A>. During this discussion he rightfully pointed out how virtually any and every distributed system is being dubbed “service oriented” raising a great point that since a lot has been said about “<B>what SOA is?”</B>, we should now talk about “<B>what SOA is NOT” </B>since this might be a able to clear things up as compared to, if it walks like SOA and talks like SOA&#8230; Hence I figured a typical non-SOA conversation may go as follows.</P><br />
<P class=MsoNormal><BR></P><br />
<P class=MsoNormal><EM><SPAN style="FONT-STYLE: normal; FONT-FAMILY: 'Calibri','sans-serif'">RealWorld</SPAN></EM><EM><SPAN style="FONT-FAMILY: 'Calibri','sans-serif'"><A href="http://en.wikipedia.org/wiki/Pointy-Haired_Boss"><SPAN style="FONT-STYLE: normal">PHB</SPAN></A></SPAN></EM>: “Do we have service oriented architecture? I have been hearing good things about it lately and the new partners really prefer it. Let’s go and buy one SOA or do they come in bulk?”</P><br />
<P class=MsoNormal>PerpetuallyPleasingIncompetentArchitect: “Of course we do have SOA sir, we are using web services for a long time, ahead of the curve!”</P><br />
<P class=MsoNormal>RWPHB: “Great; so we promote reuse, share contracts and schemas, do all those good things?”</P><br />
<P class=MsoNormal>PPIA: “No no, that’s too much work. Instead we share the dll’s and email it to our partners as soon as we sign the contract so they can build according to the specs. You gotta have specs for SOA”</P><br />
<P class=MsoNormal>RWPHB: “Even better; who cares about interop, right? If they have their SOA in order, they should be able to talk to us!”</P><br />
<P class=MsoNormal>PPIA: “Yessir!, you are right. We are loyal to our platform and we try to enforce uniformity, its better this way. Also our services share one database to ensure concurrency and integrity; someone called it violation of autonomous service principle and a bottleneck but we got rid of him!. We also bought that expensive SOA hardware solution and matching software suite to make sure our SOA works fine”.</P><br />
<P class=MsoNormal>RWPHB: “Glad you got rid of darn naysayer, these people upset me!. Anyways, so when we release the API update next month, how is going to work in SOA?”</P><br />
<P class=MsoNormal>PPIA: “Well, we want everyone to strictly follow our standards so we made sure our SOA does not allow any versioning. All 2000+ partners will be informed on deployment night to update their interfaces or they won’t be able to use our services. Now this is iron SOA as in iron fist!. I should patent this term.”</P><br />
<P class=MsoNormal>RWPHB: “Not sure what that means but it sounds good! I am going to tell board of directors we have SOA, woot!”</P><br />
<P class=MsoNormal><BR></P><br />
<P class=MsoNormal>Now I should mention as a disclaimer that above mentioned conversation is a poor satirical attempt on my part on general state of SOA. Any similarity to actual persons or SOA’s, living or dead is purely coincidental. And that if you hear any such conversations in the corridors of power, hide! (No not really, educate please).</P><br />
<P class=MsoNormal>To make sure that you don’t have one of these conversations, let’s design with <A href="http://msdn.microsoft.com/en-us/magazine/cc164026.aspx">SOA tenants</A> in mind. If this sounds too fancy, a simple breakdown of <B>what is NOT SOA</B> would be as follows.</P><br />
<UL><br />
<LI><br />
<DIV class=MsoListParagraphCxSpFirst style="TEXT-INDENT: -0.25in">Boundaries are <B>Not</B> explicit</DIV></LI><br />
<LI><br />
<DIV class=MsoListParagraphCxSpMiddle style="TEXT-INDENT: -0.25in">Services are <B>Not</B> Autonomous</DIV></LI><br />
<LI><br />
<DIV class=MsoListParagraphCxSpMiddle style="TEXT-INDENT: -0.25in">Services <B>do Not</B> share Schema and Contract, but Class</DIV></LI><br />
<LI><br />
<DIV class=MsoListParagraphCxSpLast style="TEXT-INDENT: -0.25in">Compatibility is <B>Not</B> based upon Policy</DIV></LI></UL><br />
<P class=MsoNormal>There you go! This sums up all the things which would make your SOA design, a non-SOA design. </P><br />
<P class=MsoNormal>Ok, may be just adding a negation operator is not the best approach, let’s go with catch phrase methodology.</P><br />
<P class=MsoNormal>You might be a non-SOA if</P><br />
<UL><br />
<LI><br />
<DIV class=MsoListParagraphCxSpFirst style="TEXT-INDENT: -0.25in">Your services are too much dependent on each other.</DIV></LI><br />
<LI><br />
<DIV class=MsoListParagraphCxSpMiddle style="TEXT-INDENT: -0.25in">Your service does not support versioning in contracts.</DIV></LI><br />
<LI><br />
<DIV class=MsoListParagraphCxSpMiddle style="TEXT-INDENT: -0.25in">You have to pass around jars and dll’s to share contracts.</DIV></LI><br />
<LI><br />
<DIV class=MsoListParagraphCxSpMiddle style="TEXT-INDENT: -0.25in">If your contracts and implementation are not properly isolated for consumers.</DIV></LI><br />
<LI><br />
<DIV class=MsoListParagraphCxSpMiddle style="TEXT-INDENT: -0.25in">You have an enterprise SOA strategy even though your business stakeholders didn’t sit down with IT architects to examine business processes across the organization.</DIV></LI><br />
<LI><br />
<DIV class=MsoListParagraphCxSpMiddle style="TEXT-INDENT: -0.25in">Your services use SOAP as a panacea when interop could have been better achieved with RESTful services.</DIV></LI><br />
<LI><br />
<DIV class=MsoListParagraphCxSpMiddle style="TEXT-INDENT: -0.25in">Data is ignored and governance means a config file to turn off the service response to 500.</DIV></LI><br />
<LI><br />
<DIV class=MsoListParagraphCxSpMiddle style="TEXT-INDENT: -0.25in">Your entire SOA strategy is implementing web services / BPM<SPAN>&nbsp; </SPAN>/ CEM / any other TLA including SOA (this will make it a circular definition).</DIV></LI><br />
<LI><br />
<DIV class=MsoListParagraphCxSpLast style="TEXT-INDENT: -0.25in">A client is passing a database connection string to your service call…</DIV></LI></UL><br />
<P class=MsoNormal>Yeah, I agree the last one is probably just plain bad design. </P><br />
<P class=MsoNormal>and as if this has not been fun enough, let’s end with a knock-knock joke courtesy of SOAFacts.</P><br />
<BLOCKQUOTE>Knock, knock<BR>Who&#8217;s there?<BR>SOA<BR>SOA who?<BR>You&#8217;re fired.<BR></BLOCKQUOTE><br />
<P class=MsoNormal><BR></P><br />
<P class=MsoNormal><B>References<o:p></o:p></B></P><br />
<UL><br />
<LI><A href="http://www.it-director.com/technology/applications/content.php?cid=8996">What SOA is not</A><br />
<LI><A href="http://blogs.zdnet.com/service-oriented/?p=1140">Ten ways to tell it&#8217;s not SOA</A><br />
<LI><A href="http://www.it-director.com/technology/applications/content.php?cid=8996">What you don&#8217;t want to know about SOA</A><br />
<LI><A href="http://soafacts.com/">SOA Facts (Humor)</A></LI></UL><br />
<P class=MsoNormal><o:p>&nbsp;</o:p></P><br />
<P></P></p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fblog.adnanmasood.com%2F2009%2F09%2F08%2Fdoesn%25e2%2580%2599t-smell-like-soa-you-may-be-right-what-is-not-soa%2F&amp;title=Doesn%E2%80%99t%20Smell%20like%20SOA%3F%20You%20may%20be%20right%21%20What%20is%20NOT%20SOA%3F" id="wpa2a_12"><img src="http://blog.adnanmasood.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.adnanmasood.com/2009/09/08/doesn%e2%80%99t-smell-like-soa-you-may-be-right-what-is-not-soa/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Teaching Programming WCF @ UCSD Ext. 1/24/2009 &#8211; 2/7/2009</title>
		<link>http://blog.adnanmasood.com/2009/01/23/teaching-programming-wcf-ucsd-ext-1242009-272009/</link>
		<comments>http://blog.adnanmasood.com/2009/01/23/teaching-programming-wcf-ucsd-ext-1242009-272009/#comments</comments>
		<pubDate>Fri, 23 Jan 2009 00:11:18 +0000</pubDate>
		<dc:creator>Adnan Masood</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Generic]]></category>
		<category><![CDATA[Web Services]]></category>

		<guid isPermaLink="false">http://www.adnanmasood.com/PermaLink.aspx?guid=6d72b2a7-b05d-47f8-8ffd-9d8ae37609ca</guid>
		<description><![CDATA[I will be teaching a three day WCF course at the UCSD Extension campus on Lusk Blvd, San Diego. The first class is this coming Saturday. If you are interested, further details and enrollment information can be found here. Programming Windows Communication Foundation (WCF) CSE-40114&#160; Credit: 3 units Windows Communication Foundation (WCF) is a new [...]]]></description>
			<content:encoded><![CDATA[<p>I will be teaching a three day WCF course at the UCSD Extension campus on Lusk Blvd, San Diego. The first class is this coming Saturday. If you are interested, further details and enrollment information <a href="http://extension.ucsd.edu/studyarea/index.cfm?vAction=singleCourse&amp;vStudyAreaID=14&amp;vCourse=CSE-40114">can be found here</a>. </p>
<p><a href="http://extension.ucsd.edu/studyarea/index.cfm?vAction=singleCourse&amp;vStudyAreaID=14&amp;vCourse=CSE-40114">Programming Windows Communication Foundation (WCF)</a></p>
<p>CSE-40114&nbsp; Credit: 3 units</p>
<p>Windows Communication Foundation (WCF) is a new object model for building distributed applications using .NET 3.0. WCF was designed to expose the current multitude of Windows remoting APIs (web servcies, MSMQ, Com+, peer-to-peer) using a single unified object model. In this course, attendees will examine the overall WCF object model, binding choices, host options and the use of declarative markup to specify the underlying infrastructure.</p>
<p>Section ID: &nbsp;&nbsp;&nbsp; &nbsp;068791 <br />Time/Dates: &nbsp;&nbsp; &nbsp;Sa, 8:00 a.m. &#8211; 5:00 p.m. 1/24/2009 &#8211; 2/7/2009 (3 mtgs.)<br />Location: &nbsp;&nbsp; &nbsp;Room 110, UCSD Extension Sorrento Mesa Center, 6925 Lusk Blvd, San Diego </p>
<p>Feel free to contact me if you have any questions or comments about the course. For enrollment, <a href="http://extension.ucsd.edu/studyarea/index.cfm?vAction=singleCourse&amp;vStudyAreaID=14&amp;vCourse=CSE-40114">here is the link.</a></p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fblog.adnanmasood.com%2F2009%2F01%2F23%2Fteaching-programming-wcf-ucsd-ext-1242009-272009%2F&amp;title=Teaching%20Programming%20WCF%20%40%20UCSD%20Ext.%201%2F24%2F2009%20%26%238211%3B%202%2F7%2F2009" id="wpa2a_14"><img src="http://blog.adnanmasood.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.adnanmasood.com/2009/01/23/teaching-programming-wcf-ucsd-ext-1242009-272009/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>geekSpeak recording &#8211; REST and the Windows Azure Services Platform with Adnan Masood</title>
		<link>http://blog.adnanmasood.com/2009/01/20/geekspeak-recording-rest-and-the-windows-azure-services-platform-with-adnan-masood/</link>
		<comments>http://blog.adnanmasood.com/2009/01/20/geekspeak-recording-rest-and-the-windows-azure-services-platform-with-adnan-masood/#comments</comments>
		<pubDate>Tue, 20 Jan 2009 06:19:28 +0000</pubDate>
		<dc:creator>Adnan Masood</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Generic]]></category>
		<category><![CDATA[Web Services]]></category>

		<guid isPermaLink="false">http://www.adnanmasood.com/PermaLink.aspx?guid=82cb1b7d-7b18-40d0-a50b-8e65977e90f4</guid>
		<description><![CDATA[Windows Azure provides developers with on-demand compute and storage to host, scale, and manage Web applications on the Internet. In this geekSpeak webcast, Adnan Masood illustrates how to create and host services in the cloud. Adnan highlights key features of the platform software development kit (SDK), addresses how to implement RESTful interfaces (available remotely and [...]]]></description>
			<content:encoded><![CDATA[<p><span id="ctl00_MainPlaceHolder_Starter_BodyLabel">Windows Azure<br />
provides developers with on-demand compute and storage to host, scale,<br />
and manage Web applications on the Internet. </p>
<div id="ctl00_MainPlaceHolder_Starter_MediaPlayer">
<div id="ctl00_MainPlaceHolder_Starter_MediaPlayer_PlayerContainer" class="player">
<p>    <a href="mms://mschnlnine.wmod.llnwd.net/a1809/d1/ch9/6/3/2/2/5/4/geekSpeak20090107_s_ch9.wmv"><br />
<img src="http://mschnlnine.vo.llnwd.net/d1/ch9/6/3/2/2/5/4/geekSpeak20090107_large_ch9.jpg"><br />
        <img src="/App_Themes/default/images/player/PlayButton.png" alt="geekSpeak recording - REST and the Windows Azure Services Platform with Adnan Masood"><br />
    </a>
</div>
</div>
<p>In this geekSpeak webcast, Adnan Masood illustrates how to create and<br />
host services in the cloud. Adnan highlights key features of the<br />
platform software development kit (SDK), addresses how to implement<br />
RESTful interfaces (available remotely and from the data center), and<br />
describes how to run Microsoft ASP.NET Web applications or Microsoft<br />
.NET code in the cloud.<br />
&nbsp;<br />
The geekSpeak webcast series brings you industry experts in a<br />
&#8220;talk-radio&#8221; format hosted by developer evangelists from Microsoft.<br />
These experts share their knowledge and experience about a particular<br />
developer technology and are ready to answer your questions in real<br />
time during the webcast. Your hosts for this geekSpeak are Lynn Langit<br />
and Lindsay Rutter. To ask a question in advance of the live webcast,<br />
or for post-show resources, be sure to visit the <a href="http://blogs.msdn.com/geekspeak/" target="_self">geekSpeak blog.</a></span></p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fblog.adnanmasood.com%2F2009%2F01%2F20%2Fgeekspeak-recording-rest-and-the-windows-azure-services-platform-with-adnan-masood%2F&amp;title=geekSpeak%20recording%20%26%238211%3B%20REST%20and%20the%20Windows%20Azure%20Services%20Platform%20with%20Adnan%20Masood" id="wpa2a_16"><img src="http://blog.adnanmasood.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.adnanmasood.com/2009/01/20/geekspeak-recording-rest-and-the-windows-azure-services-platform-with-adnan-masood/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>List of Out of the box WCF Bindings (including 3.5) &#8211; Note to Self</title>
		<link>http://blog.adnanmasood.com/2008/11/25/list-of-out-of-the-box-wcf-bindings-including-3-5-note-to-self/</link>
		<comments>http://blog.adnanmasood.com/2008/11/25/list-of-out-of-the-box-wcf-bindings-including-3-5-note-to-self/#comments</comments>
		<pubDate>Tue, 25 Nov 2008 21:46:37 +0000</pubDate>
		<dc:creator>Adnan Masood</dc:creator>
				<category><![CDATA[Generic]]></category>
		<category><![CDATA[Web Services]]></category>

		<guid isPermaLink="false">http://www.adnanmasood.com/PermaLink.aspx?guid=c3a463f0-0a2d-4499-985f-14f7e0640a47</guid>
		<description><![CDATA[Following is the list of WCF out-of-the-box bindings, brief information about them (from MSDN) and the link which points to further details. I have ordered them according to the frequency of use in my opinion, YMMV. BasicHTTPBinding Represents a binding that a Windows Communication Foundation (WCF) service can use to configure and expose endpoints that [...]]]></description>
			<content:encoded><![CDATA[<style type="text/css">
<!--
.style2 {
	font-size: small;
	font-family: Verdana, Arial, Helvetica, sans-serif;
}
-->
</style>
<p class="style2"><font size="2" face="Arial">Following is the list of WCF out-of-the-box bindings, brief information about them (from MSDN) and the link which points to further details. I have ordered them according to the frequency of use in my opinion, YMMV. </font></p>
<p class="style2"><font size="2" face="Arial"><a href="http://msdn.microsoft.com/en-us/library/ms731361.aspx">BasicHTTPBinding<br />
</a>Represents a binding that a  Windows Communication Foundation (WCF) service can use to configure and expose  endpoints that are able to communicate with ASMX-based Web services and clients  and other services that conform to the WS-I Basic Profile 1.1. The  BasicHttpBinding uses HTTP as the transport for sending SOAP 1.1 messages. A  service can use this binding to expose endpoints that conform to WS-I BP 1.1,  such as those that ASMX clients consume. Similarly, a client can use the  BasicHttpBinding to communicate with services exposing endpoints that conform  to WS-I BP 1.1, such as ASMX Web services or services configured with the  BasicHttpBinding. Security is turned off by default, but can be added setting  the mode attribute of the &lt;security&gt; of &lt;basicHttpBinding&gt; child  element to a value other than None. It uses a &#8220;Text&#8221; message encoding  and UTF-8 text encoding by default. </font></p>
<p class="style2"><font size="2" face="Arial"><a href="http://msdn.microsoft.com/en-us/library/system.servicemodel.webhttpbinding.aspx">webHTTPBinding</a><br />
A binding used to configure  endpoints for Windows Communication Foundation (WCF) Web services that are  exposed through HTTP requests instead of SOAP messages.The WCF Web Programming  Model allows developers to expose WCF Web services through HTTP requests that  use &#8220;plain old XML&#8221; (POX) style messaging instead of SOAP-based  messaging. For clients to communicate with a service using HTTP requests, an  endpoint of the service must be configured with the WebHttpBinding that has the  WebHttpBehavior attached to it. The WCF Web Programming Model also requires  that the individual service operations are annotated with the WebGetAttribute  or WebInvokeAttribute attributes. This defines a mapping from a URI and HTTP  method to the service operation, as well as the format of the messages used to  call the operation and return the results. Support in WCF for syndication and  ASP.AJAX integration are both built on top of the WCF Web Programming Model.</font></p>
<p class="style2"><font size="2" face="Arial"><a href="msdn.microsoft.com/en-us/library/system.servicemodel.wshttpbinding.aspx">wsHttpBinding</a><br />
Represents an interoperable  binding that supports distributed transactions and secure, reliable sessions.  The WSHttpBinding is similar to the BasicHttpBinding but provides more Web  service features. It uses the HTTP transport and provides message security, as  does BasicHttpBinding, but it also provides transactions, reliable messaging, and  WS-Addressing, either enabled by default or available through a single control  setting.<br /></font>
</p>
<p class="style2">  <font size="2" face="Arial"><a href="http://msdn.microsoft.com/en-us/library/system.servicemodel.nettcpbinding.aspx">netTCPBinding</a><br />
  A secure, reliable binding  suitable for cross-machine communication. The NetTcpBinding generates a  run-time communication stack by default, which uses transport security, TCP for  message delivery, and a binary message encoding. This binding is an appropriate  Windows Communication Foundation (WCF) system-provided choice for communicating  over an Intranet.</font></p>
<p class="style2"><font size="2" face="Arial"><a href="msdn.microsoft.com/en-us/library/system.servicemodel.basichttpcontextbinding.aspx">BasicHTTPContextBinding</a><br />
  Enables context for the  BasicHttpBinding to be exchanged with HTTP cookies as the context exchange  mechanism. The BasicHttpContextBinding adds a ContextBindingElement to the  stack of BindingElement objects in the system-provided BasicHttpBinding. This  enables SOAP headers to be used to exchange context.</font>
  </p>
<p class="style2"><font size="2" face="Arial"><a href="http://msdn.microsoft.com/en-us/library/system.servicemodel.netmsmqbinding.aspx">NetMsmqBinding</a><br />
  Represents a queued binding  that is suitable for cross-machine communication.<br />
  The NetMsmqBinding binding  provides support for queuing by leveraging Microsoft Message Queuing (MSMQ) as  a transport and enables support for loosely coupled applications, failure  isolation, load leveling and disconnected operations. </font> </p>
<p class="style2"><font size="2" face="Arial"><a href="http://msdn.microsoft.com/en-us/library/system.servicemodel.wsdualhttpbinding.aspx">wsDualHttpBinding</a><br />
A secure and interoperable  binding that is designed for use with duplex service contracts that allows both  services and clients to send and receive messages.The WSDualHttpBinding  provides the same support for Web Service protocols as the WSHttpBinding, but  for use with duplex contracts. WSDualHttpBinding only supports SOAP security  and requires reliable messaging. This binding requires that the client has a  public URI that provides a callback endpoint for the service. This is provided  by the ClientBaseAddress. A dual binding exposes the IP address of the client  to the service. The client should use security to ensure that it only connects  to services it trusts.</font></p>
<p class="style2"><font size="2" face="Arial"><a href="http://msdn.microsoft.com/en-us/library/system.servicemodel.netpeertcpbinding.aspx">netPeerTCPBinding</a><br />
  Provides a secure binding for  peer-to-peer network applications.The NetPeerTcpBinding binding provides  support for the creation of peer networking applications that use a TCP-level  peer-to-peer mesh infrastructure. </font></p>
<p class="style2"><font size="2" face="Arial"><a href="http://msdn.microsoft.com/en-us/library/system.servicemodel.netnamedpipebinding.aspx">netNamedPipeBinding</a><br />
Provides a secure and reliable  binding that is optimized for on-machine communication.<br />
The NetNamedPipeBinding  generates a run-time communication stack by default, which uses transport  security, named pipes for message delivery, and a binary message encoding. This  binding is an appropriate Windows Communication Foundation (WCF)  system-provided choice for on-machine communication. It also supports  transactions.</font></p>
<p class="style2"><font size="2" face="Arial"><a href="msdn.microsoft.com/en-us/library/system.servicemodel.msmqintegration.msmqintegrationbinding.aspx">MSMQIntegrationBinding</a><br />
  The MsmqIntegrationBinding  class maps Microsoft Message Queuing (MSMQ) messages to Windows Communication  Foundation (WCF) messages.</font></p>
<p class="style2"><font size="2" face="Arial"><a href="http://msdn.microsoft.com/en-us/library/system.servicemodel.nettcpcontextbinding.aspx">netTCPContextBinding</a><br />
Provides a context-enabled  binding for the NetTcpBinding. The NetTcpContextBinding adds a  ContextBindingElement to the stack of BindingElement objects in the  system-provided NetTcpBinding. This enables SOAP headers to be used to exchange  context.</font></p>
<p class="style2"><font size="2" face="Arial"><a href="http://msdn.microsoft.com/en-us/library/system.servicemodel.ws2007httpbinding.aspx">ws2007HttpBinding</a><br />
  Represents an interoperable  binding that derives from WSHttpBinding and provides support for the updated  versions of the Security, ReliableSession, and TransactionFlow binding  elements. The WS2007HttpBinding class adds a system-provided binding similar to  WSHttpBinding but uses the Organization for the Advancement of Structured  Information Standards (OASIS) standard versions of the ReliableSession,  Security, and TransactionFlow protocols. No changes to the object model or  default settings are required when using this binding.</font></p>
<p class="style2"><font size="2" face="Arial"><a href="msdn.microsoft.com/en-us/library/system.servicemodel.wshttpcontextbinding.aspx">wsHttpContextBinding</a><br />
The WSHttpContextBinding adds  a ContextBindingElement to the stack of BindingElement objects in the  system-provided WsHttpBinding. This enables SOAP headers to be used to exchange  context when HTTP cookies are not enabled.</font></p>
<p class="style2"><font size="2" face="Arial"><a href="msdn.microsoft.com/en-us/library/system.servicemodel.wsfederationhttpbinding.aspx">wsFederationHttpBinding</a><br />
A secure and interoperable  binding that supports federated security.</font></p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fblog.adnanmasood.com%2F2008%2F11%2F25%2Flist-of-out-of-the-box-wcf-bindings-including-3-5-note-to-self%2F&amp;title=List%20of%20Out%20of%20the%20box%20WCF%20Bindings%20%28including%203.5%29%20%26%238211%3B%20Note%20to%20Self" id="wpa2a_18"><img src="http://blog.adnanmasood.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.adnanmasood.com/2008/11/25/list-of-out-of-the-box-wcf-bindings-including-3-5-note-to-self/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Cloud Computing</title>
		<link>http://blog.adnanmasood.com/2008/10/09/cloud-computing/</link>
		<comments>http://blog.adnanmasood.com/2008/10/09/cloud-computing/#comments</comments>
		<pubDate>Thu, 09 Oct 2008 03:36:50 +0000</pubDate>
		<dc:creator>Adnan Masood</dc:creator>
				<category><![CDATA[Generic]]></category>
		<category><![CDATA[Web Services]]></category>

		<guid isPermaLink="false">http://www.adnanmasood.com/PermaLink.aspx?guid=2a70d56b-d71f-4154-997d-9de099582ae6</guid>
		<description><![CDATA[A comparison of Google AppEngine, Amazon EC2 and Sun Project Caroline. Cloud Computing View SlideShare presentation or Upload your own. (tags: ec2 appengine) Thanks to Rashid Kamran for pointing me to it.]]></description>
			<content:encoded><![CDATA[<p>A comparison of Google AppEngine, Amazon EC2 and Sun Project Caroline.</p>
<div style="width: 425px; text-align: left;" id="__ss_644830"><a style="margin: 12px 0pt 3px; font-family: Helvetica,Arial,Sans-serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 14px; line-height: normal; font-size-adjust: none; font-stretch: normal; display: block; text-decoration: underline;" href="http://www.slideshare.net/njuneja/cloud-computing-presentation-644830?type=powerpoint" title="Cloud Computing">Cloud Computing</a><object style="margin: 0px;" width="425" height="355"><param name="movie" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=cloud-computing-presentation-1223492287440181-9&amp;stripped_title=cloud-computing-presentation-644830"><param name="allowFullScreen" value="true"><param name="allowScriptAccess" value="always"><embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=cloud-computing-presentation-1223492287440181-9&amp;stripped_title=cloud-computing-presentation-644830" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></object>
<div style="font-size: 11px; font-family: tahoma,arial; height: 26px; padding-top: 2px;">View SlideShare <a style="text-decoration: underline;" href="http://www.slideshare.net/njuneja/cloud-computing-presentation-644830?type=powerpoint" title="View Cloud Computing on SlideShare">presentation</a> or <a style="text-decoration: underline;" href="http://www.slideshare.net/upload?type=powerpoint">Upload</a> your own. (tags: <a style="text-decoration: underline;" href="http://slideshare.net/tag/ec2">ec2</a> <a style="text-decoration: underline;" href="http://slideshare.net/tag/appengine">appengine</a>)</div>
</div>
<p>Thanks to Rashid Kamran for pointing me to it.</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fblog.adnanmasood.com%2F2008%2F10%2F09%2Fcloud-computing%2F&amp;title=Cloud%20Computing" id="wpa2a_20"><img src="http://blog.adnanmasood.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.adnanmasood.com/2008/10/09/cloud-computing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

