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

面试题 相关文章推荐
为什么要优先使用同步代码块而不是同步方法?
Jan 30 面试题
Java中实现多态的机制
Aug 09 面试题
对于没有初始化的变量的初始值可以作怎样的假定
Oct 12 面试题
当我正在为表建立索引的时候,SQL Server 会禁止对表的访问吗
Apr 28 面试题
介绍一下sql server的安全性
Aug 10 面试题
WEB控件及HTML服务端控件能否调用客户端方法?如果能,请解释如何调用?
Aug 25 面试题
C#笔试题集合
Jun 21 面试题
C#中有没有运算符重载?能否使用指针?
May 05 面试题
什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么?
Jan 19 面试题
国外软件测试工程师面试题
Dec 09 面试题
设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。
Dec 30 面试题
介绍下java.util.Arrays类
Oct 16 面试题
客服端调用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 时间计算问题小结
2009/01/04 PHP
mayfish 数据入库验证代码
2010/04/30 PHP
PHP迭代器接口Iterator用法分析
2017/12/28 PHP
PHP基于phpqrcode类生成二维码的方法示例详解
2020/08/07 PHP
js使用数组判断提交数据是否存在相同数据
2013/11/27 Javascript
关闭页面时window.location事件未执行的原因分析及解决方案
2014/09/01 Javascript
Javascript中3个需要注意的运算符
2015/04/02 Javascript
深入理解$.each和$(selector).each
2016/05/15 Javascript
jQuery on()方法绑定动态元素的点击事件实例代码浅析
2016/06/16 Javascript
过期软件破解办法实例详解
2017/01/04 Javascript
jQuery弹出层插件popShow用法示例
2017/01/23 Javascript
ES6数组的扩展详解
2017/04/25 Javascript
javascript中mouseenter与mouseover的异同
2017/06/06 Javascript
vue.js+element-ui动态配置菜单的实例
2018/09/07 Javascript
详解Vue CLI3配置解析之css.extract
2018/09/14 Javascript
解决axios会发送两次请求,有个OPTIONS请求的问题
2018/10/25 Javascript
实例讲解JS中pop使用方法
2019/01/27 Javascript
从零到一详聊创建Vue工程及遇到的常见问题
2019/04/25 Javascript
详解可以用在VS Code中的正则表达式小技巧
2019/05/14 Javascript
vue实现分环境打包步骤(给不同的环境配置相对应的打包命令)
2019/06/04 Javascript
js图片查看器插件用法示例
2019/06/22 Javascript
layui实现数据表格点击搜索功能
2020/03/26 Javascript
微信小程序实现锚点功能
2019/11/20 Javascript
Python使用smtplib模块发送电子邮件的流程详解
2016/06/27 Python
分析python动态规划的递归、非递归实现
2018/03/04 Python
PyTorch学习笔记之回归实战
2018/05/28 Python
python代码过长的换行方法
2018/07/19 Python
python实现通过队列完成进程间的多任务功能示例
2019/10/28 Python
Windows10下Tensorflow2.0 安装及环境配置教程(图文)
2019/11/21 Python
python解压zip包中文乱码解决方法
2020/11/27 Python
HealthElement海外旗舰店:新西兰大卖场
2018/02/23 全球购物
兰蔻法国官方网站:Lancôme法国
2020/02/22 全球购物
大学生军训自我评价分享
2013/11/09 职场文书
大学新闻系应届生求职信
2014/06/02 职场文书
2014年惩防体系建设工作总结
2014/12/01 职场文书
JavaScript实现简单计时器
2021/06/22 Javascript