当前位置:文档之家› 中间件复习资料顾秀坚.doc

中间件复习资料顾秀坚.doc

1、试描述分布式系统的三层结构,并简要分析三层结构相比两层结构的特点和优势。

所谓三层体系结构,是在客户端与数据库之间加入了一个“中间层”,也叫组件层。

三层体系的应用,程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理.通常情况下,客户端不一直接与数据库进行交互,而是通过中间层与数据库进行交互。

特点优势:
1、由于数据访问时通过中间层进行的,因此客户端不在于数据库直接建立连接,也就是说,建立在数据库服务器上的连接数量将大大减少
2、可维护性得以提高。

因为业务规则、合法性校验存在于中间层,因此当业务规则发生改变时,只需要更改中间层服务器上的某个组件,而客户端应用程序不需要做任何处理。

3、良好的可重用性。

如果需要开发B/S应用,则不必要重新进行数据访问、业务规则等的开发,可以直接在WEB服务器端调用现有的中间层。

4、事务处理更加灵活,可以在数据库端、组件层、MTS管理器中进行事务处理。

2、在EJB中,开发人员可以开发的会话构件(Session Bean)分为无状态会话构件(Stateless Session Bean)和有状态会话构件(Stateful Session Bean)。

1)说明无状态会话构件与有状态会话构件的主要区别
有状态bean
表示客户与系统交互的短暂对象,操作完成后被删除
可以在不同的方法调用间保持针对各个客户端的状态,维护会话状态。

与客户端的联系必需被维持;通常开销较大。

有状态会话Bean会保存客户端的状态。

无状态bean
不在客户请求之间维护状态信息
所有无状态会话Bean的实例都是相同的(无状态会话Bean能支持多个客户端
在不同方法调用间不保留任何状态。

事务处理必须在一个方法中结束。

通常资源占用较少;可以被共享(因为它是无状态的)。

无状态Bean不会〃专门〃保存客户端的状态
创建一个存储过程名称:prostudentcity,参数:@city,功能:根据给出的城市的不同,显示不同的信息
创建存储过程progetnamebyid,参数:@stuid,功能:显示学生的姓名
在student数据库中,创建一个名称为
myproc的存储过程,该存储过程的功能是从
数据表studentjnfo中衍旬所有男同学的信
息。

USE student
GO
CREATE PROCEDURE myproc AS
SELECT * FROM studentjnfo WHERE sex ='
男'
GO
・2、创建带有参数的存储过程
例:在student数据库中,创建一个名称为InsertRecord的存储过程,该存储过程的功能是向数据表studjnfo中插入一条记录,新记录的值由参数提供。

USE student
GO
CREATE PROCEDURE InsertRecord
(
@sno char(6),
@sn char(20),
@age numeric(5),
@sex char(2),
@dept char(10)
)
AS
INSERT INTO studjnfo
VALUES(@sno,@sn,@sex,@age,@dept) GO
•3、创建具有参数默认值的存储过程
例:在student数据库中,创建一个名称为InsertRecordDef的存储过程,该存储过程的功能是向数据表student中插入一条记录,新记录的值由参数提供,如果未提供系别dept 的值时,由参数的默认值代替。

USE student
GO
CREATE PROCEDURE InsertRecordDef
(
@sno char(6),
@sn char(20),
@age numeric(5),
@sex char(2),
@dept char(10)=无
)
AS
INSERT INTO studjnfo
VALUES(@sno,@sn, @sex , @age, @dept) GO
EJB组件有哪几种?其特点分别是什么?EJB组件:会话bean (维护会话):表
示客户同应用之间进行的会话,是一种商业处理过程对
象。

实体bean(处理事务):代表商业过程中处理的永久性的数据。

消息驱动Beans (Message-driven Beans):结合了会话bean 和
JMS的消息监听器的特性,可异步接收JMS消息。

特点:会话bean (维护会话): -运
行在服务器端,其数据需要自己管理-客户
通过session bean上的方法来同应用的业务逻辑层上的组件进行交互-Session bean是短暂的,且只有在与之关联的会话存在时才存在・
会话Bean代表的是调用它的客户程序所完成的工作,是商务过程对象。

-他们执行商务逻辑、商务规则、算法和工作流程,他们是包含商
务逻辑过程的可重用组件。

中间件复习题
9 实体bean:■表示存储在永久性数据存储位置的业务数据,是持久的对象。

■与会话bean不同,实体bean不维护客户端状态-实体bean实例映射到存储在关系数据库表中的一行数据•实体bean每一个实例都具有唯一的标识(主键)■更复杂的entity bean可以代表数据库表间关联视图。

■实体bean对象的存活时间与它们相关联的数据实体-样长,持续到它们表示的实体实际从永久性存储器中删除时对象■与会话bean不同,实体可由多个客户共享消息bean:与其他BEAN区别 -不能由客户直接调用,由容器异步调用•没有远程或本地接口■类似于无状态的会话BEAN
2层和3层系统的特点是什么?2层结构存在很多缺陷:1 .客户端的负担仍比较重:
仍然需要客广端进行较复杂的数据处理2.客户端的可移植性不好:处理复杂必然牵涉更多的移植性问题;每个客户端上都要安装数据库驱动程序中间件复习题
12 3.系统的可维护性不好:客户端包含过多的商业逻辑;商业逻辑与人机交互界面交织在一•起4.数据的安全性3层结构的优点:除了更合理的分配任务外,3层结构还具有如下优点:1 .将业务逻辑放置在中间层可以提高系统的性能,使中间层的业务逻辑处理与数据层的业务数据紧密结合在一起,而无需考虑客户的具体位置。

2.添加新的中间层服务器能够满足新增客户机的需求,可以大大提高3层系统的可伸缩性。

3.将业务逻辑从客户端移到中间层,在客户层的应用程序与数据层的数据库之间增加了-•层,这样客户端的应用程序可以独立于数据层的数据库。

4.将业务逻辑致于中间层,从而使业务逻辑集中到一处。

而在2层方式下,业务逻辑被分散到所有的客户机上(除非使用存储过程)o这样做是不可取的,因为业务规则是动态变化的,而对于这些业务而言,规范乂是强制性的,所以, 将业务逻辑分散到整个客户层的客户机上会使实施过程变得非常困难。

5 .大量的中间层中间件平台提供丰富的系统级服务,使得开发人员可以以更少的匚作量开发出更复杂、可靠、高效的软件系统。

RPC调用的缺点
-(1)客户端与服务器端需要同时在线;
-(2)客户端需要知道服务器端的调用接口,若调用接口发生改变,客户端需要做相应变化,如通过ODBC连接访问数据库,客户端需要知道远程数据摩的类型,若类型发生改变,还需要重新装载相应的驭动程序。

■ (3)操作过程中需要一直保持与服务器端的连接,直到操作结束。

因而,
' 〈a)—旦连接中断,就意味着操作失败或数据丢失;
~ (成通常判断连接中断的时间较长,若信道的可靠性较差,容易造成连接中断,那么应用效率将严重低下;
~ (C)服务器端在执行操作的过程中,并不涉及网上数据传输,但连接的保持占用信道,容易造成网络堵塞。

相关主题