分享
 
 
 

什么是EJB

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

(来源:http://www.ibm.com.cn)

1.什么是 EJB?

一个技术规范:EJB 从技术上而言不是一种"产品"

EJB 是一种标准描述了构建应用组件要解决的:

可扩展 (Scalable)

分布式 (Distributed)

事务处理 (Transactional)

数据存储 (Persistent)

安全性 (Secure)

2.Sun 对 EJB 的期望

提供一个标准的分布的、基于 OO 的组件架构

屏蔽复杂的系统级功能需求

Write once, run anywhere

与非 Java 应用之间的互操作能力

兼容 CORBA 标准

3.为什么选择 EJB?

EJB 服务器完成"繁杂"的工作:应用开发人员关注于业务逻辑的实现而不是底层的实现机制(类似于 4GL 语言设计的目标)

支持事务处理

多个业务操作同时成功,或全部失败

可以通过在代码外的描述来定义事务处理级别

可扩展性

EJB 可以根据您应用的增长而扩展

EJB 服务器往往还提供了负载均衡和

安全性:由 EJB 服务器提供资源的访问权限控制

4.EJB 架构

为了满足架构的目标,规范中描述了

服务器 (Server)

容器 (Container)

类 (Class) 和实例 (Instance)

Home 和 Remote 接口

客户端 (Client)

5. 简化的编程模型

关注于业务逻辑实现:EJB 负责生命周期 (lifecycle), 数据存储 (persistence), 事务处理语义 (transactional semantic), 安全(security), ...

通用的编程模型:各种服务的高层 API

Java 是其编程语言

1.EJB 特点

由一个 EJB 容器在运行时创建和治理 EJB

在部署 EJB 时定制其运行方式

由 EJB 容器和服务器来协调客户端的访问

可以部署到任何兼容的 EJB 容器中

客户端对 EJB 的视图是由 Bean 开发人员决定的

2.EJB 服务器

治理 EJB 容器 (它治理 Bean)

提供对操作系统服务的存取

提供 Java 相关的服务,尤其是

通过 JNDI 访问命名空间

基于 OTS 的事务处理服务

3.EJB 容器

治理 Bean 生命周期:将 EJB 服务器提供的服务传递给 Bean

生成代码来实现对 Bean 的存取访问

强制事务处理的限制

创建、初始化和回收 Bean

治理持久数据的存储

对客户端而言 EJB 容器是透明的

4.在一个 EJB 服务器中的容器

目前容器通常是由 EJB 服务器本身提供的

在 EJB 1.0 或 1.1 规范中没有定义容器-到-服务器的接口

各厂商可以根据他们的见解来实现服务器和容器的各自责任

5.容器提供服务: 数据存储

容器决定何时载入/储存状态

Container-Managed Persistence(容器治理存储/CMP)

容器负责存储您的 Bean

容器生成必要的类和代码

Bean-Managed Persistence(Bean 治理存储/BMP)

Bean 开发人员提供存储代码

开发人员决定 如何存储, 容器仍然决定 何时进行

6.容器提供服务: 事务处理

可以由容器代理来实现

容器将得到业务逻辑方法的事务处理需求

容器提供事务控制代码

也可以由程序员通过代码实现

7.容器提供服务: 其它服务

其它服务包括

命名 (Naming)

安全 (Security)

线程治理 (Thread management)

这些服务由容器代理完成将减少应用开发人员的负担

8.分布式对象运算

远程对象被作为本地对象来处理:传递信息的方式不变,但开销更大

Enterprise JavaBeans 永远运行在服务器上:对 Bean 的访问永远是远程调用

9.Stub 和 Skeleton

由 EJB 生成:

"Stub" 对要传递出去的信息编码

"Tie/Skel" 将接受到的信息解码并传递给目标对象

10.分类: Enterprise JavaBeans

+---Entity Beans--CMP/BMP

Ejb--

+---Session Beans--Stateful/Stateless

会话 Bean (Session Bean):根据 EJB 规范,一个会话 Bean 是:

代表单个客户端来执行

可以参与到事务处理中

不直接代表共享于数据库中的数据,但它能访问和更新这些数据

相对而言是短暂存在的

当 EJB 容器失效后就不存在---客户端需要重新建立一个信新的会话对象来继续运算

实体 Bean (Entity Bean):根据 EJB 规范,一个实体 Bean 是:

提供在数据库中数据的对象视图

答应被多个用户共享存取访问

可以是长期存在 (只要它存在于数据库中)

实体 Bean, 它的主键对象, 以及它的远程引用将能跨 EJB 容器的宕机而存在

11.EJB 类和实例

构建 EJB 应用包括来自三方的代码

开发人员编写的代码

由 EJB API 定义的类和接口

由容器自动生成的代码

开发人员编写的代码包括

Bean 类 (定义了业务逻辑)

Home 接口 (如何查找或创建 bean)

Remote 接口 (如何存取 bean)

其它组件,根据 bean 实际要求

12.EJB Home 接口

每个 bean 有一个

用于:创建新的 bean 实例、查找现存的 bean (只能是实体 bean)

Remote 接口:定义 bean 的公共接口---只有在 Remote 接口中定义的方法才能被客户端访问

EJB 客户端

可以为 servlet, jsp, 应用程序或其它 bean

通过 JNDI 来查找 EJB home 接口,步骤为:

创建一个 JNDI Context (initial context)

使用 JNDI Context 来查找 bean home 接口

使用 bean home 接口来创建/查找 bean 实例

使用 bean 实例完成业务操作

实际的存取 (对 EJB) 是通过容器生成的类来完成

EJB 架构

客户端对 bean 访问永远不是直接的

EJBObject (tie) 是由容器自身提供的:用来帮助治理 bean 的生命周期

EJB 中的角色

EJB 服务器供给商: 开发并销售 EJB 服务器

EJB 容器供给商: 开发并销售 EJB 容器

Enterprise bean 开发人员: 开发并销售 EJB

应用组装人员: 将不同的 EJB 搭建成应用

部属人员: 使用相应工具在运行环境下配置 EJB

系统治理员: 监视运行时情况

***************

*您学到了哪些?*

***************

EJB 是构建健壮,可扩展并支持事务处理的分布式对象技术规范

有两种类型的 EJB: Session Bean 和 Entity Bean

一个 EJB 服务器使用 EJB 容器;容器来治理其所包容 bean 的生命周期

每个 bean 将有三个类: bean 类, home 接口和 remote 接口

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有