学习EJB能够加深对J2EE平台的认识。java
Session bean(逻辑)jsp
EntityBean(数据)分布式
messageDrivenbean(消息)学习
上图中能够看到spa
1 组件是在容器中的。容器提供了组件的环境并对其进行管理。对象
2 调用组件的被称为ejb客户端。客户端能够运行在web容器中。如jsp,servlet,jndi,web service等接口
实现逻辑组件中有各类抽象的方式。这样经过客户端的调用实现了业务的封装
首先要认识到RMI技术(远程调用),EJB的基础是RMI,经过RMI,J2EE将EJB组件建立为远程对象,EJB虽然用到了RMI,可是只须要定义远程接口无需实现,这样就将RMI技术细节屏蔽了。
这种将须要特定执行的类,放在Ejb中并打包发送到服务器上,,客户端经过RMI技术到服务器上进行调用,这样就实现了分布式调用。
既然已经知道了,RMI是将各类任务与功能的类放到不一样的服务器上,而后经过各个服务器间创建的调用规则实现分布式的运算,也就明白EJB所谓的"服务群集"的概念。就是将原来在一个计算机上运算的几个类,分别放到其余计算机上去运行,以便分担运行这几个类所须要占用的CPU和内存资源。同时,也能够将不一样的软件功能模块放到不一样的服务器上,当须要修改某些功能的时候直接修改这些服务器上的类就好了,修改之后全部客户端的软件都被修改了
一个简单的分布式群图
EJB实现原理:就是把原来放到客户端实现的代码放到服务器端,并依靠RMI进行通讯。
服务器集群:就是经过RMI的通讯,链接不一样功能模块的服务器,以实现一个完整的功能。
EJB规范定义了EJB组件在什么时候如何与它们的容器进行交互做用。容器负责提供公用的服务,例如目录服务、事务管理、安全性、资源缓冲池以及容错性。但这里值得注意的是,EJB并非实现J2EE的惟一途径。