介绍一下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面试题附答案
Jun 05 面试题
C/C++程序员常见面试题二
Nov 19 面试题
指针和引用有什么区别
Jan 13 面试题
描述RIP和OSPF区别以及特点
Jan 17 面试题
铭立家具面试题
Dec 06 面试题
编程实现去掉XML的重复结点
May 28 面试题
C#的几个面试问题
May 22 面试题
Linux机考试题
Jul 17 面试题
在Ajax应用中信息是如何在浏览器和服务器之间传递的
May 31 面试题
如何用Java判断一个文件或目录是否存在
Nov 19 面试题
Java面试题:Java类的Main方法如果是Private将会怎么样
Aug 18 面试题
JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?
Oct 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之curl设置超时实例
2014/11/03 PHP
PHP编写daemon process详解及实例代码
2016/09/30 PHP
PHP基于GD2函数库实现验证码功能示例
2019/01/27 PHP
stripos函数知识点实例分享
2019/02/11 PHP
PHP实现获取url地址中顶级域名的方法示例
2019/06/05 PHP
CL vs ForZe BO5 第二场 2.13
2021/03/10 DOTA
用javascript连接access数据库的方法
2006/11/17 Javascript
共享自己写一个框架DreamScript
2007/01/20 Javascript
javascript编码的几个方法详细介绍
2013/01/06 Javascript
Javascript让DEDECMS告别手写Tag
2014/09/01 Javascript
JS简单实现移动端日历功能示例
2016/12/28 Javascript
深入理解vue-loader如何使用
2017/06/06 Javascript
微信小程序 input表单与redio及下拉列表的使用实例
2017/09/20 Javascript
Angular实现点击按钮后在上方显示输入内容的方法
2017/12/27 Javascript
vue中element组件样式修改无效的解决方法
2018/02/03 Javascript
vue头部导航动态点击处理方法
2018/11/02 Javascript
vue 之 css module的使用方法
2018/12/04 Javascript
javascript写一个ajax自动拦截并下载数据代码实例
2019/09/07 Javascript
使用vue引入maptalks地图及聚合效果的实现
2020/08/10 Javascript
详解Vue3.0 + TypeScript + Vite初体验
2021/02/22 Vue.js
[45:15]Optic vs VP 2018国际邀请赛淘汰赛BO3 第一场 8.24
2018/08/25 DOTA
Python标准库之多进程(multiprocessing包)介绍
2014/11/25 Python
widows下安装pycurl并利用pycurl请求https地址的方法
2018/10/15 Python
python 检查是否为中文字符串的方法
2018/12/28 Python
PyCharm中关于安装第三方包的三个建议
2020/09/17 Python
CSS3 画基本图形,圆形、椭圆形、三角形等
2016/09/20 HTML / CSS
美国顶尖折扣时尚购物网:Bluefly
2016/08/28 全球购物
三年级班级文化建设方案
2014/05/04 职场文书
关爱老人标语
2014/06/21 职场文书
2014教师个人自我评价范文
2014/09/13 职场文书
践行三严三实心得体会(2016推荐篇)
2016/01/06 职场文书
2016年六一文艺汇演开幕词
2016/03/04 职场文书
求职信:求职应该注意的问题
2019/04/24 职场文书
MySQL查询学习之基础查询操作
2021/05/08 MySQL
Grafana可视化监控系统结合SpringBoot使用
2022/04/19 Redis
MySQL提取JSON字段数据实现查询
2022/04/22 MySQL