J2EE常见术语及缩写

时间:2008-03-22 11:37:38  类别:java虚拟机  作者:武英杰

RMI
Rmote Method Invocation(远程方法调用)
用于Java平台中的远程方法调用。它具有分布式垃圾收集、可自动下载类文件等功能。位于java.rmi包中。
注意:RMI只能在Java平台中使用。通过RMI传输的参数必须可以序列化
CORBA
Common Object Request Broker Architecture(公共对象请求代理体系结构)
用于实现独立于平台及编程语言的分布式应用
ORB
Object Request Broker(对象请求代理)
负责具体的网络通信,是构建分布式应用的基础。
STUB与SKELETON
存根与骨架
无论是RMI还是ORB,其实现本质都是采用了代理模式。其中存根为客户端使用的代理,拥有通过网络访问远程对象的能力;骨架为远程对象的代理,用来接受存根的调用,并返回结果。
附:在CORBA和JAVA 5中也支持动态调用,即存根不是必须存在的。
RMI-IIOP
Remote Method Invocation over the Internet-ORB Protocol(基于互联网的对象请求代理协议实现的远程方法调用)
J2EE和EJB事实上的网络通信标准,基于RMI,同时又兼容CORBA,使得EJB组件可以被Java之外的客户端调用。位于javax.rmi包中。
话题1:为何J2EE要兼容CORBA
CORBA是OMG(对象管理组织)推出的成功的分布式对象通信标准,为了占领企业级市场,EJB必须考虑和遗留系统的集成,以及为异构系统提供服务,这都需要采用更加通用的CORBA,而不是只能在Java平台下使用的RMI。
话题2:引入CORBA之后面临的问题
1,分布式垃圾收集:并非所有支持CORBA的语言都有垃圾收集机制。
2,窄化(Narrowing):当通过RMI或RMI-IIOP获取一远程对象时,实际上获取的是其存根(Stub)。在RMI中,会自动下载此存根;而CORBA没有这个机制,必须用额外的方法解决(其实是通过javax.rmi.PortableRemoteObject的narrow方法解决的)。
JNDI
Java Naming and Directory Interface(Java命名和目录接口)
通过统一的方式,根据资源名称查找资源,而不用关心资源的具体位置。比如通过JNDI查找EJB组件,Jdbc数据源。

接下来用一组图展示Java客户端调用EJB组件的过程
获取Home接口对象
1,客户端通过JNDI查找Home接口
2,得到Home接口存根后将其窄化

获取远程对象
1,客户端通过Home接口调用create方法
2,应用服务器返回EJB对象(的存根)
(因为缓存机制,未必会得到新的对象)

通过远程对象存根进行交互
1,客户端调用远程对象存根中的方法
2,远程对象存根委派给真正的远程对象
3,并接口远程对象的返回值给客户端


EJB:Enterprise JavaBeans 企业JavaBean组件
IDL:Interface Definition Language 接口定义语言
JMS:Java Message Service Java消息服务
JNDI:Java Naming and Directory Interface Java命名目录接口
RMI:Remote Method Invocation 远程方法调用
JTA:Java Transaction API Java事务API
JTS:Java Transaction Service Java事务服务
Object Serialization:对象序列化
JavaMail:Java邮件服务
JDBC:数据库访问API
JSP:Java Server Pages
Servlet:

EJB分为三种:
Session Bean(会话BEAN)
Entity Bean(实体BEAN)
Message Driver Bean(消息驱动BEAN)

Session Bean分为两种:
Stateless Session Bean(无状态会话Bean)
Statefull Session Bean(有状态会话Bean)

Entity Bean分为两种:
CMP:Container Manager Persistence(容器管理持久性)
BMP:Bean Manager Persistence(Bean管理持久性)

其他缩写名词:
DTO:Data Transport Object 数据传输对象
JDO:Java Data Object
DAO:Database Access Object 数据库访问对象
POJO:Proterozoic Java Object Java原生对象
VO:Value Object 值对象
SOAP:Simple Object Access Protocol 简单对象访问协

补充:

A-
AJAX: (建议不译,原因:专有名词) [Asynchronous JavaScript and XML,异步JavaScript及XML]
annotation: 注解
Ant: (建议不译,原因:专有名词)
AOP: (建议不译,原因:专有名词) [aspect-oriented programming, 面向方面编程]
application: 应用
argument: 参数

-B-
B2B: (建议不译,原因:专有名词) [Business-to-Business, 业务对业务]
BAM: (建议不译,原因:专有名词) [Business Activity Monitoring, 业务活动监测]
BMP: (建议不译,原因:专有名词) [bean-managed persistence, Bean管理的持久化]
BPEL: (建议不译,原因:专有名词) [Business Process Excution Language, 业务流程执行语言]
BPM: (建议不译,原因:专有名词) [Business Process Modeling, 业务流程建模]
build: 建立;编译

-C-
C2B: (建议不译,原因:专有名词) [Consumer-to-Business, 客户对业务]
CAD: (建议不译,原因:专有名词) [Computer Aided Design, 计算机辅助设计]
CAM: (建议不译,原因:专有名词) [Computer Aided Modeling, 计算机辅助建模]
case-insensitive: 大小写不敏感
case-sensitive: 大小写敏感
container: 容器
cluster: 集群
CMP: (建议不译,原因:专有名词) [container-managed persistence, 容器管理的持久化]
component: 组件,部件
configuration: 配置
context: 上下文,环境
control: 控件
convention: 约定
CORBA: (建议不译,原因:专有名词) [Common Object Request Broker Architecture,公共对象请求代理体系]
COS: (建议不译,原因:专有名词) [Common Object Services,公共对象服务]
couple: 耦合
CRUD: 专指数据库操作create, read, update, delete,可以不译

-D-
Daemon: (建议不译,原因:专有名词) [Internet中用于邮件收发的后台程序]
DAO: (建议不译,原因:专有名词) [Data Access Object, 数据访问对象]
data: 数据
DBMS: (建议不译,原因:专有名词) [Database Management System, 数据库管理系统]
DDL: (建议不译,原因:专有名词) [Data Definition Language, 数据定义语言]
Declarative Programming: 声明式编程
delegate: 委托
Dependency Injection: 依赖注入
deploy: 部署
deserialize: 反序列化(也可译为反串行化),即取出
dialect: (行业)术语
directive: 指令
DIT: (建议不译,原因:专有名词) [Directory Information Tree, 目录信息树]
DML: (建议不译,原因:专有名词) [Data Manipulation Language, 数据操作语言]
DNS: (建议不译,原因:专有名词) [Internet Domain Name System, 因特网域名系统]
domain: 域
DSL: (建议不译,原因:专有名词) [Domain-Specific Languages, 特定领域语言]
DTOs: (建议不译,原因:专有名词) [data transfer objects, 数据传输对象]

-E-
EAI: (建议不译,原因:专有名词) [Enterprise Application Integration: 企业应用集成]
ECC: (建议不译,原因:专有名词) [error correcting codes: 错误纠正代码]
EIS: (建议不译,原因:专有名词) [Enterprise Information System: 企业信息系统]
EJB: (建议不译,原因:专有名词) [Enterprise JavaBean, 企业JavaBean]
encapsulate: 封装
ESB: (建议不译,原因:专有名词) [Enterprise Service Bus, 企业服务总线]
event: 事件

-F-
FAQs: (建议不译,原因:专有名词) [Frequently Asked Questions, 经常提问的问题]
FIFO: 先进先出 [First in, First out]
fire: 触发
firewall: 防火墙
framework: 框架
function: 函数

-G-
GoF: "四人帮",对名著Design Patterns-Elements of Reusable Object-Oriented Software的四名作者的"戏"称。 Gang of Four
granularity: 颗粒性,颗粒度
GUI: (建议不译,原因:专有名词) [Graphic User Interface: 图形用户接口]
GUID: (建议不译,原因:专有名词) [Globally Unique Identifier: 全球唯一标识符]

-H-
hard-coding: 硬碥码
Hibernate: (建议不译,原因:专有名词) [一种为应用程序提供持久化服务的框架]

-I-
IDE: 集成开发环境 Integrated Development Environment
implement: 实现
internet: 因特网 (也可以不译,原因:在中文环境下已经得到充分理解及认同)
intranet: 企业内部网
IoC: (建议不译,原因:专有名词) [Inversion of Control, 控制反转]

-J-
JavaBean: (建议不译,原因:专有名词)
JCP: (建议不译,原因:专有名词) [Java Community Process, Java社区研究]
JDBC: (建议不译,原因:专有名词) [Java DataBase Connectivity, Java数据库连接]
JDO: (建议不译,原因:专有名词) [Java Data Objects, Java数据对象]
JES: Java企业系统 Java Enterprise System
JOnAS: (建议不译,原因:专有名词) [ Java Open Application Server, Java开放应用服务器]
JNDI: (建议不译,原因:专有名词) [Java Naming and Directory Interface, Java命名与目录接口]
JTA: (建议不译,原因:专有名词) [Java Transaction API: Java事务API]
JVM: (建议不译,原因:专有名词) [Java Virtual Machine: Java虚拟机]
JXTA: (建议不译,原因:专有名词) [一个用于P2P应用开发的网络计算平台]

-K-

-L-
Laszlo: (建议不译,原因:专有名词) [一个大量应用于internet应用程序的基于XML平台的开源项目]
LDAP: (建议不译,原因:专有名词) [Lightweight Directory Access Protocol, 轻量目录访问协议]
leverage: 均衡

-M-
MEPs: (建议不译,原因:专有名词) [message exchange patterns,消息交换模式]
meta: 元
metadata: 元数据
method signature: 方法签名
middleware: 中间件
mock: 虚拟的
modal dialog: 模态对话框
modular: 模组。是模块module的集合,它由多个独立的模块构成。
modular organization: 模组结构
module: 模块
MOM: (建议不译,原因:专有名词) [message-oriented middleware,面向消息的中间件]
MVC: (建议不译,原因:专有名词) [Model-View-Control,模型-视图-控制]

-N-
NDS: (建议不译,原因:专有名词) [Novell Directory Service,Novell目录服务]
NIS: (建议不译,原因:专有名词) [Network Information Service,网络信息服务]
node: 节点

-O-
ODMG: (建议不译,原因:专有名词) [Object Data Management Group, 对象数据管理组织]
OGNL: (建议不译,原因:专有名词) [Object Graph Navigation Language, 对象图导航语言]
OODBMS: (建议不译,原因:专有名词) [Object-Oriented Database Management System, 面向对象数据库管理系统]
orM: (建议不译,原因:专有名词) [object-relational (O-R) mapping, 对象关系映射]

-P-
persistence: 持久化(使用SQL语句在关系数据库中存储数据)
POJO: (建议不译,原因:专有名词) [Plain Old Java Objects,简单初始Java对象]
POJI: (建议不译,原因:专有名词) [Plain Old Java Interface,简单初始Java接口]
procedural: 过程的
profiling: 配置
prototype: 原型

-Q-
queue: 队列

-R-
RAD: (建议不译,原因:专有名词) [Rapid application development,快速应用开发]
RCS: (建议不译,原因:专有名词) [Revision Control System,修订控制系统]
RMI: (建议不译,原因:专有名词) [Remote Method Invocation: 远程方法调用]
retrieve: 检索
RIAs: 丰富的Internet应用程序 Rich Internet Applications
RPC: (建议不译,原因:专有名词) [remote procedure calls,远程过程调用]

-S-
schema: 规划,设计,方案
serialize: 序列化(也可译为串行化),即保存
session: 会话
SOA: (建议不译,原因:专有名词) [Service-Oriented Architecture: 面向服务体系]
SOAP: (建议不译,原因:专有名词) [Simple Object Access Protocol,简单对象访问协议]
SPI: (建议不译,原因:专有名词) [Service Provider Interface,服务提供接口]
Spring: (建议不译,原因:专有名词)
SQL: (建议不译,原因:专有名词) [Structured Query Language,结构化查询语言]
Struts: (建议不译,原因:专有名词) [一种基于MVC模式的Web应用程序框架]
surrogate keys: 替代键

-T-
tag: 标签
TDD: (建议不译,原因:专有名词) [Test Driven Development,测试驱动的开发]
third-party: 第三方,泛指其他开发商,生产商等
transaction: 事务
Tomcat: (建议不译,原因:专有名词) [一个非常有名的Java Web容器]

-U-
UDT: (建议不译,原因:专有名词) [user-defined column types: 用户定义字段类型]
use case: 用例
UI: 用户界面 (User Interface)

-V-

-W-
wizard: 向导
Web: (建议不译,原因:专有名词)
Web service: (可以不译,原因:专有名词) [Web服务]
WS-addressing: (建议不译,原因:专有名词) [web service寻址]
WSDL: (建议不译,原因:专有名词) [Web Service Description Language: Web服务描述语言]


特别推荐

广而告之