技术开发 频道

Java EE启示录

  (2)EJB(Enterprise JavaBean)

  之前说过,分布式应用是Java EE一个基础的需求,额……那在不同机器上的“分布式”的应用到底会以一个什么样的形态出现呢?答案就是:EJB。EJB属于业务逻辑层上的东东。

  所谓Bean,其实是“组件”的意思。EJB可以让你像搭积木一样,通过本地/分布式调用组装不同应用到大型应用中,使你能集中精力来处理企业的业务逻辑,而像事务、网络、安全等等这些底层服务则统统留给EJB服务器开发商来解决。

  利用基于组件的开发,可以把代码重用上升到一个新的高度。利用面向对象开发,重用的是类,而基于组件时,重用的则是更大的功能块。

  【1】EJB vs Java Bean

  我个人认为,Java Bean相当于是数据存储类(不涉及具体业务逻辑),专门用来存数数据,提供getter,setter方法,并且在JVM上可直接运行。EJB则相当于一个功能模块,提供业务逻辑的服务,而运行时,则需要EJB容器的帮助。

  EJB是业务逻辑层最重要的技术哦!

  (3)Container(容器)

  Container这个概念经常在Java EE中出现,所谓Container,在Java EE 5 Tutorial中有这样一段解释:“Containers are the interface between a component and the low-level platform-specific functionality that supports the component.”,而Container的作用,我个人的认为是:为“应用程序”提供一个环境,使其可以不必须关注某些问题,如:系统环境变量,事务,生命周期…….通俗地说,Container就像“秘书”,帮“应用程序”管理着各种杂乱的问题,为其提供运行时支持。

  其中,Java EE里有两个很重要的容器:Web容器和EJB容器

  【1】Web容器

  Web容器是用于托管“Web应用程序”的J2EE容器,主要负责管理“Servlet”和“JSP”运行。

  【2】Servlet容器

  其实,上图中的Servlet指的就是Servlet容器。而Servlet的设计初衷,实际是基于线程池的更好的线程容器,见下图:

0
相关文章