欢迎来到麦多课文档分享! | 帮助中心 海量文档,免费浏览,给你所需,享你所想!
麦多课文档分享
全部分类
  • 标准规范>
  • 教学课件>
  • 考试资料>
  • 办公文档>
  • 学术论文>
  • 行业资料>
  • 易语言源码>
  • ImageVerifierCode 换一换
    首页 麦多课文档分享 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    【计算机类职业资格】系统架构设计师-架构设计论文及答案解析.doc

    • 资源ID:1336331       资源大小:77.50KB        全文页数:15页
    • 资源格式: DOC        下载积分:5000积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    二维码
    微信扫一扫登录
    下载资源需要5000积分(如需开发票,请勿充值!)
    邮箱/手机:
    温馨提示:
    如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如需开发票,请勿充值!如填写123,账号就是123,密码也是123。
    支付方式: 支付宝扫码支付    微信扫码支付   
    验证码:   换一换

    加入VIP,交流精品资源
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    【计算机类职业资格】系统架构设计师-架构设计论文及答案解析.doc

    1、系统架构设计师-架构设计论文及答案解析(总分:10.00,做题时间:90 分钟)一、论述题(总题数:10,分数:10.00)1.论面向服务的体系结构在系统集成中的应用面向服务的体系结构(Service Oriented Architecture,SOA)作为一种体系结构模型,将应用程序的不同功能单元通过一些良好定义的接口联系起来。接口是采用中立的方式进行定义的,它独立于实现服务的硬件平台、操作系统和编程语言。这使得构建服务可以以一种统一和通用的方式进行交互。请围绕“SOA 在系统集成中的应用”论题,依次从以下的 3个方面进行论述:概要叙述你参与分析与开发的系统集成项目,以及你在其中所担任的主要

    2、工作。详细论述 SOA中的关键技术,以及你熟悉的工具和环境对 SOA的支持。通过你的切身实践详细论述 SOA在系统集成中发挥的作用和优势。(分数:1.00)_2.论软件的静态演化和动态演化及其应用软件演化(Software Evolution)是指软件在其生命周期内的更新行为和过程。演化是一系列贯穿软件生命周期始终的活动,系统需求改变、功能实现增强、新功能加入、软件架构改变、软件缺陷修复、运行环境改变均要求软件系统能够快速适应变化,具有较强的演化能力。软件静态演化(Static Evolution)和动态演化(Dynamic Evolution)是目前软件演化的两种重要类型。请围绕“软件的静态

    3、演化和动态演化及其应用论题,依次从以下 3个方面进行论述:概要叙述你参与管理和开发的软件项目及你在其中所担任的主要工作。请分别对软件静态演化和动态演化的特点进行论述,说明两种软件演化类型各自的优缺点及其应用场合,并举例说明各自的常见演化技术手段。具体阐述你参与管理和开发的项目中所进行的软件演化活动的特点、演化的类型,以及所采取的对应演化技术手段,说明具体实施过程及实际应用的效果。(分数:1.00)_3.论大规模分布式系统缓存设计策略大规模分布式系统通常需要利用缓存技术减轻服务器负载、降低网络拥塞、增强系统可扩展性。缓存技术的基本思想是将客户最近经常访问的内容在缓存服务器中存放一个副本,当该内容

    4、下次被访问时,不必建立新的数据请求,而是直接由缓存提供。良好的缓存设计,是一个大规模分布式系统能够正常、高效运行的必要前提。在进行大规模分布式系统开发时,必须从一开始就针对应用需求和场景对系统的缓存机制进行全面考虑,设计一个可伸缩的系统缓存架构。请围绕“大规模分布式系统缓存设计策略”论题,依次从以下 3个方面进行论述:概要叙述你参与实施的大规模分布式系统开发项目及你所担任的主要工作。从不同的用途和应用场景考虑,请详细阐述至少两种常见的缓存工作模式,并说明每种工作模式的适应场景。阐述你在设计大规模分布式系统的缓存机制时遇到了哪些问题,如何解决。(分数:1.00)_4.论基于 REST服务的 We

    5、b应用系统设计REST(REpresentational State Transfer)是指从几种基于网络的架构风格衍生出来的一种混合架构风格,它是目前互联网的核心架构风格。基于 REST服务(RESTfulService)的 Web应用系统设计任务主要包括:识别并设计 REST风格的服务,采用面向服务的思想进行 REST J务集成。采用这种方法设计的 Web应用系统能够结合 REST风格和面向服务思想的优点,近年来受到了广泛的关注。请围绕“基于 REST服务的 Web应用系统设计”论题,依次从以下 3个方面进行论述:概要叙述你参与实施的 Web应用系统开发项目及你所承担的主要工作。简要叙述与

    6、传统的 Web服务相比,采用 REST服务构建的 Web应用具有哪些优势和不足。阐述你在设计基于 REST服务的 Web应用系统时遇到了哪些问题,如何解决。(分数:1.00)_5.论中间件技术在软件开发中的作用随着软件应用越来越复杂,软件开发“一切从零开始”的开发模式也越来越不能满足应用的要求。一些著名的软件公司推出自己的中间件产品,如通信中间件、数据库中间件等为软件开发提供有力的支持。请围绕“中间件技术在软件开发中的作用”这个论题,依次从以下 3个方面进行论述:概要叙述你参与分析和开发的应用项目,以及你所担任的主要工作。具体讨论你在软件开发过程中选取中间件的原则和标准,结合实例详细叙述中间件

    7、技术在你的软件开发中的作用。假如你在一个软件公司中能够起到影响公司决策的作用,请你结合市场和技术因素,为你的公司设计一个有自主版权的中间件的方案,并评价你的方案。(分数:1.00)_6.论基于 Web的数据库应用系统的开发技术浏览器和 HTTP协议在全球因特网的成功应用,促进了企业中的 B/S结构的迅速推广。基于 Web的数据库应用系统通常采用三层(或更多层)C/S 结构,允许用于各类不同的平台和选择相应的数据库应用环境。请围绕“基于 Web的数据库应用系统的开发技术”论题,依次从以下 3个方面进行论述:概要叙述你参与分析和开发的软件项目,以及你所担任的主要工作。具体讨论你在基于 Web的数据

    8、库应用系统开发中所采用的主要技术,包括开发过程中遇到的问题和所采取的措施。分析你所采用的开发技术的具体效果。现在你认为应当做哪些方面的改进,以及如何加以改进?(分数:1.00)_7.论数据库的安全性设计通常,信息系统的安全性指的是采取必要的安全保护方面的技术和管理措施,保护硬件、软件和数据不因偶然的或恶意的原因而受到破坏、更改和泄露。其中数据库的安全性设计有着十分重要的作用(包括物理安全与逻辑安全)。根据你实际参与开发和设计的经验,论述下列 3个问题:简述你开发与设计的软件概要和你所担任的工作。具体叙述你在数据库应用系统开发中是如何使用安全性设计技术的,包括采用过哪些主要技术,遇到过哪些实际问

    9、题,采取过哪些相应的措施。简述你所采用的数据库安全性设计技术的效果,以及你有哪些主要的使用体会和进一步的设想。(分数:1.00)_8.论数据挖掘技术的应用随着信息技术的高速发展,各组织机构积累的数据量急剧增长。如何从海量的数据中提取有用的知识成为当务之急。数据挖掘(Data Mining)就是为顺应这种需要应运而生发展起来的数据处理技术,是知识发现的关键步骤。数据挖掘就是从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中,提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识的过程。请围绕“论数据挖掘技术的应用”论题,依次从以下 3个方面进行论述:概要叙述你参与分析和开发的软件

    10、项目及你所担任的主要工作。数据挖掘的主要任务是什么?具体论述你在项目中使用数据挖掘技术所解决的问题。数据挖掘的方法主要有哪些?分析并讨论你所选择的数据挖掘方法,简述其具体实现过程和实际应用效果。(分数:1.00)_9.论企业信息系统的安全企业信息化能够实现高效率、低成本的运行,越来越受到人们的重视。目前,它已经渗透到企业活动的各个阶段。在传统的企业活动中,所涉及的不同企业或企业内部不同人员在相互交往中往往需要直接见面。但在企业信息化中,更多的是通过计算机网络这一媒介,而不需要直接见面。这就要求在设计和实现企业信息系统时除了针对具体业务需求进行详细的分析,保证满足具体的业务需求之外,还要加强信息

    11、系统安全方面的考虑。请围绕“企业信息系统的安全”论题,依次从以下 3个方面进行论述:概要叙述你参与分析设计的企业信息系统及你所担任的主要工作。深入讨论在企业信息系统中,通常需要着重解决的安全问题。结合你所参与分析设计的企业信息系统及其特点,详细论述你所采用的企业信息系统安全解决方案,并客观地分析、评价你的解决方案。(分数:1.00)_10.论软件可靠性评价软件可靠性评价是指选用和建立合适的可靠性数学模型,运用统计技术和其他手段,对软件可靠性测试和系统运行期间的软件失效数据(也可能包含软件生命周期内其他可靠性数据)进行处理,并评估和预测软件可靠性的过程。软件可靠性评价是软件可靠性活动的重要组成部

    12、分,既可在软件开发过程实施,也可针对最终软件系统实施。软件可靠性评价的难点在于软件可靠性模型的选择和软件可靠性数据的收集与处理。请围绕“软件可靠性评价”论题,依次从以下 3个方面进行论述:简要概述你参与实施的软件开发项目及你承担的主要工作。说明你在项目实施过程中所选择的软件可靠性模型,并论述在软件可靠性模型选择时应该考虑的主要因素。收集软件可靠性数据时经常遇到的问题有哪些?简述你收集软件可靠性数据时所遇到的具体问题及解决的方法。(分数:1.00)_系统架构设计师-架构设计论文答案解析(总分:10.00,做题时间:90 分钟)一、论述题(总题数:10,分数:10.00)1.论面向服务的体系结构在

    13、系统集成中的应用面向服务的体系结构(Service Oriented Architecture,SOA)作为一种体系结构模型,将应用程序的不同功能单元通过一些良好定义的接口联系起来。接口是采用中立的方式进行定义的,它独立于实现服务的硬件平台、操作系统和编程语言。这使得构建服务可以以一种统一和通用的方式进行交互。请围绕“SOA 在系统集成中的应用”论题,依次从以下的 3个方面进行论述:概要叙述你参与分析与开发的系统集成项目,以及你在其中所担任的主要工作。详细论述 SOA中的关键技术,以及你熟悉的工具和环境对 SOA的支持。通过你的切身实践详细论述 SOA在系统集成中发挥的作用和优势。(分数:1.

    14、00)_正确答案:(面向服务的体系结构是一种新的体系结构风格,它具有松耦合和面向软件服务的特点,具有很高的重用性和灵活性。关于 SOA的详细介绍请参看“8.1.6 面向服务的架构(SOA)”。在撰写本文时,要注意以下几个方面:简单介绍你参与分析与开发的系统集成项目情况和背景,以及你在其中所担任的主要工作,说明为什么要使用 SOA。详细论述 SOA中的关键技术,以及你熟悉的工具和环境对 SOA的支持。要注意的是不要逐个地对技术进行讨论,而只是根据你的项目实际情况,具体地讨论 23 个技术的应用就可以了。根据你的项目应用情况,详细介绍 SOA在系统集成中发挥的作用和优势。)解析:2.论软件的静态演

    15、化和动态演化及其应用软件演化(Software Evolution)是指软件在其生命周期内的更新行为和过程。演化是一系列贯穿软件生命周期始终的活动,系统需求改变、功能实现增强、新功能加入、软件架构改变、软件缺陷修复、运行环境改变均要求软件系统能够快速适应变化,具有较强的演化能力。软件静态演化(Static Evolution)和动态演化(Dynamic Evolution)是目前软件演化的两种重要类型。请围绕“软件的静态演化和动态演化及其应用论题,依次从以下 3个方面进行论述:概要叙述你参与管理和开发的软件项目及你在其中所担任的主要工作。请分别对软件静态演化和动态演化的特点进行论述,说明两种软

    16、件演化类型各自的优缺点及其应用场合,并举例说明各自的常见演化技术手段。具体阐述你参与管理和开发的项目中所进行的软件演化活动的特点、演化的类型,以及所采取的对应演化技术手段,说明具体实施过程及实际应用的效果。(分数:1.00)_正确答案:(本题考查的知识点是软件演化。一个软件系统开发完毕正式投入使用之后,如果需求发生变化,或者要将该系统移植到另一个环境运行,且新环境的需求也有相应的变化时,就要对软件进行修改,这就是软件演化。软件演化是一个程序不断调节以满足新的软件需求的过程,也就是对一个已有软件不断进行修改、补充、完善以适用新需求和环境变化的过程。由于软件演化一词并不多见,所以难倒了很多考生。其

    17、实换一种讲法,可能大家就倍感亲切了“软件升级”,其实演化的本质就是在升级。既然是升级,静态演化与动态演化是怎么回事也就好理解了,即升级时是否停止系统的运行。所以如果有了上面的基础概念理解,写该论文的方向也就明晰了。文章共分 3个部分组织内容。第一部分,简要叙述作者所参与管理和开发的软件项目,并明确指出在其中承担的主要任务和开展的主要工作。第二部分,偏理论,需要介绍静态演化和动态演化的基本情况,写作时可参考以下材料。静态演化(Static Evolution),静态演化是指软件在停机状态下的演化。其优点是不用考虑运行状态的迁移,同时也没有活动的进程需要处理。然而停止一个应用程序就意味着中断它提供

    18、的服务,造成软件暂时失效。软件静态演化是指发生在应用程序停止时的软件修改和更新,即一般意义上的软件维护和升级。静态演化的优点是没有状态迁移或活动线程的问题要解决,缺陷是停止应用程序意味着停止它所提供的服务,也就是使软件系统暂时失效。在软件交付之后,静态演化(类似于一般意义上的软件维护)就成为软件变更的一个常规过程。变更可以是一种更正代码错误的简单变更,也可以是更正设计错误的较大范围的变更,还可以是对描述错误进行修正或提供新需求这样的重大改进。有 3种不同的软件维护:改正性维护、适应性维护和完善性维护。维护过程一般包括变更分析、版本规划、系统实现和向客户交付系统等活动。在面向对象技术中,使用子类

    19、型方法来扩展程序,它适合于软件静态演化和代码重用。子类型化一个类意味着保留父类中的参数和方法,并尽可能地增加新的参数和方法。另外,使用重载和多态性作为主要的演化机制。实际上,建立类的新版本,最简单的机制是创建它的子类,然后重载需要变更的方法,最后,使用多态性调用新创建的方法。在基于构件的软件技术中,构件采取接口和实现相分离技术,构件之间只能通过接口进行通信,这使得具有兼容接口的不同构件实现可以相互取代,从而成为软件静态演化的一条途径。动态演化(Dynamic Evolution),动态演化是指软件在执行期间的软件演化。其优点是软件不会存在暂时的失效,有持续可用性的明显优点。但由于涉及状态迁移等

    20、问题,比静态演化从技术上更难处理。动态演化是最复杂也是最有实际意义的演化形式。动态演化使得软件在运行过程中,可以根据应用需求和环境变化,动态地进行软件的配置、维护和更新,其表现形式包括系统元素数目的可变性、结构关系的可调节性和结构形态的动态可配置性。软件的动态演化特性对于适应未来软件发展的开放性、动态性具有重要意义。动态演化是指软件在运行期间的演化。在许多重要的应用领域中,如金融、电力、电信及空中交通管制等,系统的持续可用性是一个关键性的要求,运行时刻的系统演化可减少因关机和重新启动而带来的损失和风险。此外,越来越多的其他类型的应用软件也提出了运行时刻演化的要求,在不必对应用软件进行重新编译和

    21、加载的前提下,为最终用户提供系统定制和扩展的能力。动态演化可分为两种类型:预设的和非预设的。在 Web环境中,软件应用常常需要处理多种类型的信息,因此它们常被设计为可以动态下载并安装插件以处理当前所面临的新类型的信息;而分布式 Web应用也常常需要增减内部处理节点的数目以适应多变的负载。这些动态改变都是软件设计者能够预先设想到的,可实现为系统的固有功能。另有一些必须对系统配置进行修改和调整的情况是直到系统投入运行以后才发现的,这就要求系统能够处理在原始设计中没有完全预料到的新需求。这种情况下一般需要关闭整个系统,重新开发、重新装入并重新启动系统。然而,为了进行局部的修改而关闭整个系统在某些情况

    22、下是不允许的(如关键运行系统)或者代价太高。精心设计的动态演化技术可以在不关闭整个系统的前提下修改系统的结构配置,并尽量使未受影响的部分继续工作以提高系统的可用度。为支持软件的动态演化性,已在语言、机制和环境等方面做了大量工作。在程序语言的层次上,引进各种机制以支持软件动态演化,例如,动态装载技术允许增加代码到已运行的程序中,延迟绑定是在运行时而不是编译时决定类和对象的绑定。Javahotswap 允许在运行时改变方法:当一个方法终止时这个方法的新版本可以有效地替换旧版本,在类层次上代码的二进制兼容被支持。Gilgul 语言也允许更换运行时对象。但程序语言层次上的动态演化机制仅局限于函数、类方

    23、法和对象等小粒度的替换,只支持预设的有限变更,变更由事件触发。通过标准化运行级构件的规约,依靠构件运行平台(中间件平台)提供的基础设施,使软件在构件层次上的动态演化成为可能。中间件中具有的如命名服务、反射技术和动态适配等机制,为运行态构件的动态替换和升级提供支撑,从而推动了软件动态演化的发展。命名服务就是给构件实例提供一个名称,以便客户通过这些名称来获取构件实例。对工业标准构件 EJB和 CORBA构件的引用都可以通过中间件平台的命名服务进行。同一构件标识可以被映射到多个构件实例,从而根据具体情境对某一名字的构件引用导向到不同的构件实例。反射技术是系统的一种自描述(Self-Represent

    24、ation)和自推理的技术,它提供了关于自身行为的表示,这种表示可以被检查和调整,且与它所描述的系统行为是因果相联(Causally Connected)的。因果相联,意味着对自身表示的改动将立即反映在系统的实际状态和行为中,反之亦然。将反射性引入中间件能够以可控的方式开放平台内部的实现,从而提高中间件的定制能力和运行时的适应能力。动态适配机制中比较著名的是 CORBA提供的动态接口服务:动态调用接口 D和动态骨架接口 DSI。前者支持动态客户请求调用,而后者支持将请求动态指派(Dispatch)给构件。因此,软件构件化技术使得软件具有良好的构造性,软件演化的粒度更大。中间件技术则为基于构件的

    25、软件动态演化提供了坚实的基础设施和方便的操作界面。第三部分需要结合作者自身的项目情况进行描述,这部分应是详细描述的部分。)解析:3.论大规模分布式系统缓存设计策略大规模分布式系统通常需要利用缓存技术减轻服务器负载、降低网络拥塞、增强系统可扩展性。缓存技术的基本思想是将客户最近经常访问的内容在缓存服务器中存放一个副本,当该内容下次被访问时,不必建立新的数据请求,而是直接由缓存提供。良好的缓存设计,是一个大规模分布式系统能够正常、高效运行的必要前提。在进行大规模分布式系统开发时,必须从一开始就针对应用需求和场景对系统的缓存机制进行全面考虑,设计一个可伸缩的系统缓存架构。请围绕“大规模分布式系统缓存

    26、设计策略”论题,依次从以下 3个方面进行论述:概要叙述你参与实施的大规模分布式系统开发项目及你所担任的主要工作。从不同的用途和应用场景考虑,请详细阐述至少两种常见的缓存工作模式,并说明每种工作模式的适应场景。阐述你在设计大规模分布式系统的缓存机制时遇到了哪些问题,如何解决。(分数:1.00)_正确答案:(论文中要具体介绍项目的总体需求(特别是应用需求中对缓存机制的要求)、系统的逻辑与物理架构、采用的技术等内容和担任的实际工作。从不同的用途和应用场景来考虑,大体上可以将缓存分为 3种工作模式,即单实例缓存模式(Single Instance)、复制模式(Replication Cache)和分区

    27、模式(PartitionCache)。每种工作模式都有其适应的场景和优缺点。 单实例模式。单实例模式是一种较为简单的缓存模式,多个应用服务器共享一个中央的缓存服务器。通过共享缓存的数据,能够极大提高系统的性能。该模式的主要限制在于缓存服务器的内存大小和节点增加之后服务器的处理能力和网络带宽。该模式的适应场景是:对缓存的要求比较简单;系统的吞吐量和数据量不大;性能要求不高。 复制模式。复制模式将缓存的数据复制到多台机器上,对于单一缓存服务器性能出现问题的情况下,可以通过缓存复制的方式将压力分解到多个缓存服务器。该模式的工作原理是:缓存客户端可以访问自己的缓存服务器,多个缓存服务器之间的数据是彼此

    28、同步的,对于性能要求更高的场景,这样的部署架构能够获得更高的吞吐能力。该模式的适应场景是:数据量不是特别大;需要极高的性能;数据改动的频率不是特别大。 分区模式。当需要缓存的数据已经超过一台服务器的内存上限时,可以考虑采用分区模式对数据进行线性缩放,也就是通过增加缓存服务器来解决数据增长和压力增加的情况。在分区模式中,其架构是无分享架构(Shared NothingAchitecture,SNA),每个节点之间数据彼此独立,一个节点出现故障后不会影响到其他节点。在出现某个节点宕机或者其他故障的情况下,致使这部分的分区缓存无法使用,并不妨碍其他数据节点数据的正常工作。该模式的适应场景是:总体数据

    29、量较大,已经超出了单个缓存服务器的内存上限;系统缓存要求具有很大的可伸缩性;客户端数量庞大,单个客户端对缓存数据的数据量要求不大。进行大规模分布式系统缓存机制设计时可能遇到的问题包括如何缓存服务器的工作模式选择;高可用性的设计考虑;缓存一致性与分布式算法;对象状态同步的考虑;缓存钝化/激活/过期和初始化,等等。)解析:4.论基于 REST服务的 Web应用系统设计REST(REpresentational State Transfer)是指从几种基于网络的架构风格衍生出来的一种混合架构风格,它是目前互联网的核心架构风格。基于 REST服务(RESTfulService)的 Web应用系统设计任

    30、务主要包括:识别并设计 REST风格的服务,采用面向服务的思想进行 REST J务集成。采用这种方法设计的 Web应用系统能够结合 REST风格和面向服务思想的优点,近年来受到了广泛的关注。请围绕“基于 REST服务的 Web应用系统设计”论题,依次从以下 3个方面进行论述:概要叙述你参与实施的 Web应用系统开发项目及你所承担的主要工作。简要叙述与传统的 Web服务相比,采用 REST服务构建的 Web应用具有哪些优势和不足。阐述你在设计基于 REST服务的 Web应用系统时遇到了哪些问题,如何解决。(分数:1.00)_正确答案:(论文中要具体介绍项目的总体需求(特别是质量属性需求)、Web

    31、 应用系统的逻辑与物理拓扑结构、采用的技术等内容和承担的实际工作。REST(REpresentational State Transfer)是指从几种基于网络的架构风格衍生出来的一种混合架构风格,目前 Web的体系结构正是基于 REST风格的。REST 风格中的特点是客户端/服务器、无状态、缓存、统一接口、分层系统和按需代码。REST 组件通过以一种数据格式转移资源的表述进行通信,可以基于接收者的能力和期待的内容,以及资源的性质动态地选择不同的表述。与传统的 Web服务相比,REST 服务主要有以下优势: RESL服务基于 W3C/IETF的标准与规范(包括 HTTP、XML、URI 和 MI

    32、ME等),其实现技术简单、成熟。 REST服务基于 URT和超链接技术,不需要通过集中式的服务信息仓库即可发现服务资源。 REST服务支持缓存,具有无状态的特性,这些使得 REST服务能够支持大量客户端,构建的应用系统具有较强的伸缩性。 REST服务基于轻量级的 Web框架,仅仅需要基本的开发工具支持,构建过程简单且成本较低。 REST服务的测试相对简单,采用浏览器即可完成服务功能测试。与传统的 Web服务相比,REST 服务主要存在如下不足: REST服务倡导的 REST风格与实际实现尚存在一定差距。例如,高层 REST服务倡导使用GET、PUT、POST 和 DELETE所有 4个统一接口

    33、,在 REST实现部分通常只能采用 GET和 POST接口,因为大多数的代理和防火墙会屏蔽其他接口;并且 XHTML表单中只能使用 GET和 POST接口。 REST服务要求所有的输入参数都必须在 URI中传递,这样会产生对参数容量大小的限制(目前的大小是 4KB)。如果超出该数量,会导致 HTTP协议错误(错误代码 414:Request-URI too long)。 在 URI中表达复杂类型的参数比较困难,且目前对 URI中的参数不存在一种公认的编组(marshalling)和解编(un-marshalling)方法。进行基于 REST服务的 Web应用系统的设计时可能遇到的问题包括:如何

    34、识别并设计 REST风格服务;构建 REST服务的运行环境,HTTP 服务器与应用服务器选型等;富客户端表现方式及编程语言的选择;系统逻辑与物理拓扑结构的分析与设计等。)解析:5.论中间件技术在软件开发中的作用随着软件应用越来越复杂,软件开发“一切从零开始”的开发模式也越来越不能满足应用的要求。一些著名的软件公司推出自己的中间件产品,如通信中间件、数据库中间件等为软件开发提供有力的支持。请围绕“中间件技术在软件开发中的作用”这个论题,依次从以下 3个方面进行论述:概要叙述你参与分析和开发的应用项目,以及你所担任的主要工作。具体讨论你在软件开发过程中选取中间件的原则和标准,结合实例详细叙述中间件

    35、技术在你的软件开发中的作用。假如你在一个软件公司中能够起到影响公司决策的作用,请你结合市场和技术因素,为你的公司设计一个有自主版权的中间件的方案,并评价你的方案。(分数:1.00)_正确答案:(中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户/服务器的操作系统之上,管理计算资源和网络通信。从定义中可以看出:中间件是一类软件,而非一种软件。中间件不仅要实现互联,还要实现应用之间的互操作。中间件是基于分布式处理的软件,最突出的特点是其网络通信功能。1中间件的分类根据功能的不同,中间件可以细化为以下一些种类:通信处理(消息)中间件。在不同平台之

    36、间通信,实现分布式系统中可靠的、高效的、实时的跨平台数据传输,称为消息中间件。这是中间件中唯一不可缺少的,是需求量最大的中间件产品,目前在大部分操作系统中已包含了其部分功能。事务处理(交易)中间件。在分布式事务处理系统中要处理大量的事务,常常在系统中要同时进行上万笔事务。在联机事务处理系统(OLTP)中,每笔事务常常要多台服务器的程序顺序地协调完成,一旦中问发生某种故障时,不但要完成恢复工作,而且要自动切换系统,达到系统永不停机,实现高可靠性运行;同时要使大量事务在多台应用服务器实时并发运行,并进行负载平衡地调度,实现昂贵的小型机和大型计算机系统同等的功能,为了实现这个目标,要求系统具有监视和

    37、调度整个系统的功能。一个事务处理平台,根据 X/OPEN的参数模型规定,应由事务处理中间件、通信处理中间件,以及数据存取管理中间件 3部分组成。数据存储管理中间件。在分布式系统中,重要的数据都集中存放在数据服务器中,它们可以是关系型、复合文档型、具有各种存放格式的多媒体型,或者是经过加密或压缩存放的,该中间件为在网络上虚拟缓存、格式转换、解压等带来了方便。Web 服务中间件。浏览器图形用户界面已成为公认规范,然而它的会话能力差、不能做数据写入、受HTTP协议的限制等,必须进行修改和扩充,这形成了 Web服务器中间件。安全中间件。一些军事、政府和商务部门上网的最大障碍是安全保密问题,而且不能使用

    38、国外提供的安全措施(如防火墙、加密、认证等),必须用国产的产品。产生不安全因素是由操作系统引起的,但必须要用中间件去解决,以适应灵活多变的要求。跨平台和体系结构的中间件。当前,开发大型应用软件通常采用基于体系结构和构件的技术,在分布系统中,还需要集成各节点上的不同系统平台上的构件或新老版本的构件,由此产生了体系结构中间件,功能最强的是 CORBA,可以跨任意平台,但是太庞大;Java Bean 较灵活简单,很适合于做浏览器,但运行效率差;DCOM 模型主要适合 windows平台,已广泛使用。实际上国内新建系统主要是 UNIX(包括 Linux)和 Windows,因此针对这两个平台建立相应的

    39、中间件要实用得多。专用平台中间件。为特定应用领域设计参考模式,建立相应体系结构,配置相应的构件库和中间件,为应用服务器开发和运行特定领域的关键任务(如电子商务、网站等)。其他中间件。现在出现了一些中间件,如数据流中间件、门户中间件,以及为某些专业领域如银行、电信等开发的专用中问件。另外还有一些更高层的中间件,多用于系统整合,包括企业应用集成中间件、工作流中间件、门户中间件等是多种中间件的组合。2中间件的优点及其应用中间件作为一大类系统软件,与操作系统、数据库管理系统并称“三套车”,其重要性是不言而喻的,中间件的优点应该说是有目共睹的。它的优越性体现在以下几个方面:缩短应用的开发周期;节约应用的

    40、开发成本;减少系统初期的建设成本;降低应用开发的失败率;保护已有的投资;简化应用集成;减少维护费用;提高应用的开发质量;保证技术进步的连续性;增强应用的生命力。具体地说,中间件屏蔽了底层操作系统的复杂性,使程序开发人员面对一个简单而统一的开发环境,减少了程序设计的复杂性,将注意力集中在自己的业务上,不必再为程序在不同系统软件上的移植而重复工作,从而大大减少了技术上的负担。中间件带给应用系统的不只是开发的简便、开发周期的缩短,还减少了系统的维护、运行和管理的工作量,同时减少了计算机总体费用的投入。Standish 的调查报告显示,由于采用了中问件技术,应用系统的总建设费用可以减少 50%左右。在

    41、网络经济、电子商务大发展的今天,从中间件获得利益的不只是 IT厂商,IT用户同样是赢家,并且是更有把握的赢家。其次,中间件作为新层次的基础软件,其重要作用是将不同时期、在不同操作系统上开发的应用软件集成起来,彼此像一个天衣无缝的整体协调工作,这是操作系统、数据库管理系统本身做不了的。中间件的这一作用,使得在技术不断发展之后,我们以往在应用软件上的劳动成果仍然物有所用,节约了大量的人力、财力的投入。3中间件的发展趋势中间件作为构筑企业信息系统和电子商务系统的基石和核心技术,向着标准化和构件化方向发展。具体来看,有以下 3种发展趋势:规范化。在中间件的发展过程中,做得最好的一件事情就是规范的制定。

    42、对于不同类型的中间件,目前都有一些规范可以遵循,如消息类的 JMS,对象类的 CORBA和 COM/DCOM,交易类的 XA、OTS、JTA/JTS,应用服务器类的 J2EE,数据访问类的 ODBC和 JDBC,Web 服务有 SOAP、WSDL、UDDI 等。这些规范的建立极大地促进了中间件技术的发展,同时保证了系统的扩展性、开放性和互操作。构件化和松耦合。除了已经得到较为普遍应用的 CORBA、DCOM 等适应 Intranet的构件技术外,随着企业业务流程整合和电子商务应用的发展,中间件技术朝着面向 Web、松耦合的方式发展。基于 XML和 Web服务的中间件技术,使得不同系统之间、不同

    43、应用之间的交互建立在非常灵活的基础上。XML 是一种可扩展的源标识语言,它提供了一种新的定义标识语言标准。XML 技术非常适合于异构系统间的数据交换,因此在国际上已经被普遍采纳为电子商务的数据标准。而 Web服务作为基于 Web技术的构件,在流程中间件的控制和集成下可以灵活、动态地被组织成为跨企业的商务应用。平台化。目前,一些大的中间件厂商在已有的中间件产品基础上,都提出了完整的面向互联网的软件平台战略计划和应用解决方案。4选用中间件的原则技术成熟度。不同的中间件的发展历史都不同。由于中间件涉及的技术面广,与操作系统、网络、数据库和应用都有关系,因此中间件从诞生到成熟需要 23 年的时间。中间

    44、件的技术成熟度是一个很需要关注的问题。先进性。中间件的技术先进性主要看它是不是符合国际的潮流,是否采用了各种标准化的做法。比如,它能不能支持 HTlML、JavaScript、XML 这样一些国际标准的语言环境。因为大量的应用软件都是在语言环境下发展起来,现在计算机上的这些语言环境已经很成熟,手机上也开始有了 Java,机顶盒如果不支持这些标准的话,将来很难做到应用服务的通用。如果中间件技术上能达到国际开放标准水平的话,就很容易向上发展了。包括 MHP和 MHEG和美国的 OPENCABEL在内的一系列的中间件标准,只要中间件支持JavaScript、HTML 和 XML等通用语言,这 3种常

    45、用中间件的主流模块都可以移植到我们的应用服务里。与遗留应用的结合度。如果选用中间件构造的应用与传统的遗留应用要建立联系的话,就必须考虑这个问题。使用的难易程度。每类中间件使用的难度也不尽相同。有些中间件只是你的应用的一部分,而有些中间件将会给你的应用一个新的体系结构。应用的现状、应用开发队伍的水平、中间件本身的复杂程度等,都会影响中间件的使用效果。成本。不同类的中间件的成本不同,如把消息中间件只是用在局域网上实现数据访问显然代价太大,把交易中间件用在非交易处理类系统中去传递消息同样不可取。另外也要考虑技术培训对开发成本带来的影响。技术方向。有的中间件比较传统,而有的中间件是发展方向,中间件的选择与对软件技术发展趋势的把握紧密相关。如果企业已决定用构件技术或 Web技术,就要选择相关的中间件。适用性。好的中间件要带一个非


    注意事项

    本文(【计算机类职业资格】系统架构设计师-架构设计论文及答案解析.doc)为本站会员(lawfemale396)主动上传,麦多课文档分享仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文档分享(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
    备案/许可证编号:苏ICP备17064731号-1 

    收起
    展开