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

来源:互联网 发布:饿了么网络连接失败 编辑:程序博客网 时间:2024/05/01 14:00

   EJB (EnterpriseJavaBean)是J2EE的一部分,定义了一个用于开发基于组件的企业多重应用程序的标准。其特点包括网络服务支持和核心开发工具(SDK)。其称为Java 企业Bean,是Java的核心代码,分别是会话Bean(Session Bean),实体Bean(EntityBean)和消息驱动Bean(MessageDrivenBean)。

   

    这半天通过多个网站查找资料拓展学习,逐步的解开了其神秘的面纱,用通俗话说,EJB就是:"把自己编写的软件中那些需要执行制定的任务的类(具有特定功能的类),不放到客户端软件上了,而是给它打成包放到一个服务器上了"。EJB 就是将那些"类"放到一个服务器上,用C/S形式的软件客户端对服务器上的"类"进行调用。


EJB概览图:

图1:








概念深入剖析

剖析1:所谓:"业务逻辑"

    我们注意到在EJB的概念中主要提到的就是"业务逻辑"的封装,而这个业务逻辑到底是什么?说的那么悬乎,其实这个所谓的"业务逻辑"我们完全可以理解成执行特定任务的"类"。


剖析2:所谓:"将业务逻辑从客户端软件中抽取出来,封装在组件中……运行在一个服

务器上"

    既然我们知道了"业务逻辑"的概念就是执行特定任务的"类",那么,什么叫"从客户端

软件中抽取出来"?其实,这个就是把原来放到客户端的"类",拿出来不放到客户端了,放

到一个组件中,并将这个组件放到一个服务器上去运行。






标准:

     可扩展 (Scalable)、分布式 (Distributed)、事务处理 (Transactional)、数据存储 (Persistent)、安全性 (Secure)。由于EJB是用于开发企业商务逻辑部分。所以不涉及显示数据部分的技术。这就要求使用EJB的同时必须和J2EE的其它标准一起使用。比如servletjsp技术等。


好处

    J2EE是将业务逻辑从客户端软件中抽取出来,封装在一个组件中。这个组件运行在一个独立的服务器上,客户端软件通过网络调用组件提供的服务以实现业务逻辑,而客户端软件的功能单纯到只负责发送调用请求和显示处理结果,减少了BS中客户端的复杂性,提高了开发效率,提高了代码的可重用性。


提供真正的可重用框架


    每一个jar包代表一个EJB组件,一个系统可以由多个可重用的EJB组件构成,例如:树形结构EJB组件;自增序号EJB组件;用户资料EJB组件等,这样的EJB组件可以象积木一样搭配在大部分应用系统中,提高了系统的开发效率,保证了开发质量,经常听八期师哥他们Gxpt项目中,使用它,可见其作用非常大,用处广啊。



实现技术


    EJB是运行在独立服务器上的组件,客户端是通过网络对EJB 对象进行调用的。在Java中,能够实现远程对象调用的技术是RMI,而EJB技术基础正是RMI。通过RMI 技术,J2EE将EJB组件创建为远程对象,客户端就可以通过网络调用EJB 对象了。

    RMI 英文全称是"RemoteMethod Invocation",它的中文名称是"远程方法调用",它是利用Java对象序列化的机制实现分布式计算,实现远程类对象的实例化以及调用的方法。说的更清楚些,就是利用对象序列化来实现远程调用,也就是上面两个概念的结合体,利用这个方法来调用远程的类的时候,就不需要编写Socket程序了,也不需要把对象进行序列化操作,直接调用就行了非常方便。

    远程方法调用是一种计算机之间对象互相调用对方函数,启动对方进程的一种机制,使用这种机制,某一台计算机上的对象在调用另外一台计算机上的方法时,使用的程序语法规则和在本地机上对象间的方法调用的语法规则一样。

活学活用


    我们如果把"客户端程序"理解成某一台服务器,这样也是可以被应用的,而且,如果是服务器互相之间做EJB的调用的话,也就不存在广域网带宽限制的问题了。


但是,如下情况尽量就不要使用EJB 了:

1、较为简单的纯Web应用开发,不需要用EJB。

2、需要与其他服务程序配合使用的应用,但调用或返回的自定义的网络协议可以解决的应用程序,不需要使用EJB。

3、较多人并发访问的C/S结构的应用程序,尽量不要使用EJB。

 

总结:


EJB实现原理: 就是把原来放到客户端实现的代码放到服务器端,并依靠RMI进行通信。

RMI实现原理 :就是通过Java对象可序列化机制实现分布计算。

服务器集群: 就是通过RMI的通信,连接不同功能模块的服务器,以实现一个完整的功能。




接下来和大家一起学习Selrvlet,敬请期待!



8 1
原创粉丝点击