什么是EJB
学习EJB可以加深对J2EE平台的认识。
百科定义EJB:
被称为java企业bean,服务器端组件,核心应用是部署分布式应用程序。用它部署的系统不限定平台。实际上ejb是一种产品,描述了应用组件要解决的标准
标准:
- 可扩展 (Scalable)
- 分布式 (Distributed)
- 事务处理(Transactional)
- 数据存储(Persistent)
- 安全性 (Secure)
J2EE的体系结构
其中EJB属于J2EE体系结构中的业务逻辑部分
EJB构成
EJB容器中有三种类也称为组件,分别是
Session bean(逻辑)
EntityBean(数据)
messageDrivenbean(消息)
上图中可以看到
1 组件是在容器中的。容器提供了组件的环境并对其进行管理。
2 调用组件的被称为ejb客户端。客户端可以运行在web容器中。如jsp,servlet,jndi,web service等
实现逻辑
实现逻辑组件中有各种抽象的方式。这样通过客户端的调用实现了业务的封装
实现分布式
首先要认识到RMI技术(远程调用),EJB的基础是RMI,通过RMI,J2EE将EJB组件创建为远程对象,EJB虽然用到了RMI,但是只需要定义远程接口无需实现,这样就将RMI技术细节屏蔽了。
这种将需要特定执行的类,放在Ejb中并打包发送到服务器上,,客户端通过RMI技术到服务器上进行调用,这样就实现了分布式调用。
所谓的服务器群
既然已经知道了,RMI是将各种任务与功能的类放到不同的服务器上,然后通过各个服务器间建立的调用规则实现分布式的运算,也就明白EJB所谓的"服务群集"的概念。就是将原来在一个计算机上运算的几个类,分别放到其他计算机上去运行,以便分担运行这几个类所需要占用的CPU和内存资源。同时,也可以将不同的软件功能模块放到不同的服务器上,当需要修改某些功能的时候直接修改这些服务器上的类就行了,修改以后所有客户端的软件都被修改了
一个简单的分布式群图
小结:
EJB实现原理:就是把原来放到客户端实现的代码放到服务器端,并依靠RMI进行通信。
服务器集群:就是通过RMI的通信,连接不同功能模块的服务器,以实现一个完整的功能。
EJB规范定义了EJB组件在何时如何与它们的容器进行交互作用。容器负责提供公用的服务,例如目录服务、事务管理、安全性、资源缓冲池以及容错性。但这里值得注意的是,EJB并不是实现J2EE的唯一途径。
什么是EJB的更多相关文章
- NetBean 8 创建EJB
一. 介绍 百度了一下关于在NetBean开发环境里创建EJB的教程,没有找到好的例子,2天的调试过程,写下来帮助后人. EJB (Enterprise Java Bean) 是一套高扩展性的开发企业 ...
- J2EE基础之EJB
J2EE基础之EJB 1.什么是EJB? EJB(Enterprise Java Beans),是JavaEE中的商业应用组件技术,是JavaEE三大组件(Servlet,JSP,EJB) ...
- 2.一个EJB的小Demo
新建一个java普通项目即可 这里用到了Jboss,需要安装Jboss,然后进入jboss-4.2.3.GA\client目录,拷贝所有的jar包到本项目的lib下. 3个接口分别如下所示: publ ...
- 1.认识EJB
什么是EJB?1. Enterprice JavaBeans(EJB)是一个用于分布式业务应用的标准服务端组件模型. . 采用EJB架构编写的应用是可伸的.事务性的.多用户安全的. . 采用EJB编写 ...
- java.lang.IllegalStateException: Not allowed to create transaction on shared EntityManager - use Spring transactions or EJB CMT instead
java.lang.IllegalStateException: Not allowed to create transaction on sharedEntityManager - use Spri ...
- EJB之Timer
EJB Timer 要么: Annotation @Schedule 或者方法前声明@Timeout 要么: 在部署描述中定义timeout-method 如果是使用@Schedule, Timer在 ...
- EJB的调用
EJB调用.html :first-child{margin-top:0!important}img.plugin{box-shadow:0 1px 3px rgba(0,0,0,.1);border ...
- EJB 简介
EJB: 被称为java企业bean,服务器端组件,核心应用是部署分布式应用程序.用它部署的系统不限定平台.实际上ejb是一种产品,描述了应用组件要解决的标准 标准: 可扩展 (Scalable) ...
- EJB初识(通熟易懂)
转载自http://blog.csdn.net/jojo52013145/article/details/5783677,讲的很透彻,佩服,膜拜学习 1. 我们不禁要问,什么是"服务集群&q ...
- EJB 教程推荐
EJB教程 EJB概述 EJB创建应用 EJB无状态Bean EJB有状态会话Bean EJB持久性 EJB消息驱动Bean EJB注解 EJB回调 EJB定时器服务 EJB依赖注入 EJB拦截器 E ...
随机推荐
- 第一个MICO CORBA demo实录
因为忙于其他事情没有仔细去学习CORBA原理,也就大概根据网上的教程搭了一个使用MICO的demo 记录如下. 这里的话,代码我就不贴了,程序也不详细解释了,因为项目文件夹里有一个PPT详细解释了这个 ...
- (译)Getting Started——1.3.3 Working with Foundation(使用Foundation框架)
在你使用Objective-C语言开发应用时,你会发现在开发中,你会用到很多框架.尤其是Foundation框架,该框架为应用提供了最基础的服务.Foundation框架包括了代表着基本数据类型的va ...
- The Definitive Guide To Django 2 学习笔记(四) 动态URLs
前面的例子中,虽然时间是动态可变的,但它的URL却是静态的(/time/).很多时候,URL也是需要动态改变,然后展示出不通的内容来.现在我们就来创建一个可以动态改变URL的例子. 如果URLconf ...
- PHP——上传头像(2)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- Codeforces Round #429 (Div. 2) E. On the Bench
E. On the Bench time limit per test 2 seconds memory limit per test 256 megabytes input standard inp ...
- 【实验一 】Spring Boot 集成 hibernate & JPA
转眼间,2018年的十二分之一都快过完了,忙于各类事情,博客也都快一个月没更新了.今天我们继续来学习Springboot对象持久化. 首先JPA是Java持久化API,定义了一系列对象持久化的标准,而 ...
- python eval() hasattr() getattr() setattr() 函数使用方法详解
eval() 函数 --- 将字符串str当成有效的表达式来求值并返回计算结果. 语法:eval(source[, globals[, locals]]) ---> value 参数: sour ...
- json DateTime转换
前台: function ChangeDateFormat(jsondate) { jsondate = jsondate.replace("/Date(", "&quo ...
- oracle11g卸载,10g之类版本通用
鉴于oracle一些比较稀奇的问题,本人没碰到的不能帮忙解决的.而且比较着急赶时间的亲们,我就只能推荐先卸载在安装的办法了,这个方法一般用时也就1个小时到1个半小时之间,切记按步骤删除,别漏删了,不然 ...
- PHP手机号码归属地查询API接口
淘宝网 API地址: http://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel=15850781443 参数: tel:手机号码 返回:JSON ...