其实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. PNP8550(3.3V DC蜂鸣器) - 原理图系列

    一.截图 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveGlhb2Jpbl9ITEo4MA==/font/5a6L5L2T/fontsize/400/fi ...

  2. mybatis0207 resultType、resultMap、延迟加载使用场景总结

    延迟加载: 延迟加载实现的方法多种多样,在只查询单表就可以满足需求,为了提高数据库查询性能使用延迟加载,再查询关联信息. mybatis提供延迟加载的功能用于service层. resultType: ...

  3. HTTPS是如何保证连接安全:每位Web开发者都应知道的

    “HTTPS协议的工作原理是什么?”这是我在数天前工作项目中需要解决的问题. 作为一名Web开发者,我当然知道 HTTPS 协议是保障用户敏感数据的好办法,但并不知道这种协议的内在工作机制. 它怎么保 ...

  4. ASP.NET JSON的序列化和反序列化 之 Newtonsoft.Json

    我们用到的类库为:Newtonsoft.Json,通过VS工具中NuGet程序包可以下载. 一:对象转json-序列化 public class Student { public int ID { g ...

  5. Weex 初始

    1.一旦数据和模板绑定,数据的变化会立即体现在前台的变化 <template> <container> <text style="font-size: {{si ...

  6. android Services注意地方

    使用service前需要在manifest声明: <manifest ... > ... <application ... > <service android:name ...

  7. Simple screenshot that explains the singleton invocation.

    Here is the code: /* Some class,such as a config file,need to be only one.So we need to control the ...

  8. 利用Graphviz 画结构图[转]

    转自:http://www.cnblogs.com/sld666666/archive/2010/06/25/1765510.html 利用Graphviz 画结构图   1. Graphviz介绍 ...

  9. 远程推送,集成极光的SDK,证书制造

    由于iOS操作系统限制,我们APP在后台不能做操作,也不能接收任何数据,所以需要用推送来接收消息. APNs服务,苹果官方网址:https://developer.apple.com/library/ ...

  10. WPF 自定义滚动条样式

    先看一下效果: 先分析一下滚动条有哪儿几部分组成: 滚动条总共有五部分组成: 两端的箭头按钮,实际类型为RepeatButton Thumb 两端的空白,实际也是RepeatButton 最后就是Th ...