当前位置:文档之家› 面向服务的软件体系架构总体设计分析

面向服务的软件体系架构总体设计分析

面向服务的软件体系架构总体设计分析
面向服务的软件体系架构总体设计分析

面向服务的软件体系架构总体设计分析

计算机技术更新换代较为迅速,软件开发也发生较多改变,传统软件开发体系已经无法满足当前对软件生产的需求。随着计算机不断普及,软件行业必须由传统体系向面向服务架构转变。随着软件应用范围不断增大,难度逐渐上升,需要通过成本手段,提高现有资源利用率。通过面向服务体系结构可提高软件行业应对敏捷性,实现软件生产的规模化、产业化、流水线化。

1 软件危机的表现

1.1 软件成本越来越高

计算机最初主要用作军事领域,其软件开发主要由国家相关部分扶持,因此无需考虑软件开发成本。随着计算机日益普及,计算机已经深入到人们生活中,软件开发大多面向民用,因此软件开发过程中必须考虑其开发成本,且计算机硬件成本出现跳水现象,由此导致软件开发成本比例不断提升。

1.2 开发进度难以控制

软件属于一种智力虚拟产品,软件与其他产品最大不同是其存在前提为内在逻辑关系。相较于计算机硬件粗生产情况,传统工作中的加班及倒班无法应用到软件开发中,提升软件开发进度无法通过传统生产方法实现。且在软件开发过程中会出现一些意料不到的因素,影响软件开发流程,导致软件开发未按照预期计划展开。由此可见不仅软件项目开发难度不断增加,软件系统复杂复杂性也不断提升,即使增加

开发人手也未必能取得良好效果。

1.3 软件质量难以令人满意

软件开发另一常见问题就是在软件开发周期内将产品开发出来,但软件本身表现出的性能却未达到预期目标,难以满足用户多方位需求。该问题属于软件行业开发通病,当软件程序出现故障时会导致巨大损失。在此过程中软件开发缺乏有效引导,开发人员在开发过程中往往立足于自身想法展开软件开发,因此软件开发具有较强主观性,与客户想法不一致,因此导致软件产品质量难以让客户满意。

1.4 软件维护成本较高

与硬件设施一样,软件在使用过程中需要对其进行维护。软件被开发出来后首先进行公测,发现其软件存在的问题,并对其重新编辑提升软件性能,从而为客户提供更好服务。其次软件需要定时更新,若程序员在开发过程中并未按照相关标准执行会导致其缺乏技术性文档,提升软件使用过程中的维护难度。另外在新增或更新软件过程中可能导致出现新的问题,影响软件正常使用,并可能造成新的问题。由此可见软件开发成功后仍旧需要花费较高成本进行软件维护。

2 面向服务体系架构原理

2.1 面向服务体系架构定义

面向服务体系构架从本质上是一种应用体系架构,体系所有功能均是一种独立服务,所有服务均通过自己的可调用接口与程序相连,因此可通过服务理论实现相关服务的调动。面向服务体系构架从本质上来说就是为一种服务,是服务方通过一系列操作后满足被服务方需求的

结果。

2.2 面向服务体系架构优点

面向服务体系构架具有较多有点,抽象性较强,可操作性想,功能强大,可在多方面满足用户需求。其主要优点如下:

(1)面向服务体系构架可为开发方提供更具操作空间的开发模式,开发方可充分发挥自己的想法,有助于提升软件开发商开发方法先进性,提高软件开发效率。面向服务体系构架可充分利用软件提供者和使用者间较为松散的耦合关系,将复杂的逻辑关系屏蔽掉。相比于系统表示层,可在仅照顾服务接口的基础上实现软件开发,不需重视自身细节。通过标准接口可实现多种服务相互应用,无需进行平台开发语言等,极大提升软件开发效率。

(2)面向服务体系构架另一个优点是可在现有软件基础上进行研发,无需进行软件体系重建。且在情况允许的条件下利用现有软件开发框架可有效提升企业服务质量,该种方式可从根本上降低软件开发商的工作强度,提升工作效率,便于为用户提供更好服务。在此基础上将企业服务项目进行整合。面向服务体系构架忽略自身细节性问题,在复杂数据传输及软件开发中具有明显优势,有助于实现软件批量生产。

3 面向服务体系构架的ECC系统总体设计

在进行面向服务体系构架的ECC 系统总体设计中可利用XML Web Services 实现对技术的展开。整个系统中每一部分均拥有其独立功能,均可提供相应的服务项目,客户通过网络接口便可享受到这些服务。在提供服务过程中,业务流程主要有两种途径,一种是提供单个

服务,另一种是将多种服务整合在一起。

当前各种服务客户端中,多数可利用标准化网络服务接口实现面向对象的业务逻辑服务。通过设计可保证系统外部用户享受和内部用户一样的服务,这样便于实现企业内部和外部合作伙伴的业务整合。如在进行链子系统构建时可通过产品查询功能实现外部客户调动企业内部产品信息,此外企业不仅可实现为合作伙伴提供相应服务,还可在服务同时提升自身运营效率,即企业自身也是受益者。

当系统涉及到业务逻辑为可借助第三方服务帮助完成工作。例如企业需要在系统中加入采购、销售、仓管、财务等方面内容,该过程工作重点就是通过企业自身需求展开客户端设计,开发商通过远程连接向企业提供服务,这样不仅可降低软件开发周期和工作量,还可有效提升工作效率,为后续软件批量生产奠定坚实基础。

4 结束语

软件开发是当前企业行业工作重难点部分,当前国内软件开发存在规模化、产业化发展困难,不利于软件开发含有发展。为提高软件开发行业服务水平必须采用面向服务软件体系架构,提高软件开发效率,实现软件批量生产,在此基础上向客户提供更好服务。

面向服务的软件体系架构总体设计分析

面向服务的软件体系架构总体设计分析 计算机技术更新换代较为迅速,软件开发也发生较多改变,传统软件开发体系已经无法满足当前对软件生产的需求。随着计算机不断普及,软件行业必须由传统体系向面向服务架构转变。随着软件应用范围不断增大,难度逐渐上升,需要通过成本手段,提高现有资源利用率。通过面向服务体系结构可提高软件行业应对敏捷性,实现软件生产的规模化、产业化、流水线化。 1 软件危机的表现 1.1 软件成本越来越高 计算机最初主要用作军事领域,其软件开发主要由国家相关部分扶持,因此无需考虑软件开发成本。随着计算机日益普及,计算机已经深入到人们生活中,软件开发大多面向民用,因此软件开发过程中必须考虑其开发成本,且计算机硬件成本出现跳水现象,由此导致软件开发成本比例不断提升。 1.2 开发进度难以控制 软件属于一种智力虚拟产品,软件与其他产品最大不同是其存在前提为内在逻辑关系。相较于计算机硬件粗生产情况,传统工作中的加班及倒班无法应用到软件开发中,提升软件开发进度无法通过传统生产方法实现。且在软件开发过程中会出现一些意料不到的因素,影响软件开发流程,导致软件开发未按照预期计划展开。由此可见不仅软件项目开发难度不断增加,软件系统复杂复杂性也不断提升,即使增加

开发人手也未必能取得良好效果。 1.3 软件质量难以令人满意 软件开发另一常见问题就是在软件开发周期内将产品开发出来,但软件本身表现出的性能却未达到预期目标,难以满足用户多方位需求。该问题属于软件行业开发通病,当软件程序出现故障时会导致巨大损失。在此过程中软件开发缺乏有效引导,开发人员在开发过程中往往立足于自身想法展开软件开发,因此软件开发具有较强主观性,与客户想法不一致,因此导致软件产品质量难以让客户满意。 1.4 软件维护成本较高 与硬件设施一样,软件在使用过程中需要对其进行维护。软件被开发出来后首先进行公测,发现其软件存在的问题,并对其重新编辑提升软件性能,从而为客户提供更好服务。其次软件需要定时更新,若程序员在开发过程中并未按照相关标准执行会导致其缺乏技术性文档,提升软件使用过程中的维护难度。另外在新增或更新软件过程中可能导致出现新的问题,影响软件正常使用,并可能造成新的问题。由此可见软件开发成功后仍旧需要花费较高成本进行软件维护。 2 面向服务体系架构原理 2.1 面向服务体系架构定义 面向服务体系构架从本质上是一种应用体系架构,体系所有功能均是一种独立服务,所有服务均通过自己的可调用接口与程序相连,因此可通过服务理论实现相关服务的调动。面向服务体系构架从本质上来说就是为一种服务,是服务方通过一系列操作后满足被服务方需求的

面向服务(SOA)技术架构规范

ICS 备案号: Q/CSG 中国南方电网责任有限公司企业标准 面向服务的信息技术架构(SOA )框架规范 中国南方电网责任有限公司 发 布

目次 前言............................................................................ III 1范围. (1) 2规范性引用文件 (1) 3术语与定义 (1) 3.1面向服务的体系结构 (1) 3.2服务 (1) 3.3企业服务总线 (1) 3.4企业资源规划 (1) 3.5企业应用集成 (1) 3.6企业信息门户 (1) 3.7SOA项目 (1) 4总则 (1) 4.1持续发展原则 (1) 4.2先进性原则 (2) 4.3实用性原则 (2) 4.4操作性原则 (2) 5SOA架构模型 (2) 5.1服务体系 (2) 5.1.1服务体系设计依据 (2) 5.1.2服务体系图 (2) 5.1.3服务体系各层定义 (3) 5.2应用体系 (4) 5.3服务部署体系 (5) 5.4技术标准规范体系 (6) 5.4.1技术标准规范体系图 (6) 5.4.2服务开发技术标准规范 (9) 5.4.3服务集成技术标准规范 (13) 5.5SOA架构模型特征 (14) 6SOA服务设计与开发 (14) 6.1服务识别 (14) 6.2服务定义 (14) 6.3服务设计 (16) 6.3.1总体设计原则 (16) 6.3.2访问服务 (16) 6.3.3数据服务 (17) 6.3.4业务服务 (17) 6.3.5流程服务 (17) 6.3.6综合服务 (17) 6.3.7展现服务 (17) 6.4服务实现 (18) 6.4.1服务封装原则 (18) 6.4.2服务封装方式 (18) 7SOA服务集成 (18) I

基于属性的访问控制(abac)的跨域访问控制面向服务的体系结构(soa)_本科论文

理工学院 毕业设计外文资料翻译 专业:通信工程 姓名: 学号: 11L0751156 外文出处: 2012 International Conference On Computer Science And Service System 附件: 1.外文资料翻译译文;2.外文原文。

附件1:外文资料翻译译文 基于属性的访问控制(ABAC)的跨域访问控制面向服务的体系结构 (SOA) 摘要传统的基于角色的访问控制模型(RBAC)不能满足面向服务的需求架构(SOA)的分布和开放,基于属性的访问控制(ABAC)更多细粒度访问控制,更适合SOA是敞开的环境。本文提出了一种ABAC-based跨域访问控制系统中,安全域的与主题、对象属性、权力的环境属性访问决策的基础,消除集成基于SOA框架的约束RBAC,某种程度上提高了可伸缩性和可变更性的系统,解决了跨域访问控制的问题。 关键字:SOA,基于属性的访问控制(ABAC),访问控制 1. 整体介绍 面向服务的体系结构(SOA)是一种组织方法和使用分布式资源的灵活性组织和管理资源的分布不同的管理领域[1 - 2]。越来越高的对信息集成的需求,松散耦合的、开放的SOA从业务和吸引了越来越多的关注学术界[3]。但是SOA的发展也面临着许多问题,比如安全保障,以及如何整合环境检测服务和原始数据[4]。它在特定的SOA安全系统,开放性,跨域访问安全性呈现给我们的是一个巨大的挑战。 基于角色的访问控制(RBAC)是在一个更合适的独立的安全域,不适合跨域访问。基于主体统一服务认证系统[7],使用不同的方法来处理访问跨域访问,它解决了这个问题在跨域访问企业信息集成一定程度上,但它的基于角色的想法不能最后一个方法实现SOA的开放性和信息集成。 为了解决上述问题,本文提出了一种基于属性的访问控制(ABAC)的跨域访问控制系统,该系统应用的思想属性的访问控制跨域访问控制。该系统消除过程中的缺陷基于角色的访问控制应用于SOA的作用。 2.基于属性的访问控制(ABAC)

基于面向服务体系架构(SOA)和面向资源体系架构(ROA)的业务组件模型

基于面向服务体系架构(SOA)和面向资源体系架构(ROA)的业务组件模型多终端多技术平台可复用的组件模型 引言 在《面向服务体系架构(SOA)和业务组件(BC)的思考》(以下简称《 SOA 和 BC 》)一文中介绍了基于面向服务体系架构(SOA)的组件模型,本文按照“分离”的原则,通过比较当前多种流行的客户端和服务器端的通讯机制,进一步把业务组件进行分离,采用面向资源体系架构(ROA)把业务组件界面层和业务逻辑层分离开,构建一个多终端多技术平台可复用的组件模型 多层架构中的通讯方式 软件体系架构是沿着单机到 CS 架构,再到 BS 的三层架构甚至多层架构逐步发展过来的,关于多层架构,本文不再详细介绍,可以参考相关的资料,下面首先来分析一下当前比较流行的客户端技术以及客户端和服务器之间的通讯方式。 基于 MVC 的 J2EE 多层模型 在一个标准的基于 MVC 的 J2EE 的模型架构的代码中,从对象的类别来看,一般包含 BO、DAO、POJO 等 Java 类,另外还包含 JSP、Servlet 等,如下图所示: 图 1. 基于 MVC 的 J2EE 多层模型 POJO:简单 Java 对象(Plain Ordinary Java Object,POJO),一个中间对象,在不同阶段可以转化为 PO、DTO、VO,POJO 持久化以后就是 PO,在应用中的不同层次传递为 DTO,直接用来对应表示层就是 VO。 PO:持久对象(Persistant Object,PO),也称为 Data 对象,对应数据库中的 Entity,可以简单认为一个 PO 对应数据库中的一条记录。PO 中不包含任何对数据库的操作。 VO :表现层对象(View Object,VO)主要对应界面显示的数据对象。对于一个 WEB 页面,或者 SWT、SWING 界面,用一个 VO 对象对应整个界面的值。根据业务的需要可以和表对应,也可以不对应。 DTO :数据传输对象(Data Transfer Object,DTO)主要用于远程调用等需要大量传输对象的地方。对象不应该包含业务逻辑,其仅仅需要传递需要的属性,而不是 PO 的所有属性。BO:业务对象(Business Object,BO)主要作用是把业务逻辑封装为一个对象。这个对象可以包括一个或多个其它的对象。通常一个 BO 包含多个 PO,通常需要将 BO 转化成 PO,才能进行数据的持久化,反之,从 DB 中得到的 PO,需要转化成 BO 才能在业务层使用。BO 建议只包含业务方法,属性在 POJO 中。

面向服务架构(Service-OrientedArchitecture

SOA 面向服务架构(Service-OrientedArchitecture,SOA)是一种架构模型,其基本思想是以服务为核心,将企业的IT资源整合成可操作的、基于标准的服务,使其能被重新组合和应用。SOA 的应用对突破企业信息化建设过程中长期存在的瓶颈,诸如信息孤岛、适应需求能力差、重复建设、新应用周期长等问题提供了有力的解决手段。 1.统一规范与标准。突破信息鸿沟制约与传统技术手段不同,SOA技术架构强调统一规划、统一标准、统一管理。通过SOA技术架构的应用,不仅辅助企业各业务部门制定科学合理的整体规划,而且有效解决企业信息化建设中因缺乏统一框架而带来的信息孤岛现象。为解决企业各业务部门间,部门内的互联互通难。资源浪费、重复建设等问题提供有力支持。 2.创新技术理念,提升应用水平SOA以服务为理念,通过面向眼务的方式组织开发,可以更准确地体现用户需求。服务以松耦合的状态存在于整个系统中,并可以随业务需求而变,一方面可以快速深度地满足用户需求。另一方面可以减少企业各业务部门中的业务冗余和重复开发。 3.改变建设模式,降低投资风险SOA基于全新的技术架构来规划产品与组织生产,将极大地变革软件生产和应用模式,从而满足用户的深层次需求。SOA提供了构建IT系统的全新方法,充分采用标准的软件产品和服务组件,最终形成高效开发、标准规范、业界支撑广、技术发展快的应用模式。 MVC

李彦宏首谈“框计算”:全新技术理念驱动产业升级 李彦宏指出,“框计算”为用户提供基于互联网的一站式服务,是一种最简单可依赖的互联网需求交互模式,用户只要在框中输入服务需求,系统就能明确识别这种需求,并将该需求分配给最优的应用或内容资源提供商处理,最终返回给用户相匹配的结果。 “框计算”驱动产业升级 首先,“框”是一个功能强大的需求收集器和分析器。在李彦宏提出“框计算”概念之前,其实个人计算机、互联网上已经有形形色色的各种计算框,词典框、对话框、搜索框……但这些各种各样的“框”,都只是在特定语境下才有意义。比如词霸里的词典框,用户只有在获取单词释义时,才会到这个框里输入内容;同样,用户在词典框里输入别的需求,词典框也不会给用户任何有意义的反馈。而李彦宏所提到的“框计算”的“框”,用户可以输入任何类型的需求,从某种意义上来说,这个“框”是万能的,因而也必须是“智能”的。 其次,由于“框”能在在互联网可选范围内根据用户需求自动匹配最佳的应用和服务,这个“框”又带有典型的操作系统特性。就像微软的视窗操作系统,上面可以运行Office、浏览器、杀毒软件等各种各样的应用软件。目前,词典、计算器、日历等简单应用已经能通过百度框直接运行,视频、杀毒、游戏、购物等互联网应用近期也有可能被框直接启动,如果越来越多的应用确实能在“框计算”平台上运行,“框”将对整个互联网产业的升级和发展产生巨大的拉动效应。 “框计算”的关键技术——需求识别和应用开放 “框计算”平台听起来非常神奇,而要通过“框计算”实现真正的基于互联网的一站式服务,有两个领域的关键技术需要突破。 首先是需求识别领域的技术突破。所谓“需求识别”,就是确定用户究竟要互联网为他做什么,这是互联网科学最复杂和最具技术含量的一个领域,下面又包括语义分析、行为分析、智能人机交互、海量计算处理等子领域。以搜索的用户需求识别为例,如有人希望从互联网得到一个“形容很开心的句子”,这个请求首先被拆成不同粒度的20个语义单位进行分析,后台要经过3亿次计算来识别这个需求,并在100亿个网页资源中检索并进行需求分配,而整个过程却需要在不到十分之一秒内完成。在用户需求识别技术方面,百度目前在全球范围内都是最强的,每天要从搜索框中获取超过10亿次搜索请求,并要一一在极短时间内对这些需求进行识别响应。尽管如此,当“框计算”将用户需求从搜索向其他应用领域极大程度延展时,“框计算”后台对用户需求的识别能力还需要大幅度的提升。 另一个需要突破的领域,就是“框计算”平台上的应用开放。“框计算”平台前端的需求识别能力再强,如果没有合适的应用在平台上及时响应这个需求,用户需求一站式满足的美好理想也不可能完美实现。反过来,要使更多的应用在“框计算”平台上实现就绪,光靠一两家公司肯定是不行的,而需要整个产业的共同努力。一方面,“框计算”平台要足够开放,要建立起足够开放的产业标准和技术接口,让想加入到这个平台的应用服务商能以最简单便捷的方式加入进来;另一方面,“框计算”平台也要能为平台上的应用服务商带来更大的利益,而这主要牵涉到“框计算”上游海量用户资源和需求的分配问题。

相关主题
文本预览
相关文档 最新文档