EJB到底是什么

百科定义EJB:


被称为java企业bean,服务器端组件,核心应用是部署分布式应用程序。用它部署的系统不限定平台。实际上ejb是一种产品,描述了应用组件要解决的标准

 

标准:


    • 可扩展 (Scalable)
    • 分布式 (Distributed)
    • 事务处理(Transactional)
    • 数据存储(Persistent)
    • 安全性 (Secure)

 

 

J2EE的体系结构

 


 

其中EJB属于J2EE体系结构中的业务逻辑部分


 

EJB构成

 



 

EJB容器中有三种类也称为组件,分别是


Session bean(逻辑)

EntityBean(数据)

messageDrivenbean(消息)

 

上图中可以看到


   1 组件是在容器中的。容器提供了组件的环境并对其进行管理。

   2  调用组件的被称为ejb客户端。客户端可以运行在web容器中。如jspservletjndiweb service

 


实现逻辑


实现逻辑组件中有各种抽象的方式。这样通过客户端的调用实现了业务的封装

 


实现分布式

 

首先要认识到RMI技术(远程调用),EJB的基础是RMI,通过RMIJ2EEEJB组件创建为远程对象,EJB虽然用到了RMI,但是只需要定义远程接口无需实现,这样就将RMI技术细节屏蔽了。

这种将需要特定执行的类,放在Ejb中并打包发送到服务器上,,客户端通过RMI技术到服务器上进行调用,这样就实现了分布式调用。

 

所谓的服务器群

 

既然已经知道了,RMI是将各种任务与功能的类放到不同的服务器上,然后通过各个服务器间建立的调用规则实现分布式的运算,也就明白EJB所谓的"服务群集"的概念。就是将原来在一个计算机上运算的几个类,分别放到其他计算机上去运行,以便分担运行这几个类所需要占用的CPU和内存资源。同时,也可以将不同的软件功能模块放到不同的服务器上,当需要修改某些功能的时候直接修改这些服务器上的类就行了,修改以后所有客户端的软件都被修改了

 

一个简单的分布式群图

 


 

 

小结:


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

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

EJB规范定义了EJB组件在何时如何与它们的容器进行交互作用。容器负责提供公用的服务,例如目录服务、事务管理、安全性、资源缓冲池以及容错性。但这里值得注意的是,EJB并不是实现J2EE的唯一途径。

猜你喜欢

转载自blog.csdn.net/origination_star/article/details/80035985