论文部分内容阅读
摘要:近年来,软件体系结构逐渐成为软件工程领域的研究热点。而作为一种新兴的面向服务体系结构思想的SOA体现了软件体系结构思想的成熟运用,有其自身独到的优势。
关键词:软件体系结构;SOA;软件工程
中图分类号:TP311 文献标识码:A文章编号:1007-9599 (2011) 09-0000-01
Thinking of Software Architecture Application
in the SOA
Xu Gang
(Software College,Huazhong University Of Scince and Technology,Wuhan430074,China)
Abstract:Recently,software architecture is becoming an increasingly popular discipline in the software engineering department and it is also one of the most important technology applied in the software development process.As a new service oriented ideology,SOA marks the professional application of the software engineering architecture,and has its own advantage.
Keywords:Software architecture;SOA;Software engineering
一、软件体系架构思想概述
软件体系架构的定义是为软件架构是在一定的设计原则基础上,从不同角度对组成系统的各部分进行搭配和安排,形成系统的多个结构而组成的架构。按照Kruchten的“4+1”视角类型,我们可以从逻辑角度、过程角度、物理角度、开发角度和场景角度来描述软件体系结构。
体系架构的设计需要考虑多种因素,其中最主要的是风险承担者的利益。风险承担者可以是客户、系统最终用户、开发人员、开发组织、系统维护人员等,他们关注的问题和利益各不相同,因此在设计体系架构的时候需要权衡多方面的利益因素,搞清楚不同风险承担者所关注的问题,以此来确定设计时的优先级。需求的三个要素包括功能需求、质量需求以及限制条件。架构的样式主要包括三种样式:C/S样式和C2样式以及正交体系结构样式。
实现一个构架首先要弄清楚系统的需求,其次要基于需求构件和选用的构架与有关方进行交流,之后对构架进行分析与评价。模块评价要考虑需求优先级是否清晰,文档是否清晰和完备,风险承担者是否能积极参与评估,以及是否制定了定量定性的指标等。
二、体系架构思想在SOA中的应用和开发过程
SOA是一种软件体系架构方法,用于定义、链接和集成具有清晰边界且功能方面自包含的可重用业务服务。在这种类型的体系架构中,可以对业务流程中的业务服务进行协调,通过采用服务的概念,SOA将IT提升到了一个新的级别,更适合互操作性和异类的环境。SOA完全遵循了体系架构的设计思想,对于体系架构中的业务,服务,组件,体系架构都给予了明显的接口说明和标识,它具有封装性、高内聚、低耦合、可扩展性、无状态性、可重用性等优点。
有了SOA体系结构的概念,我们在这里有必要涉及SOA中的治理。SOA的治理包括对业务管理的范畴内的服务域的治理和IT管理的范畴内的设施服务域的治理。它的生命周期包括计划,定义,实施和度量的过程。在治理中需要用到的一个重要角色是业务服务的储藏容器,它的作用是发现和发布服务,管理服务的生命周期,支持规则驱动的服务交互,变更通知等。它维持了每一个服务的头信息,支持对服务的选择、引用、管理、治理和重用,同时可以由中间件进行规则的分配。
SOA体系架构的设计包括建模阶段,组装阶段,部署阶段和管理阶段这四个阶段。为了解决软件开发过程中会遇到的一系列问题,SOA体系架构的设计采用了面向服务方式对系统建模,从而可以对系统有宏观的把握以尽早地争取客户同意。
软件体系结构的表述离不开特定的场景。SOA的体系架构设计有赖于场景的设计,随着设计的不断深入,将完成不同功能和满足不同质量属性的场景相互组合起来形成更新的架构。设计场景时主要考虑服务的构建与重用,服务的连接,服务的合作与交互,业务过程的管理,信息的管理这五个方面。其中服务的创建与重用包含驱动现有标准资产,更新异构系统,创建新服务及消费外部服务。驱动现有资产时,因为现有的服务均满足SOA的交互标准,所以只需直接连接到ESB总线上即可。更新异构系统时考虑到有些系统对已有的标准不支持,需使用适配器才能将这些系统挂接到总线上。创建新的服务时需要按交互标准进行。服务的连接包括基于开发标准的内部连接,服务网关以及使现有系统适用于多个解决方案。服务网关用来加密或解密,通常在ESB总线上用设备DataPower对XML文件进行处理。基于SOA的系统要求系统的模块易于集成,接口与实现的分离以及在模块交互和集成中使用标准的数据格式,SOA编程模型也解决了这些问题。SCA是一种为实现业务服务的用于简化组件的编程模板,它由接口和服务组件组成,这些接口和服务组件屏蔽了具体的技术实现,同时为服务组件创建了声明模型和绑定的模型,并考虑了多种访问机制。SCA有多种基本特点,它首先定义了模块间的依赖性,其次也采用接口暴露的服务作用,再次它还使用引用来描述组件调用的外部服务,最后它定义了全局的数据模型,在这个模型中交互服务被组合成更大的应用程序模型。
基于SOA系统管理是一种组合形式的管理。因为要跨越多个平台,管理的内容包括对服务层,组件及其交互,应用程序系统性能的管理等。所以SOA系统安全管理同SOA的系统构建一样要经历建模,组装,部署,管理等一系列阶段。在建模阶段需要定义安全规则,建立安全需求,在组装阶段需要构建和测试度量安全的程序,在部署阶段需要为应用程序配置安全设施,在管理阶段要管理应用程序的安全性和监测系统的适应性。
三、结论
至此,我们就阐述了软件体系结构思想和基于SOA开发中对软件体系结构思想的应用。
参考文献:
[1]Ahmed El-Maadawy.SOA基础知识简介[Z].百度文库,2010
[2]IBM的SOA解决方案[Z].百度文库,2011
[作者简介]徐刚(1985-),华中科技大学软件学院09级硕士研究生,研究方向:软件工程。
关键词:软件体系结构;SOA;软件工程
中图分类号:TP311 文献标识码:A文章编号:1007-9599 (2011) 09-0000-01
Thinking of Software Architecture Application
in the SOA
Xu Gang
(Software College,Huazhong University Of Scince and Technology,Wuhan430074,China)
Abstract:Recently,software architecture is becoming an increasingly popular discipline in the software engineering department and it is also one of the most important technology applied in the software development process.As a new service oriented ideology,SOA marks the professional application of the software engineering architecture,and has its own advantage.
Keywords:Software architecture;SOA;Software engineering
一、软件体系架构思想概述
软件体系架构的定义是为软件架构是在一定的设计原则基础上,从不同角度对组成系统的各部分进行搭配和安排,形成系统的多个结构而组成的架构。按照Kruchten的“4+1”视角类型,我们可以从逻辑角度、过程角度、物理角度、开发角度和场景角度来描述软件体系结构。
体系架构的设计需要考虑多种因素,其中最主要的是风险承担者的利益。风险承担者可以是客户、系统最终用户、开发人员、开发组织、系统维护人员等,他们关注的问题和利益各不相同,因此在设计体系架构的时候需要权衡多方面的利益因素,搞清楚不同风险承担者所关注的问题,以此来确定设计时的优先级。需求的三个要素包括功能需求、质量需求以及限制条件。架构的样式主要包括三种样式:C/S样式和C2样式以及正交体系结构样式。
实现一个构架首先要弄清楚系统的需求,其次要基于需求构件和选用的构架与有关方进行交流,之后对构架进行分析与评价。模块评价要考虑需求优先级是否清晰,文档是否清晰和完备,风险承担者是否能积极参与评估,以及是否制定了定量定性的指标等。
二、体系架构思想在SOA中的应用和开发过程
SOA是一种软件体系架构方法,用于定义、链接和集成具有清晰边界且功能方面自包含的可重用业务服务。在这种类型的体系架构中,可以对业务流程中的业务服务进行协调,通过采用服务的概念,SOA将IT提升到了一个新的级别,更适合互操作性和异类的环境。SOA完全遵循了体系架构的设计思想,对于体系架构中的业务,服务,组件,体系架构都给予了明显的接口说明和标识,它具有封装性、高内聚、低耦合、可扩展性、无状态性、可重用性等优点。
有了SOA体系结构的概念,我们在这里有必要涉及SOA中的治理。SOA的治理包括对业务管理的范畴内的服务域的治理和IT管理的范畴内的设施服务域的治理。它的生命周期包括计划,定义,实施和度量的过程。在治理中需要用到的一个重要角色是业务服务的储藏容器,它的作用是发现和发布服务,管理服务的生命周期,支持规则驱动的服务交互,变更通知等。它维持了每一个服务的头信息,支持对服务的选择、引用、管理、治理和重用,同时可以由中间件进行规则的分配。
SOA体系架构的设计包括建模阶段,组装阶段,部署阶段和管理阶段这四个阶段。为了解决软件开发过程中会遇到的一系列问题,SOA体系架构的设计采用了面向服务方式对系统建模,从而可以对系统有宏观的把握以尽早地争取客户同意。
软件体系结构的表述离不开特定的场景。SOA的体系架构设计有赖于场景的设计,随着设计的不断深入,将完成不同功能和满足不同质量属性的场景相互组合起来形成更新的架构。设计场景时主要考虑服务的构建与重用,服务的连接,服务的合作与交互,业务过程的管理,信息的管理这五个方面。其中服务的创建与重用包含驱动现有标准资产,更新异构系统,创建新服务及消费外部服务。驱动现有资产时,因为现有的服务均满足SOA的交互标准,所以只需直接连接到ESB总线上即可。更新异构系统时考虑到有些系统对已有的标准不支持,需使用适配器才能将这些系统挂接到总线上。创建新的服务时需要按交互标准进行。服务的连接包括基于开发标准的内部连接,服务网关以及使现有系统适用于多个解决方案。服务网关用来加密或解密,通常在ESB总线上用设备DataPower对XML文件进行处理。基于SOA的系统要求系统的模块易于集成,接口与实现的分离以及在模块交互和集成中使用标准的数据格式,SOA编程模型也解决了这些问题。SCA是一种为实现业务服务的用于简化组件的编程模板,它由接口和服务组件组成,这些接口和服务组件屏蔽了具体的技术实现,同时为服务组件创建了声明模型和绑定的模型,并考虑了多种访问机制。SCA有多种基本特点,它首先定义了模块间的依赖性,其次也采用接口暴露的服务作用,再次它还使用引用来描述组件调用的外部服务,最后它定义了全局的数据模型,在这个模型中交互服务被组合成更大的应用程序模型。
基于SOA系统管理是一种组合形式的管理。因为要跨越多个平台,管理的内容包括对服务层,组件及其交互,应用程序系统性能的管理等。所以SOA系统安全管理同SOA的系统构建一样要经历建模,组装,部署,管理等一系列阶段。在建模阶段需要定义安全规则,建立安全需求,在组装阶段需要构建和测试度量安全的程序,在部署阶段需要为应用程序配置安全设施,在管理阶段要管理应用程序的安全性和监测系统的适应性。
三、结论
至此,我们就阐述了软件体系结构思想和基于SOA开发中对软件体系结构思想的应用。
参考文献:
[1]Ahmed El-Maadawy.SOA基础知识简介[Z].百度文库,2010
[2]IBM的SOA解决方案[Z].百度文库,2011
[作者简介]徐刚(1985-),华中科技大学软件学院09级硕士研究生,研究方向:软件工程。