- From: Hao He <Hao.He@thomson.com.au>
- Date: Fri, 10 Jan 2003 10:42:22 +1100
- To: "'Mark Baker'" <distobj@acm.org>, "'Assaf Arkin'" <arkin@intalio.com>, "'Champion, Mike'" <Mike.Champion@SoftwareAG-USA.com>
- Cc: www-ws-arch@w3.org
- Message-ID: <686B9E7C8AA57A45AE8DDCC5A81596AB046AE243@sydthqems01.INT.TISA.COM.AU>
In view of the recent REST discussions, we'd better solve one problem at a time. First of all, the key value provided by Web Services is loose coupling. Agreed? If agreed, we then look at the definition of "loose coupling". A quick search on google reveals the following: " Loose coupling is like pornography. Everyone talks about it, but when challenged, few can tell you what it is. For some, it borders on a religion with the attendant fervor one would expect from the newly converted. Others even go so far as to suggest that the definition of loose coupling is itself loosely coupled, providing them an excuse to avoid dealing with it. But with Loose Coupling as the title of my forthcoming book, I'm not going to get off quite so easily. Take a look at this table and let me know what I've missed. " --http://www.rds.com/doug/weblogs/webServicesStrategies/2002/11/18.html You have to click the URL to see the table. Interestingly, the author claims that "document style of interaction, later binding, asynchronous messaging ..." are loosely coupling. All those are heavily prompted by REST. This would imply that REST is more loosely coupled than the SOAP approach. Here is my attempt at defining loose coupling. Coupling is the dependency between interacting systems. Dependency can be classified as real dependency and artificial dependency. Real dependency is the features or services one consumes from other systems. Artificial dependency is the thing one has to follow in order to consume the features or services provided by other systems. Typical artificial dependency in IT are: language dependency, platform dependency, API dependency ... There are two rules here: 1. One can never reduce real dependency but itself is evolving. 2. One can never get rid of artificial dependency but one can reduce artificial dependency or the cost of artificial dependency. Hence, loose coupling describes the state when artificial dependency or the cost of artificial dependency has been reduced to the minimum. So, to really compare between REST and SOAP, we just need to look at compare the artificial dependency and the cost introduced by them. Thoughts? Hao
Attachments
- text/plain attachment: InterScan_Disclaimer.txt
Received on Thursday, 9 January 2003 18:41:42 UTC