|
Java 天地
用PL/SQL和Java开发Oracle8i 应用程序(5)
作者:翻译:张猛 来源:Java开发者
案例学习现在,我们已经理解了如何用PL/SQL和Java在Oracle8i 里建立应用程序,现在我们看看最早采用Oracle8i 的三个客户,详细研究他们是如何创建性地运用Oracle8i 提供的特性,扩充他们现有PL/SQL应用程序的功能的。 资产管理软件开发商这家软件开发商提供的公司资产管理解决方案,广泛地用于制造业和行销业。他们非常有创造性地把PL/SQL和Java 存储过程组合在一起,从而把原有的应用程序从客户-服务器架构升迁到基于Web的架构。他们已有一个用普通的客户-服务器架构开发的2.0版应用程序。在普通的客户-服务器架构里,应用程序使用Visubal Basic和Powerbuilder的组合客户端,同Oracle7发行版7.3数据库和Oracle8数据库里的PL/SQL存储过程、触发器对话。为了让使用这套资产管理软件的客户能够利用标准的Internet浏览器作为客户端,开发商把现有的应用程序升迁成使用纯HTML的客户端,如下图所示: 原来运行在客户端(以Visual Basic或Powerbuilder代码)的所有应用程序逻辑,都从客户端移出,用Java重新编写。起初,Java 程序在应用程序服务器OAS4中运行。由于Oracle8i提供了支持Java的功能,所以开发商获得进一步的灵活性——所有“数据密集”型的应用程序逻辑,从应用程序服务器升迁进 Oracle8i 内部。 使用新的架构,HTML客户同运行在Oracle ® 应用程序服务器上的JWeb程序进行通信。Jweb使用Java servlet API,动态地生成HTML页面。然后,JWeb 程序通过集成在OAS里JDBC/Oracle调用接口,与Oracle8i里的Java和PL/SQL存储过程通信。资产管理应用程序以XML文档的方式接收、生成有关不同类型资产的信息。 需要注意的是,不必重新编写的PL/SQL逻辑——因为原来的通信,就是从Powerbuider客户(通过Oracle调用接口)或从Visual Basic 客户(通过Oracle Objects for OLE)对PL/SQL进行调用。现在,中间层的Java逻辑,可以通过JDBC/Oracle调用接口API调用原有的PL/SQL——即使有些Java 商业逻辑移进Oracle8i 服务器之后,也仍然可以通过服务器内嵌的JDBC驱动程序访问原有的PL/SQL。使用PL/SQL存储过程和现在的Java存储过程,公司保护了在编写应用程序逻辑上的投资,同时客户端使用的环境仍然能够继续不断地发展。 无线通信供应商一家无线通信供应商,已经在Oracle8里,用PL/SQL存储过程,建立起一套网络监控和管理应用程序,并把应用程序升迁到Oracle8i。使用Oracle8的解决方案时,系统管理员需要不断地查询数据库,以判断是否发生了网络中断。客户希望在Oracle8i时升迁现有的应用程序,采用所谓“活动数据库”的概念。在这个概念下,发生网络中断事件时,会同时向许多系统管理员发送预警。每个系统管理员客户被开发成一套CORBA服务— 客户把网络中断作为触发器。在发生网络中断时,向数据库表中插入一行,从而激发触发器,触发器就会激活CORBA调用,通知系统管理员客户发生了网络中断事件。请注意:所有现存的PL/SQL逻辑,仍然可以从Java方便地访问到。 基于INTERNET的市场分析和股票报价服务基于Internet的市场分析和股票报价服务,是一项大量应用PL/SQL的服务。公司不断地取得世界各地金融市场的股票、期货报价。信息保存在Oracle数据库里,然后根据公司订户输入的参数,动态地生成HTML页面。 公司对PL/SQL很满意,因为PL/SQL提供了订户要求的性能级别。订户们的要求是:动态地、在1.5秒内生成web页面,这些web页每一个都会执行大量PL/SQL调用。公司已经能把性能维持在满足最高600,000页/天客户请求的级别上。他们用PL/SQL执行几乎所有的数据库操作。有460个包和过程负责数据更新、生成表示信息。在客户端,则使用Java applets建立高度交互的web页面。Applets取得的数据,来自PL/SQL,PL/SQL根据保存在数据库里的信息生成供Applets使用的数据。他们对于PL/SQL的可靠性很满意:一旦布署了PL/SQL代码,那么在PL/SQL运行的时候,就不必再担心什么了。他们在PL/SQL上已经建立起真正的技术,希望升级到Oracle8i,以便采用Oracle8i 的新特性。他们没有在数据库里升迁到Java的打算。 地理空间解决方案供应商某家地理空间供应商建立了一套工程配置系统,用于制造工程、建筑工程和地理空间。开始的时候,不得不把这套系统开发成二部分:一套运行在Oracle7/ Oracle8 数据库里的PL/SQL存储过程,封装了一套公共的商业规则,控制哪些用户和组可以读取、修改复杂的空间图表。这些存储过程,被Pro*C客户端依次调用,执行全部地理和空间计算,然后把计算出的信息传递给一套ActiveX控件进行显示。在公司升迁到瘦客户机架构时,他们发现,在从数据库提取大量数据到中间层服务器时,由于网络延迟,现在在中间层服务器上运行的Pro*C 逻辑受到很大限制。用Java重新编写这个逻辑之后,由于Java非常适合计算操作,他们发现二个重要的好处:
总结随着Oracle8i的发行,Oracle在数据库里支持二种主要的编程语言——PL/SQL和Java.。关于Oracle8i、PL/SQL和Java,有三件事非常重要,需要记住:
上一页 (ZDNet)
|