使用Web服务虚拟化Oracle数据库
2007-05-10 12:15:09 来源:WEB开发网将数据库用作 Web 服务提供方
利用将数据库转换为 Web 服务提供方这一功能,数据库的功能得以扩展到 Web 服务客户端应用程序,方法是通过标准的 Web 服务机制允许执行数据库操作和数据检索。
例如,许多客户将现有的数据库资源(如 PL/SQL 存储过程/函数和程序包、Java 存储过程/函数、预定义的 SQL 查询、DML 和 Oracle 高级查询进程)重用为基于标准的 Web 服务。 换言之,该服务是使用数据库产物实现的并在数据库内部运行。因此,数据库开发人员和 DBA 无需掌握 Java 或 Web 服务编程技术便可以利用它们。
为实现该目标,可以利用 JPublisher 的功能为单个或一组数据库操作生成 Java 代理。 具体而言,可以在 Oracle 应用服务器中将 Java 代理类发布为标准 J2EE Web 服务;为容纳数据库模型,可以使用模式、参数和代码生成选项扩展后者的集成 Web 服务汇编程序。 与在中间层上部署的任何其他基于 J2EE 的 Web 服务一样,生成的 Web 服务端点由 Oracle 应用服务器运行时管理。
在 Web 服务上调用函数时,Java 代理使用 JDBC 在数据库中调用相应的操作。 随后在数据库中执行该服务,将结果集包装到 SOAP 消息中,然后发送回服务请求程序。
此外,JPublisher 还允许映射 Oracle 应用服务器 Web 服务框架不支持的数据库类型,如 Ref 游标或 PL/SQL 布尔值。
选择实施和包装
某些客户倾向于将 Web 服务框架与数据库(Oracle 数据库 Web 服务的当前包装)分开,而其他客户倾向于使用集成包装(受 Oracle 数据库原生支持的数据库 Web 服务提供程序)。 每个实现各有优缺点。
首先,通过 HTTP 直接在 Oracle 数据库中处理 WSDL 和 SOAP 请求和响应从技术上是可行的。 尽管这样的方法可以满足简单 Web 服务的需要,但它无法满足企业 Web 服务和 SOA(稍后将对其进行详细介绍)的可伸缩性要求。
更多精彩
赞助商链接