SOA与Web service的关系

Author: Zibin Zheng
http://www.cse.cuhk.edu.hk/~zbzheng

SOA把 一个应用程序的业务逻辑(business logic),或某些单独的功能模块化,并封装为服务呈现给消费者或客户端。它提倡松耦合loosely-coupling。 SOA是一种分布式系统的设计模式,是一种体系架构的设计风格。

而Web service是一种实现分布式系统的技术,它是一个技术,规范的集合。SOA不一定用Web service来实现。Web serivce实现的系统也不一定是SOA。我个人觉得,SOA类似设计模式,而Web service类似用于实现的具体编程语言。他们是不同层面上的东西。


Web service主要包括基于XML的interface(WSDL),messaging(SOAP),(UDDI) 这3个标准。统一标准的好处包括:
   cross-platform, cross-language, high interoperability.

相比DCOM和CORBA,Web service 最大的好处就是它的兼容性,DCOM只是一个厂商的架构(Microsoft),而CORBA不同厂商的不同实现间兼容性也是不好的。Web service是一个统一的标准,不同厂商的实现可以很好的协同工作。

另外Web service的优点还包括:
  • 基于文本和HTTP的消息通讯可以很好的穿透防火墙(CORBA的消息经常被防火墙屏蔽)。
  • open source。 基于Apache,eclipse,axis,java,mysql的整一套开发平台都是开源的,这极大的减低了web service的开发门槛。同时也推动了Web service的普及和发展。
Web service是比DCOM,CORBA等更通用的一种实现分布式系统的技术。它可以用于实现SOA,grid网格,e-government, e-commerce 等等。





你可能感兴趣的:(服务计算)