系统架构设计师设计论文_第1页
系统架构设计师设计论文_第2页
系统架构设计师设计论文_第3页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

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

3、应用情况,详细介绍 SOA在系统集成中发挥的作用和优势。详细解答:第 2 题: 论软件的静态演化和动态演化及其应用 软件演化 (Software Evolution) 是指软件在其生命周期内的更新行为和过 程。演化是一系列贯穿软件生命周期始终的活动,系统需求改变、功能实现增 强、新功能加入、软件架构改变、软件缺陷修复、运行环境改变均要求软件系 统能够快速适应变化,具有较强的演化能力。软件静态演化 (StaticEvolution) 和动态演化 (Dynamic Evolution) 是目前软件演化的两种重要类型。 请围绕“软件的静态演化和动态演化及其应用''论题,依次从以下3

4、个方面进行论述: 概要叙述你参与管理和开发的软件项目及你在其中所担任的主要工作。 请分别对软件静态演化和动态演化的特点进行论述,说明两种软件演化 类型各自的优缺点及其应用场合,并举例说明各自的常见演化技术手段。 具体阐述你参与管理和开发的项目中所进行的软件演化活动的特点、演化的类型,以及所采取的对应演化技术手段,说明具体实施过程及实际应用的 效果。参考答案: 本题考查的知识点是软件演化。一个软件系统开发完毕正式投入使用之后, 如果需求发生变化, 或者要将该系统移植到另一个环境运行, 且新环境的需求也 有相应的变化时, 就要对软件进行修改, 这就是软件演化。 软件演化是一个程序 不断调节以满足新

5、的软件需求的过程, 也就是对一个已有软件不断进行修改、 补 充、完善以适用新需求和环境变化的过程。 由于软件演化一词并不多见, 所以难 倒了很多考生。其实换一种讲法,可能大家就倍感亲切了“软件升级”,其 实演化的本质就是在升级。 既然是升级, 静态演化与动态演化是怎么回事也就好 理解了, 即升级时是否停止系统的运行。 所以如果有了上面的基础概念理解, 写 该论文的方向也就明晰了。文章共分 3 个部分组织内容。第一部分,简要叙述作者所参与管理和开发的软件项目, 并明确指出在其中承担的主要任务和 开展的主要工作。第二部分, 偏理论,需要介绍静态演化和动态演化的基本情况,写作时可参考以下材料。 静态

6、演化 (Static Evolution) ,静态演化是 指软件在停机状态下的演化。 其优点是不用考虑运行状态的迁移, 同时也没有活 动的进程需要处理。 然而停止一个应用程序就意味着中断它提供的服务, 造成软 件暂时失效。 软件静态演化是指发生在应用程序停止时的软件修改和更新, 即一般意义上的软件维护和升级。 静态演化的优点是没有状态迁移或活动线程的 问题要解决, 缺陷是停止应用程序意味着停止它所提供的服务, 也就是使软件系 统暂时失效。在软件交付之后, 静态演化(类似于一般意义上的软件维护 )就成为 软件变更的一个常规过程。 变更可以是一种更正代码错误的简单变更, 也可以是 更正设计错误的较

7、大范围的变更, 还可以是对描述错误进行修正或提供新需求这 样的重大改进。有 3种不同的软件维护: 改正性维护、适应性维护和完善性维护。 维护过程一般包括变更分析、版本规划、系统实现和向客户交付系统等活动。 在面向对象技术中, 使用子类型方法来扩展程序, 它适合于软件静态演化和代码 重用。子类型化一个类意味着保留父类中的参数和方法, 并尽可能地增加新的参 数和方法。另外,使用重载和多态性作为主要的演化机制。实际上,建立类的新 版本,最简单的机制是创建它的子类,然后重载需要变更的方法,最后,使用多 态性调用新创建的方法。 在基于构件的软件技术中, 构件采取接口和实现相分离 技术,构件之间只能通过接

8、口进行通信, 这使得具有兼容接口的不同构件实现可 以相互取代,从而成为软件静态演化的一条途径。 动态演化 (Dynamic Evolution) ,动态演化是指软件在执行期间的软件演化。 其优点是软件不会存在 暂时的失效, 有持续可用性的明显优点。 但由于涉及状态迁移等问题, 比静态演 化从技术上更难处理。 动态演化是最复杂也是最有实际意义的演化形式。 动 态演化使得软件在运行过程中, 可以根据应用需求和环境变化, 动态地进行软件 的配置、维护和更新, 其表现形式包括系统元素数目的可变性、 结构关系的可调 节性和结构形态的动态可配置性。 软件的动态演化特性对于适应未来软件发展的 开放性、 动态

9、性具有重要意义。动态演化是指软件在运行期间的演化。 在许多重要的应用领域中,如金融、电力、电信及空中交通管制等,系统的持续可用 性是一个关键性的要求, 运行时刻的系统演化可减少因关机和重新启动而带来的 损失和风险。 此外,越来越多的其他类型的应用软件也提出了运行时刻演化的要求,在不必对应用软件进行重新编译和加载的前提下, 为最终用户提供系统定制 和扩展的能力。动态演化可分为两种类型: 预设的和非预设的。 在 Web环境中,软件应用常常需要处理多种类型的信息, 因此它们常被设计为可以动态下载 并安装插件以处理当前所面临的新类型的信息; 而分布式 Web应用也常常需要增 减内部处理节点的数目以适应

10、多变的负载。 这些动态改变都是软件设计者能够预 先设想到的, 可实现为系统的固有功能。 另有一些必须对系统配置进行修改和调 整的情况是直到系统投入运行以后才发现的, 这就要求系统能够处理在原始设计 中没有完全预料到的新需求。 这种情况下一般需要关闭整个系统, 重新开发、 重 新装入并重新启动系统。 然而,为了进行局部的修改而关闭整个系统在某些情况 下是不允许的 ( 如关键运行系统 ) 或者代价太高。精心设计的动态演化技术可以在 不关闭整个系统的前提下修改系统的结构配置, 并尽量使未受影响的部分继续工 作以提高系统的可用度。 为支持软件的动态演化性, 已在语言、 机制和环境 等方面做了大量工作。

11、 在程序语言的层次上,引进各种机制以支持软件动态演化, 例如,动态装载技术允许增加代码到已运行的程序中, 延迟绑定是在运行时而不 是编译时决定类和对象的绑定。 Javahotswap 允许在运行时改变方法:当一个方 法终止时这个方法的新版本可以有效地替换旧版本, 在类层次上代码的二进制兼 容被支持。 Gilgul 语言也允许更换运行时对象。但程序语言层次上的动态演化 机制仅局限于函数、 类方法和对象等小粒度的替换, 只支持预设的有限变更, 变 更由事件触发。 通过标准化运行级构件的规约,依靠构件运行平台 ( 中间件 平台) 提供的基础设施,使软件在构件层次上的动态演化成为可能。中间件中具 有的

12、如命名服务、 反射技术和动态适配等机制, 为运行态构件的动态替换和升级 提供支撑, 从而推动了软件动态演化的发展。 命名服务就是给构件实例提供一个 名称,以便客户通过这些名称来获取构件实例。 对工业标准构件 EJB和 CORBA构 件的引用都可以通过中间件平台的命名服务进行。 同一构件标识可以被映射到多 个构件实例,从而根据具体情境对某一名字的构件引用导向到不同的构件实例。 反射技术是系统的一种自描述 (Self-Representation) 和自推理的技术,它提供 了关于自身行为的表示, 这种表示可以被检查和调整, 且与它所描述的系统行为 是因果相联 (Causally Connected

13、) 的。因果相联, 意味着对自身表示的改动将立 即反映在系统的实际状态和行为中, 反之亦然。 将反射性引入中间件能够以可控 的方式开放平台内部的实现,从而提高中间件的定制能力和运行时的适应能力。 动态适配机制中比较著名的是 CORBA提供的动态接口服务: 动态调用接口 D和 动态骨架接口 DSI。前者支持动态客户请求调用,而后者支持将请求动态指派 (Dispatch) 给构件。 因此,软件构件化技术使得软件具有良好的构造性, 软件演 化的粒度更大。中间件技术则为基于构件的软件动态演化提供了坚实的基础设施 和方便的操作界面。 第三部分需要结合作者自身的项目情况进行描述, 这部 分应是详细描述的部

14、分。详细解答:第 3 题: 论大规模分布式系统缓存设计策略 大规模分布式系统通常需要利用缓存技术减轻服务器负载、降低网络拥 塞、增强系统可扩展性。缓存技术的基本思想是将客户最近经常访问的内容在 缓存服务器中存放一个副本,当该内容下次被访问时,不必建立新的数据请 求,而是直接由缓存提供。良好的缓存设计,是一个大规模分布式系统能够正 常、高效运行的必要前提。在进行大规模分布式系统开发时,必须从一开始就 针对应用需求和场景对系统的缓存机制进行全面考虑,设计一个可伸缩的系统 缓存架构。请围绕“大规模分布式系统缓存设计策略”论题,依次从以下 3 个方面进 行论述: 概要叙述你参与实施的大规模分布式系统开

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

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

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

18、 并不妨碍其他数据节 点数据的正常工作。 该模式的适应场景是: 总体数据量较大, 已经超出了单个缓 存服务器的内存上限; 系统缓存要求具有很大的可伸缩性; 客户端数量庞大, 单 个客户端对缓存数据的数据量要求不大。 进行大规模分布式系统缓存机 制设计时可能遇到的问题包括如何缓存服务器的工作模式选择; 高可用性的设计 考虑;缓存一致性与分布式算法; 对象状态同步的考虑; 缓存钝化 /激活/ 过期和 初始化,等等。详细解答:第 4 题:论基于 REST服务的 Web应用系统设计REST(REpresentational State Transfer) 是指从几种基于网络的架构风格 衍生出来的一种混

19、合架构风格,它是目前互联网的核心架构风格。基于REST服务 (RESTfulService) 的 Web应用系统设计任务主要包括:识别并设计 REST风格 的服务,采用面向服务的思想进行 REST J务集成。采用这种方法设计的 Web 应用系统能够结合 REST风格和面向服务思想的优点,近年来受到了广泛的关 注。请围绕“基于 REST服务的 Web应用系统设计”论题,依次从以下 3 个方面 进行论述: 概要叙述你参与实施的 Web应用系统开发项目及你所承担的主要工作。 简要叙述与传统的 Web服务相比,采用 REST服务构建的 Web应用具有哪 些优势和不足。 阐述你在设计基于 REST服务的

20、 Web应用系统时遇到了哪些问题,如何解 决。参考答案:论文中要具体介绍项目的总体需求 (特别是质量属性需求 ) 、Web应用系统 的逻辑与物理拓扑结构、采用的技术等内容和承担的实际工作。 REST(REpresentational State Transfer) 是指从几种基于网络的架构风格衍生 出来的一种混合架构风格,目前 Web的体系结构正是基于 REST风格的。 REST风 格中的特点是客户端 / 服务器、无状态、缓存、统一接口、分层系统和按需代码。 REST组件通过以一种数据格式转移资源的表述进行通信,可以基于接收者的能 力和期待的内容, 以及资源的性质动态地选择不同的表述。 与传统

21、的 Web服 务相比, REST服务主要有以下优势:· RESL 服务基于 W3C/IETF的标准与规范(包括 HTTP、XML、URI和MIME等),其实现技术简单、成熟。· REST服务基于 URT和超链接技术, 不需要通过集中式的服务信息仓库即可发现服务资 源。 · REST 服务支持缓存,具有无状态的特性,这些使得 REST服务能够 支持大量客户端,构建的应用系统具有较强的伸缩性。· REST服务基于轻量级的 Web 框架,仅仅需要基本的开发工具支持,构建过程简单且成本较 低。 · REST服务的测试相对简单,采用浏览器即可完成服务功能

22、测试。 与传统的 Web服务相比, REST服务主要存在如下不足:· REST服务倡导的REST风格与实际实现尚存在一定差距。 例如,高层 REST服务倡导使用 GET、PUT、 POST和 DELETE所有 4 个统一接口,在 REST实现部分通常只能采用 GET和 POST 接口,因为大多数的代理和防火墙会屏蔽其他接口; 并且 XHTML表单中只能使用 GET和 POST接口。· REST服务要求所有的输入参数都必须在 URI 中传递,这样会产生对参数容量大小的限制 ( 目前的大小是 4KB)。如果超出该数量,会导 致 HTTP协议错误(错误代码 414:Request

23、-URI too long) 。 · 在 URI中表 达复杂类型的参数比较困难,且目前对 URI 中的参数不存在一种公认的编组 (marshalling) 和解编 (un-marshalling) 方法。进行基于 REST服务的 Web应用系统的设计时可能遇到的问题包括:如何识别并设计 REST风格服务;构建 REST服务的运行环境, HTTP服务器与应用服务器选型等;富客户端表现方式及 编程语言的选择;系统逻辑与物理拓扑结构的分析与设计等。详细解答: 第 5 题:论中间件技术在软件开发中的作用随着软件应用越来越复杂,软件开发“一切从零开始”的开发模式也越来 越不能满足应用的要求。一

24、些著名的软件公司推出自己的中间件产品,如通信 中间件、数据库中间件等为软件开发提供有力的支持。请围绕“中间件技术在软件开发中的作用”这个论题,依次从以下 3 个方 面进行论述:概要叙述你参与分析和开发的应用项目,以及你所担任的主要工作。 具体讨论你在软件开发过程中选取中间件的原则和标准,结合实例详细 叙述中间件技术在你的软件开发中的作用。 假如你在一个软件公司中能够起到影响公司决策的作用,请你结合市场 和技术因素,为你的公司设计一个有自主版权的中间件的方案,并评价你的方 案。参考答案:中间件是一种独立的系统软件或服务程序, 分布式应用软件借助这种软件在 不同的技术之间共享资源,中间件位于客户

25、/ 服务器的操作系统之上,管理计算 资源和网络通信。从定义中可以看出: 中间件是一类软件, 而非一种软件。 中间件不仅要实现互联, 还要实现应用之间的互操作。 中间件是基于分 布式处理的软件, 最突出的特点是其网络通信功能。1、中间件的分类 根据功能的不同,中间件可以细化为以下一些种类:通信处理 ( 消息) 中间件。在不同平台之间通信,实现分布式系统中可靠的、高效的、实时的跨平台数 据传输,称为消息中间件。 这是中间件中唯一不可缺少的, 是需求量最大的中间 件产品,目前在大部分操作系统中已包含了其部分功能。事务处理 (交易 )中间件。在分布式事务处理系统中要处理大量的事务, 常常在系统中要同时

26、进行 上万笔事务。 在联机事务处理系统 (OLTP)中,每笔事务常常要多台服务器的程序 顺序地协调完成, 一旦中问发生某种故障时, 不但要完成恢复工作, 而且要自动 切换系统, 达到系统永不停机, 实现高可靠性运行; 同时要使大量事务在多台应 用服务器实时并发运行, 并进行负载平衡地调度, 实现昂贵的小型机和大型计算 机系统同等的功能, 为了实现这个目标, 要求系统具有监视和调度整个系统的功 能。一个事务处理平台,根据 X/OPEN的参数模型规定,应由事务处理中间件、 通信处理中间件, 以及数据存取管理中间件 3 部分组成。 数据存储管理中 间件。在分布式系统中, 重要的数据都集中存放在数据服

27、务器中, 它们可以是关 系型、复合文档型、 具有各种存放格式的多媒体型, 或者是经过加密或压缩存放 的,该中间件为在网络上虚拟缓存、格式转换、解压等带来了方便。 Web 服务中间件。 浏览器图形用户界面已成为公认规范, 然而它的会话能力差、 不能 做数据写入、受 HTTP协议的限制等,必须进行修改和扩充,这形成了 Web服务 器中间件。 安全中间件。 一些军事、 政府和商务部门上网的最大障碍是安 全保密问题,而且不能使用国外提供的安全措施 (如防火墙、加密、认证等 ) ,必 须用国产的产品。 产生不安全因素是由操作系统引起的, 但必须要用中间件去解决,以适应灵活多变的要求。 跨平台和体系结构的

28、中间件。当前,开发大 型应用软件通常采用基于体系结构和构件的技术, 在分布系统中, 还需要集成各 节点上的不同系统平台上的构件或新老版本的构件, 由此产生了体系结构中间件, 功能最强的是 CORB,A可以跨任意平台,但是太庞大; Java Bean 较灵活简单, 很适合于做浏览器,但运行效率差; DCOM模型主要适合 windows 平台,已广泛 使用。实际上国内新建系统主要是 UNIX(包括 Linux) 和 Windows,因此针对这两 个平台建立相应的中间件要实用得多。 专用平台中间件。 为特定应用领域 设计参考模式, 建立相应体系结构, 配置相应的构件库和中间件, 为应用服务器 开发和

29、运行特定领域的关键任务 (如电子商务、网站等) 。 其他中间件。 现 在出现了一些中间件, 如数据流中间件、 门户中间件, 以及为某些专业领域如银 行、电信等开发的专用中问件。 另外还有一些更高层的中间件, 多用于系统整合, 包括企业应用集成中间件、工作流中间件、门户中间件等是多种中间件的组合。 2、中间件的优点及其应用中间件作为一大类系统软件,与操作系统、数据库管理系统并称“三套车”,其重要性是不言而喻的,中间件的优点应该说是有 目共睹的。 它的优越性体现在以下几个方面: 缩短应用的开发周期; 节约应用的 开发成本;减少系统初期的建设成本; 降低应用开发的失败率; 保护已有的投资; 简化应用

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

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

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

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

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

35、标准,只要中间件 支持 JavaScript 、HTML和 XML等通用语言,这 3 种常用中间件的主流模块都可 以移植到我们的应用服务里。 与遗留应用的结合度。 如果选用中间件构造 的应用与传统的遗留应用要建立联系的话, 就必须考虑这个问题。 使用的 难易程度。 每类中间件使用的难度也不尽相同。 有些中间件只是你的应用的一部 分,而有些中间件将会给你的应用一个新的体系结构。 应用的现状、 应用开发队 伍的水平、中间件本身的复杂程度等, 都会影响中间件的使用效果。 成本。 不同类的中间件的成本不同, 如把消息中间件只是用在局域网上实现数据访问显 然代价太大, 把交易中间件用在非交易处理类系统中

36、去传递消息同样不可取。 另 外也要考虑技术培训对开发成本带来的影响。 技术方向。 有的中间件比较 传统,而有的中间件是发展方向, 中间件的选择与对软件技术发展趋势的把握紧 密相关。如果企业已决定用构件技术或 Web技术,就要选择相关的中间件。适用性。好的中间件要带一个非常丰富的应用库。 中间件的一个最大作用就是重 复使用已经开发过的应用软件模块, 通常这些模块都是以库单元的方法来实现的, 中间件在实际应用中越成功, 开发的应用程序越多, 它带的库就越丰富, 使用者 就可以越简便地开发或修改自己需要的新服务, 这就是知识的积累。 通过以 上分析,可以对中间件技术有一个全面的了解, 除了基础技术的

37、了解, 写好本文, 还要注意以下要点:用 400600 字简单介绍你参与分析和开发的应用项目,以及你所担任的主要工作。 简单介绍中间件的种类及作用。 具 体讨论你在软件开发过程中选取中间件的原则和标准, 结合实例详细叙述中间件 技术在你的软件开发中的作用。 结合市场和技术因素, 为你的公司设计一 个有自主版权的中问件的方案,并评价你的方案。详细解答: 第 6 题:论基于 Web的数据库应用系统的开发技术浏览器和 HTTP协议在全球因特网的成功应用,促进了企业中的 B/S 结构的 迅速推广。基于 Web的数据库应用系统通常采用三层 (或更多层)C/S 结构,允 许用于各类不同的平台和选择相应的数

38、据库应用环境。请围绕“基于 Web的数据库应用系统的开发技术”论题,依次从以下 3 个 方面进行论述:概要叙述你参与分析和开发的软件项目,以及你所担任的主要工作。 具体讨论你在基于 Web的数据库应用系统开发中所采用的主要技术,包括开发过程中遇到的问题和所采取的措施。 分析你所采用的开发技术的具体效果。现在你认为应当做哪些方面的改 进,以及如何加以改进 ?参考答案:完成本题的写作,需要对 Web开发的相关架构有充分的了解,相关知识可参 看“ 分层架构”。除了解技术知识,在写作方面还要注意以下几个方面的 要点: 在文章中首先用 400-600 字的篇幅简要叙述自己参与分析和开发 的系统概要和所担

39、任的工作。 具体讨论在基于 Web的数据库应用系统开 发中所采用的主要技术, 包括开发过程中遇到的问题和所采取的措施。 特别要注 意描述三层结构的逻辑和物理部署, 讨论数据是如何在三层之间传送的。 最后要根据项目实际情况, 分析所采用的开发技术的具体效果, 你现在认为还有 哪些可以改进的地方 ( 例如,应用服务器性能的改进等 ) ,如何加以改进。详细解答:第 7 题: 论数据库的安全性设计 通常,信息系统的安全性指的是采取必要的安全保护方面的技术和管理措 施,保护硬件、软件和数据不因偶然的或恶意的原因而受到破坏、更改和泄 露。其中数据库的安全性设计有着十分重要的作用 ( 包括物理安全与逻辑安

40、全)。根据你实际参与开发和设计的经验,论述下列 3 个问题: 简述你开发与设计的软件概要和你所担任的工作。 具体叙述你在数据库应用系统开发中是如何使用安全性设计技术的,包 括采用过哪些主要技术,遇到过哪些实际问题,采取过哪些相应的措施。简述你所采用的数据库安全性设计技术的效果,以及你有哪些主要的使 用体会和进一步的设想。参考答案:数据库的安全性是指保护数据不被破坏和不被非法窃取, 包括物理安全性和 逻辑安全性。1、物理安全性要保证数据库的物理安全性,除了健全机房管理制度,提高防火、防盗、防雷击等基础设施以外,最重要的就是要有一个 好的数据库备份策略。 数据库备份是指对重要的数据制作一份拷贝,

41、并将其 存储在安全的地方。 备份系统为一个目的而存在: 尽可能快地全盘恢复运行计算 机系统所需的数据。 根据系统安全需求可选择的备份机制有: 场地内高速度、 大 容量自动的数据存储、备份与恢复;场地外的数据存储、备份与恢复;对系统设 备的备份。 备份不仅在网络系统硬件故障或人为失误时起到保护作用, 还在入侵 者非授权访问、 攻击网络和破坏数据完整性时起到保护作用, 同时也是系统灾难 恢复的前提之一。 一般的数据备份操作有 3种:一是全盘备份, 即将所有文 件写入备份介质; 二是增量备份, 只备份那些上次备份之后更改过的文件, 这是 最有效的备份方法;三是差分备份,备份上次全盘备份之后更改过的所

42、有文件,其优点是只需两组磁带就可以恢复最后一次全盘备份的磁带和最后一次差分备 份的磁带。 在确定备份的指导思想和备份方案之后, 需要选择安全的存储媒 介和技术进行数据备份。一般来说,备份的硬件设备包括磁盘、磁带和光盘塔。 而利用磁盘备份的方法常用的是磁盘镜像、 磁盘双工和磁盘阵列, 其中磁盘镜像 是指系统中使用两块一样大小的磁盘, 在写入数据时, 先将数据写入源盘, 然后 再写入镜像盘, 这样镜像盘中的数据与源盘的数据一模一样, 从而起到了备份的 作用。而磁盘双工是两个互为备份的盘同时写入。 磁盘阵列是指将多个类型、 容 量、接口甚至品牌一致的专用磁盘或普通磁盘连成一个阵列, 使其能以某种快速

43、、 准确和安全的方式来读写磁盘数据。 其主要功能是可以提高网络数据的可用性及 存储容量, 并能够免除单块硬盘故障所带来的灾难性后果。 因此,磁盘阵列是一 种高效、快速、易用的网络存储备份设备。 备份的技术有“冷备份”和“热 备份”两种。热备份是指“在线”的备份,即下载备份的数据还在整个计算机系 统和网络中,只不过传到另一个非工作的分区或另一个非实时处理的业务系统中 存放,如前面提到的磁盘镜像、磁盘双工和磁盘阵列都属于热备份。 “冷备 份”则是指“不在线”的备份,下载的备份存放到安全的存储媒介中,而这种存 储媒介与正在运行的整个计算机系统和网络没有直接联系, 在系统恢复时重新安 装,有一部分原始

44、的数据长期保存并作为查询使用。 磁带就是一种冷备份的设备。 热备份的优点是调用快, 使用方便, 在系统恢复中需要反复调试时更显优势, 但 投资比较昂贵。冷备份则弥补了热备份的一些不足,二者优势互补,相辅相成, 冷备份在回避风险中还具有便于保管的特殊优点。 在进行备份的过程中常 使用备份软件, 它一般应具有以下功能: 保证备份数据的完整性, 并具有对备份 介质的管理能力; 支持多种备份方式, 可以定时自动备份, 还可以设置备份自动 启动和停止日期; 支持多种校验手段 ( 如字节校验、 CRC循环冗余校验、 快速磁带 扫描) ,以保证备份的正确性; 提供联机数据备份功能; 支持 RAID容错技术和

45、图 像备份功能。 与备份同样重要的是在备份完成之后对它们进行存储。 备份的 目的是为了在发生事故时能够及时进行恢复, 而事故的类型可能从用户误删数据 到站点的灾难性毁坏。 前者需要备份处于附近位置以便于快速恢复, 而后者却要 求将备份存储在其他地方。 实践证明, 最好的方法是将备份存储在其他地方, 最 大程度地保护数据。 当需要还原时, 再将备份及时取回。 日常备份制度描述 了每天的备份以什么方式、 使用什么备份介质进行, 是系统备份方案的具体实施 细则。在制定完毕后, 应严格按照制度进行日常备份, 否则将无法达到备份方案 的目标。数据备份有多种方式:全备份、增量备份、差分备份、按需备份 等。

46、 · 全备份:备份系统中所有的数据。 · 增量备份:只备份上次备 份以后有变化的数据。 · 差分备份:只备份上次完全备份以后有变化的数 据。 · 按需备份:根据临时需要有选择地进行数据备份。 全备份所需 时间最长,但恢复时间最短,操作最方便,当系统中数据量不大时,采用全备份 最可靠。但是随着数据量不断增大, 我们将无法每天做全备份, 而只能在周末进 行全备份, 其他时间我们采用所用时间更少的增量备份, 或采用介于两者之间的 差分备份。各种备份的数据量不同: 全备份差分备份 增量备份。 在备份时要根 据它们的特点灵活使用。 (1) 数据存储基本策略的设定

47、· 数据库全备 份:选择在周五 (或周六 ) 自动进行。· 数据库增量备份:每晚做批处理前和批处理后,由 UNIX 或其他主机系统执行,批处理人员触发或由系统自动执 行。 · 文件全备份:将主机系统和其他服务器的数据做全备份,选择在周 日自动进行。 · 文件增量备份:在周一到周四 ( 或周五)之间备份文件的增10量。 · 系统全量:在每月初的周日备份系统及数据库的全量。 · 系统 增量:在其余的时间仅备份系统和数据库配置的增量。 · 跟踪备份:实时 备份系统增量 ( 事务日志备份 )。 结合以上备份策略, 从便于管理和恢复的

48、角 度考虑,制订数据分组和存储介质池对应策略, 将数据分门别类放在不同编号的 磁带组上,并建立不同的存取权限。建议建立: · 数据库介质。专门放置 数据库信息。 · 文件介质。放置除数据库以外的文件。 · 数据库日志 和系统曰志介质。 安全稽核和系统恢复的重要数据记录需较长时间保存, 建议由 安全管理员在服务器端建立管理,形成与主机系统管理人员分离的运行数据记 录。 ·系统介质。备份系统和系统配置等的变化, 做到快速恢复系统。 (2) 数据备份工作过程 · 自动备份进程由备份服务器发动。每天晚上,自动按 照事先制订的时间表所要求的内容, 进行增

49、量或全量的备份。 由于每天的备份被 适当地均衡,峰值备份数据量在周五 ( 或周六 ) 和周日发生。· 批前及批后备份在 UNIX或其他主机端发起。批处理人员输入触发备份命令,自动按要求备 份数据库有关内容。 · 其他文件的自由备份。进入软件交互菜单,选择要 求备份的文件后备份。 · 在线跟踪备份。配合数据存储管理软件的数据库 在线备份功能,可定义实时或定时备份日志。 · 灾难备份异地存放介质的 克隆。自动复制每日完成后的数据,以存放在异地做灾难恢复。 (3) 灾难恢 复 灾难恢复措施在整个备份制度中占有相当重要的地位。因为它关系到系 统在经历灾难后能否迅

50、速恢复。 灾难恢复操作通常可以分为两类: 第一类是全盘 恢复,第二类是个别文件恢复。 此外还有一种值得一提的是重定向恢复。 ·全 盘恢复。全盘恢复一般应用于服务器发生意外灾难导致数据全部丢失、 系统崩溃 或有计划的系统升级、系统重组等情况,也称为系统恢复。 · 个别文件恢 复。由于操作人员的水平不高, 个别文件恢复可能要比全盘恢复常见得多, 利用 网络备份系统的恢复功能, 我们很容易恢复受损的个别文件。 只需浏览备份数据 库或目录,找到该文件,触动恢复功能,软件将自动驱动存储设备,加载相应的 存储媒体,然后恢复指定文件。 · 重定向恢复。重定向恢复是将备份的文 件

51、恢复到另一个不同的位置或系统上去, 而不是进行备份操作时它们当时所在的 位置。重定向恢复可以是整个系统恢复也可以是个别文件恢复。 重定向恢复时需 要慎重考虑, 要确保系统或文件恢复后的可用性。 为了防止数据丢失, 我们 需要做好详细的灾难恢复计划, 同时还要定期进行灾难演练。 每过一段时间, 应 进行一次灾难演习。 可以利用淘汰的机器或多余的硬盘进行灾难模拟, 以熟练灾 难恢复的操作过程,并检验所生成的灾难恢复软盘和灾难恢复备份是否可靠。 2、逻辑安全性数据库的逻辑安全模型如图 13-1 所示。与数据库使用直接有关的安全措施有:用户标识和鉴定、存取控制、审计、密码存储、视图的保护和 日志监视等

52、方式。1983年,美国政府发布了“可信计算机系统评价标准 (TCSEC)”,1994年 4 月,美国国家计算机安全中心 (NCSC)颁布了 TDI,即“可信计算机系统评估标准 在数据库管理系统中的解释”,它将 TcSEC扩展到数据库领域。在 TCSEC中,系 统安全从 4 个方面被划分为 7 个不同的安全级别,即 D,C1,C2,B1,B2, B3, A1,其中 A1级别最高, D级别最低。TDI沿用 TCSEC的做法,从安全策略、11责任、保证和文档 4 个方面来描述每级的安全性。 一般认为, 数据库及其他处理 敏感商业信息的系统应达到 C2级,在 C2安全级上, 能使用登录过程、 审计跟踪

53、 并对与安全性有关的事件进行资源隔离; 而处理保密的和要求更高敏感度的信息 系统,安全级应达到 B1 级,这样能使用标记机制对特定的客体进行强制访问控 制。 (1) 用户标识与鉴定 用户标识与鉴定是系统提供的最外层的安全保 护措施。用户的标识和鉴定是两个不同的过程,标识过程负责将用户 ID 在系统 中注册登记,而鉴别过程旨在将用户 ID 与真正的合法用户关联起来。目前有 3 种标识与鉴别方法。 利用用户的物理特征 ( 声波、指纹、相貌、签名等 )作 为 ID ,这在理论上是可靠的,但由于物理特征可能随时间变化且记录技术尚欠 成熟等原因,使得该方法未能广泛用于数据库系统。 利用用户持有的证 件,

54、如身份证、机器可读卡片等,其缺点是证件可能被别人复制或冒用。 利用用户知道某个能证明其身份的约定 (如口令 ) ,这是当前数据库系统用来识别 用户的主要方法。 · 用户名或用户标识号。在定义外模式时为每个用户提 供一个用户代号存放在数据字典中。 用户使用系统时, 系统鉴别此用户是否是合 法用户,若是,则可进入下一步的核实,否则不能使用系统。 · 口令。为 了进一步核实用户, 系统常常要求用户输入口令。 为保密起见, 用户在终端上输 入的口令不显示在屏幕上, 系统核对口令以鉴别用户身份。 以上的方法简单易行, 但用户名、口令容易被人窃取,因此还可以用更可靠的方法。 ·

55、; 随机数检 验。用户根据预先约定好的计算公式求出一个数值作为动态口令送入计算机, 当 这个值与系统算出的结果一致时, 才允许进入系统。此外, 还可要求用户向鉴别机构交验机器可读身份卡片, 或提供声波、 指纹、签名等生物唯一性标志证 明用户身份,鉴别机构对用户提供的信息进行鉴别, 证明其有效性, 或进行译码 后给系统提供一个位串作为用户标识。 用户标识和鉴定可以重复多次。 (2) 存取控制 在数据库系统中,为了保证用户只能存取有权存取的数据,系 统要求对每个用户定义存取权限。 存取权限包括两方面的内容: 一方面是要存取 的数据对象; 另一方面是对此数据对象进行操作的类型。 对一个用户定义存取权

56、 限就是要定义这个用户可以在哪些数据对象上进行哪些类型的操作。 在数据库系 统中对存取权限的定义称为 “授权”,这些授权定义经过编译后存放在数据库中。 对于获得使用权又进一步发出存取数据库操作的用户, 系统就根据事先定义好的 存取权限进行合法权检查, 若用户的操作超出了定义的权限, 系统就拒绝执行此 操作,这就是存取控制。 授权编译程序和合法权检查机制一起组成了安全性 子系统。 在非关系系统中, 用户只能对数据进行操作, 存取控制的数据对象 也仅限于数据本身。而在关系数据库系统中, DBA可以把建立和修改基本表的权 限授予用户,用户可利用这种权限来建立和修改基本表、索引、视图,因此,关 系系统

57、中存取控制的数据对象不仅有数据本身, 还有模式、 外模式、内模式等内 容。 (3) 审计 审计是现代计算机系统中必不可少的功能之一,其主要任 务是对用户 ( 包括应用程序 )使用系统资源 (包括软硬件和数据 )的情况进行记录 和审查,一旦发现问题,审计人员通过审计跟踪,可望找出原因,追查责任,防 止类似问题再度发生。因此,审计往往作为保证数据库安全的一种补救措施。 数据库系统中的审计工作包括如下几种: · 设备安全审计。它主要审查关 于系统资源的安全策略、各种安全保护措施及故障恢复计划等。 · 操作审 计。对系统的各种操作 ( 特别是一些敏感操作 ) 进行记录、分析。记录内

58、容包括: 操作的种类、所属事务、所属进程、用户、终端 (或客户机 ) 、操作时间、审计日 期等。 · 应用审计。审计建立于数据库之上的整个应用系统的功能、控制12逻辑、数据流是否正确。 · 攻击审计。对已发生的攻击性操作及危害系统 安全的事件 ( 或企图) 进行检测和审计。上述各种审计所用技术大致可分为以下 3 类: · 静态分析系统技术。审计者通过查阅各种系统资源 (软硬件、 数据) 的说明性文件,例如,软件的设计说明书、流程图等来了解整个系统,甚 至定位出一些易被攻击的薄弱环节。 · 运行验证技术。运行验证的目的是 保证系统控制逻辑正确, 各类事务能

59、有效执行。 该技术一般又细分为实际运行测 试和性能测试两种。 实现时, 审计者既可以根据审计需要, 选择系统中一个实际 事务作为样板进行审计跟踪, 也可以生成专门的测试用例, 通过将测试用事务在 系统运行的实际结果与期望结果进行比较来评价系统; 还可以设计一个专门仿真 系统的程序,让仿真系统与实际系统并行工作,通过比较它们的结果来评测系 统。 · 运行结果验证技术。这种技术将注意力放在运行结果数据上。 它主要涉及审计数据选择和收集、 数据分析两类问题。 常用的审计数据选择和收 集的办法有: 在应用程序中插入一个审计数据收集模块; 设置专门的审计跟踪事 务;兼用系统的日志库;使用由随机抽取记录组成的专用审计库,等等。 一 旦获得审计数据后, 审计者可以检查各类控制信息、 完整性约束等内容, 以达到 各种审计目的。 (4) 数据加密 对于那些保密程度极高的数据 ( 如用户标 识、绝密信息等 ) 和在网络传输过程中可能被盗窃的数据,除采用上述种种安全 保护措施外, 一般还需采用数据加密技术, 以密文形式保存和传输, 保证只有那 些知道密钥的用户可以访问。 数据加密是防止数据库中的数据在存储和传输中失 密的有效手段。有关加

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论