对EJB的认识
对EJB的认识
接触EJB以来有一段时间了,走马观花一样把它所涉及到的东西看了一遍,随着深入了解越来越感觉到ejb的很强大,用了java后觉的java好用、学历SSH觉的比java好用、学了ejb觉的比ssh好用,至于它们什么关系,可以概括为后面的概念理解要依赖于前面,用EJB时间还不长不过已经对它有了一个新的定位,下面来让我们站在ejb的角度俯视ssh、java。
EJB相关概念
ejb既是J2EE的一种规范,又是一个特殊的java类(API、IDL一样,既是一个规范,又是一个实现)给一个类贴上规范化的标签就成了EJB类或者叫ejb组件,这种特殊的类需要一个更特殊的类来管理,以用来控制很多个我们自己建立的ejb类,这个更特殊的ejb类,我们可以称之为ejb容器,也可以叫做ejb组件、中间件都可以拿来叫,只不过概念侧重点不同。容器负责一些与业务逻辑无关而必须的功能,如事务、日志、安全、管理EJB和servlet的生命周期、数据库连接池、数据持久化等公共的服务,使得我们把主要精力放在业务逻辑上。
ejb容器相当于二次革命,大家都知道蒸汽机时代的到来,为生成提高了效率,工人们生产不再是一点一点的手工生产,而不是相当一部分工作让机器帮我们完成,我们可以把这个蒸汽机看做是ejb容器,它帮助我们完成了一些辅助性功能,不需要我们再手工开发,这样提高了我们的开发效率.
下面是我简单画的这些概念之间的基本关系,有的会有交叉、有的是包含关系,这只是一个一般关系也有一些特殊的没有包括在内。
从SSH到EJB
它们都是一种框架,作为框架都是为了解决某一方面的问题而出现,对于开发一般的项目不涉及到分布式用SSH可以完美解决,目前国内好多中小型公司都在使用这个框架开发项目,SSH属于轻量级框架即它的独立性高拿来就可以用,不会依赖于其它的一些软件,用框架开发本来的目前是为了解决开发的耦合性,使得开发越分散越有利于分工、简化开发,SSH的解决了ejb中的很多问题,如事务、日志、安全、注释等,不过还有些分布式没有解决,同ssh相比ejb是重量级框架要依赖容器运行,但是它也有它的优势,ejb为解决了项目的分布式逻辑调用,举个例子来说:如果一家公司总部设在北京,美国、上海、新加坡等有很多的子公司共用一套管理系统,如果新加坡的子系统想要调用北京总公司的系统接口,这种实现SSH是完不成的,而ejb可以完成这种跨网络的分布式互操作。
ejb也有它的缺陷,分布式调用的效率没有本地调用高,还要过多的依赖于网络通信、网络资源等,如果不是特别的大的系统,诸如电信、联通等用到ejb的时候还是比较少的,当然还有其他技术实现这种跨网络,甚至跨品太、跨语言调用,比如CORBA标准,很多厂商退出了自己的CORBA产品,为以后的分布式业务逻辑实现提供了广泛前景。
从下面可以看出ejb将业务逻辑分出来了运行在单独的EJB容器里面,这也说明他可以跨不同的电脑部署,业务逻辑、数据库可以部署在异地电脑上,这也是同ssh的主要区别。
也许你会觉的ejb功能这么强大,那么以后开发项目都用ejb吧,这也是没有必要可以说ejb是对ssh的补充和扩展,两者没有说谁一定会替代谁,就好比出现了java、C#、C++语言,就一定会淘汰掉VB吗?它们更有更得用处、有各自的市场,只是互补的关系,从ejb的发展来看它也在朝着既轻量又支持分布式的方向发展,没准ejb4.0会支持这一特点。
转自:https://www.cnblogs.com/lilongsheng1125/p/4978538.html
对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 ...
随机推荐
- D3介绍
D3介绍 D3是用来做web页面可视化的组件,其官方网址为http://d3js.org 安装 D3类库的文件只有一个d3.js.下载后直接在html的<script>标签中引用此js就可 ...
- addEventListener()和removeEventListener()
作用: addEventListener()与removeEventListener()用于处理指定和删除事件处理程序操作. 它们都接受3个参数:事件名.事件处理的函数和布尔值. 布尔值参数是true ...
- Restful的理解,Restful 优缺点
写一下我对restful的理解,最近换工作面试的时候有问到我restful api的东西,工作中以前很多项目也是webapi + js前台控件的形式构建系统.实际上感觉restful太“理想化”,用起 ...
- [APIO2018] Circle selection 选圆圈
Description 给出 \(n\) 个圆 \((x_i,y_i,r_i)\) 每次重复以下步骤: 找出半径最大的圆,并删除与这个圆相交的圆 求出每一个圆是被哪个圆删除的 Solution \(k ...
- Java ConcurrentModificationException异常原因和解决方法(转)
摘自:http://www.cnblogs.com/dolphin0520/p/3933551.html#undefined 在前面一篇文章中提到,对Vector.ArrayList在迭代的时候如果同 ...
- MySQL触发器基本介绍
基本简介: 1.触发器可以让你在执行insert,update,delete语句的时候,执行一些特定的操作.并且可以在MySQL中指定是在sql语句执行前触发还是执行后触发. 2.触发器没有返回值. ...
- Linux 上安装Docker 并部署netcor2.1
述 容器,顾名思义是用来存放并容纳东西的器皿: 而容器技术伴着Docker的兴起也渐渐的映入大家的眼帘,它是一个抽象的概念,同时也是默默存在世上多年的技术,不仅能使应用程序间完全的隔离,而且还能在共享 ...
- JS的Object类的属性、方法及如何创建对象
属性 constructor:对创建对象的函数的引用(指针).对于Object类,该指针指向原始的object()函数. prototype:对该对象的对象原型的引用.对于所有的类,它默认返回Obje ...
- Filter内容
1.利用Filter来过滤的时候大都是Http请求和Http响应,在doFilter()方法中,参数类是ServletRequest和ServletResponse ,使用的时候一般需要强制转换为H ...
- linux 添加开机自启动脚本
原文 Linux设置服务开机自动启动的方式有好多种,这里介绍一下通过chkconfig命令添加脚本为开机自动启动的方法. 1. 编写脚本autostart.sh(这里以开机启动redis服务为例),脚 ...