5.3 SOA风格软件体系结构 SOA(service-oriented architecture),面向服务的体系结构。目前关于SOA的争论还比较多,下面这个定义概括了SOA 主要思想:一种应用程序体系结构,在这种体系结构中,所有功能都定义为独立的服务(应用程序的不同功能单元),这些服务带有定义明确的可调用接口,可以以定义好的顺序调用这些服务来形成业务流程。SOA抽象层次高,软件元素之间松散耦合,系统开放性好,这些优势使得它成为未来一段时间重点研究方向。 5.3.1 SOA风格软件体系结构特点与实现 1. SOA风格的由来 软件体系结构的提出主要是为了解决在软件日益复杂趋势下,如何提高软件质量的问题。软件体系结构通过高层抽象,将人们的关注点从繁杂的细节中转移到系统的总体体系结构上来,让分析、设计人员从整体上有效把握软件的重要的功能及非功能属性。软件体系结构的复用也使得软件的复用由原来简单的代码复用上升到软件分析、设计的复用,复用的层次更高,粒度更大。 传统软件体系结构更多地关注的是如何去解决一个复杂系统,在应对业务敏捷性方面探索较少,SOA服务接口采用中立的方式进行定义,独立于实现服务的硬件平台、操作系统和编程语言,因此使得构建在系统中的服务可以以一种统一和通用的方式进行交互。 SOA不仅是一种体系结构,它如同设计原则、设计模式一样也是一种设计思想,它是面向对象、面向组件方法学的进一步的发展,抽象程度更高,而且关注的是系统总体结构。 2.面向服务的体系结构 面向对象以细粒度的对象为抽象元素,面向组件以组件为抽象元素,而面向服务是以服务为抽象元素。 服务是什么呢?服务是自包含的,具有定义良好的功能接口。 (1)服务可以独立完成一个功能,和其他服务耦合度低。 这一特性也决定了整个SOA是松散的、开放式结构,可以随意添加服务,对现有系统不会造成任何不良影响。就好比是一套积木玩具,它由许多固定形状的积木块组成,在没有搭成某个模型之前,积木块之间是没有什么必然联系的,它们仅仅是“一堆”积木块,如果你发现某种形状少了就再去买一些,这对于原来的积木没有任何影响,因为合起来后它们仍然是“一堆”积木块。 (2)服务用标准的与软件实现技术无关的语言描述,服务接口的实现遵循标准的协议,与具体软件技术(编程语言或开发平台)无关。 这一点非常重要,它使得服务提供者和服务使用者都不要关心对方使用了什么样的软件技术,这样即使以后技术进步其中有一方用另一种软件技术,服务仍然能够正常运行。积木块最关心的是它的形状,如果只是关心你所搭建模型的样式,那么什么材料对你来说都无所谓,只要形状合适就可以了。 SOA这个概念基于一种架构样式,该样式在三个主要参与者之间定义了交互模型: 服务提供者,公布服务描述并且实现服务; 服务消费者,它既可以使用统一资源标记符(URI)来直接使用服务描述,也可以在服务注册中心来查找服务描述并且绑定和调用服务; 服务代理提供和维护服务注册中心。 SOA实质是将易变的业务流程(业务)与相对稳定的业务职能(服务)分开,认为业务是服务的组合,通过服务将计算机系统与业务系统之间进行解耦,同时也实现了业务系统之间形成松散结构,所以它能够更好地适应业务变化,达到快速响应的目的。 3. 广义的SOA和狭义的SOA SOA分为广义的SOA和狭义的SOA,广义的SOA是指一种新的企业应用架构和企业IT基础架构,它可以使企业实现跨应用,跨部门,跨企业甚至跨行业之间的离散系统实现互连。而狭义的SOA是指一种软件架构,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。服务层是SOA的基础,可以直接被应用调用,从而有效控制系统中与软件代理交互的人为依赖性。 4. 实现SOA SOA 系统原型的一个典型例子是通用对象请求代理体系结构(Common Object Request Broker Architecture,CORBA),它定义的概念与 SOA 相似。现在的 SOA 依赖于一些更新的进展,这些进展是以可扩展标记语言(标准通用标记语言的子集)为基础的。 通过使用基于 XML 的语言(称为Web 服务描述语言(Web Services Description Language,WSDL))来描述接口,服务已经转到更动态且更灵活的接口系统中,非以前 CORBA 中的接口描述语言(Interface Description Language,IDL)可比了。 目前Web Service越来越流行,并成
您可能关注的文档
最近下载
- 中班(4—5岁)孩子学习与发展指南.docx VIP
- 2023市政公用工程最高质量水平评价实体质量核查要点 (11.城市桥梁工程).docx
- 2026 年人教版高一化学上册期末质量检测试卷(附答案可下载).docx VIP
- 轴流风机技术规范.DOC VIP
- 2023市政公用工程最高质量水平评价实体质量核查要点(13.城市隧道工程).docx
- 乳腺癌诊疗指南(2022年版).pdf VIP
- 2023最高质量水平评价实体质量核查要点(1.通用部分).doc VIP
- 2022CSCO乳腺癌诊疗指南.pdf VIP
- 市政工程最高质量水平评价申报注意事项.docx VIP
- 高中数学公式大全--(图片版).docx VIP
原创力文档

文档评论(0)