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

面试题 相关文章推荐
如何用Lucene索引数据库
Feb 23 面试题
类的核心特性有哪些
Jan 01 面试题
在什么时候需要使用"常引用"
Dec 31 面试题
WEB控件及HTML服务端控件能否调用客户端方法?如果能,请解释如何调用?
Aug 25 面试题
程序集与命名空间有什么不同
Jul 25 面试题
什么是三层交换,说说和路由的区别在那里
Sep 01 面试题
Can a struct inherit from another struct? (结构体能继承结构体吗)
Sep 25 面试题
C# .NET面试题
Nov 28 面试题
简述进程的启动、终止的方式以及如何进行进程的查看
Jul 12 面试题
如何拷贝一整个Java对象,包括它的状态
Dec 27 面试题
META-INF文件夹中的MANIFEST.MF的作用
Jun 21 面试题
这76道Java面试题及答案,祝你能成功通过面试
Apr 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数组的概述及分类与声明代码演示
2013/02/26 PHP
php中使用Ajax时出现Error(c00ce56e)的详细解决方案
2014/11/03 PHP
PHP+MySQL实现的简单投票系统实例
2016/02/24 PHP
php 中的closure用法详解
2017/06/12 PHP
laravel5.4利用163邮箱发送邮件的步骤详解
2017/09/22 PHP
PHPTree――php快速生成无限级分类
2018/03/30 PHP
javascript 命名规则 变量命名规则
2010/02/25 Javascript
jquery写个checkbox——类似邮箱全选功能
2013/03/19 Javascript
jquery获取URL中参数解决中文乱码问题的两种方法
2013/12/18 Javascript
js的toUpperCase方法用法实例
2015/01/27 Javascript
jQuery删除一个元素后淡出效果展示删除过程的方法
2015/03/18 Javascript
JavaScript使用addEventListener添加事件监听用法实例
2015/06/01 Javascript
Bootstrap框架动态生成Web页面文章内目录的方法
2016/05/12 Javascript
如何在JS中实现相互转换XML和JSON
2016/07/19 Javascript
BootstrapValidator实现注册校验和登录错误提示效果
2017/03/10 Javascript
VUE axios上传图片到七牛的实例代码
2017/07/28 Javascript
React + webpack 环境配置的方法步骤
2017/09/07 Javascript
vue.js的vue-cli脚手架中使用百度地图API的实例
2019/01/21 Javascript
javascript获取元素的计算样式
2019/05/24 Javascript
在Python中使用PIL模块对图片进行高斯模糊处理的教程
2015/05/05 Python
Pytorch 的损失函数Loss function使用详解
2020/01/02 Python
PyCharm2020最新激活码+激活码补丁(亲测最新版PyCharm2020.2激活成功)
2020/11/25 Python
Pandas直接读取sql脚本的方法
2021/01/21 Python
如何用Matlab和Python读取Netcdf文件
2021/02/19 Python
基于DOM+CSS3实现OrgChart组织结构图插件
2016/03/02 HTML / CSS
英国电子产品购物网站:TobyDeals
2018/07/30 全球购物
如何用SQL语句进行模糊查找
2015/09/25 面试题
中专生自我鉴定
2013/12/17 职场文书
《九色鹿》教学反思
2014/02/27 职场文书
网络管理专业求职信
2014/03/15 职场文书
教师考核评语
2014/04/28 职场文书
基层党支部公开承诺书
2014/05/29 职场文书
2014年人事科工作总结
2014/11/19 职场文书
SQL优化老出错,那是你没弄明白MySQL解释计划用法
2021/11/27 MySQL
redis sentinel监控高可用集群实现的配置步骤
2022/04/01 Redis
Redis+AOP+自定义注解实现限流
2022/06/28 Redis