EJB,产品 or 标准?

简介:

一个阶段的ejb结束了,也开始了,让我对ejb有了一个重新认识的机会,下面先说一下ejb,是产品还是标准?    

ejb是j2ee规范之一,它的设计目标与核心应用是部署分布式应用程序,因此可以看出,它是应用分布式程序的一个标准、规范,而非产品。

因为ejb是j2ee体系中的一员,先用一张图来表示一下j2ee的体系结构以及ejb所充当的角色:

J2EE体系结构:

由上图可以看出ejb主要用于业务逻辑层,其实就是负责执行特定任务的类,那Ejb是怎么实现分布式的呢?

EJB体系结构:

EJB?

大白话:

就是将那些负责执行特定任务的类从客户端给拿出来,形成组件,ejb通过RMI技术进行远程调用,将客户端需要的类从组件中调用出来。(突然想到了webservice/WCF~~~)

RMI技术?

用两个词概括:对象序列化、RPC

对象序列化:大家一定都知道:java.io.serializable这样一个接口,它就是用来将对象进行序列化,因为远程数据的传输如果体积较大,类型复杂会使消息的传输效率降低,而且转换效率降低,而通过将对象进行序列化,即将对象转换为字节流的形式,这样的话传输效率提高,非常适用于远程方法的调用。

RPC:它是Remote Procedure Call的缩写,即“远程过程调用”,这个词很早之前就有,在EJB远程调用中,它是个顶梁柱,主要是一个用户本地与远程之间调用的一个函数

EJB服务集群:

大白话:大家一起干一件事情就是集群。

RMI 是将各种任务与功能的类放到不同的服务器上,然后通过各个服务器间建立的调用规则实现分布式的运算,这样提高了运行效率,而且降低了CPU的资源耗用。

牛刀小结:

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

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

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

相关文章
|
3月前
|
开发者 自然语言处理 存储
语言不再是壁垒:掌握 JSF 国际化技巧,轻松构建多语言支持的 Web 应用
【8月更文挑战第31天】JavaServer Faces (JSF) 框架提供了强大的国际化 (I18N) 和本地化 (L10N) 支持,使开发者能轻松添加多语言功能。本文通过具体案例展示如何在 JSF 应用中实现多语言支持,包括创建项目、配置语言资源文件 (`messages_xx.properties`)、设置 `web.xml`、编写 Managed Bean (`LanguageBean`) 处理语言选择,以及使用 Facelets 页面 (`index.xhtml`) 显示多语言消息。通过这些步骤,你将学会如何配置 JSF 环境、编写语言资源文件,并实现动态语言切换。
38 0
|
5月前
|
设计模式 前端开发 Java
应用分层和企业规范
应用分层和企业规范
60 0
|
6月前
|
存储 数据采集 人工智能
信息系统框架标准TOGAF
信息系统框架标准TOGAF
207 7
|
编译器
CMMI-支持类
CMMI-支持类
116 0
XV-440-10TVB-1-20 规范并创建了通用模块产品理念
XV-440-10TVB-1-20 规范并创建了通用模块产品理念
187 0
XV-440-10TVB-1-20 规范并创建了通用模块产品理念
|
前端开发 JavaScript
Web 标准 & W3C 规范
Web 标准 & W3C 规范
102 0
|
SQL JSON Java
Java开发业务接口规范
规范点 说明 推荐方式 等级 文档唯一性 文档出处来源(人员和设备)必须统一,建议文档服务器,统一发布人。   重要 接口环境 要明确给出各个环境的调用地址。
4945 0
|
存储 弹性计算 缓存
JavaWeb开发经验谈:业务行为相似DAO接口的统一封装与使用
以对mybatis-plus的封装使用为例,给出一个在适用业务场景下大幅降低代码信息熵的解决方案
JavaWeb开发经验谈:业务行为相似DAO接口的统一封装与使用
|
开发框架 Java 调度
公司为什么需要建立一套统一的开发框架?
公司需要建立一套统一的开发框架解决因发展带来的自我繁衍、技术断崖、难以考核、管控壁垒、资源浪费的问题。
|
SQL 移动开发 PHP