zoukankan      html  css  js  c++  java
  • 深入了解EJB (一) EJB在java世界的地位

    对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会支持这一特点。


  • 相关阅读:
    解决Maven下载依赖慢
    Spring Boot系列教程六:日志输出配置log4j2
    Spring Boot系列教程三:使用devtools实现热部署
    Spring Boot系列教程五:使用properties配置文件实现多环境配置
    Spring Boot系列教程四:配置文件详解properties
    Spring Boot系列教程二:创建第一个web工程 hello world
    Spring Boot系列教程一:Eclipse安装spring-tool-suite插件
    Spring Boot系列教程十:Spring boot集成MyBatis
    vim入门一 常用指令
    Linux IO多路复用之epoll网络编程(含源码)
  • 原文地址:https://www.cnblogs.com/lilongsheng1125/p/4978538.html
Copyright © 2011-2022 走看看