db2 java 函数_[转载]DB2 和 Java: 总览图

DB2 和 Java:总览图

IBM® DB2® Universal Database™(UDB)支持所有关键的因特网标准,这使它成为可在 Web 上使用的理想数据库。它在 Web 上具有在内存中运行般的速度,使因特网搜索和复杂的文本匹配变得更容易,同时还融合了关系数据库的可伸缩性和可用性特征。DB2 UDB 支持 WebSphere®、Java™ 和 XML 技术,使您能够轻松部署电子商务应用程序。

DB2 通用数据库支持许多类型的 Java 程序。它通过使用 JDBC™ 为用 Java 编写的客户机应用程序和 applet 提供了驱动程序支持。它还支持嵌入式 SQL for Java(SQLJ)、Java 用户定义的函数(UDF)和 Java 存储过程。

这个蓝图描述了 DB2 UDB Universal Developer's Edition V8(UDE)、DB2 for z/OS™ and OS/390®(V7)和 DB2 for iSeries™(V5R2)提供的 Java 应用程序开发环境。

05ac63f463130bd1876c1af927ae88a3.png

c6ccbc96c20bebb0d73e8e6368158ef5.png

本节描述以下特性:

依照 JDBC 规范,有四种类型的 JDBC 驱动程序体系结构:Type 1- 这类驱动程序将 JDBC API 作为到另一个数据访问 API 的映射来实现,如开放式数据库连通性(Open Database Connectivity,ODBC)。这类驱动程序通常依赖本机库,这限制了其可移植性。JDBC-ODBC 桥驱动程序就是 Type 1 驱动程序的示例。

Type 2- 这类驱动程序部分用 Java 编程语言编写,部分用本机代码编写。这些驱动程序使用特定于所连接数据源的本机客户机库。同样,由于使用本机代码,所以其可移植性受到限制。

Type 3- 这类驱动程序使用纯 Java 客户机,并使用独立于数据库的协议与中间件服务器通信。然后中间件服务器将客户机请求传给数据源。

Type 4- 这类驱动程序是纯 Java,实现针对特定数据源的网络协议。客户机直接连接至数据源。

DB2 UDB V8 for Linux、UNIX® 和 Windows® 支持 Type 2、Type 3 和 Type 4 JDBC 驱动程序。前几个发行版中的 JDBC 驱动程序构建于 DB2 CLI(调用层接口,Call Level Interface)之上。DB2 V8 Type 2 和 Type 3 驱动程序继续使用 DB2 CLI 接口与 UNIX、Windows 和 Linux 上的 DB2 UDB 服务器通信。当 Linux、UNIX 和 Windows 上的应用程序需要访问 OS/390 和 z/OS 以及 iSeries 上的 DB2 数据时,通常需要 DB2 Connect 服务器。DB2 UDB V8 for Linux、Unix 和 Windows 添加了一种新的 DB2 JDBC 通用驱动程序(DB2 JDBC Universal Driver,Type 4),它使用 Distributed Relational Database Architecture™(DRDA®)协议进行客户机/服务器通信,并与各种 DB2 服务器平台相兼容,不过这些服务器平台必须具备相应的 DRDA 应用程序服务器(Application Server,AS)级别支持,以及作为先决条件的存储过程。这个新的 JDBC 通用驱动程序可用于跨 DB2 数据库服务器系列访问数据。目前这种驱动程序支持 UNIX、Windows 和 Linux 上的 DB2 UDB V8 服务器,以及 z/OS 上的 DB2 UDB V7 和 V8 服务器。这种驱动程序的未来方向是还要支持 iSeries 上的 DB2。

DB2 for iSeries 数据库服务器提供了 Type 4 JDBC 驱动程序,称为用于 Java 的 iSeries 工具箱驱动程序。用于 Java 的 iSeries 开发人员工具箱(iSeries Developer Kit for Java)包含了一个 Type 2 JDBC 驱动程序,它构建于 iSeries DB2 调用层接口(CLI)本机库之上。

DB2 for z/OS V7 提供了 JDBC Type 2 驱动程序,并已宣布计划在即将发布的 DB2 V8 for z/OS 发行版中支持 JDBC 通用驱动程序(Type 4)。

DB2 JDBC 驱动程序支持许多最新的 JDBC 3.0 特性。

DB2 SQLJ 支持使您能构建和运行 SQLJ applet 和应用程序。这些 Java 程序包含嵌入式 SQL 语句,它们已被预编译并绑定到了 DB2 UDB 数据库。

SQLJ 有三个组件;转换器、定制器和运行时环境。转换器根据源 SQLJ 程序内的嵌入式 SQL 语句产生 Java 代码。SQL 语句的二进制表示是在一个单独的序列化概要文件( .ser 文件)中创建的。在使用 db2sqljcustomize命令定制该概要文件时,会创建静态 SQL 包。

图 1. 使用 Type 4 Java 通用驱动程序开发 SQLJ 应用程序(过程可能有所不同,这取决于驱动程序和发行版)

fig1.jpg

SQLJ 提供了:静态包级别安全性模型

静态 SQL 接口(例如, SELECT xxx INTO :hv1, :hv2 )

与 JDBC 相比,提高了开发生产率,当从现有嵌入式 SQL 体系结构(C 和 COBOL 等)移植应用程序时尤其如此

Java 2 平台,企业版(Java 2 Platform, Enterprise Edition,J2EE)定义了开发多层企业应用程序的标准。J2EE 平台管理基础结构并支持 Web 服务,以开发安全、健壮且可互操作的业务应用程序。J2EE 不仅利用了 Java 2 平台,标准版(Java 2 Platform, Standard Edition)的许多特性(如“一次编写,到处运行(Write Once, Run Anywhere)”的可移植性和用于数据库访问的 JDBC API),而且还添加了对 Enterprise JavaBeans(EJB)组件、Java Servlet、JavaServer Pages(JSP)和 XML 技术的全面支持。由于其简单性、可移植性、可伸缩性以及与旧系统的集成,J2EE 技术及其基于组件的模型就可以简化企业应用程序的开发和部署工作。

图 2. J2EE 应用程序模型

fig2.gif

实体 EJB(Enterprise Javabeans)有两类: 容器管理的持久性(CMP)和 bean 管理的持久性(BMP)。WebSphere Studio 为创建 J2EE 应用程序(包括实体 EJB)提供了理想环境。许多 Java 开发人员更喜欢使用 CMP EJB 来简单地访问存储在 DB2 数据库服务器中的数据。这个灵活且可移植的编程模型使用对象至关系映射层和 Enterprise Javabean 查询语言(Enterprise Javabean Query Language,EJB-QL)抽象了数据访问层。WebSphere Studio Application Developer V5 产品提供了一整套 J2EE 开发向导和模板来快速高效地创建 DB2 应用程序。在您开发 J2EE 应用程序时,可以使用内置的 WebSphere 测试环境(WebSphere Test Environment)迅速测试它,然后将该应用程序部署到准备用于生产的 WebSphere Application Server 环境。

DB2 EJB 样本

与 Linux、UNIX 和 Windows 上的 DB2 V8 一起提供了一个基于 DB2 UDB EJB 的样本。该样本应用程序包含一个 Web 客户机,它使用到会话/实体 EJB 组件的 JSP/servlet 接口访问 DB2 样本数据库。该样本应用程序包含在 AccessEmployee.ear 文件中,可以从 Windows 平台的 \samples\java\Websphere\ 目录和 UNIX 上的 /sqllib/samples/java/Websphere 目录中获得该文件。

samples/Java 目录中的自述文件中提供了 EJB 样本应用程序和部署信息的完整描述。

05ac63f463130bd1876c1af927ae88a3.png

c6ccbc96c20bebb0d73e8e6368158ef5.png

DB2 UDB 提供的一个灵活的 Java 基础结构将 DB2 服务器内您的应用程序的各个部分链接起来。可以将 Java 模块转换成称为用户定义的函数(UDF)的 SQL 扩展。另一个功能强大的选择是使用现有的 Java 类创建称为存储过程的数据库对象。因为 Java UDF 和存储过程都涉及到 DB2 服务器与 Java 虚拟机和外部 Java 类文件进行交互,所以对于构建和部署这些特性的最佳实践而言,把 DB2 系列所有平台的差别考虑进来就很重要。与 DB2 UDB V8 一起提供的 Java 分布式调试器可以协助调试 Java 存储过程逻辑。DB2 开发中心(DB2 Development Center)可以用于在许多平台上协助创建和测试 Java 存储过程和 UDF。

DB2 Java UDF 允许您扩展数据库服务器 SQL 语言的功能。实现 Java UDF 之后,任何 SQL 查询都可以调用它。这些 Java SQL 函数可以返回标量值或表(记录集)。表函数的功能很强大,因为它可以使任何数据源看起来类似于 DB2 表,然后就可以用于常规的 SQL 查询、连接操作和分组等。有关创建基于 Java 的 SQL 函数的更多信息,请参考 DB2 SQL 参考大全中有关 CREATE FUNCTION SQL 语句的文档。

存储过程对于在服务器上封装应用程序逻辑和数据库访问很有价值。客户机应用程序调用存储过程,然后存储过程执行数据库访问,但不会跨网络返回不必要的数据。存储过程只返回客户机应用程序需要的结果。存储过程提供了这些优点:改善的性能:

将 SQL 语句组合在一起可以减少网络流量,从而改善性能。典型的应用程序对每条 SQL 语句都需要在网络上进行两次通信。将 SQL 语句组合成存储过程可以减少完成事务的网络交互数。在 DB2 服务器上的存储过程模块内可以处理大型的结果集,以减少在客户机应用程序内必须处理的数据量。

强制执行了与数据模型相关的业务规则:

存储过程可以用于定义和重用公共的业务规则。当应用程序调用存储过程时,它将以与存储过程中定义的规则相一致的方式来处理数据。如果您需要更改规则,那么只要在存储过程中更改一次,而不需要在调用该存储过程的每个应用程序中都进行更改。

有关创建基于 Java 的 SQL 过程的更多信息,请参考 DB2 SQL 参考大全中有关 CREATE PROCEDURE SQL 语句的文档。

图 3a. Java 客户机以及与 DB2 交互的命令

fig3a.gif

图 3b. Java 客户机

fig3b.gif

05ac63f463130bd1876c1af927ae88a3.png

c6ccbc96c20bebb0d73e8e6368158ef5.png

WebSphere Studio 是一个集成开发环境(IDE),它使您能构建、测试 Java 应用程序,并将其部署到 WebSphere Application Server 和 DB2 通用数据库。WebSphere Studio 的 DB2 存储过程和 UDF 构建器组件提供了一些向导和工具,这些向导和工具用于创建和使用可以用于 DB2 通用数据库的 Java 存储过程和用户定义的函数(UDF)。当创建访问 DB2 数据的应用程序时,可以通过合并注册到数据库服务器的存储过程和 UDF 来改进应用程序的性能。

DB2 开发中心可以独立使用,也可以与 WebSphere Studio 一起使用,以创建用于 UNIX、Windows、Linux 和 z/OS 平台的服务器端 Java 存储过程和 UDF。

05ac63f463130bd1876c1af927ae88a3.png

c6ccbc96c20bebb0d73e8e6368158ef5.png

DB2 UDB Universal Developer's Edition V8 产品提供了快速构建和部署应用程序所需的所有工具。该软件包包含了功能齐全的集成开发环境、可伸缩的 Web 应用程序服务器以及 DB2 UDB 内置的 XML 功能部件。DB2 通用数据库是一个可伸缩的、工业级的数据库,它将成为您电子商务的数据管理基础。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值