介绍一下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...

面试题 相关文章推荐
PHP解析URL是哪个函数?怎么用?
May 09 面试题
JRE、JDK、JVM之间的关系怎样
May 16 面试题
益模软件Java笔试题
Mar 27 面试题
SQL SERVER面试资料
Mar 30 面试题
网络编程中设计并发服务器,使用多进程与多线程,请问有什么区别?
Mar 27 面试题
数字天堂软件测试面试题
Dec 23 面试题
软件生产职位结构化面试主要考察要素及面试题库
Jun 12 面试题
用Python写一个for循环的例子
Jul 19 面试题
Python如何定义一个函数
Sep 01 面试题
如何唤起类中的一个方法
Nov 29 面试题
UNIX操作系统结构由哪几部分组成
Feb 17 面试题
在DELPHI中调用存储过程和使用内嵌SQL哪种方式更好
Nov 22 面试题
客服端调用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源码加密 仿微盾PHP加密专家(PHPCodeLock)
2010/05/06 PHP
Yii框架登录流程分析
2014/12/03 PHP
ThinkPHP V2.2说明文档没有说明的那些事实例小结
2015/07/01 PHP
php去掉文件前几行的方法
2015/07/29 PHP
php根据地址获取百度地图经纬度的实例方法
2019/09/03 PHP
PHP pthreads v3下同步处理synchronized用法示例
2020/02/21 PHP
php开发最强大的IDE编辑的phpstorm 2020.2配置Xdebug调试的详细教程
2020/08/17 PHP
学习YUI.Ext基础第一天
2007/03/10 Javascript
javascript 原型继承介绍
2011/08/30 Javascript
使用jQuery实现星级评分代码分享
2014/12/09 Javascript
详述JavaScript实现继承的几种方式(推荐)
2016/03/22 Javascript
AngularJS实践之使用NgModelController进行数据绑定
2016/10/08 Javascript
NodeJS整合银联网关支付(DEMO)
2016/11/09 NodeJs
微信小程序实现页面跳转传值以及获取值的方法分析
2017/12/18 Javascript
微信小程序实现上传图片功能
2018/05/28 Javascript
vue项目使用微信公众号支付总结及遇到的坑
2018/10/23 Javascript
js new Date()实例测试
2019/10/31 Javascript
python支持断点续传的多线程下载示例
2014/01/16 Python
pandas创建新Dataframe并添加多行的实例
2018/04/08 Python
使用Python更换外网IP的方法
2018/07/09 Python
Python的条件表达式和lambda表达式实例
2019/01/31 Python
使用Python opencv实现视频与图片的相互转换
2019/07/08 Python
Python 高效编程技巧分享
2020/09/10 Python
python按照list中字典的某key去重的示例代码
2020/10/13 Python
详解CSS3中常用的样式【基本文本和字体样式】
2020/10/20 HTML / CSS
高校毕业生登记表自我鉴定
2013/11/03 职场文书
高一数学教学反思
2014/02/07 职场文书
抵押贷款承诺书
2014/05/30 职场文书
应届生求职自荐信
2014/07/04 职场文书
党的群众路线教育实践活动领导班子整改措施
2014/09/30 职场文书
镇副书记专题民主生活会对照检查材料思想汇报
2014/10/02 职场文书
干部培训工作总结2015
2015/05/25 职场文书
党课主持词大全
2015/06/30 职场文书
详解Vue router路由
2021/11/20 Vue.js
vue css 相对路径导入问题级踩坑记录
2022/06/05 Vue.js
Pytorch中expand()的使用(扩展某个维度)
2022/07/15 Python