《 XML Schema: The W3C"s Object-oriented Descriptions for XML》一书(O"Reilly公司2002年出版) 的作者 Eric Van der Vlist有下列比喻来描述这两类耦合之间的差异:在紧耦合系统中,你直接控制操作。例如,扳动墙上的开关接通电灯就是紧耦合系统,而利用电话订购书就是松耦合系统。只有当你访问控制打印机(该打印机将打印你订购的书籍)的按钮时,才可能是紧耦合。
紧耦合系统通常比较快、也安全,传输误差的风险非常低。另一方面,松散耦合系统通常比较容易出错,但比较灵活。当你在电话上通话时对方职员可能会听错你要订购书的 ISBN编号、或者在输入时出错。如果你不记得ISBN编号,你还可以告诉对方职员,你要一本由一名有荷兰名字的人写的有关3W联盟的XML范式的新书,该书的出版社通常将动物的图片放在书的封面上,当你这样做时,你就得到了被理解的好机会。
紧耦合往往会使部件的维护和重复使用变得非常困难,因为一个部件中的修改就自动意味着其他部件中的修改。同理,在应用程序不得不适应变化了的业务要求时,紧耦合就要做额外的工作,因为一个应用程序中的一次修改将迫使开发人员对其他相连接的应用程序进行修改。
从一般意义上讲, Web Services 就是一类 SOA ,其接口都是基于标准化了的互联网协议。此外,除二进制数据附件, Web Services 消息必须用 XML 语言。通常讲, Web Service 只是一个用了 SOAP (简单对象访问协议)和 Web Services 描述语言的 SOA 。但是, SOA 不要求使用我们所理解的 Web Services ,有些类型的 Web Services 不用 SOA 也能部署。