其实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

最新文章

  1. reset.css css重置公共样式
  2. [译]:Orchard入门——给网站添加新博客
  3. 配置opencv时计算机显示丢失opencv_world300d.dll如何解决
  4. bat 命令分行写
  5. JPA(4)表表关联关系
  6. PHP变量名区分大小写,函数名不区分大小写
  7. solr 相似查询-MoreLikeThis
  8. [C语言 - 5] 预处理
  9. Spring MVC控制层的返回类型--String类型与Bean类型
  10. C#中Hashtable、Dictionary详解以及写入和读取对比
  11. Spring FrameWork4(MVC + IOC)高速入门实例
  12. [国嵌攻略][048][MMU配置与使用]
  13. Maven仓库概述
  14. Java中的基本类型转换,数据溢出原理
  15. Spring框架IOC和AOP的实现原理(概念)
  16. Triangle Count
  17. python笔记27-time模块
  18. tornado--输入和输出
  19. drawrect&layoutsubviews
  20. AtCoder Beginner Contest 084(AB)

热门文章

  1. Netty源代码学习——Included transports(变速箱)
  2. Apache让一台虚拟主机接受多域名解析(转)
  3. RPM制作
  4. tcmalloc资料
  5. Java——(十)网络编程
  6. fedora虚拟机中的vsftp服务配置
  7. Linux squid 安装配置
  8. mysql 安装配置详解
  9. 灵活运用绑定变量---declare匿名块使用绑定变量
  10. power desinger 学习笔记<六>