Monday, October 31, 2005
In my previous post, I commented on the 4 tenets (i.e. principles) of a SOA.  One of these tenets is, Services share schemas and contracts, not classes or types.  Most developers understand what this means, however, in Visual Studio (VS), it isnt so easy to make this so because VS assumes an XML-based RPC view of Web Services.  Here is what I mean.
The .NET Framework makes it extremely easy to create and deploy a Web Service, which is the primary delivery model for a SOA.  The process in VS is deceptively simple you add an .asmx file to your project, add a couple of methods, then build your solution, and voila, you have a Web Service.  In the background, VS generates a WSDL on the server side and a client proxy on the client side.  VS quietly handles all of this for you, which is not necessarily a good thing as mentioned above, VS assumes an XML-based RPC view of web services.
There is concept in Web Services de