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

面试题 相关文章推荐
10条PHP编程习惯
May 26 面试题
接口中的方法可以是abstract的吗
Jul 23 面试题
ddl,dml和dcl的含义
May 08 面试题
杭州龙健科技笔试题.net部分笔试题
Jan 24 面试题
利达恒信公司.NET笔试题面试题
Mar 05 面试题
请解释接口的显式实现有什么意义
May 26 面试题
Javascript如何发送一个Ajax请求
Jan 26 面试题
什么是ARP(Address Resolution Protocol)地址解析协议
Oct 31 面试题
软件测试工程师结构化面试题库
Nov 23 面试题
为什么需要版本控制
Oct 28 面试题
主要的Ajax框架都有什么
Nov 14 面试题
UNIX文件名称有什么规定
Mar 25 面试题
客服端调用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+mysql 实现身份验证代码
2010/03/24 PHP
解析PHP实现下载文件的两种方法
2013/07/05 PHP
php中动态修改ini配置
2014/10/14 PHP
php通过function_exists检测函数是否存在的方法
2015/03/18 PHP
浅谈PHP发送HTTP请求的几种方式
2017/07/25 PHP
php 判断IP为有效IP地址的方法
2018/01/28 PHP
使两个iframe的高度与内容自适应,且相等
2006/11/20 Javascript
JS代码放在head和body中的区别分析
2011/12/01 Javascript
jquery自定义滚动条插件示例分享
2014/02/21 Javascript
仿淘宝TAB切换搜索框搜索切换的相关内容
2014/09/21 Javascript
Js可拖拽放大的层拖动特效实现方法
2015/02/25 Javascript
jQuery构造函数init参数分析续
2015/05/13 Javascript
在HTML中插入JavaScript代码的示例
2015/06/03 Javascript
特殊日期提示功能的实现方法
2016/06/16 Javascript
各式各样的导航条效果css3结合jquery代码实现
2016/09/17 Javascript
jquery ajaxfileupload异步上传插件使用详解
2017/02/08 Javascript
在vscode里使用.vue代码模板的方法
2018/04/28 Javascript
浅谈Vue 数据响应式原理
2018/05/07 Javascript
vuejs2.0运用原生js实现简单拖拽元素功能
2020/08/21 Javascript
解析原来浏览器原生支持JS Base64编码解码
2019/08/12 Javascript
vue中在vuex的actions中请求数据实例
2019/11/08 Javascript
Python自动重试HTTP连接装饰器
2015/04/28 Python
深入学习Python中的装饰器使用
2016/06/20 Python
Python队列的定义与使用方法示例
2017/06/24 Python
Python并发编程协程(Coroutine)之Gevent详解
2017/12/27 Python
一篇文章搞懂Python的类与对象名称空间
2018/12/10 Python
Django REST Framework之频率限制的使用
2019/09/29 Python
Python如何避免文件同名产生覆盖
2020/06/09 Python
python能自学吗
2020/06/18 Python
Python如何定义有可选参数的元类
2020/07/31 Python
HTML5实现预览本地图片
2016/02/17 HTML / CSS
管理科学大学生求职信
2013/11/13 职场文书
大型活动策划方案
2014/01/12 职场文书
有关打架的检讨书
2014/01/25 职场文书
入党积极分子党支部意见
2015/06/02 职场文书
Python之基础函数案例详解
2021/08/30 Python