EJB的核心技术应用总结

开发 后端
本文介绍EJB的核心技术,一个完整的基于EJB的分布式计算结构由六个角色组成。

一、EJB技术简介

51CTO编辑推荐:EJB应用开发专栏

EJB的全称是Enterprise java bean。是JAVA中的商业应用组件技术。EJB结构中的角色 EJB 组件结构是基于组件的分布式计算结构,是分布式应用系统中的组件。

一个完整的基于EJB的分布式计算结构由六个角色组成,这六个角色可以由不同的开发商提供,每个角色所作的工作必须遵循Sun公司提供的EJB规范,以保证彼此之间的兼容性。

这六个角色分别是EJB组件开发者(Enterprise Bean Provider) 、应用组合者(Application Assembler)、部署者(Deployer)、EJB 服务器提供者(EJB Server Provider)、EJB 容器提供者(EJB Container Provider)、系统管理员(System Administrator)。

二、EJB中各角色的分析

1、EJB组件开发者(Enterprise Bean Provider)

EJB组件开发者负责开发执行商业逻辑规则的EJB组件,开发出的EJB组件打包成EJB-jar文件。EJB组件开发者负责定义EJB的 remote和home接口,编写执行商业逻辑的EJB class,提供部署EJB的部署文件(deployment descriptor)。

部署文件包含EJB的名字,EJB用到的资源配置,如JDBC等。EJB组件开发者是典型的商业应用开发领域专家。

EJB组件开发者不需要精通系统级的编程,因此,不需要知道一些系统级的处理细节,如事务、同步、安全、分布式计算等。

2、应用组合者(Application Assembler)

应用组合者负责利用各种EJB组合一个完整的应用系统。应用组合者有时需要提供一些相关的程序,如在一个电子商务系统里,应用组合者需要提供 JSP(Java Server Page)程序。应用组合者必须掌握所用的EJB的home和remote接口,但不需要知道这些接口的实现。

3、部署者(Deployer)

部署者负责将EJB-jar文件部署到用户的系统环境中。系统环境包含某种EJB Server和EJB Container。部署者必须保证所有由EJB组件开发者在部署文件中声明的资源可用,例如,部署者必须配置好EJB所需的数据库资源。

部署过程分两步:部署者首先利用EJB Container提供的工具生成一些类和接口,使EJB Container能够利用这些类和接口在运行状态管理EJB。部署者安装EJB组件和其他在上一步生成的类到EJB Container中。部署者是某个EJB运行环境的专家。

某些情况下,部署者在部署时还需要了解EJB包含的业务方法,以便在部署完成后,写一些简单的程序测试。

4、EJB 服务器提供者(EJB Server Provider)

EJB 服务器提供者是系统领域的专家,精通分布式交易管理,分布式对象管理及其它系统级的服务。EJB 服务器提供者一般由操作系统开发商、中间件开发商或数据库开发商提供。

在目前的EJB规范中,假定EJB服务器提供者和EJB容器提供者来自同一个开发商,所以,没有定义EJB 服务器提供者和EJB容器提供者之间的接口标准。

5、EJB 容器提供者(EJB Container Provider)

EJB 容器提供者提供以下功能:

提供EJB部署工具为部署好的EJB组件提供运行环境 。EJB容器负责为EJB提供交易管理,安全管理等服务。

EJB 容器提供者必须是系统级的编程专家,还要具备一些应用领域的经验。EJB 容器提供者的工作主要集中在开发一个可伸缩的,具有交易管理功能的集成在EJB 服务器中的容器。

EJB 容器提供者为EJB组件开发者提供了一组标准的、易用的API访问EJB 容器,使EJB组件开发者不需要了解EJB服务器中的各种技术细节。EJB容器提供者负责提供系统监测工具用来实时监测EJB容器和运行在容器中的EJB组件状态。

6、系统管理员(System Administrator)

系统管理员负责为EJB服务器和容器提供一个企业级的计算和网络环境。系统管理员负责利用EJB 服务器和容器提供的监测管理工具监测EJB组件的运行情况。

【编辑推荐】

  1. Spring支持EJB的实现
  2. EJB和Spring全面比较
  3. Weblogic开发和EJB基础应用
  4. JDO、EJB CMP、Hibernate和Amber比较
  5. 采用EJB开发的三个优势
责任编辑:佚名 来源: IT专家网
相关推荐

2019-10-09 16:23:40

物联网技术云计算

2019-08-16 10:16:45

2022-05-07 14:31:46

物联网

2011-03-04 10:03:45

EJB数据库应用

2021-07-28 07:53:20

C#.NET设计

2019-07-03 10:44:49

技术通信软件

2011-04-14 12:32:10

GPONEPON

2017-05-08 13:37:32

IaaS核心虚拟化

2017-03-08 10:06:11

Java技术点注解

2016-11-15 14:33:05

Flink大数据

2023-06-14 08:49:22

PodKubernetes

2009-06-15 17:54:50

Java核心技术

2022-05-09 08:21:29

Spring微服务Sentinel

2015-01-12 09:48:15

云计算分布式虚拟化

2011-06-15 14:45:26

上网行为管理技术

2020-04-06 20:11:26

区块链分布式核心技术

2017-04-26 23:10:03

数据组织数据库

2018-03-02 09:04:08

虚拟化存储云存储

2011-11-23 15:53:54

Java核心技术框架

2016-11-22 17:05:54

Apache Flin大数据Flink
点赞
收藏

51CTO技术栈公众号