对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 (一) EJB在java世界的地位相关推荐

  1. ejb java_EJB继承与Java继承不同

    ejb java 尽管EJB继承有时使用Java继承,但事实并非总是如此. 就像您在我以前的文章中可以读到的那样 ,EJB不必实现任何接口即可公开业务接口. 反之亦然-仅仅是因为EJB实现了某个接口或 ...

  2. 当音乐学博士搞起编程,用一本书改变了Java世界!

    前言 说到Spring,也许现在的开发者们最先想到的是 Josh Long 超快的语速与现场代码能力,让很多Java开发者折服. 然后Spring的历史上,最传奇的还是要数其创始人:Rod Johns ...

  3. WildFly:如何从位于另一个应用程序中的 EJB 调用 EJB

    目录 创建 EJB 服务器项目 配置服务器依赖项(WildFly 18 及更高版本) 配置服务器依赖项(WildFly 11.12.13.14.15.16.17) 部署 EJB 服务器项目 创建 EJ ...

  4. 什么是EJB?EJB是基于哪些技术实现的?

    EJB(Enterprise JavaBean)是J2EE服务器端的组件模型,EJB包括会话Bean(Session Bean).实体Bean(Entity Bean).消息驱动Bean(Messag ...

  5. 程序员心中都有一个江湖,java世界,就是一个江湖!

    大千世界,无所不有.这世上不光有人类世界,还有咱们的 java 世界.今天就由我这个实习导游带领你们了解了解咱们的 java 世界的奇妙之处. 有一种暖男叫 catch,有一种真爱叫 try---ca ...

  6. JAVA基础复习1:开始Java世界的第一个程序

    之前,我已经安装好了Java,并且设置好了Java配置.那么来写一段进入Java世界的第一个程序. 1.打开记事本(曾经看过廖大神的一个博客,说是不建议使用Windows自带的记事本,因为有时候会添加 ...

  7. 注入安卓进程,并hook java世界的方法

    说明: 安卓系统的可执行对象有两个世界,一个是Linux Native世界,一个是Java世界.两个世界能够通过jvm产生交互,具体来说就是通过jni技术进行互相干涉.但是在正常情况下,只能在Java ...

  8. 世界java大神有哪些_JAVA基础复习1:开始Java世界的第一个程序

    之前,我已经安装好了Java,并且设置好了Java配置.那么来写一段进入Java世界的第一个程序. 1.打开记事本(曾经看过廖大神的一个博客,说是不建议使用Windows自带的记事本,因为有时候会添加 ...

  9. 2020年java缺人_Java回顾#5 –到2020年,什么将改变Java世界?

    2020年java缺人 最后,看看您的水晶球–到2020年,什么将改变Java世界? JDK 14有望带来非常有趣的新功能,即使其中一些功能仍处于预览状态. 我很好奇开发人员将如何使用记录(JEP 3 ...

最新文章

  1. 倍福TwinCAT(贝福Beckhoff)基础教程5.1 TwinCAT-2 运行可执行文件
  2. python查看函数调用栈
  3. 单片机入门-矩阵键盘控制数码管显示
  4. 【Groovy】编译时元编程 ( 编译时元编程引入 | 声明需要编译时处理的类 | 分析 Groovy 类的 AST 语法树 )
  5. Linux调优方案,sysctl.conf的设置
  6. Java代码的维护与更新,Java常用的规则引擎,让你变动的代码更加容易维护
  7. SmartCode.ETL 这不是先有鸡还是蛋的问题!
  8. sql交叉报表实例(转)
  9. MTK 驱动(69)---MTK平台 电池驱动相关
  10. java.lang.object 下载_java.lang.Object
  11. 【推荐】SQL Server 2008 R2 中英文 开发版/企业版/标准版 下载
  12. 异构平台对比(GPU FPGA DSP)
  13. ORACLE常用的一些特殊SQL,收藏收藏,下次需要的时候就不用再翻箱倒柜了
  14. SSM仓库管理系统毕业设计-附源码061015
  15. 海康GB28181协议服务器怎么配置,GB/T28181国标流媒体服务器在海康平台上进行级联配置步骤总结...
  16. 抖音怎么知道自己上热门 抖音是靠md5识别视频的
  17. [bzoj2434][AC自动机][树状数组]阿狸的打字机
  18. [C++]_ELVE_Windows下QT5.12连接MySql8.0解决方案
  19. 12306 验证码识别源码
  20. 李斌转让5000万股私人持有股份 完成蔚来用户信托设立

热门文章

  1. ARP监测工具Arpwatch
  2. 网页图表Highcharts实践教程之认识Highcharts
  3. 域控制器升级的先决条件验证失败新建_快应用开发工具升级v1.4.0
  4. iOS App跳转权限设置
  5. mysql 5.7.15 安装_mysql 5.7.15 安装配置方法图文教程
  6. 地图点击省跳转到市_城市天际线导入真实世界地图教程
  7. 基于连通域字符分割的流程_基于改进连通域算法的车牌字符分割方法
  8. 自定义ActionSheetView
  9. php跟web前端的区别,php与javascript的区别是什么?
  10. 华人小哥开发“CG工坊”,帮你快速入门计算机图形学 | GitHub热榜