开发数据访问应用程序
可使用数据访问应用程序处理来自源外部的数据以在应用程序服务环境中使用。
关于此任务
- 使用标准或扩展的 API
- 使用容器管理的持久性 bean
- 使用 bean 管理的持久性 bean、会话 bean 或 Web 组件。
- 使用服务数据对象 (SDO)
过程
- 确定如何实现数据访问。
Enterprise JavaBeans (EJB) 编程模型提供一些不同的服务器端组件类型:实体、会话和消息驱动的 Bean 和 Servlet。在这些类型中,实体 bean 通常用于建模应用程序中的业务组件。实体 bean 有状态和行为。
实体 bean 的状态是持久的并且存储在数据库中。由于对实体 bean 进行更改,所以其状态与表示 bean 的数据库记录同步。EJB 模型提供两种类型的实体 bean 而这两种类型在用于提供持久性的机制上是不同的。这两种类型的实体 bean 是容器管理的持久性 (CMP) bean 和 Bean 管理的持久性 (BMP) bean。
- 使用 BMP bean,开发者手动产生代码来管理 bean 的持久状态。
- 通过使用 CMP bean,EJB 容器管理 bean 的持久状态。持久状态管理是一项复杂和困难的任务;它使用 CMP bean 来允许开发者通过委派持久性行为给容器来关注业务逻辑。
CMP bean 的典型示例是 Customer、Account 等。因为 CMP bean 是对象,所以使用字段访问程序访问它们的数据(状态)。 例如,Customer 实体 bean 可能有诸如名称和电话号码的字段。 使用 accessor 方法 getName()/setName() 和 getPhoneNumber()/setPhoneNumber() 访问这些数据块。作为一个开发者,您并不关心该数据最终是如何存储的以及如何从后端数据库中检索该数据,而是可以假设数据的完整性是由容器维护的。
有关开发实体 bean 的信息,请参阅“开发企业 Bean”主题。提示:要最大程度地提高对关系数据库的应用程序请求的效率,请在开发 BMP 和 CMP bean 时,考虑使用 Java™ 结构化查询语言 (SQLJ)。对于使用 DB2® JDBC 通用驱动程序来访问 DB2 数据库的应用程序,此选项可用。
受 SQLJ 支持并访问 DB2 z/OS® 版的 BMP bean 是此驱动程序需求的唯一例外;此模式需要 DB2 z/OS 版旧驱动程序(为 DB2 z/OS 版本地 JDBC 提供程序 RRS 所需)。
另外,请考虑使用游标可持有性,以获取潜在的性能增强;有关详细信息,请参阅“JDBC 应用程序游标可保持性支持”主题。
请考虑使用游标可持有性,以最大程度地提高对关系数据库的应用程序请求的效率;
开发实体 bean 的备用方法是使用服务数据对象 (SDO) 框架,它是用于数据应用程序开发的统一框架。使用 SDO,您不需要熟悉特定于技术的 API 就能访问和利用数据。只需要知道一个 API,即,让您使用来自多个源的数据的 SDO API,这些源包括关系数据库、实体 EJB 组件、XML 页面、Web Service、Java 连接器体系结构和 JavaServer Pages 等。
- 使用资源引用查找数据源或连接工厂。有关更多信息,请参阅“通过资源引用来查找数据源以便进行关系访问”主题。 如果您使用 CMP bean,那么不要执行此步骤。EJB 容器将为 CMP bean 处理此过程。 要在 WebSphere® Application Server 上运行应用程序,代码必须使用资源引用才能在逻辑上命名数据源或连接工厂。将资源引用映射至实际的资源通常是在组装时完成的。Application Server 管理员配置这些资源。
- 对于关系数据库访问,管理员配置 JDBC 提供程序和相关联的数据源,这些数据源使用嵌入式 WebSphere 关系资源适配器。
- 对于非关系数据库访问,管理员将 Java Platform, Enterprise Edition (Java EE) 连接器体系结构 (JCA) 资源适配器安装到应用程序服务器并配置相关联的连接工厂。
通用工作上下文实现提供了一种机制,以供资源适配器控制上下文,系统会在这些上下文中执行资源适配器提交至产品工作管理器的工作实例。通过提交实现 WorkContextProvider 接口的工作实例,资源适配器可将各种类型的上下文传播至 WebSphere Application Server。然后,如果应用程序服务器支持所传播的上下文类型,那么应用程序服务器会在执行期间将所提供上下文设置为工作实例的执行上下文。
- 获取与数据源或连接工厂的连接。有关详细信息,请参阅“连接生命周期”主题的“获取连接”一节。 如果您使用 CMP bean,那么不要执行此步骤。EJB 容器将为 CMP bean 处理此过程。
对企业信息系统 (EIS) 的关系访问和过程访问的连接管理体系结构都是基于 Java EE 连接器体系结构 (JCA) 规范。合并和管理应用程序服务器中的连接的连接管理器 (CM) 能管理通过由 JCA 规范定义的资源适配器 (RA) 和由 JDBC 扩展规范定义的数据源获取的连接。
使用线程身份对连接指定所有者。有关更多信息,请参阅“使用线程身份支持”主题。
子主题
使用线程标识支持
线程标识功能允许您在初次获取连接时,将线程标识指定为连接的所有者。此功能只适用于那些支持通过线程身份确定连接所有权的 Java Platform, Enterprise Edition (Java EE) 连接器体系结构 (JCA) 资源适配器和 Relational Resource Adapter (RRA) 包装的 Java 数据库连接 (JDBC) 提供程序。将使用 MongoDB 的 Liberty 应用程序移植到完整概要文件
您可以对使用 MongoDB 的 Liberty 应用程序进行移植,以使其在 WebSphere Application Server 完整概要文件上运行。在 RAR 模块中使用 Bean 验证
WebSphere Application Server 根据 Java 连接器体系结构 (JCA) V1.6 规范来验证资源归档 (RAR) JavaBeans 约束。对于 RAR 模块中的注释的 JCA 1.6 支持
Java 连接器体系结构 (JCA) V1.6 规范添加了对于资源归档 (RAR) 模块中 Java 注释的支持。注释是在构成 RAR 模块的类文件中为该模块指定元数据或配置数据的方法。数据访问 API 的扩展
如果单个数据访问 API 未提供应用程序的完整解决方案,那么使用 WebSphere Application Server 扩展来实现 JCA 与 JDBC API 之间的互操作性。根据导出的表数据定义语言重新创建数据库表
当 WebSphere Application Server 部署工具部署包含容器管理的持久性 (CMP) 企业 Bean 的 EJB JAR 文件时,它将选择目标数据库并创建相应的 Table.ddl 文件。此文件包含生成 CMP Bean 的数据库表所需的 SQL 语句。与容器管理的持久性 Bean 相关的技术
WebSphere Application Server 提供了容器管理的持久性 (CMP) 服务,该服务超出 Enterprise JavaBeans (EJB) 规范所设置的标准。处理实体 Bean 与数据存储器的同步
在每次 findBy 调用之前,可通过使用环境变量或标记接口指示特定 Enterprise JavaBeans (EJB) 类型不应使其状态与持久存储器同步。避免对非修改实体 bean 实例执行 ejbStore 调用
如果实体 Bean 实例在当前事务期间未修改,那么可配置这些实例绕过 ejbStore 方法的调用。资源引用的优点
WebSphere Application Server 要求您的代码通过逻辑名引用应用程序服务器资源(例如数据源或 J2C 连接工厂),而不是直接访问 Java 命名和目录接口 (JNDI) 名称空间中的资源。这些逻辑名称为资源引用。使用 Java EE 连接器体系结构连接器来访问数据
要从 WebSphere Application Server 中符合 Java EE 连接器体系结构 (JCA) 的应用程序中访问数据,请配置并使用资源适配器和连接工厂。JDBC 应用程序开发技巧
通过使用最佳实践来帮助最大程度地提高 JDBC 查询的效率,您或许能够改进应用程序性能。JDBC 应用程序游标可持有性支持
游标可持有性功能可以减少 JDBC 与关系数据库交互的开销,从而帮助提高应用程序性能。数据访问 Bean 类型
为了便于进行数据访问编程,WebSphere Application Server 提供了一个特殊的类库,它将为您实现许多 Java 数据库连接 (JDBC) API 方法。该库实际上是一组服务数据对象 (SDO)。从应用程序客户机访问数据
要直接从 Java Platform, Enterprise Edition (Java EE) 应用程序客户机中访问数据库,需要从客户机部署描述符中配置的资源引用中检索 javax.sql.DataSource 对象。此资源引用是作为客户机应用程序的部署描述符的组成部分配置的,并提供对预先配置的数据源对象的引用。使用服务 DataObjects API V1.0 和 V2.01 进行数据访问
服务数据对象 (SDO) 框架是以数据为中心、断开连接的 XML 集成数据访问机制,它提供了独立于源的结果集。使用 Java 数据库连接介体服务来访问数据
以下步骤说明如何为 Java 数据库连接 (JDBC) 数据介体服务 (DMS) 创建元数据以及如何实例化 DMS dataGraph。使用 EJB 数据介体服务来访问数据
下列步骤使用代码样本来描述有关如何创建 Enterprise JavaBeans (EJB) 数据介体服务 (DMS) 元数据的简单实例。开发定制 DataStoreHelper 类
应用 WebSphere 扩展 GenericDataStoreHelper 类,以便为应用程序服务器不支持的数据源创建您自己的数据存储辅助控件。借助此 helper 类,事务期间 JDBC 配置可以使用特定于数据库的函数。将使用 MongoDB 的 Liberty 应用程序移植到完整概要文件
您可以对使用 MongoDB 的 Liberty 应用程序进行移植,以使其在 WebSphere Application Server 完整概要文件上运行。在 RAR 模块中使用 Bean 验证
WebSphere Application Server 根据 Java 连接器体系结构 (JCA) V1.6 规范来验证资源归档 (RAR) JavaBeans 约束。对于 RAR 模块中的注释的 JCA 1.6 支持
Java 连接器体系结构 (JCA) V1.6 规范添加了对于资源归档 (RAR) 模块中 Java 注释的支持。注释是在构成 RAR 模块的类文件中为该模块指定元数据或配置数据的方法。数据访问 API 的扩展
如果单个数据访问 API 未提供应用程序的完整解决方案,那么使用 WebSphere Application Server 扩展来实现 JCA 与 JDBC API 之间的互操作性。根据导出的表数据定义语言重新创建数据库表
当 WebSphere Application Server 部署工具部署包含容器管理的持久性 (CMP) 企业 Bean 的 EJB JAR 文件时,它将选择目标数据库并创建相应的 Table.ddl 文件。此文件包含生成 CMP Bean 的数据库表所需的 SQL 语句。与容器管理的持久性 Bean 相关的技术
WebSphere Application Server 提供了容器管理的持久性 (CMP) 服务,该服务超出 Enterprise JavaBeans (EJB) 规范所设置的标准。处理实体 Bean 与数据存储器的同步
在每次 findBy 调用之前,可通过使用环境变量或标记接口指示特定 Enterprise JavaBeans (EJB) 类型不应使其状态与持久存储器同步。避免对非修改实体 bean 实例执行 ejbStore 调用
如果实体 Bean 实例在当前事务期间未修改,那么可配置这些实例绕过 ejbStore 方法的调用。资源引用的优点
WebSphere Application Server 要求您的代码通过逻辑名引用应用程序服务器资源(例如数据源或 J2C 连接工厂),而不是直接访问 Java 命名和目录接口 (JNDI) 名称空间中的资源。这些逻辑名称为资源引用。使用 Java EE 连接器体系结构连接器来访问数据
要从 WebSphere Application Server 中符合 Java EE 连接器体系结构 (JCA) 的应用程序中访问数据,请配置并使用资源适配器和连接工厂。JDBC 应用程序开发技巧
通过使用最佳实践来帮助最大程度地提高 JDBC 查询的效率,您或许能够改进应用程序性能。JDBC 应用程序游标可持有性支持
游标可持有性功能可以减少 JDBC 与关系数据库交互的开销,从而帮助提高应用程序性能。数据访问 Bean 类型
为了便于进行数据访问编程,WebSphere Application Server 提供了一个特殊的类库,它将为您实现许多 Java 数据库连接 (JDBC) API 方法。该库实际上是一组服务数据对象 (SDO)。从应用程序客户机访问数据
要直接从 Java Platform, Enterprise Edition (Java EE) 应用程序客户机中访问数据库,需要从客户机部署描述符中配置的资源引用中检索 javax.sql.DataSource 对象。此资源引用是作为客户机应用程序的部署描述符的组成部分配置的,并提供对预先配置的数据源对象的引用。使用服务 DataObjects API V1.0 和 V2.01 进行数据访问
服务数据对象 (SDO) 框架是以数据为中心、断开连接的 XML 集成数据访问机制,它提供了独立于源的结果集。使用 Java 数据库连接介体服务来访问数据
以下步骤说明如何为 Java 数据库连接 (JDBC) 数据介体服务 (DMS) 创建元数据以及如何实例化 DMS dataGraph。使用 EJB 数据介体服务来访问数据
下列步骤使用代码样本来描述有关如何创建 Enterprise JavaBeans (EJB) 数据介体服务 (DMS) 元数据的简单实例。开发定制 DataStoreHelper 类
应用 WebSphere 扩展 GenericDataStoreHelper 类,以便为应用程序服务器不支持的数据源创建您自己的数据存储辅助控件。借助此 helper 类,事务期间 JDBC 配置可以使用特定于数据库的函数。


http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tdat_impdatacc
文件名:tdat_impdatacc.html