其实j2EE就是java的企业版,与javaSE(标准版)有是有区别的,所以运行环境会有差异(简单点可以说,这是两组不同的接口),我们一般所熟悉的tomcat仅仅只实现了j2ee的一小部分规范,它只是一个serlvet的容器(Web)容器,它不能跑J2EE的程序,EJB说到底也是种规范,它是j2EE下面的一个子分类(核心类),所以j2ee包含EJB,同时我们都可以说JBOSS,Weblogic,WebSphere是J2EE容器,也可以叫EJB容器。因为它们能跑EJB组件。那么什么是EJB组件呢?其实就是java写出来的一段程序被打包成EAR包,这个EAR包放在某个EJB的容器的特定目录下启动就可以跑了。类似于互联网公司经常使用的WAR包(部署在tomcat上)。

如果有兴趣,请详细看

http://blog.csdn.net/jojo52013145/article/details/5783677

作者博文的前半部分讲解的很好,把EJB的原理和底层概念讲解了。但是后半部分EJB应用所遇到的架构问题我并不同意,因为从开发经验上来说这无关于EJB的事,EJB应用同样可以支持高并发,互联网也会出现类似的数据库瓶颈问题,真正的实践上应该是文章下面的那个评论所回复的一样: 客户端通过http先传到负载均衡服务器上,负载均衡服务器在把请求传递到接口服务器,接口服务器再通过RPC调用EJB组件对象实现业务功能,大部分时间内都是EJB组件间的调用(EJB服务器之间的调用),这些EJB组件都在内网。

当然,从知乎上看到J2EE技术栈似乎用的公司越来越少了,互联网直接不用,用的是java web体系,Spring + tomcat + mybatis之类的快速轻量的开发。反而用的最多的是电网公司,电信这样的运营商,还有银行系统。原因似乎是J2EE不是很轻量,而且难调试,也难使用(但是又听说最新的EJB已经越来越好用了简洁强大,分布式事务处理很强)。其实如果成本和资源能较好把握,是不是电信等大型企业的系统也可以用互联网的技术体系替换掉呢?而且效果也理想?

references:

https://www.zhihu.com/question/50665320

https://www.zhihu.com/question/40988395

https://www.zhihu.com/question/27505535

J2EE和EJB有什么关系?的更多相关文章

  1. J2EE与EJB

    问题及答案来源自<Java程序员面试笔试宝典>第五章 Java Web 5.2 J2EE与EJB 1.什么是J2EE? J2EE是Java平台企业版的简称,是用来开发和部署企业级应用的一个 ...

  2. Spring transaction与EJB transaction的关系

    TransactionDefinition Interface that defines Spring-compliant transaction properties. Based on the p ...

  3. J2EE之EJB

     EJB是sun的JavaEEserver端组件模型,最大的用处是部署分布式应用程序.EJB把使用java开发的server组件的部署和开发进行标准化. 凭借java跨平台的优势.用EJB技术部署的分 ...

  4. [J2EE]struts+ejb笔记

    DispatchAtion: - org.apache.struts.actions.DispatchAction 这个类是个抽象类,但实现父类Action的execute方法,在项目中重写这个类可以 ...

  5. J2EE学习从菜鸟变大鸟之六 EJB(Enterprise JavaBean)企业级Java组件

    EJB (EnterpriseJavaBean)是J2EE的一部分,定义了一个用于开发基于组件的企业多重应用程序的标准.其特点包括网络服务支持和核心开发工具(SDK).其称为Java 企业Bean,是 ...

  6. EJB初识(通熟易懂)

    转载自http://blog.csdn.net/jojo52013145/article/details/5783677,讲的很透彻,佩服,膜拜学习 1. 我们不禁要问,什么是"服务集群&q ...

  7. EJB概念理解

    转自http://blog.csdn.net/jojo52013145/article/details/5783677 1. 我们不禁要问,什么是"服务集群"?什么是"企 ...

  8. 历史疑团之EJB

    在学习Sping框架的过程中,看到过很多次关于EJB的批判.使用了SpringMVC但是并没有真性情般体会到它的优点,所以有必要对传统的Java Bean和EJB来做一些了解,无奈百度搜了很多知识,还 ...

  9. [转] EJB到底是什么,真的那么神秘吗??

    原文地址:http://blog.csdn.net/jojo52013145/article/details/5783677 1. 我们不禁要问,什么是"服务集群"?什么是&quo ...

随机推荐

  1. 简单回顾C++中的字符串

    C++中有两种字符串形式,一种是C语言字符数组,一般可以使用 char*指针来操作它:另一种是C++中基于标准库的string类型,这算是更高层次的抽象数据类型. 主要讨论一下string类型,既然是 ...

  2. Java设计模式01:设计模式的 分类 和 设计原则

    一.总体来说设计模式分为三大类: 创建型模式:对象的创建. 创建对象本身是比较耗时的操作,所以我们这里专门找人来帮我们创建对象,我们根据经验总结出来的设计成熟的思路模式. 结构型模式:对象的组成(结构 ...

  3. Java——(二)Java集合容器

    ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一.基本概念 1)Collection:一个独立元素的序列,这些元素都服从一条或多条规则.Lis ...

  4. Linux - CentOS6.5服务器搭建与初始化配置详解(上)

    1.新建一个虚拟机 选择典型 单机下一步 p.MsoNormal,li.MsoNormal,div.MsoNormal { margin: 0cm 0cm 0.0001pt; text-align: ...

  5. svs 在创建的时候 上传文件夹 bin obj 这些不要提交

    svs  在创建的时候 上传文件夹 bin  obj  这些不要提交  右键-去除版本控制并增加到忽略列表

  6. $(this).next()与$(this).children()

    $(this).next() 当前元素同级的下个元素,而非子元素 $(this).children() 是当前元素的下一级元素的集合,就是子元素的集合,而不管子元素的后代元素 所以这两个没有什么可比性 ...

  7. Git CMD - pull: Fetch from and integrate with another repository or a local branch

    命令格式 git pull [options] [<repository> [<refspec>…​]] 命令参数 -q, --quiet 安静模式. -v, --verbos ...

  8. HTML5 WebAudioAPI简介(一)

    一.常用对象 1.AudioContext对象 AudioContext是一个专门用于音频处理的接口,并且原理是讲AudioContext创建出来的各种节点(AudioNode)相互连接,音频数据流经 ...

  9. Android开发手记(32) 使用摄像头拍照

    在Android中,使用摄像头拍照一般有两种方法, 一种是调用系统自带的Camera,另一种是自己写一个摄像的界面. 我们要添加如下权限: <uses-permission android:na ...

  10. ASP。net中如何在一个按钮click事件中调用另一个按钮的click事件

    方法一: 直接指定 事件<asp:Button ID="btn1" runat="server" Text="按钮1" onclick ...