- From: He, Hao <Hao.He@thomson.com.au>
- Date: Fri, 3 Oct 2003 08:57:52 +1000
- To: "'David Orchard'" <dorchard@bea.com>, www-ws-arch@w3.org
- Message-ID: <686B9E7C8AA57A45AE8DDCC5A81596AB0922DC55@sydthqems01.int.tisa.com.au>
hi, David, I don't quite get how " rapidity of changes in the interface " would increase loose coupling? Could you please explain? Thanks. Hao -----Original Message----- From: David Orchard [mailto:dorchard@bea.com] Sent: Sunday, September 28, 2003 3:49 AM To: www-ws-arch@w3.org Subject: Myth of Loose coupling I'm posting a link as I was asked to before on the start of a discussion on loose coupling. http://lists.w3.org/Archives/Public/www-ws-arch/2003Jan/0115.html I will say that I have come to have a somewhat revised view on loose coupling. I would say that loose coupling is a combination of properties: - extensibility, so that additional information can be added without breaking receivers - evolvable changes in the interface, so compatible changes can be made. - rapidity of changes in the interface - on the web, the generic interface constraint, means that applications (browsers/search engines) are not dependent upon each site's protocol. - asynchrony, so that senders and receivers are decoupled in time - stateless messaging, so that senders need fewer messages and hence less chance of communication errors - use of URIs for identifying resources. This means that identifiers are very constrained and easily transferred. - No vendor specific or platform specific constraints on any of the technologies used. I think one can then say that loose coupling is a property that is a combination of other properties as I've listed above. And it seems that changing each property/constraint increases the coupling. For example, a web service with no extensibility, that evolves rapidly in incompatible ways, an application specific interface, synchronous, stateful messages is tightly coupled with it's clients. This would show that the Web is "mostly" loosely coupled because of the extensibility/evolvability in http/html, slow changes in html vocabularies, stateless messaging, vendor/platform agnostic. Yet it is tightly coupled in being synchronous. Another way of looking at this is that Web service technologies do not per se mean a service is loosely coupled, it is only through the application of constraints to be loosely coupled. Seem reasonable? I think this notion of a "combination" property is similar to the visibility property, which I argue is a combination of simplicity and percieved performance properties. Cheers, Dave
Attachments
- text/plain attachment: InterScan_Disclaimer.txt
Received on Thursday, 2 October 2003 18:58:33 UTC