在WebSphere Application Server V7上使用IBM solidDB V6.3和OpenJPA

Java Persistence API(JPA)是 Enterprise JavaBean (EJB) 3.0规范的一部分。JPA可用于Java Standard Edition(Java SE)和Java Enterprise Edition(Java EE)应用程序。IBM solidDB 是一个内存关系数据库,它的速度最高可达常规数据库的10倍。solidDB支持Java Database Connectivity (JDBC) 2.0规范。许多Java SE和 Java EE 应用程序可以利用使用 JDBC 的内存数据库的性能优势。

简介

Java Persistence API(JPA)作为 EJB 3.0 规范 (JSR220) 的一部分引入,其目的是使整个 Java 社区基于一个单一的、标准的、持久的 API。JPA 吸收了 Hibernate、TopLink、Java Data Objects (JDO) 和 Container Managed Persistence (EJB-CMP) 2.1 规范的精华。

JPA 可用于 Java Standard Edition (Java SE) 和 Java Enterprise Edition (Java EE) 环境,因为它将实体表示为可以被一个 JPA 持久性提供者(如 Apache OpenJPA)管理的 Plain Old Java Objects (POJOs)。关于这个实体的对象关系映射的元数据使用 Java 5 注释或 XML 描述符指定。实体用于将 Java 对象持久化保存在数据库中。

有几种 JPA 持久性提供者。IBM 的 JPA 解决方案基于 Apache OpenJPA 项目。随着这些 JPA 持久性提供者的发布,您现在可以对一个标准的 API 编码,而不必在不兼容的非标准持久性框架(如 Hibernate 或 JDO)之间抉择。

IBM solidDB 是一个内存数据库,它的速度最高可达常规数据库的 10 倍。solidDB 不仅具有高速度,还具有高可用性和故障转移特性,这使它成为许多性能关键型应用程序的数据管理组件的自然选择。

solidDB 可以部署为一个独立的内存数据库,供应用程序直接使用。它也可以部署为一个缓存,用于加速 IBM DB2、Oracle 和 SQL Server 等传统数据库。solidDB 支持标准 Java Database Connectivity (JDBC) 2.0 规范。solidDB JDBC Driver 是一个类型 4 驱动程序(即它是 JDBC 2.0 标准的一个 100% 的 Java 实现),可用于支持 JDK 1.4.2 或更高版本的所有 Java 环境。由于 solidDB 支持 JDBC,您也可以通过 solidDB 使用 JPA。这就意味着编写需要良好性能的应用程序的 Java 程序员可以通过 solidDB 使用 JDBC、JPA 或者同时使用两者。

其他文章 已经介绍了如何通过 solidDB 使用 JDBC,如何将 solidDB 用作传统数据库的一个缓存(参见 “参考资料”)。本文将介绍如何通过 solidDB 将 OpenJPA 用作一个独立的内存数据库。首先,您将定义一个示例应用程序(包含在本文中),用于展示如何通过 solidDB 使用 OpenJPA。这个示例应用程序作为一个 Java EE 应用程序实现,在 IBM WebSphere Application Server 7.0 上运行。(这个应用程序也可以作为一个 Java SE 应用程序实现(没有无状态会话 bean),在独立的 OpenJPA 持久性提供者之上运行。)定义这个应用程序之后,本文将指导您逐步安装和配置一些基本组件,这些组件是您使用 OpenJPA 和 solidDB 在 WebSphere Application Server 上构建一个性能关键型应用程序所需的组件。最后,您将看到针对 JPA 规范编写的 Java 应用程序如何通过 OpenJPA 连接到 solidDB。

示例应用程序

许多 Java 应用程序都可以受益于内存数据库的使用,比如 solidDB。例如,一些电子商务网站整合来自几个后端应用程序的信息,一些财务服务公司对贸易商提供实时警告,一些通信运营商监视移动电话使用和呼叫方案以进行计费。

对于本文的目的来说,您在这里使用的示例应用程序是一个计算机电话集成(CTI)应用程序。假设这个 CTI 应用程序通过将呼叫者路由到最有资格处理每种呼叫类型的代理处来处理所有接入呼叫。这个应用程序建立一个与代理的电话的连接并在代理的工作站上填充呼叫者的帐户数据(如帐户编号、姓名等)。这些交互包含在图1 展示的示例应用程序的主要设计元素之中。

图1. CTI 设计模型


在这个应用程序中:

Message Façade 从 PBX/ACD(专用交换机/自动呼叫分配器)接收异步消息。它从消息有效载荷中创建 Value Object 并异步将消息分发到 Session Façade 来满足请求。消息驱动 bean(MDB)实现 Message Facade。

Session Façade 提供从数据库创建、检索、更新和删除 Value Object 的操作。例如,它拥有 createCaller、updateAgent 和 deleteCaller 等操作。它使用 Data Access Object 存储来自 solidDB 的 Value Objects。Stateless Session Beans(无状态会话 Bean,SLSB)实现 Session Façade。

Value Object 持有代理和呼叫者的属性值。它作为一个 POJO 实现,带有获取和设置属性值的方法。它还提供一个从 XML 字符串创建 Value Object 的方法(valueOf)和一个将 Value Object 转换为 XML 字符串的方法(toString)。这些 POJO 通过 Message Façade 创建,作为参数传递给 Session Façade 和 Data Access Object。

Data Access Object 封装了对用于在数据库中存储 Value Objects (POJOs) 的持久性技术(JDBC、JPA 等)的所有访问。在这个应用程序中,JPA APIs 用于将 Value Objects 持久化到 solidDB 中。

要将接入的呼叫者智能地路由到最好的可用代理,关键是能够使 CTI 应用程序中呼叫者状态和代理状态的副本与 PBX 一致。为此,CTI 应用程序通过 JMS 消息收到来自 PBX/ACD 的状态更改,并且 CTI 应用程序使用 solidDB 将代理状态和呼叫者状态缓存到内存中。

时间: 2025-01-02 07:41:54

在WebSphere Application Server V7上使用IBM solidDB V6.3和OpenJPA的相关文章

在WebSphere Application Server V7上通过JAX-WS实现消息级安全性

在WebSphere Application Server V7上通过JAX-WS 实现消息级安全性: 集成JEE授权  在第 1 部分中,您了解了如何在 WebSphere Application Server V7 上使用 JAX-WS 提供消息级安全性,包括如何使用策略集对消息进行加密和签名,以及如何使用 UsernameToken 概要文件进行身份验证.在第 2 部分中,您将了解如何使用 SOAP 头部中传递的 UsernameToken 作为 JEE principal 在服务提供者中

WebSphere Application Server V7高级安全性加强,第1部分:(上)

安全性加强概述和方法 简介 IBM WebSphere Application Server 的安全性在每个版本中都有所改进.除了在新版本中 增加新功能之外,我们还不断增强产品的默认安全性.我们通过改进默认设置不断提高满足默 认安全性这一关键原则的程度.本文的前一个版本 主要关注 WebSphere Application Server V6 和那个版本所需的加强步骤.在后续 WebSphere Application Server 版本中,显著减少了 加强步骤的数量,更重要的是,保留的大多数步

IBM WebSphere Application Server V7.0 Feature Pack for Java Persistence

IBM WebSphere Application Server V7.0 Feature Pack for Java Persistence API 2.0 新特性介绍 对象 - 关系持久化是 Java EE 应用开发中的一个重要部分.Java Persistence API (JPA) 是对象 - 关系持久化的 Java EE 标准,从 Java EE 5 开始被引入.最新的 JPA 2.0(JSR-317) 规范是 Java EE 6 标准的一部分,它引入了新的对象 - 关系持久化 API

IBM WebSphere Application Server V7.0 Fix Pack 7于2009.11.13发布

IBM WebSphere Application Server V7.0 Fix Pack 7于2009.11.13发布 关键字: ibm websphere was 7.0.0.7 IBM WebSphere Application Server V7.0 Fix Pack 7于2009.11.13发布 各个平台下载,请见: http://www.ibm.com/support/docview.wss?rs=180&uid=swg24024582 详细修复列表,请见: http://www-

WebSphere Application Server V7、V8和V8.5中的高级安全性加强 二

高级安全注意事项 简介 第 1 部分 解释了 IBM WebSphere Application Server V7.0 和更高版本在设计时如何考虑到默认安全性安全原则.目标是在最常见的配置和比较简单的环境中,让这个产品在默认情况下具有合理的安全水平(尽管这个目标还没有完美地实现).前一篇文章最后介绍了 WebSphere Application Server 中已经采用的许多重要的基于基础架构的预防性安全措施.本文将介绍基于应用程序的其他预防性措施,然后讨论一些重要的注意事项. 尽管本文中的信

WebSphere Application Server V7中的新特性

IBM WebSphere Application Server V7 中包括一些功能强大的新特性和显著的增强功能,以帮助您实现更高的工作效率.更强的安全性.更紧密的集成和简化的管理.了解这个新版本中的关键特性,这些特性使得该版本可以为您的面向服务的体系结构提供灵活而可靠的基础. 引言 IBM WebSphere Application Server 为面向服务的体系结构(Service Oriented Architecture,SOA)应用程序交付敏捷.可靠的基础,以使应用程序与业务和 IT

在WebSphere Application Server V7中为WS-Addressing提供JAX-WS 2.1支持

IBM WebSphere Application Server V7 包括了对 Java API for XML-Based Web Services (JAX-WS) 2.1 规范的支持.JAX-WS 2.1 是 Java Specification Request (JSR) 224 的维护版本,通过增加新功能对 JAX-WS 2.0 规范提供的功能进行了扩展.其中最重要的新功能就是 在应用程序编程接口(Application Programming Interface,API)中支持 W

WebSphere Application Server V7高级安全性加强,第2部分

高级安全性注意事项 简介 第 1 部分 解释了 IBM WebSphere Application Server V6.1 和更高版本在设计时如何考 虑到默认安全性安全原则.目标是在最常见的配置和比较简单的环境中,让这个产品在默认情 况下具有合理的安全水平,尽管这个目标还没有完美地实现.前一篇文章最后介绍了 WebSphere Application Server 中已经采用的许多重要的基于基础设施的预防性安全措施.本 文介绍基于应用程序的其他预防性措施,然后讨论一些重要的注意事项. 尽管本文中

调优WebSphere Application Server V7性能

简介 IBM WebSphere Application Server 是一种可靠的企业级应用服务器,它提供了一组核心组件.资源和服务,供开发人员在应用程序中使用.每个应用程序都具备特有的需求,并且经常采用截然不同的方式使用应用服务器的资源.为了提供高度灵活性并支持这种广泛的应用程序,WebSphere Application Server 提供了一组全面的参数来帮助您增强对应用程序的调优. 应用服务器已经为最常用的调优参数设置了默认值,以确保能为最广泛的应用程序提供开箱即用的性能改善.但是,由