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

面试题 相关文章推荐
JSF面试题:Jsf中导航的标签是什么
Apr 20 面试题
C语言编程题
Mar 09 面试题
广州品高软件.net笔面试题目
Apr 18 面试题
什么是Smart Navigation?
Jul 03 面试题
广州一家公司的.NET面试题
Jun 11 面试题
简述使用ftp进行文件传输时的两种登录方式?它们的区别是什么?常用的ftp文件传输命令是什么?
Nov 20 面试题
C#笔试题集合
Jun 21 面试题
override和overload的区别
Mar 09 面试题
如何写出高质量、高性能的MySQL查询
Nov 17 面试题
介绍下static、final、abstract区别
Jan 30 面试题
J2EE模式面试题
Oct 11 面试题
Ruby中的保护方法和私有方法与一般面向对象程序设计语言的一样吗
May 01 面试题
客服端调用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
ThinkPHP模板输出display用法分析
2014/11/26 PHP
PHP内置的Math函数效率测试
2014/12/01 PHP
谈谈PHP中substr和substring的正确用法及相关参数的介绍
2015/12/16 PHP
微信支付扫码支付php版
2016/07/22 PHP
php rmdir使用递归函数删除非空目录实例详解
2016/10/20 PHP
php实现多维数组排序的方法示例
2017/03/23 PHP
PHP实现批量删除(封装)
2017/04/28 PHP
PHP日期和时间函数的使用示例详解
2020/08/06 PHP
js监听表单value的修改同步问题,跨浏览器支持
2009/12/31 Javascript
CSS和Javascript简单复习资料
2010/06/29 Javascript
jquery 文本上下无缝滚动,鼠标放上去就停止 小例子
2013/06/05 Javascript
JavaScript调试技巧之console.log()详解
2014/03/19 Javascript
php,js,css字符串截取的办法集锦
2014/09/26 Javascript
jQuery中each()方法用法实例
2014/12/27 Javascript
jquery UI Datepicker时间控件的使用方法(终结版)
2015/11/07 Javascript
JavaScript文档碎片操作实例分析
2015/12/12 Javascript
如何使用headjs来管理和异步加载js
2016/11/29 Javascript
jquery对所有input type=text的控件赋值实现方法
2016/12/02 Javascript
JavaScript中利用构造器函数模拟类的方法
2017/02/16 Javascript
Node.js使用Koa搭建 基础项目
2018/01/08 Javascript
浅谈VUE-CLI脚手架热更新太慢的原因和解决方法
2018/09/28 Javascript
vue实现类似淘宝商品评价页面星级评价及上传多张图片功能
2018/10/29 Javascript
基于Fixed定位的框选功能的实现代码
2019/05/13 Javascript
vue-cli随机生成port源码的方法
2019/09/02 Javascript
Python数组遍历的简单实现方法小结
2016/04/27 Python
python paramiko模块学习分享
2017/08/23 Python
Pandas标记删除重复记录的方法
2018/04/08 Python
python flask框架实现传数据到js的方法分析
2019/06/11 Python
Python填充任意颜色,不同算法时间差异分析说明
2020/05/16 Python
使用Pycharm在运行过程中,查看每个变量的操作(show variables)
2020/06/08 Python
SQL面试题
2013/04/30 面试题
个人思想理论学习的自我鉴定
2013/11/30 职场文书
《孔子拜师》教学反思
2014/02/24 职场文书
班干部竞选演讲稿
2014/04/24 职场文书
2014学习优秀共产党员先进事迹思想汇报
2014/09/14 职场文书
2019年员工晋升管理制度范本!
2019/07/08 职场文书