介绍一下EJB的体系结构


Posted in 面试题 onAugust 01, 2012
EJB的上层的分布式应用程序是基于对象组件模型的,低层的事务服务用了API技术。EJB技术简化了用JAVA语言编写的企业应用系统的开发,配置,和执行。EJB的体系结构的规范由Sun Microsystems公司制定。Inprise的EJB容器是基于1.1版的规范。
EJB技术定义了一组可重用的组件:Enterprise Beans。你可以利用这些组件,象搭积木一样的建立你的分布式应用程序。当你把代码写好之后,这些组件就被组合到特定的文件中去。每个文件有一个或多个Enterprise Beans,在加上一些配置参数。最后,这些Enterprise Beans被配置到一个装了EJB容器的平台上。客户能够通过这些Beans的home接口,定位到某个beans,并产生这个beans的一个实例。这样,客户就能够调用Beans的应用方法和远程接口。
EJB服务器作为容器和低层平台的桥梁管理着EJB容器和函数。它向EJB容器提供了访问系统服务的能力。例如:数据库的管理和事务的管理,或者对于其它的Enterprise的应用服务器。
所有的EJB 实例都运行在EJB容器中。容器提供了系统级的服务,控制了EJB的生命周期。因为容器掌握了绝大多数系统级的issues(呵呵,不知道怎么翻译)。Enterprise Beans 的开发者不需要应用逻辑考虑进来。通常来说,EJB容器掌握了以下的系统级issues.
1、Security–配置描述器(The Deployment descriptor)定义了客户能够访问的不同的应用函数。容器通过只允许授权的客户访问这些函数来达到这个效果。
2、Remote Connectivity–容器为远程链接管理着低层的通信issues,而且对Enterprise Beas的开发者和客户都隐藏了通信issues.Enterprise Beans的开发者在编写应用方法的时候,就象是在条用本地的平台一样的。客户也不清楚他们调用的方法可能是在远程被处理的。
3、Life Cycle managment–客户简单的创建一个Enterprise beans的实例,并通常取消一个实例。而容器管理着Enterprise Beans的实例,使Enterprise Beans实现最大的效能和内存利用率。容器能够这样来激活和去活Enterprise Beans,保持众多客户共享的实例池。等等。
4、Trasction management—配置描述器定义了Enterprise beans 的事务处理的需求。容器管理着那些管理分布式事务处理的复杂的issues。这些事务可能要在不同的平台之间更新数据库。容器使这些事务之间互相独立,互不干扰。保证所有的更新数据库都是成功发生的,否者,就回滚到事务处理之前的状态。

Tags in this post...

面试题 相关文章推荐
Java中实现多态的机制
Aug 09 面试题
JAVA代码查错题
Oct 10 面试题
编码实现字符串转整型的函数
Jun 02 面试题
SQL Server 2000数据库的文件有哪些,分别进行描述
Mar 30 面试题
金士达面试非笔试
Mar 14 面试题
C#里面如何判断一个Object是否是某种类型(如Boolean)?
Feb 10 面试题
EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的
Jul 24 面试题
EJB面试题
Jul 28 面试题
线程问题:wait()方法是定义在哪个类里面
Jul 07 面试题
写一个方法,输入一个文件名和一个字符串,统计这个字符串在这个文件中出现的次数
Apr 13 面试题
java程序员面试交流
Nov 29 面试题
Java面试题冲刺第十八天--Spring框架3
Aug 07 面试题
客服端调用EJB对象的几个基本步骤
Jan 15 #面试题
在weblogic中发布ejb需涉及到哪些配置文件
Jan 17 #面试题
如何查看在weblogic中已经发布的EJB
Jun 01 #面试题
分别介绍一下Session Bean和Entity Bean
Mar 13 #面试题
EJB2和EJB3在架构上的不同点
Sep 29 #面试题
比较一下entity bean和session bean
Dec 27 #面试题
介绍一下RMI的基本概念
Dec 17 #面试题
You might like
十天学会php之第二天
2006/10/09 PHP
PHP 模拟$_PUT实现代码
2010/03/15 PHP
Yii框架弹出框功能示例
2017/01/07 PHP
PHP 中常量的知识整理
2017/04/14 PHP
PHP获取二叉树镜像的方法
2018/01/17 PHP
thinkPHP5框架路由常用知识点汇总
2019/09/15 PHP
Alliance vs Liquid BO3 第二场2.13
2021/03/10 DOTA
Javascript 日期对象Date扩展方法
2009/05/30 Javascript
Jquery中对数组的操作代码
2011/08/12 Javascript
前台js改变Session的值(用ajax实现)
2012/12/28 Javascript
caller和callee的区别介绍及演示结果
2013/03/10 Javascript
javascript 处理null及null值示例
2014/06/09 Javascript
jquery append()方法与html()方法的区别及使用介绍
2014/08/01 Javascript
JS基于Mootools实现的个性菜单效果代码
2015/10/21 Javascript
jquery实现的伪分页效果代码
2015/10/29 Javascript
js获取及判断键盘按键的方法
2015/12/01 Javascript
简单实现nodejs上传功能
2017/01/14 NodeJs
js实现延迟加载的几种方法详解
2019/01/19 Javascript
[01:11:37]完美世界DOTA2联赛PWL S2 SZ vs FTD.C 第一场 11.19
2020/11/19 DOTA
python实现简单的计时器功能函数
2015/03/14 Python
轻松理解Python 中的 descriptor
2017/09/15 Python
基于Django URL传参 FORM表单传数据 get post的用法实例
2018/05/28 Python
Python爬虫实战之12306抢票开源
2019/01/24 Python
Python中用pyinstaller打包时的图标问题及解决方法
2020/02/17 Python
将数据集制作成VOC数据集格式的实例
2020/02/17 Python
pandas参数设置的实用小技巧
2020/08/23 Python
python中entry用法讲解
2020/12/04 Python
CSS3圆角边框和边界图片效果实例
2016/07/01 HTML / CSS
美国木工工具和用品商店:Woodcraft
2019/10/30 全球购物
用Python匹配HTML tag的时候,<.*>和<.*?>有什么区别
2012/11/04 面试题
大学生物业管理求职信
2013/10/24 职场文书
工作说明书范文
2014/05/07 职场文书
文明礼貌演讲稿
2014/05/12 职场文书
经贸日语专业自荐信
2014/09/02 职场文书
2015年扶贫帮困工作总结
2015/05/20 职场文书
2019企业文化管理制度范本!
2019/08/06 职场文书