CTOCIO IT专家网

天极传媒 比特网 | 天极网 | IT专家网 | IT商网 | 52PK游戏网 | 手机天极 | IT分众 |
IT专家网搜索

您现在的位置: IT专家网 > Web服务子站 > 技巧

使用 Web 服务虚拟化 Oracle 数据库

作者: Kuassi Mensah,  出处:甲骨文OTN, 责任编辑: 叶江, 
2006-08-25 07:40
  Web 服务使您可以使用行业标准机制轻松地访问远程内容和应用程序功能,而不用依赖供应商的平台、位置、服务实施或数据格式。 因此,Web 服务是实现资源虚拟化(构建企业网格的关键要求)的主要方法。

  Web 服务使您可以使用行业标准机制轻松地访问远程内容和应用程序功能,而不用依赖供应商的平台、位置、服务实施或数据格式。 因此,Web 服务是实现资源虚拟化(构建企业网格的关键要求)的主要方法。

  尽管基于符合标准的中间件的面向服务的体系结构 (SOA) 在该领域获得了广泛的关注,但数据库 Web 服务(通过 HTTP 和 SOAP 等标准 Web 服务机制调用数据库操作)却非常流行。 根据 2004 Evans Data Corporation 调查,超过三分之二的调查对象表示他们正在开发或部署数据库 Web 服务。

  Oracle 数据库 10g 可以在两个 Web 服务模式下工作: 作为 Web 服务使用方(从数据库内部调用外部 Web 服务)或 Web 服务提供方(客户端通过 Internet/Intranet 调用数据库操作,从而对这些操作进行“虚拟化”)。 Oracle 数据库 10g 同时支持这两个模式 — 在使用方模式下,生成 Java 代理类和 PL/SQL 包装程序,并根据给定的 Web 服务定义语言 (WSDL) 文件将相应的文件加载到数据库中;在提供方模式下,支持在 SOA 中将 PL/SQL、Java 存储过程、SQL 查询和 SQL DML 发布为 Web 服务。

  在本文中,我将从较高层面对这两种类型的数据库 Web 服务进行介绍,循序渐进地指导您如何运行自己的数据库 Web 服务演示,并将阐述在 SOA 中集成数据库 Web 服务的好处。

  将数据库用作 Web 服务使用方

  通过将数据库用作 Web 服务使用方,数据库的涵盖范围得以扩展(通过 SQL 查询或批处理作业/计划作业),其中将包括动态数据(如股票价格)、按需生成的数据(如信用卡授权)、定期更改的数据(如 IRS 表)或原有系统(通过 Web 服务包装程序)以及任何通常可以通过 Web 服务机制(如联机生物信息学/基因组数据库)访问的数据。

  首先,我们了解一下如何为 Oracle 数据库提供 Web 服务支持。

  Web 服务调出实用程序。 以 OTN 中免费下载形式提供的数据库 Web 服务调出实用程序(在 Oracle9i 和 Oracle 10g 版本中)通过将纯 Java Web 服务客户端程序系列加载到数据库中,将现有数据库转换为 Web 服务使用方。 这是一个一次性操作。

  1.   将该调出实用程序解压缩到 $ORACLE_HOME 下。
  2.   将 dbwsclient.jar 文件加载到 SYS 模式(实现共享)中,或加载到将从中调用 Web 服务客户端的特定模式中:
      % loadjava -u sys/change -r -v -f -s -grant public -genmissing sqlj/lib/dbwsclient.jar

  接下来,对于要从数据库中调用的每个 Web 服务,您将执行静态调用(推荐)或动态调用。

  静态 Web 服务调出(编译时)。在给定 WSDL 文件或服务 URL 的情况下,JPublisher(一个数据库实用程序,用于生成 Java 类以在 Java 客户端程序中表示数据库实体)将执行三个操作:

  •   生成要直接在支持 Java 和支持 Web 服务的 Oracle 数据库中使用的相应 Java 客户端代理
  •   在 Java 代理上生成 PL/SQL 包装程序包,以便 SQL 和 PL/SQL 能够对外部 Web 服务调用操作
  •   将所有内容加载(如果您选择加载)到给定的数据库模式中,前提是它具有相应的权限

  您将需要为 Web 服务调出指定几个 JPublisher 选项:

  •   proxywsdl — 要调用的 Web 服务的 WSDL 文件的 URL
  •   user — 为其生成 PL/SQL 包装程序的数据库模式(和口令)
  •   httpproxy — 用于访问 WSDL 文件的 HTTP 代理主机和端口
  •   sysuser — 具有 SYSDBA 权限的数据库模式,使 JPublisher 能够将生成的文件加载到数据库中。 如果不声明该参数,则必须将生成的文件手动加载到数据库中。
  •   proxyopts — 特定于 proxywsdl 的选项列表
  •   dir — 所有生成文件的存储目录

  Oracle 10g 第 2 版 JPublisher 还支持基本类型数组和 JavaBeans 等复杂类型。

  让我们看一个例子。 下面的简短演示使用了 getQuote Web 服务(由 www.xmethods.net 免费提供)并提供延迟 20 分钟的股票报价;您可以使用类似的与动态数据相关的 Web 服务来运行该演示。

  WSDL 位于 http://services.xmethods.net/soap/urn:xmethods-delayed-quotes.wsdl 中。 单击“分析 WSDL”链接可以获得端点位置,Web 服务在该位置侦听传入的请求。 该端点位于 http://64.124.140.30:9090/soap 中;单击“操作”链接可以获得操作和方法名。

共3页。 1 2 3 :

网友评论

笔名 
请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。    IT专家网友拥有管理笔名和留言的一切权利。
  • 周排行榜
  • 月排行榜

邮件订阅

       
天极服务 | 关于我们 | 网站律师 | 加入我们 | 联系我们 | 广告业务 | 友情链接 | 我要挑错
All Rights Reserved, Copyright 2004-2008, Ctocio.com.cn
渝ICP证B2-20030003号 如有意见请与我们联系 powered by 天极内容管理平台CMS4i