什么是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 ...
随机推荐
- superobject 序列数据集
unit uDBJson; interface {$HINTS OFF} uses SysUtils, Classes, Variants, DB, DBClient, SuperObject; ty ...
- 如何用手机访问电脑上的html文件
如何用手机访问电脑上的html文件 梦唪 | 浏览 3876 次 推荐于2016-03-26 08:08:58 最佳答案 1,你得搭建服务器,用Apache或者IIS.2,把HTML文件放到服 ...
- Extjs的完成按钮和位置
this.toolbar.add('->') ---重点是这个箭头,他是控制位置的 this.CompleteDataAction = new Ext.Action({ text : '完成', ...
- springmvc中配置servlet初始化类
<bean id="InitStart" lazy-init="false" init-method="InitSystem" cl ...
- mybatis传多个参数实例
最近在做一个统计功能,有一个功能点:根据id更新某字段的值.那么就需要有两个参数,我的做法: dao层: int updateTaskCount(int taskCount,int id); 对应的m ...
- python post get请求
安装 Requests pip install requests import requests requests.get('https://github.com/timeline.json') 使用 ...
- vs的快捷键包含部分代码的自动生成
VS2010 快捷键 全屏:Shift+Alt+Enter注释选定内容:Ctrl+E+C/Crtr+E+U代码格式化:ctrl+E+F VS2008 使用小技巧——快捷键1. 怎样调整代码排版的格式? ...
- jQuery特效:图片的轮播
Flexslider图片轮播.文字图片相结合滑动切换效果 地址:http://www.helloweba.com/view-blog-265.html 示例:http://www.helloweba. ...
- MFC多国语言——资源DLL
此随笔中主要内容来自http://blog.csdn.net/china_hxx/article/details/10066655,原出处不详. 以下内容基于VC 6.0.要实现界面多语言化,必须要先 ...
- ThreadLocal分析
我们再介绍一个在多线程环境中经常使用的类ThreadLocal,它是java为解决多线程程序的并发问题提供了一种新的方向,使用这个ThreadLocal类可以帮助开发者很简单地编写出简洁的程序,并且是 ...