文档介绍:面向服务的架构(SOA)
什么是SOA
为什么要使用SOA
SOA工作原理
构建SOA
SOA的应用
目录
什么是SOA
面向服务的体系结构(Service-Oriented Architecture,
SOA)是一个组件模型。
组件模型
它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来;
接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言;
构建在各种这样的系统中的服务可以一种统一和通用的方式进行交互。
Web service平台是一套标准,它定义了应用程序如何
在Web上实现互操作性。你可以用任何你喜欢的语言,
在任何你喜欢的平台上写Web service ,只要我们可以通
过Web service标准对这些服务进行查询和访问。
Web service是技术规范,SOA是设计原则。从本质上
讲,SOA是一种架构模式,而web service是利用一组标准
实现的服务。Web service是实现SOA的方式之一。用web
service实现SOA的好处是:可以实现一个中立平台,来获
取服务,获取更好的通用性。
Web Services的目标是即时装配、松散耦合以及自动
集成。
Web service
为什么要使用SOA
传统的架构,软件包是被编写为独立的(self-contained)
软件,即在一个完整的软件包中将许多应用程序功能整合在
一起。实现整合应用程序功能的代码通常与功能本身的代码
混合在一起。我们将这种方式称作软件设计“单一应用程序
“。与此密切相关的是,更改一部分代码将对使用该代码的代
码具有重大影响,这会造成系统的复杂性,并增加维护系统
的成本。而且还使重新使用应用程序功能变得较困难,因为
这些功能不是为了重新使用而打的包。
缺点:代码冗余不能重用紧耦合成本高
SOA旨在将单个应用程序功能彼此分开,以便这些
功能可以单独用作单个的应用程序功能或“组件”。这
些组件可以用于在企业内部创建各种其他的应用程序,
或者如有需要,对外向合作伙伴公开,以便用于合作伙
伴的应用程序。
SOA优点:代码重用松耦合平台独立语言无关
为什么要使用SOA
商品消费——软件服务
SOA工作流程
SOA架构中有三种角色:
服务提供者:发布自己的服务,并且对服务请求进行响应。
服务注册中心:注册已经发布的web service,对其进行分类,并提供搜索服务。
服务请求者:利用服务中心查找所需要的服务,然后使用该服务。
SOA角色