希赛网 · 知识导航  
 
    软考英语    通信工程英语    软件工程    项目管理    操作系统    数据库系统    计算机网络    IT新技术    硬件数码    应用系统    计算机基础    IT职场  
希赛网 > IT英语 > 软件工程 > 松散耦合与紧密耦合

松散耦合与紧密耦合

www.educity.cn   发布者:s297185671   来源:网络转载   发布日期:2013年08月27日   

Loose vs. Tight Coupling

  One key feature of SOA is the use of loosely coupled connections. Traditionally, connections between applications or between applications and services have been tightly coupled, as with CORBA (Common Object Request Broker Architecture). The difference is important.

  Eric Van der Vlist, author of XML Schema: The W3C's Object-Oriented Descriptions for XML (O'Reilly, 2002), describes the differences between the two types of coupling with this analogy: In a tightly coupled system, you have direct control over the operation. For example, flipping a wall switch to turn on a light is a tightly coupled system. However, making a telephone call to order a book is a loosely coupled system. It could be tightly coupled only if you had access to the button controlling the printer that will print the book you order.

  Tightly coupled systems are usually fast and safe, and the risk of transmission errors is very low. Loosely coupled systems, on the other hand, are usually more error-prone but also more flexible. The clerk you talk to on the phone may misunderstand the ISBN number of the book you want to order or make an error while entering it. But if you don't remember the ISBN number, you can still tell the clerk that you want the latest book on the World Wide Web Consortium's XML schema by a guy with a Dutch name from a publisher that puts pictures of animals on its book covers—and when you do that, you've got a good chance of being understood.

  Tight coupling tends to make component maintenance and reuse much more difficult, because a change in one component automatically means changes in others. Similarly, tight coupling makes extra work when an application has to adapt to changing business requirements, because each modification to one application may force developers to make changes in other connected applications.

  In general terms, a Web service is a type of SOA in which interfaces are based on standardized Internet protocols. In addition, except for binary data attachment, Web service messages must be in XML. Generally speaking, a Web service is little more than an SOA that uses Simple Object Access Protocol and the Web Services Description Language. However, an SOA doesn't require the use of Web services as we understand them, and some types of Web services can be deployed without an SOA. (The End)

松散耦合与紧密耦合

  SOA的一项关键特性就是使用松散耦合连接。传统上,应用程序与应用程序之间或者应用程序与服务之间的连接是紧耦合的,如用CORBA(公共对象请求代理体系结构)那样。此差异是很重要的。

  《 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 也能部署。

标签: 软件工程
1 2
   主编推荐
全局导航
IT认证学院
Adobe认证Cisco认证H3C认证IBM认证IT认证资讯Java认证Linux认证Microsoft认证Oracle认证华为认证
IT英语
IT新技术操作系统基础英语计算机网络软件工程软考英语数据库系统通信专业英语项目管理英语应用系统硬件数码职场英语
程序开发学院
.NETC语言_C++语言DelphiPowerBuilderWeb开发嵌入式开发移动开发游戏开发PHPPythonPerlRuby
等考学院
考试大纲二级考试经验二级模拟试题一级考试资料二级考试资料一级模拟试题三级模拟试题四级模拟试题一级考试经验三级考试经验四级考试经验四级考试资料三级考试资料等级考试动态
软件工程学院
CASE工具构件与中间件软件测试软件过程改进软件设计软件外包需求分析软件质量保证系统分析与建模系统规划业界观点敏捷开发
软考学院
程序员电子商务设计师法律法规考试大纲考试政策历年试题软件评测师软件设计师软考英语数据库系统工程师网络工程师网络管理员网络规划设计师系统分析师系统架构设计师信息技术处理员信息系统管理工程师信息系统监理师
通信学院
初级通信工程师传输与接入高级通信工程师互联网技术交换技术考试大纲考试动态考试题库设备环境通信法规终端与业务综合能力
网络工程学院
交换技术接入技术路由技术实施案例网络布线网络存储网络服务器网络管理无线网络系统应用网络协议网络设备
项目管理学院
系统集成项目管理工程师信息系统项目管理师CPMP考试IPMPPMP考试prince2认证项目采购管理项目成本管理项目范围管理项目风险管理项目沟通管理项目配置管理项目人力资源管理项目时间管理项目管理案例项目管理动态项目管理工具项目经理项目整合管理项目质量管理项目干系人管理
职称考试学院
职称考试题目职称考试指南职称考试资料
研究生院
考研英语考研题库招生信息就业指导考研经验考研政治考研数学
信息安全实验室
网络安全黑客教程杀毒防毒安全设置脚本攻防黑客入侵工具使用漏洞分析加密解密手机安全安全技术
物联网学院
生物识别二维码射频技术传感器物联网感知层物联网网络层物联网传输层物联网应用层物联网标准物联网前沿技术智能生活智慧城市物联网案例分析云计算虚拟化技术
Java学院
Javascript教程Java教程Java核心技术Java高级技术J2EE教程J2ME教程XML教程Java开源技术
Linux学院
Linux系统管理Unix教程Linux教程Linux编程Linux集群Linux内核技术Linux安全Linux服务器Solaris教程AIX教程
Windows学院
Windows系统管理Windows教程Windows安全Windows服务器Windows网络管理Windows故障Windows优化Windows动态
数据库学院
数据库开发Oracle数据库MySQL数据库Sybase数据库DB2数据库SQL Server数据库数据仓库Informix数据库