【2014年12月3日】【每日一问】SOA和Web Service有什么区别?

【答】
SOA和Web Servcie的共同点是:服务的接口与实现分离。
SOA和Web Servcie的区别如下:
1. SOA(Service-Oriented Architecture,面向服务的体系结构)
① SOA是一种架构风格、架构模式和设计原则。SOA本质上是服务的集合。
② SOA是一种粗粒度、松耦合服务架构,服务之间通过简单、精确定义接口进行通信,对服务接口进行了封装,实现了服务接口、服务位置和服务传输协议的透明化。
③ SOA可以看作是B/S模型、XML(可扩展标记语言,标准通用标记语言的一个子集)/Web Service技术之后的自然延伸。
④ 只要某个软件系统符合了SOA的架构,就可以说它是基于SOA的,SOA不一定需要Web Service来实现。
⑤ SOA实现了最高程度上的抽象化,为实现具有最高灵活性的服务建立了架构基础。
⑥ SOA要求设计和开发人员直接从业务的角度来构建SOA所提供的服务,而不仅仅从模块和技术的角度来构建SOA服务。
⑦ 广义上,SOA是包含运行环境、编程模型、架构风格和相关方法论等在内的一整套新的分布式软件系统构造方法和环境,涵盖服务的整个生命周期:建模——开发——整合——部署——运行——管理。


2. Web Service(网络服务)
① Web Service是一种技术规范。Web Service的思想是:使得应用程序具有Web分布式编程模型的松散耦合性。Web Service是实现SOA的方式之一。
② Web Service是一个平台独立的、低耦合的、自包含的(self-contained)、基于可编程的Web的应用程序,对具体的服务实现进行了封装,向外界暴露出一个能够通过Web进行调用的API。
③ Web Service使用开放的XML标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。
④ 用户可以使用任何喜欢的语言,在任何喜欢的平台上来实现Web Service,只要可以通过Web Service标准对这些服务进行查询和访问。
⑤ 基础的Web Service平台是XML + HTTP。其中,HTTP协议是最常用的因特网协议。XML提供了一种可用于不同的平台和编程语言之间的语言。
⑥ Web Service只是实现了一定程度上的抽象,因为客户端调用Web Service组件时,需要知道Web Service的具体位置和传输协议,这些都会造成一定的不灵活性。

你可能感兴趣的:(Web,service,区别,SOA)