« Lessons Learned | Main | StAX based WebService engine »

September 16, 2004

Loose coupling

For all the talk of loose coupling I'm surprised how tightly coupled WebServices have become. I think there is room for a completely interpreted stack that does no binding to the java types but enforces XMLSchema constraints and SOAP QOS for reliability, security and routing. It would be cool to implement this in python or perl and insert it as an adaptive layer between the world and the application.

Posted by Chris at September 16, 2004 10:37 AM


I don't get it. 'Loose Coupling' is an idea about how services should be described and used. You're talking about how they are implemented, and I think that is different.

Choosing a programming model for you service that is less statically-bound isn't going to make it less tightly-coupled.

Posted by: Patrick Calahan at September 16, 2004 02:58 PM

The way I mean loose coupling here is "resiliant to change in applications". I've seen two diametrically opposed definitions of loose coupling. One is 'Fixed interface with varying implementations'. Basically your standard interface driven programming. The other is 'resiliant to change'. In the first you want statically typed, unchanging, strict interfaces. In the secound you want generic data with fixed operations. I think an interpreted environment will get you more flexibility to adapt and handle multiple service versions simultaneously.

Posted by: Chris at September 16, 2004 03:09 PM