Chinaunix首页 | 论坛 | 博客
  • 博客访问: 14424721
  • 博文数量: 5645
  • 博客积分: 9880
  • 博客等级: 中将
  • 技术积分: 68081
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-28 13:35
文章分类

全部博文(5645)

文章存档

2008年(5645)

我的朋友

分类:

2008-04-28 21:43:38

下载本文示例代码
  表格型的关系型数据库与树型Java对象之间的映射问题是一个至今争论不休的问题,好在现在已经有了一些好的解决方案。在本文中,我们将介绍EJB技术是怎样用自已特定的方式来解决这个问题的。  只要是涉及到保存及查询信息 ,那绝大多数应用程序都需要与关系数据库打交道。但由于关系数据库与Java对象在结构上有着本质的区别,关于它们之间的映射关系对于那些Java开发者们来说,是一个很令人头痛的问题。关系型数据库是以表格方式存储数据的,而Java对象是以树型方式表现的。这种类型上的不匹配引发了各种各样的对象持久化解决方案,用来缩小关系世界与对象世界之间的鸿沟。EJB框架正是这种解决方案之一。   对象的持久性  目前有很多不同的工具出现,使得开发人员可以将JAVA对象转化为数据库中的字段或记录,或者将数据库中的字段或记录还原为JAVA对象。这些处理涉及到要将树型的JAVA对象序列化到数据库中,反之亦然。此工作的核心是怎样在保证最小性能损失的前提下,来完成这项工作。  EJB框架提供了这样一个对象持久化机制。我们将在本文中讨论这种机制,但首先我们还是对EJB构架作一个全面的认识。  企业级JavaBeans(EJB)  EJB技术可以这样定义:它是一个基于JAVA服务端的,为分布式应用提供的一个可复用的组件框架。所有的商业逻辑、部署定义、对象持久性都由这个框架统一管理,EJB框架的一些特色如下:  · EJB是一种运行在服务端环境下的JAVA对象。  · EJB能分布在不同的机器上进行远程访问,但对客户端来而言,调用EJB与调用本地JavaBean一样方便。  · EJB容器对EJB进行统一管理。  尽管企业级JavaBean的名字与普通JavaBean在命名上有些相像,但它们在设计上有着本质上的区别。为了能让你更清楚地认识到这点,我们最好先了解一下EJB的基本概念、几种EJB组件模式和其配置环境。  EJB的运行环境  从本质上来说,EJB只是实现了特定接口的普通JAVA对象,但这个对象必须运行在一个特定的环境:EJB容器中。如果脱离了EJB容器,EJB是无法运行的。EJB与EJB容器之间的关系有时候被称为"反向调用"――或者叫"好莱坞原理"(别联系我,到时候我会给你打电话的)。  EJB容器是一种用来管理EJB的运行时环境。它容纳并管理不同类型的EJB,这与JAVA servlet容器管理servlet有些类似。EJB容器负责初始化EJB,并给其提供系统级的服务。  当客户端程序要调用某一个EJB时并不直接与EJB打交道,客户端与EJB被容器隔离起来。  EJB容器提供的服务  当开发者创建一系列的类与接口,用来组成一个EJB时,容器会为他们提供如下的系统级服务:  · 事务处理  · 安全管理  · EJB的持久化管理  · EJB的远程访问  · EJB的生命周期管理  · 数据库连接池  · EJB的实例池管理  由于EJB容器负责为EJB提供这种底层服务,使得一个EJB开发者只需关注具体应用的商业逻辑,从而减少了很多不必要的麻烦。  EJB的类型  EJB规范定义了以下三种不同类型的EJB类型:  · 消息驱动EJB(MDB)  · 会话EJB  · 实体EJB  当客户端与会话EJB或实体EJB交互时,它们的通信方式是同步通信。而消息驱动EJB(MDB)则只与JMS进行交互,它相当于JMS中的一个发布/订阅主题。  消息驱动EJB  消息驱动EJB工作在异步通信模式下。一个消息驱动EJB充当一个消息侦听者的角色,它侦听从JMS的发布/订阅主题中传来的消息。  EJB容器管理着消息驱动EJB的生命周期,然而与会话EJB和实体EJB不同之处在于客户端并不能直接调用它的方法。消息驱动EJB是通过一个名为onMessage的回调函数来接收客户端的消息的。共5页。 1 2 3 4 5 :   表格型的关系型数据库与树型Java对象之间的映射问题是一个至今争论不休的问题,好在现在已经有了一些好的解决方案。在本文中,我们将介绍EJB技术是怎样用自已特定的方式来解决这个问题的。  只要是涉及到保存及查询信息 ,那绝大多数应用程序都需要与关系数据库打交道。但由于关系数据库与Java对象在结构上有着本质的区别,关于它们之间的映射关系对于那些Java开发者们来说,是一个很令人头痛的问题。关系型数据库是以表格方式存储数据的,而Java对象是以树型方式表现的。这种类型上的不匹配引发了各种各样的对象持久化解决方案,用来缩小关系世界与对象世界之间的鸿沟。EJB框架正是这种解决方案之一。   对象的持久性  目前有很多不同的工具出现,使得开发人员可以将JAVA对象转化为数据库中的字段或记录,或者将数据库中的字段或记录还原为JAVA对象。这些处理涉及到要将树型的JAVA对象序列化到数据库中,反之亦然。此工作的核心是怎样在保证最小性能损失的前提下,来完成这项工作。  EJB框架提供了这样一个对象持久化机制。我们将在本文中讨论这种机制,但首先我们还是对EJB构架作一个全面的认识。  企业级JavaBeans(EJB)  EJB技术可以这样定义:它是一个基于JAVA服务端的,为分布式应用提供的一个可复用的组件框架。所有的商业逻辑、部署定义、对象持久性都由这个框架统一管理,EJB框架的一些特色如下:  · EJB是一种运行在服务端环境下的JAVA对象。  · EJB能分布在不同的机器上进行远程访问,但对客户端来而言,调用EJB与调用本地JavaBean一样方便。  · EJB容器对EJB进行统一管理。  尽管企业级JavaBean的名字与普通JavaBean在命名上有些相像,但它们在设计上有着本质上的区别。为了能让你更清楚地认识到这点,我们最好先了解一下EJB的基本概念、几种EJB组件模式和其配置环境。  EJB的运行环境  从本质上来说,EJB只是实现了特定接口的普通JAVA对象,但这个对象必须运行在一个特定的环境:EJB容器中。如果脱离了EJB容器,EJB是无法运行的。EJB与EJB容器之间的关系有时候被称为"反向调用"――或者叫"好莱坞原理"(别联系我,到时候我会给你打电话的)。  EJB容器是一种用来管理EJB的运行时环境。它容纳并管理不同类型的EJB,这与JAVA servlet容器管理servlet有些类似。EJB容器负责初始化EJB,并给其提供系统级的服务。  当客户端程序要调用某一个EJB时并不直接与EJB打交道,客户端与EJB被容器隔离起来。  EJB容器提供的服务  当开发者创建一系列的类与接口,用来组成一个EJB时,容器会为他们提供如下的系统级服务:  · 事务处理  · 安全管理  · EJB的持久化管理  · EJB的远程访问  · EJB的生命周期管理  · 数据库连接池  · EJB的实例池管理  由于EJB容器负责为EJB提供这种底层服务,使得一个EJB开发者只需关注具体应用的商业逻辑,从而减少了很多不必要的麻烦。  EJB的类型  EJB规范定义了以下三种不同类型的EJB类型:  · 消息驱动EJB(MDB)  · 会话EJB  · 实体EJB  当客户端与会话EJB或实体EJB交互时,它们的通信方式是同步通信。而消息驱动EJB(MDB)则只与JMS进行交互,它相当于JMS中的一个发布/订阅主题。  消息驱动EJB  消息驱动EJB工作在异步通信模式下。一个消息驱动EJB充当一个消息侦听者的角色,它侦听从JMS的发布/订阅主题中传来的消息。  EJB容器管理着消息驱动EJB的生命周期,然而与会话EJB和实体EJB不同之处在于客户端并不能直接调用它的方法。消息驱动EJB是通过一个名为onMessage的回调函数来接收客户端的消息的。共5页。 1 2 3 4 5 : 下载本文示例代码


关于EJB的持久化对象技术分析关于EJB的持久化对象技术分析关于EJB的持久化对象技术分析关于EJB的持久化对象技术分析关于EJB的持久化对象技术分析关于EJB的持久化对象技术分析关于EJB的持久化对象技术分析关于EJB的持久化对象技术分析关于EJB的持久化对象技术分析关于EJB的持久化对象技术分析关于EJB的持久化对象技术分析关于EJB的持久化对象技术分析关于EJB的持久化对象技术分析关于EJB的持久化对象技术分析关于EJB的持久化对象技术分析
阅读(141) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~