构建跨越联合数据的实体EJB

简介

实体 Enterprise JavaBeans(EJB)开发人员发现自己面临数据建模问题的挑战,这并不稀奇。因为实体 EJB 通常代表由关系 DBMS 管理的数据,所以程序员们常常必须决定:如何将表中现有的数据映射到支持 Web 应用程序所需的新的服务器端 Java 对象。尽管许多开发工具可以帮助程序员构建映射到单个表的单个实体 EJB,但很难找到有以下能力的工具:能帮助程序员创建实体 EJB,且该实体 EJB 映射到非关系数据或由多个数据源(可能既有关系数据源,也有非关系数据源)管理的数据。

在本文中,我们将研究 IBM DB2 联合数据库管理系统(DBMS)是如何帮助 EJB 程序员解决这些问题的。该技术为程序员提供了全异数据的单站点映象,呈现了一个虚拟数据库,这个虚拟数据库掩盖了远程数据源所需的应用程序编程接口(API)中的差别。这是联合 DBMS的特征之一,它使 EJB 程序员能以透明和高效的方式使用全异数据。

前一篇文章 处理 Web 应用程序中的全异数据介绍了联合 DBMS 概念并对它们如何能补充 Web 应用程序服务器环境做了说明。另一篇文章 构建访问联合数据的Web 组件研究了构建使用联合数据的会话 EJB 和 Web 服务的设计需求。在本文中,我们将研究联合 DBMS 技术更进一步的用法:作为创建带有容器管理的持久性(container-managed persistence (CMP))的实体 bean的基础。但在我们深入研究技术细节之前,理解联合数据库技术在什么情况下可能有益于实体 EJB 程序员是很重要的。

益处何在?

CMP 实体 bean 代表着 DB2 联合数据库技术的一种相当完善的用法,因为数据库访问的代码 — 也就是实现持久性的代码 — 是在部署 EJB 时自动生成的。相反,构建访问持久数据的会话 EJB的程序员,要编写自己的JDBC 语句才能建立数据库连接以及发出 SQL 语句。

在随后的几节中,我们将讨论如何构建使用联合 DBMS 技术的各种 CMP 实体 bean。IBM的WebSphere Studio Application Developer 集成版(WSADIE)将作为我们的Java开发平台。但是,首先要理解在什么情况下使用 DB2 联合技术会对实体 bean 程序员有好处,这很重要。联合技术可以:

扩展 EJB 所表示的数据源的范围。尽管流行的Java 编程工具 — 如 IBM的WSADIE — 提供对多种数据源的本机支持,但 DB2的联合技术提供了对一些其它数据源(包括非关系数据源)的现成的访问能力。此外,如果需要,DB2 程序员还可以构建封装器,以便使 DB2 能访问任何想访问的数据源,其中包括“旧的”DBMS、文件系统、原型软件等。

支持许多常用 DBMS的CMP 实体 bean的自动化开发和部署,而 不要求这些 DBMS的客户机软件安装在运行 WSADIE 或 IBM WebSphere Application Server的平台上。

支持单个 CMP 实体 bean的自动化开发和部署,该实体 bean的属性映射到来自多个数据源的数据。在这种方案中,会创建一个 DB2 视图,它连接或合并来自多个数据服务器的数据。因为“视图更新”问题对任何关系 DBMS 都很常见,所以这样的CMP 实体 bean 都被开发成“只读”的。

实体 EJB 概述

EJB 是遵守某些编程规范的服务器端软件组件。实体 EJB 代表了通常存储在关系 DBMS 中的持久数据。开发人员可以自己管理他们 bean的持久方面(通过 bean 管理的持久性,或简称 BMP),但大多数人选择将这一职责委托给容器(通过 容器管理的持久性,或简称 CMP)。本文着重讨论 CMP 实体 bean。

EJB 规范对开发人员制定了某些编码需求。这些需求会稍有不同,取决于您希望支持的EJB 规范级别。对于本文,我们将着重关注 EJB 1.1,它是 WebSphere Application Server 版本 4(我们的目标部署平台)支持的级别。在部署时,每个 CMP 实体 bean 都有几个代码模块,包括:

home 接口,定义创建、查找和除去 bean 实例的客户机方法。

remote 接口,定义与 bean 关联的业务方法。“getters”和 “setters”常用来获取和设置 bean的各个属性。

bean 类,包含由 EJB开发人员编码的业务逻辑方法和由容器使用的EJB 生命周期方法。EJB 客户机不直接访问这个类的对象,而是用容器生成的类(实现了 home 和 remote 接口)间接使用这个类的服务。

主键类,对能唯一标识该 bean的每个实例的属性(或属性集)进行标识,并提供创建和操作键的方法。

开发了 EJB 后,程序员必须设置管理 bean的特征(如其事务隔离级别)的部署描述符。最后,必须将这个 bean 打包并部署在 EJB 服务器中。部署过程会导致产生附加的类,其中包括那些与前面描述的home和 remote接口相关联的类。一个合适的Java开发环境(如 WSADIE)在开发、部署和测试 EJB 时会有很大的帮助。

时间: 2024-11-30 22:25:14

构建跨越联合数据的实体EJB的相关文章

大数据助力 实体书店回暖

互联网的发展,曾险些让书店这个城市的文化标签成为历史,以国外的亚马逊.国内的当当网为首的一种电商平台的崛起,让实体书店苦不堪言,险遭"灭门".而经历了十几年的行业自救和政策.资本的扶持,实体书店不仅逐渐走出了经营之困,甚至吸引到往日"仇敌"回身示好. 从线上回归线下 2015年11月,亚马逊,这个实体书店行业曾经最大的敌人"叛变"了,它在美国西雅图开了第一家线下书店,这下弄蒙了一众亚马逊的手下败将.遥想多年以前,亚马逊用电商和电子书这两把利剑,杀

构建安全的数据访问

安全|访问|数据 构建安全的数据访问 #数据库是应用程序级攻击的主要目标.攻击者使用应用程序级攻击,以利用您的数据访问代码中的缺陷,获取未授权的数据库访问权限.如果所有其他受攻击区域都关闭了,则应用程序的前门 - 端口 80,将成为攻击者窃取.操纵和破坏数据的路径选择.本单元说明了如何构建安全的数据访问代码,并避免常见的缺陷和失误.本单元提出了一系列对策和防范技术,可以用在数据访问代码中减轻与数据访问有关的一些最大威胁. Discovering the New Visual Basic 2005

【译】使用Apache Kafka构建流式数据平台(1)

前言:前段时间接触过一个流式计算的任务,使用了阿里巴巴集团的JStorm,发现这个领域值得探索,就发现了这篇文章--Putting Apache Kafka To Use: A Practical Guide to Building a Stream Data Platform(Part 1).在读的过程中半总结半翻译,形成本文,跟大家分享. 最近你可能听说很多技术名词,例如"流式处理"."事件数据"以及"实时"等,与之相关的技术有Kafka.S

【Hadoop Summit Tokyo 2016】如何构建成功的数据湖泊

本讲义出自 Alex Gorelik在Hadoop Summit Tokyo 2016上的演讲,主要介绍了数据湖泊的相关概念,介绍了数据湖泊可以赋能数据驱动的决策制定以及最大化商业价值,以及如何通过正确的数据+正确的平台+正确的接口构建成功的数据湖泊.

最新Teradata Database 15数据库将跨越大数据鸿沟

ZDNET至顶网CIO与应用频道 05月19日 北京消息:一场巨变正引导着数据分析行业由单一数据仓库向逻辑数据仓库转变,以支持多元系统.分析技术.编程语言及不同数据类型.全球领先的数据分析平台.应用和服务供应商Teradata天睿公司(Teradata Corporation,纽交所:TDC)日前推出最新的Teradata Database 15数据库,助力实现逻辑数据仓库的真正使命. Teradata天睿公司实验室(Teradata Labs)总裁 Scott Gnau表示:"凭借Terada

构建成功大数据基础设施的七大关键点

大数据是当今许多企业IT运营的一个重要组成部分.据知名调研公司IDC预测,到2019年,大数据市场产值将达到1870亿美元.大数据是数据分析的一个关键部分,而分析又是机器和人类商业智能及决策的基础.因为很明显,要是没有某种基础设施,你无法获得各种数据:大数据.小数据或完全正确的数据,所以有必要看一看有助于构建成功大数据架构的几个因素. 其中,一些因素可能看起来很明显,另一些则比较微妙.实际上,所有因素共同对你的大数据系统将支持的分析和行动带来巨大的影响. 当然,不是说只有这七个因素才会对大数据基

软硬结合 如何构建高效的数据中心?

能耗问题一直是各大数据中心的心头之痛.有数据表明,2015年我国数据中心能耗预计将高达1000亿度,相当于整个三峡水电站一年的发电量;目前国内数据中心的PUE值普遍过高,从2.2到2.6不等.而在国外,施耐德电气参建的位于瑞典的世界首个气候友好型数据中心EcoDataCenter将PUE值控制在1.15以内;位于北卡罗来纳州的勒努瓦的谷歌数据中心,PUE值更是降到了1.12.那么,针对 高能耗.设计不合理.运维成本高的问题,国内要如何构建出如此高效的数据中心?   从设备管理转向资产管理 前一阶

商务部巡视员:用三年构建商务大数据资源库

近日,商务部电子商务和信息化司巡视员聂林海出席2016国是论坛"数字经济--引领新趋势"专题圆桌对话时表示,数字经济发展的新时代已经全面开启.商务部将从多方面做好工作,包括创新公共服务,力争用三年时间构建商务大数据资源库,提升商务领域公共服务水平. 今年前10月网络零售交易额同比增长25.7% 聂林海指出,电子商务是数字经济的重要组成部分,具有开放性.全球性.低成本.高效率的优势,成为进一步释放数字经济潜力的关键领域.近年来,我国的数字经济和电子商务发展的主要特点,可概括为增长速度加快

如何构建下一代大数据架构——数据湖

如何创建一个适用于多样数据类型,并可扩展的敏捷数据平台?答案就在数据湖中! 图片源于网络 技术和软件的进步使我们能够处理和分析大量数据.虽然很明显,大数据是一个企业投入了大量资金的热门话题,但要注意,除了考虑数据规模,我们还需要考虑到被分析数据类型的多样性.数据种类不同意味着数据集可以存储在许多格式和存储系统中,每个类型都有自己的特征. 考虑数据多样性是一项艰巨的任务,但有一种方法可以使你360度全面了解你的客户,提供商和运营商.为了实现这种方法,我们需要实现下一代大数据架构.接下来,我们来看一