系统架构设计师备考资料(5.第九、十章)

第九章,第十章

第九章  面向构件的软件设计


口袋应试:这一章主要为概念题,题点分散,大家掌握就好。
9.1构件的概念
9.1.1术语与概念
1.构件
构件的特性是:
(1)独立部署单元; 
(2)作为第三方的组装单元; 
(3)没有(外部的)可见状态。 
一个构件可以包含多个类元素,但是一个类元素只能属于一个构件。将一个类拆分进行部署通常没什么意义。
2.对象
对象的特性是:
(1)一个实例单元,具有唯一的标志。
(2)可能具有状态,此状态外部可见。
(3)封装了自己的状态和行为。
6.接口

接口标准化的一个非常有意思的变种,是对消息的格式、模式和协 议的标准化。它不是要将接口格式化为参数化操作的集合,而是关注输入输出的消息的 标准化,它强调当机器在网络中互连时,标准的消息模式、格式、协议的重要性。这也 是因特网OP、UDP、TCP、SNMP等)和Web (HTTP、HTML等)标准的主要做法。 为了获得更广泛的语义,有必要在一个单一通用的消息格式语境中标准化消息模式。这 就是XML的思想。XML提供了一种统一的数据格式。

[email protected]
出题概率:★★
170136


9.3构件框架
9.3.1体系结构
3.构件系统架构特性
●构件系统体系结构由一组平台决策、一组构件框架和构件框架之间的互操作设计 组成。
●构件框架是一种专用的体系结构(通常围绕一些关键的机制),同时,也是一组 固定地作用于构件层次机制的策略。
●概念框架的互操作设计包括系统体系结构连接的所有框架间的互操作的规则。
●构件是一组通常需要同时部署的原子构件。构件和原子构件之间的区别在于,大 多数原子构件永远都不会被单独部署,尽管它们可以被单独部署。
●一个原子构件是一个模块和一组资源。
●模块是一组类和可能的非面向对象的结构体,比如过程或者函数。
●资源是一个类型化的项的固定集合。
5.构件和中间件

中间件是一个软件集合的名字,这些软件位于操作系统和高层次分布式编程平台之 间。中间件有时被分为面向消息的中间件(Microsoft Operations Manager, MOM)和面 向对象的中间件(Object Oriented Method, 00M)。然而,现有的大多数中间件都是这 两种类型的混合体。当然,现在也有一种趋势是由传统的操作系统直接支持。操作系统 总是包含了对通信协议的支持。Web服务的推进和程序世界从以程序为中心到以协议为 中心的转变,导致两种中间件的价值观:支持合适的协议或者提供简化本地服务构造的 结构。

[email protected]
出题概率:★★
120109、160138


9.3.2语境相关组合构件框架
2. EJB容器

EJB为EJB实例提供了容器。虽然这些容器在MTS语境的基础上被模式化,但它 们仍然有自己的变化。EJB容器允许类请求进行明确的事务控制一一也就是说,该类的 实例需要直接调用事务API来开始、提交和结束一个事务。如此明确的控制使得这些类 组装更加困难,但是当添加合法的事务代码时这种控制开辟了一条更加容易的道路。明 确的控制在COM+中是可能做到的,但是不如EJB直接(本质上,外部控制需要独立存 在于COM+的事务域之外,并且和微软的分布式事务控制器DTC直接发生交互)。

此外,EJB容器通过支持会话Bean和实体Bean支持持久对象。会话Bean的行为类似于MTS语境中的COM实例------旦事务结束(异常中断或是正常提交)其状态将丢失。实体Bean在事务正常提交时就保存至事务永久存储器。也就是说,Bean能够作 为永久对象保存,除了可显式编写语句——这是MTS或COM+的唯一选择。

从版本2.0开始,EJB提供了改进的由容器管理的持久性和关系,提髙了 EJB实体 Bean从一个应用服务器的容器到另外一个应用服务器容器的可移植性。EJB 2.0也增加 了消息驱动的Bean类型,这是一个完全由数据驱动的EJB构件类型。与无状态会话Bean 一样,消息驱动的Bean也是在消息到达时实例化,消息处理完毕后被销毁。这类似于 C〇A+中的队列构件。消息驱动激活的概念可以追溯到IBM信息管理系统(Information Management System, IMS)的事务管理功能,该系统激活和停止IMS程序以处理队列 消息。

[email protected]
出题概率:★
180136、180137、180138


9.3.3构件开发
1.面向构件的编程方法学

面向构件的编程(COP)关注于如何支持建立面向构件的解决方案。一个基于一般 OOP 风格的 COP 定义如下(Szyperski,1995): “面向构件的编程需要下列基本的支持:
●多态性(可替代性);
●模块封装性(高层次信息的隐藏);
●后期的绑定和装载(部署独立性);
●安全性(类型和模块安全性)。”

[email protected]
出题概率:★
160135


9.3.4构件组装
1.构件初始化及互连
5) 最终用户组装

系统组装分为三个不同的层次:定制(customization)、集成(integration)和扩展 (extensionX这三个层次对应于构件组装过程中的不同任务。

[email protected]
出题概率:★
180139


教材外题点


EJB分为会话Bean、实体Bean和消息驱动Bean。
1、会话Bean:用于实现业务逻辑,它可以是有状态的,也可以是无状态的。每当客户端请求时,容器就会选择一个会话Bean来为客户端服务。会话Bean可以直接访问数据库,但更多时候,它会通过实体Bean实现数据访问。
2、实体Bean:用于实现O/R映射,负责将数据库中的表记录映射为内存中的实体对象,事实上,创建一个实体Bean对象相当于新建一条记录,删除一个实体Bean会同时从数据库中删除对应记录,修改一个实体Bean时,容器会自动将实体Bean的状态和数据库同步。
3、消息驱动Bean:是EJB3.0中引入的新的企业Bean,它基于JMS消息,只能接收客户端发送的JMS消息然后处理。MDB实际上是一个异步的无状态会话Bean,客户端调用MDB后无需等待,立刻返回,MDB将异步处理客户请求。这适合于需要异步处理请求的场合,比如订单处理,这样就能避免客户端长时间的等待一个方法调用直到返回结果

出题概率:★
180138


如果大家要在备考复习中进行分类测试练习,或者查找更详细的备考资料,可以使用“系统架构设计师口袋应试”小程序,或者关注我的个人公众号“跬步郎”来查找后续更新的内容。


第十章  构件平台/典型架构


口袋应试:这一章的出题概率并不高,只是因为在历年考试中出现过几次,所以单列出来。大家尽量了解即可。


10.1.3 CORBA构件模型
CORBA构件模型中,对象适配器的主要作用是在底层传输平台与接收调用并返回结果的对象实现之间进行协调,,目前采用的对象适配器规范是POA(可移植对象适配器),它替代了传统的BOA(基本对象适配器)。Servant(伺服对象)是最终完成客户请求的服务对象实现,伺服对象管理器(伺服对象激活器和伺服对象定位器)用来提供CORBA服务端的对象查找服务,活动对象映射表用来保存已注册的CORBA对象标识和伺服对象之间的映射关系。

[email protected]
出题概率:★
160136、160137



10.2.4 各种构件--Applet, Servlet, Bean 和 Enterprise Bean


在Java领域中定义了 5种不同的构件模型,而且将来可能会出现更多。
Applet是第一个Java构件模型,用于轻量级的可下载的构件,以增强网站在浏览器 中的视觉效果。
第二个Java构件模型是JavaBean。它主要用于支持基于连接的程序,比如同时用在 客户端和服务器端的程序。
EJB是Java的第三个构件模型。它使用容器集成服务,用以支持EJB (构件)使 用声明属性和部署描述符的方式来请求服务。
第四个Java构件模型是servlet。它跟Applet相似,但属于服务器端构件模型, 而且是通常由Web服务器进程进行实例化的轻量级构件,Web页面就是一个典型的例 子。
J2EE引入的第五种Java构件模型为应用客户端构件。它本质上是在客户端的不受 限制的Java程序。

[email protected]
出题概率:★
180141


伺服对象(Servant):CORBA 对象的真正实现,负责完成客户端请求。

对象适配器(Object Adapter):用于屏蔽ORB 内核的实现细节,为服务器对象的实现者提供抽象接口,以便他们使用ORB 内部的某些功能。

对象请求代理(Object Request Broker):解释调用并负责查找实现该请求的对象,将参数传给找到的对象,并调用方法返回结果。客户方不需要了解服务对象的位置、通信方式、实现、激活或存储机制。

出题概率:★
180140



自顶向下方法是一种决策策略。软件开发涉及做什么决策、如何决策和决策顺序等决策问题。

自顶向下方法在任何时刻所作的决定都是当时对整个设计影响最大的那些决定。如果把所有决定分组或者分级,那么决策顺序是首先作最高级的决定,然后依次地作较低级的决定。同级的决定则按照随机的顺序或者按别的方法。一个决策的级别是看它距离要达到的最终目的(因此是软件的实际实现)的远近程度。从问题本身来看,或是由外(用户所见的)向内(系统的实现)看,以距离实现近的决定为低级决定,远的为高级决定。
在这个自顶向下的过程中,一个复杂的问题(任务)被分解成若干个较小较简单的问题(子任务),并且一直继续下去,直到每个小问题(子任务)都简单到能够直接解决(实现)为止。
自顶向下方法的优点是:
●可为企业或机构的重要决策和任务实现提供信息。
●支持企业信息系统的整体性规划,并对系统的各子系统的协调和通信提供保证。
●方法的实践有利于提高企业人员整体观察问题的能力,从而有利于寻找到改进企业组织的途径。
自顶向下方法的缺点是:
●对系统分析和设计人员的要求较高。
●开发周期长,系统复杂,一般属于一种高成本、大投资的工程。
●对于大系统而言,自上而下的规划对于下层系统的实施往往缺乏约束力,
●从经济角度来看,很难说自顶向下的做法在经济上是合算的。


出题概率:★
130137


|上一篇(4.第六、七章)|目录|

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章