首页>参考读物>计算机科学与技术>数据库

Oracle9i Web 开发指南
作者 : (美)Bradley D.Brown等
译者 : 武欣 等
丛书名 : Oracle技术丛书
出版日期 : 2003-02-01
ISBN : 7-111-11499-X
定价 : 82.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 800
开本 : 16开
原书名 : Oracle9i Web Development
原出版社:
属性分类: 店面
包含CD :
绝版 : 已绝版
图书简介

在关系数据库市场,Oracle9i 日益成为企业级应用和开发的首选数据库。本书便是一本介绍使用Oracle9i在多种系统上构建动态的、可扩展的Web应用程序的全面参考。本书将指导你逐步构建及维护Java、HTML、WML、PL/SQL servlets及应用程序。本书介绍了Oracle9i的强大功能,包括Oracle Designer、Forms与Reports、Web高速缓存、新的Java和无线支持、RAC功能、iFS、数据仓库及LOAP。此外,本书还将提供进行管理、检索、故障排除、测试以及分析Web网站所需的信息。

  主要内容包括:
  ◆安装、配置和维护9iAS
  ◆开发、部署和调试JSP、J2EE、XML、WML以及PL/SQL Web应用程序
  ◆使用Oracle9i AS Portal、数据仓库及iFS集成各种Web数据
  ◆利用Oracle数据库高速缓存和Web高速缓存提高性能
  ◆使用XSLT Transformer、WML和Oracle9iAS Wireless构建无线应用程序
  ◆介绍Perl、PHP的在线章节及其大量Web资源,极具实用性

  本书内容覆盖了Web开发人员所需的一切知识,任何数据库和Web开发人员、数据库管理员和网络管理员都可以从本书中得到意想不到的收获!

图书特色

Bradley D.Brown是TUSC股份有限公司的董事长和首席架构师,该公司具有500名全职顾问,其办公室遍布底特律、密尔沃基、丹佛、芝加哥、亚特兰大等城市,该公司主要负责Oracle咨询与培训。从1982年起,他就开始涉及信息技术咨询工作,其工作重点就是从1987年兴起的Oracle。Brad是世界上公认的Oracle书籍的主要作者,并且被称为“Web技术中的Dot Com”。1998年6月,Brad在Oracle出版社和Osborne/McGraw—Hill出版社出版了他的第一本书——《Oracle Application Server Web Toolkit Reference》。1999年,他所编写的《Oracle8i Web开发指南》一书获得了巨大的成功。

图书前言

在我的《Oracle8i Web开发指南》一书的前言中,我提到了Harry S. Dent曾经预言,至少到2009年,当道琼斯指数达到20500时,才能经历一个消费的高峰时期。是Harry错了还是目前的经济形势只是一个暂时的起伏?谁能预言联邦储备银行会将利率提高到使消费者决定开始省钱,从而导致库存过剩,导致经济发展速度放慢,并且最终导致大量的IT项目停滞?这就是所要发生的一切吗?历史将告诉我们什么呢?整个世界从.com时代发展到“.bomb”时代只用了不到6个月的时间。我们是否曾经想到过人才市场上IT专业人士从供不应求到供大于求?这就是2000年的程序员的结局吗?这是否真的就是联邦储备银行的错吗?就在2001年9月,根据某些统计,人才市场对IT专业人员的需求仍是供不应求。有一个统计宣称需求正在逐渐减少,而其他的则宣称已经减少,而且还有的统计宣称以后永远不会再有如此好的形式。对于这个问题,应该看你目前的境况。你是否比你一年前还要幸福呢?
Internet是否只是人们一时爱好,现在对它的需求是否正在减少?情况当然不是这样的。随着越来越多的DSL服务和电缆调制解调器进入美国家庭,我们已经发现Evernet(一直在Internet上)已经成为了我们日常生活的一部分。我们什么时候才能拥有一张无线Internet连接的电子小卡片,而且这个小卡片能够提供相同的功能(手写识别和语音识别)、大小、重量和耐用性呢?如今,ViewSonic推出了一款卡片式PC—我们正在日益接近完全无线的世界。
我的孩子需要的所有东西都在Internet上寻找。无论我们是要前往Branson、Missouri还是Lakewood的215联合大厦、科罗拉多,我们不是从地图上寻找我们的行进线路,而是从Internet上寻找路线。当我还是孩子时,我的大多数朋友家里都有CB收音机,这是即时消息发送器的早期版本。今天的孩子们也有与他们的朋友进行联系的即时消息系统。他们认为与朋友进行联系很容易,他们可以使电话的另一端没有电话铃声等等。你真的还在家接听你的电话吗?你是否可以对打进来的电话号码进行过滤?你是否可以阻止推销者给你打电话?在科罗拉多,我们可以在Internet上注册禁止一些不希望看到的东西(http://www.coloradonocall.org)—这使我意识到这是发展XML的一个好机会。我们曾经有一个装满了Oracle手册的书架(如今,至少需要5个),但是现在,Oracle的所有文档都可以在Internet上找到(http://docs.oracle.com)。Internet是否会成为生活中非常重要的东西呢?像电话(如报警电话)或电那样?我相信它会的—这只是一个时间的问题。
计算机的速度越来越快。事实上,最近公布的世界上运行速度最快的计算机位于劳伦斯·利弗莫尔国家实验室(Lawrence Livermore National Lab, LLNL)。这个计算机运行速度为每秒12.3T个浮点运算,包含有8192个PIII处理器、4TB内存以及160TB磁盘空间。其处理能力是非常巨大的。Compaq公司最近宣布他们将在2003年推出运行速度为每秒30T个浮点运算的计算机。LLNL计划在2005年实现每秒100T浮点运算。
Internet的前景
Internet、电子商务、B2B、B2C、无线Web、高速Internet访问、Internet 2。在Internet的各个方面,谁能预言Internet的前景如何?由科学和环境国家委员会在国会上所作的《Congressional Research Service Issue Brief》报告中, Rita Tehan讨论了测量Internet的难度—其标准、用户的数量和类型等等。其中一个问题提到许多域名都没有被使用。而另一个困难是有些站点与其他站点非常相似。对使用Internet的人数估计也会有很大的不同。造成该困难的原因是由于分析家使用不同的调查方法和不同的“Internet访问”的定义而造成的。有些公司可能会将2岁的用户统计在内,而有些公司可能会以16岁或者18岁作为用户年龄的起点。此外,调查Internet用户也是非常困难的。你如何确定大学生和在上班时间浏览WWW的员工?于是,这就有方法论的问题以及如何完成这些调查的问题。
根据这个报告所说,“根据Internet Domain Survey的数据(这是进行时间最长的Internet主机调查),Internet现在正以每年40%到50%的速度飞速发展(根据连接到Internet的机器来统计)”。在1969年,只有4台Internet主机;而在1989年,有130 000台主机。在1999年,已经有了56 218 000台主机。这是非常引人注意的。
在http://www.internet indicators.com/facts.html主页中,显示了一个从1998年以来的全球Internet商业收入的计数器。该计数器是以每10秒$100 000的速率变化的。看到以如此的速度进行消费是令人惊奇的。在这个站点上,你还可以找到其他的数据和图表,例如,到2003年,美国将有1000万个家庭连接到Internet。
在http://www.goldhaven.com/ioi/Art10698.htm上,《International Offshore Entrepreneur》杂志有一篇名为《The Internet: Road to Riches…Or Is It?》的文章。eMarketer的研究给出了一些有趣的数字。例如,到2002年,Internet消费金额将达到260亿美元,而B2B则会达到2580亿美元。这个研究还表明“在现实世界中,电子商务的前10%份额占了通过Web而实现的销售量的90%。根据这项研究,虽然97%的大型企业都是通过某种形式连接到网上,但是它们只有少数商业行为(三分之一)是在线交易的。而且,虽然有33%的大型公司采用了网络销售形式,但是只有4%的小型商业公司从事了相似的交易。”
Wendy McAuliffe在一篇名为《One billion users will drive the Internet by 2005》中指出,到2005年,电子商务营业额将高达50 000亿。
David Lake在《The 5-Year Forecast》文章中指出,“根据Jupiter研究机构的报告,到2005年,电子商务客户的交易额将增加500%,达到2690亿美元。”
谁是正确的
在《Advanced Manufacturing》杂志中,Todd Phillips在其文章中指出,“忘记这些数字吧。B2B电子商务能够在2003年或2010年达到57亿美元还是73亿美元都不重要。分析家和专业人士都使用不同的方法来计算他们的预计,但是这些方法中惟一一致的就是他们对这些数字的持续增长—快速地增长持有信心。这也意味着人们在网上将花费更多的时间和金钱。”
为了支持这个论断,Phillips先生给出了来自几个研究机构的预计报告。例如,到2003年,大约有四分之一的B2B交易额将会是在线完成的(来自Boston Consulting Group)。根据Deloitte研究机构的研究,到2003年,B2B电子商务将占有B2C电子商务的六分之一,将达到13 000亿美元。Gartner的研究预计,B2B电子商务将从在1999 年的大约1450亿美元上升到2004 年的73 000亿美元,占全球销售交易总额的7%。Forrester研究机构预言全球电子商务在2004 年将达到69 000亿美元,占全世界的货物和服务的销售总额的8.6%。那么,Internet的未来到底会怎样呢?这很难说。但有些事情是确切的。第一就是Internet不是一种时尚流行。第二,Web开发的未来属于Java。Peter Galli在《eWeek》杂志中指出,Evans数据公司的一系列研究表明,“在2003年,使用Java的开发人员总数将超过使用C/C++的开发人员总数。Evans数据公司的副总裁Janel Garvin说,如今,北美大约有一半以上的开发人员在使用Java,在2003年,这个数字还将增加10%。”
所需要的组件
要更好地理解本书的内容,你必须安装如下的Oracle产品:
Oracle数据库8i(8.1.7)或者9i
要使用Ultra Search工具(第25章),你必须安装Oracle9i,而且本书详细介绍了Oracle9i的特性。
否则,你可以安装版本8.1.7。
iAS 1.0.2.2企业版本
从第2章开始,你需要使用iAS。
对于Java(第13章)、PL/SQL (第14章)、 Perl(在线章节)和PHP (在线章节)模块,你可以使用iAS的标准版本。
理想情况下,你可以安装企业版,因为要使用无线版(第9章)、Portal(第16章)、Developer(第17章)、IFS(第18章)、Web和数据库高速缓存(第19章)以及OEM(第20章)都需要安装企业版。
XML库
对于第8章的某些内容,你需要从Technet上下载最新的库文件。
否则,可以使用iAS的标准版本。
你可以考虑安装的可选组件包括:
HTML GUI编辑器,例如Dreamweaver或FrontPage
读者
本书是为正在寻找一个能够很容易实现Web应用程序的开发和部署的全面而又经济的开发环境的企业用户而准备的。你应该很了解Oracle和Internet体系结构,而且你应该具有使用应用程序服务器的经验。对于初学者来说,我的第一本书《Oracle Application Server Web Toolkit Reference》(由Osborne/McGraw-Hill出版社1998年出版)是学习本书之前应该学习的书籍。如果你打算开发使用Oracle的Web服务器技术的应用程序,你应该学习我的前一本书—《Oracle8i Web开发指南》(由Osborne/McGraw-Hill出版社1999年出版,该书已由机械工业出版社引进出版)。
本书的组织结构
本书介绍了关于Web开发的优秀信息。当我计划更新Oracle8i书籍时,我估计大约有70%的内容会是新内容。我低估了要修改的内容—我真的错了。Oracle9i提供了太多的新特性和大量新产品,大约有90%的内容需要重新编写。由于我发现剩下的10%也需要进行更新,所以几乎全书都进行了更新。换句话说,事实上,本书的每一章、每一页都进行了修改。因此,本书不是《Oracle8i Web开发指南》一书的修正版,事实上,它几乎就是一本新书,从这里可以看出技术正飞速发展。
你可能会对你应该使用哪一个Oracle产品感到困惑。图1说明了不同的Oracle产品、语言和工具的优点和缺点。请花费一些时间来理解应该在你的应用程序组件中采用哪一个工具。
图1  Oracle产品使用图
你可以从第一部分“起步”开始本书的学习过程,其中主要介绍Oracle Web体系结构。第1章介绍了基于Web服务器的新体系结构。OAS使用了Spyglass Web服务器,而iAS使用了Apache服务器。第2章介绍了iAS整个套件的安装。我强烈建议你在开始使用安装盘之前阅读其内容。这可以使你避免一些安装问题。此外,你可能会发现你甚至不需要单独安装iAS,因为iAS是随数据库同时安装的(版本8.1.7和更高版本)。第2章将帮助你理解不同的iAS版本的组件。因为iAS的配置并不像OAS那样简单,所以强烈建议你阅读第3章关于配置和调整iAS的内容介绍。在第4章,介绍了Oracle新的RAC技术,该技术将Oracle并行服务器(OPS)提高到了另一个级别—提供了几乎是线性的可扩展性,此外还提供了24×7的可靠性和功能。第4章还介绍了使数据库能够每天24小时运行的其他选项。在第5章,介绍了制定灾难计划的重要性。哪些事情我们应该考虑?你的处理操作是否都要依赖你的提供商?如果这些提供商突然消失了,你的站点会怎么样呢?如果这些提供商破产了,那又会发生什么呢?或者,更糟糕的是,如果他们的站点也被黑客攻破了呢?你做好准备了吗?
接着,我们将学习Web开发的核心概念。第6章回顾了一些基本的和高级的HTML技巧和技术。介绍了新的浏览器和HTML特性,例如,地址栏上的图标以及层叠样式单。在第7章介绍了一些非常好的JavaScript技巧和技术。如果你还不知道JavaScript,那么该章可以使你掌握JavaScript语言的语法,该章比较了JavaScript和PL/SQL语言(因为大多数Oracle开发人员都已经了解PL/SQL)。第8章回顾了下一代的重要语言:XML。Oracle已经提供了大量的代码库来支持所有的XML需求。无论你计划使用DOM还是SAX分析器,Oracle提供了支持。这可以节省你的大量编程时间。使用XML,你可以执行数据库插入、更新和删除操作。Oracle的XSQL功能允许你使用一个SQL查询提取一个XML格式的数据。在第8章,提供了一个XSQL生成器(用JSP编写的)。XML处理器也可以与XML样式表转换(XSLT)同时使用,这允许你将XML数据从一种格式转换成另一种格式。你不再需要为你的每一个客户编写大量的载入脚本。使用XML,你可以发布一个标准的API(使用XSLT将数据修改成API格式)。XML高级查询(AQ)特性降低了高峰时间处理次数的需求,因此你可以最大可能地提高你的应用程序的吞吐量。Oracle9i数据库也提供了新的XML数据类型。在第9章,介绍了无线Web开发—从WML到Oracle9 iAS无线版。如果你打算为无线设备开发应用程序,那么你将会惊喜地发现Oracle可将你的HTML应用程序转换成可以在不同的无线设备上分布而不用编写任何额外代码。如果你希望为蜂窝电话开发一个应用程序,你应学习无线PL/SQL工具包(该包是我们自己开发的,在第9章介绍)。在第10章,你将学习如何将应用程序从OAS移植到iAS。你将非常高兴地发现,虽然基本的体系结构发生了很大的变化,但是如果你拥有OAS PL/SQL应用程序,这个移植操作是非常简单的。在第11章,你将学习几个Oracle在数据库中提供的内置PL/SQL包,这几个包对于Web开发是非常有用的,包括utl_smtp、utl_http、utl_tcp和dbms_obfuscate。此外,对于每一个包,本书还提供了示例。能够发送电子邮件(utl_smtp)和读入Web页面(utl_http)的包是我最喜欢的两个内置包。第12章将帮助你了解几个应该注意的安全策略。当你要在Web上发布一个服务器时,你希望你的服务器是安全的。在iAS中,存在一些安全问题,这些问题可能会导致黑客攻击你的站点,因此你最好阅读一下第12章。
iAS使用第三方模块来支持Apache服务器的扩展。在第二部分“模块”中提供了大量关于Java、PL/SQL、Perl和PHP模块的示例代码、技巧和技术。在第13章,我们详细地介绍了Java。这里需要再次提到的是,因为大多数Oracle开发人员都了解PL/SQL,因此该章以如何从PL/SQL世界过渡到Java开发世界开始。在iAS 1.0.2.2版本中,Oracle替换了Java引擎,使执行速度更快并与EJB兼容,从而实现了与BEA和IBM应用程序服务器直接兼容。就在发布OAS的时候,Oracle大肆宣传Java以及他们是如何支持Java的。但是,开放源代码应用服务器Java团体经常发生变化。Oracle在关于CORBA和EJB兼容方面已经讲了很多。其结果是我的前一本书(《Oracle8i Web开发指南》)在Amazon站点上受到了大量的批评,因为它没有详细介绍Java。而真正的原因是Oracle的OAS并没有很好的Java功能。正如你在第13章中所看到的,iAS已经有了很大的改变。现在,我们有JSP,真正的EJB支持以及其他更多的东西。此外,还需注意的是,Oracle现在对Java实现了真正的支持,我个人遇到过其主要模式的改变。在许多方面,Java都比PL/SQL要优秀。从面向对象特性到大型的开放源代码团体(大量的免费代码库),大量的开发人员队伍(大量的免费帮助和支持),Oracle的BC4J(对Java库的扩展),到你可以随意地使用Java—Java变得更加优秀了。这并不是意味着肯定就对你的组织有了更大的帮助,但是,你必须把你的核心能力作为编程单元应该考虑的因素。你是否了解Java?你是否可以用PL/SQL开发并支持一个更快的应用程序?如果是的话,你将会很喜欢第14章的内容,该章包括了PL/SQL 模块。你将很高兴看到PL/SQL并没有消失—事实上,PL/SQL引擎和PL/SQL模块已经经过了极大的改进,例如添加了utl_tcp、utl_smtp和owa_cache包。此外,PL/SQL服务器页面(类似于JSP)也是一个备受欢迎的新特性。你将会很高兴学习UnWebAlchemy工具。它可以将以前的PL/SQL过程转换成PSP文件。本机编译器还为PL/SQL引擎提高了速度。在在线章节Perl和PHP中,你将分别学习Perl和PHP模块。这些模块为在OAS中使用(虽然并不是非常经常)的Perl和LiveHTML 模块提供了一个升级的方法。
第四部分“Oracle工具”将介绍Designer(设计器)、Portal、Developer(表单和报表)、IFS、Web和数据库高速缓存、Oracle企业管理器以及Discoverer。虽然我自己并不是使用Designer的专家,但是在第15章,Chris以极精彩的方式描述了如何使用Designer来生成Web代码的技巧。在第16章,你将学习Portal。虽然Portal只是WebDB的升级,但是其名称的改变反映了与WebDB的不同。这不仅仅是将WebDB换一个新名字,它是iAS的重要组件。Portal为任何Web应用程序提供了非常好的开发功能。从单一签名特性到类似于表单、报表、图表和日历的Portlet,你将对Portal留下深刻的印象。在第17章,你将学习Developer工具,无论你是在内部网还是在Internet上开发你的Developer应用程序,你都应该阅读本章。Developer Reports为你的所有报表需求提供了功能强大的Web部署平台。在第18章,人们期待已久的Internet文件系统(IFS)将被证明是除Oracle工具的iAS家族外最受欢迎的特性。在版本1.0.2.2中,还有一个IFS安装后的Bug,请参阅文档150114.1来解决这个问题。我确信当本书出版时,这个Bug将不会存在于IFS配置中。你将会对IFS的功能留下深刻的印象,因为它可以被安装成一个功能强大的文件系统,并且将其数据保存在Oracle数据库中。在第19章,你不仅会对Oracle数据库高速缓存的功能感到惊奇,还会对Oracle的Web高速缓存的功能感到惊奇。它可以将动态生成内容的性能提高2到150倍。这尤其是在有几个用户同时点击相同的动态内容时有用。请一定阅读iAS的这个功能强大的特性。在第20章,你将学习如何通过一个Web浏览器来使用Oracle企业管理器(以及其他工具)。在这一章中,详细介绍并演示了每一个工具。
最后,我们将进入本书的第五部分。在第21章,回顾了几个排除故障的方法,这些方法可能会在排除应用程序故障时使用。第22章将帮助你改进应用程序调试功能。当你准备调试代码时才读这章有点晚,你应该在开始编写代码之前阅读该章。你可以在你的代码中使用该章所介绍的调试技巧。在第23章,你将学习如何阅读和分析由iAS服务器所生成的日志文件。这是一个非常重要的技巧,由此你可以了解人们点击站点的时间、频率以及阅读哪些内容。如果你在Internet上部署你的站点而且搜索引擎的级别对你很重要,请认真阅读第24章。该章中所介绍的技术可以帮助你在搜索引擎中将站点设置为级别最高的站点。我已经使用过了这些技术,它们很管用。由于没有Web站点在其站点内实现了在线搜索功能,所以你可以阅读第25章。以前你可能不得不购买一个单独的内容生成工具(例如Wisebot,该工具已经不复存在)或者创建你自己的Spider程序来构建搜索引擎内容。但是,Oracle在数据库(版本9i)中嵌入了Oracle Text(以前的Intermedia)工具。Ultra Search是构建在Oracle Text的基础之上。它使用了Spider技术来读出一个Web站点的内容并且对内容建立索引。Oracle Ultra Search还可以对数据库表和外部文件中的数据建立索引。这个功能为Web应用程序提供了一个强大的搜索引擎。Oracle Text允许你搜索数据库中基于文本内容的文本(和长的)域。在Oracle9i中,增加了一个新的索引类型,它是为使用Oracle Text的文档区分应用程序而设置的。最后,如果你还有精力,你可以阅读第26章,该章介绍了Web应用程序的应用程序测试和负载测试。性能是任何Web应用程序的关键部分,该章可以帮助你最大程度地提高应用程序的准确性、性能以及可靠性。“好的站点”在线章节将给出一些可能会对你的Web开发有帮助的Web站点。
祝你在阅读本书过程中好运!现在,还有与Web相关的太多内容(例如,电子邮件服务器和Oracle应用程序11i)无法在本书中全部介绍,但是我希望本书能够对你有所帮助。你可能要花费几天的时间来阅读本书。一般来说,虽然我希望本书的读者能够从第1章一直读到第26章,但是跳过其中的一两章也是可以的。
你可能还需要花一些时间来了解Oracle9i数据库的新特性,这些新特性是非常全面的。其中包括高级队列电子邮件(dbms_aq)、列表分区、改进的对象关系技术、新的OLAP服务、快速的错误恢复、OEM改进、数据库资源管理器、RAC、改进的游标共享、安全改进(例如,预置的禁用账户)、更好的LDAP支持、改进的实体化视图(如复杂视图的快速刷新)、外部表(可以使用SQL查询的纯文本文件)、数据库所支持的在线修改、回闪查询、用户定义事件、新的日志挖掘器、数据保护以及B2B集成,它是不是真的令人惊奇?
关于TUSC
Bradley D. Brown、Richard J. Niemiec和Joseph C. Trezzo是TUSC的创始人,该公司是一个获得了许多荣誉的高级顾问公司,它主要提供Oracle的管理和技术咨询—它是世界上领先的信息管理软件提供商以及第二大独立软件公司。TUSC的顾问们具有丰富的经验和知识,这足以使他们提供最好的实践建议,从而在数据库服务、专家业务解决方案、远程数据库管理以及培训和指导等核心服务领域提供成功的实现方案。
TUSC正在经历飞速发展的时期,这包括其员工数量和客户数量。亚特兰大办公室(2001年成立)是该公司的第五个办公室,而且TUSC还将在美国的一些主要地区设立新办公室,预计要新增加三到六个新办公室。
除了连续两年处于500个成长最快的公司之列外,TUSC被列入芝加哥企业家名人纪念堂,并且获得Arthur Anderson—芝加哥“新兴技术”最佳实践奖以及获得Ernst和Young LLP企业家的“E-Developer”年度奖。
本书由20几位TUSC的员工共同编写,是Oracle技术系列丛书的最新作品。
关于创始人
在十年前,Bradley D. Brown、Richard J. Niemiec和Joseph C. Trezzo创建了TUSC公司—它是一个全面的服务顾问公司,其重点在于Oracle。TUSC逐渐发展成一个高级咨询公司,被Oracle领域内外的组织公认为行业先驱。
1988年末,在这三名精力旺盛的企业家逐一离开了Oracle公司后,创建了TUSC,其全称为“The Ultimate Software Consultants”,继续从事他们所热爱的工作。在那时,他们逐渐意识到他们拥有许多共同的目标,于是决定全身心投入到一个第一流的顾问、软件和培训公司中。这样,TUSC就被大家所了解了。
在开始的时候,Brown、Niemiec和Trezzo事事亲力亲为—从技术开始、框架设计甚至是员工的工作笔记,而且当时是把Brown的家作为他们的办公室。如今,这个公司被公认为咨询行业的重要力量。
当他们还在Oracle公司时,Brown、Niemiec和Trezzo就被认为是“三剑客”。客户和员工们对他们的满意程度帮助他们实现了TUSC的成功。
Bradley D. Brown
Brad Brown曾经为Oracle出版社和Osborne/McGraw-Hill出版社编写过书籍。以前,他编写过《Oracle Application Server Web Toolkit Reference》(1998年)和《Oracle8i Web开发指南》(1999年)。Brad被全世界公认为Oracle的主要作者,而且参与了许多组织,他是Rocky Mountain Oracle Users Group(洛基山Oracle用户组)的主席和主席成员,以及《Exploring Oracle DBMS》杂志的一名主编。
Brad现在是TUSC公司的董事会主席和主架构师。他丰富的经验和经历为他带来Open Access Broadband Networks公司的首席信息官以及GeekCruises、Lantech Inc.、Colorado Uplift和Cactus Strategies等公司的董事会成员的职位。在从事过技术主席、技术官员、培训主席工作后,他目前是Young Presidents Organization在科罗拉多分会的教育主席。Brad也是Eventconnex 股份有限公司的合伙创始人和代理首席技术官。
Joseph C. Trezzo
从1985年(版本4)开始,Joe Trezzo就一直从事基于Oracle系统的设计、开发、部署、管理工作。他是Oracle认证DBA,一个杰出的作者—已经成为《Exploring Oracle DBMS》杂志的一名主编—一个国际会议的VIP参与者。Joe编写过《Oracle PL/SQL Tips and Techniques》一书,该书由Oracle出版社和Osborne/McGraw-Hill出版社于1999年共同出版。他至少为15个国际Oracle会议提供过论文;在过去的十年中,他获得了每一年的最高荣誉。
Joe是TUSC公司的奠基人之一,是公司的董事长和首席执行官。他有坚实的技术背景,对教育有着很强的信念。他对技术的深入理解可能与他对客户的奉献精神有着直接的关系。Joe发誓要把一个项目做到令客户满意的程度。他以人为本,认为真诚的协作是任何公司的成功的关键。这是一个经过实践证明了的真理,他经常在企业家和领导者专家会议上与大家共享这个真理。Joe在1988年被收入到伊利诺伊企业家名人纪念堂并且被授予2001年Ernst & Young Entrepreneur的年度奖。
Richard J. Niemiec
Rich Niemiec是《Oracle Performance Tuning Tips and Techniques》一书的作者,该书由Oracle出版社和Osborne/McGraw-Hill出版社于1999年共同出版。他的同事认为他是这个行业的专家,在一些国际性的Oracle用户组中,他还做过一些演示。目前,Rich就职于国际Oracle用户组,美洲和中西部Oracle用户组的主席。他以前是《Select》杂志的执行编辑和《Exploring Oracle DBMS 》杂志的主编。他还是1998年Chris Wooldridge奖的获得者。
他是数据库管理方面的大师,他还经常与媒体成员讨论技术趋势和对行业的影响。Rich不断地灌输TUSC领导者的特性—热情、主动、正直、知识渊博、诚实、自制、机智和无私。他在数据处理方面的经验包括授课和咨询,其重点在于数据库管理、性能调整、项目管理以及技术培训。

原书书名:Oracle9i Web Development
原书书号:0-07-219388-3
原出版社网址:www.osborne.com

图书序言

Brad是TUSC的董事长和首席架构师,Oracle 专家。他的个人目标是对那些他所接触的东西产生影响。他通过本书以及他的前两本书已经实现了这个目标,这些书都是基于OAS系统的。本书是以前的《Oracle8i Web开发指南》(OAS)一书的升级版,那本书是基于Spyglass侦听器的。而iAS基于并且使用Apache侦听器。
升级到iAS后,你将发现一些令人惊奇的变化。性能可以提高到原来的2~4倍,而且具有很好的可扩展性和可靠性。Web高速缓存还可以将性能提高为原来的2~150倍。Internet体系结构是一个稳定的开发结构,每家公司都应该为他们的全部内部网、外部网以及Internet开发使用这种体系结构。
《Wired》杂志引用了Andy Grove的话,他说:“将来,所有的公司都将是Internet公司。 我仍然坚信这一点,而且更加坚信这一点。”AS是将来要在各个公司普遍使用的软件。
本书涵盖了大量的内容,包括:Oracle9iAS体系结构、安装、配置和优化、24×7,灾难计划、HTML、JavaScript、XML、WML、OAS向iAS的移植、内置的PL/SQL包、安全、Java、PL/SQL、Perl、PHP、Designer、Portal、Developer、IFS、高速缓存、iAS的OEM、Discoverer、故障排除、调试、日志记录、站点分析、搜索引擎、站点索引、测试以及一些优秀的站点。
Brad是9iAS和Oracle Web开发的权威。在你阅读了本书后,你就会知道我为什么这样说了。我向Oracle公司的员工强烈推荐这本书,同样,我也向你强烈推荐本书。


Thomas Kurian
Oracle Server Technologies部门技术副总裁

作者简介

(美)Bradley D.Brown等:暂无简介

译者简介

武欣 等:暂无简介

译者序

如今,Oracle数据库已经成为企业级应用和企业级开发的首选数据库系统。在关系数据库市场,它以其完善的功能和卓越的性能独领风骚,尤其是新近推出的Oracle9i数据库包括了企业级Internet开发所需的所有组件。Oracle9i是业界第一个完整的、简单的、应用于Internet的新一代智能化的、集成各种应用的软件基础架构。Oracle9i 实际上是包括Oracle9i Database、Oracle9i Application Server 和Oracle9i Developer Suite的完整套件,具有可扩展性、智能化、高可靠性,日益成为实现高质量的电子商务服务的关键软件。
本书是Bradley D. Brown所编写的第二本关于Oracle Web开发的书籍(前一本是《Oracle8i Web开发指南》)。Bradley D. Brown是业界公认的Oracle系统管理和Web开发的权威。他和其他两位搭档共同创建的TUSC公司成为了Oracle管理、维护和技术咨询、培训以及支持的先驱。本书由该公司具有丰富的实战经验和知识的高级顾问共同编写。本书主要具有以下几个特点:
?全面性  本书不仅介绍了Oracle各种工具的使用方法,而且讲述了关系数据库的一些概念,并将数据库理论与开发实践相结合,通过为客户开发的实例来详细介绍各种理论以及工具的用法 。
?权威性  本书的作者及合著者都是经验丰富的Oracle顾问,本书是他们的实际经验的结晶。
?先进性  本书所介绍的Oracle产品都是最新的Oracle产品。其中包括了Oracle数据库系统引入的最新技术,例如XML。
?实用性  本书用大量的实例向读者详细介绍了Oracle数据库开发和维护中所涉及的各种问题,这些实例都是该公司为不同的客户所设计和实现的实际模块,因而具有很强的实用性。
本书结构清晰,通俗易懂。全书由五部分组成:
?第一部分“起步”主要是介绍Oracle Web体系结构。包括基于Web服务器的新体系结构、iAS套件的组成、iAS的配置和调整、Oracle最新的RAC技术以及24×7的可靠性、灾难计划的重要性等内容。
?第二部分“核心概念”主要介绍Web开发的核心概念。包括一些基本的、高级的HTML技术、JavaScript技术、XML技术、无线Web开发、内置工具包和需要注意的安全策略等内容。
?第三部分“模块”主要介绍如何使用第三方模块来支持Apache服务器。包括大量关于Java、PL/SQL、Perl和PHP模块的示例代码、技巧和技术。
?第四部分“Oracle工具” 主要介绍在Web开发时常用的工具。包括Designer(设计器)、Portal、Developer、IFS、Web和数据库高速缓存、Oracle企业管理器以及Discoverer等工具。
?第五部分“高级主题”主要介绍一些维护和调试系统所需的常见技术。包括解决问题的方法、如何改进应用程序性能、阅读和分析日志文件等等。
总之,本书所涵盖的内容非常丰富,全面包括了Web开发人员所需的一切知识。它不仅适用于数据库和Web开发的初级人员,还适用于数据库管理员、网管员等中高级技术人员。
在经过了几个月的艰苦翻译工作后,我们终于能够将这本关于Oracle Web开发的经典书籍呈献给广大的读者。我们真诚地希望本书能够对读者学习和使用Oracle数据库以及Web开发有所帮助。由于译者的水平有限,书中如有翻译不当的地方,恳请读者和专家批评指正。
本书主要由武欣、邓一凡、罗云峰、宁靖、陈炜翻译,参加本书翻译工作的还有:于苗苗、何畅、刘侃、曾炜、廖晓峰、敖晓芳、高建、余勇、唐名骁、展刚、陈文、李卫东、徐伟明、熊慧珍、夏远清、黄雪林、李可萍、张洪波、唐松柏。全书由武欣统一审校。


译  者
2002年9月

图书目录

第一部分  起步
第1章  体系结构  1
1.1  通信服务  3
1.2  内容管理服务  5
1.3  业务逻辑服务  6
1.4  表示服务  7
1.5  业务智能服务  9
1.6  Portal服务  10
1.7  开发人员工具包  11
1.8  高速缓存服务  12
1.9  系统服务  15
1.10  数据库服务  16
1.11  小结  20
第2章  安装  21
2.1  安装之前的准备  22
2.2  安装9iAS  23
2.3  使用提示和陷阱  29
2.4  安装后:配置助手  30
2.5  卸载  31
2.6  小结  32
第3章  iAS配置和调整  33
3.1  调优和配置内容的快速介绍  34
3.2  起步  35
3.3  端口  38
3.4  启动、停止和重新启动iAS  39
3.5  配置iAS  40
3.6  使用GUI对iAS配置进行编辑  45
3.7  管理和配置模块  47
3.8  配置iAS安全性  52
3.9  监视iAS Web服务器  58
3.10  调优iAS  63
3.11  调优应用程序模块  64
3.12  硬件和操作系统调优  69
3.13  小结  73
第4章  24×7的正常运行时间  75
4.1  Oracle Real Application Clusters  79
4.2  Transparent Application Failover  83
4.3  Oracle Data Guard  84
4.4  高级复制  86
4.4.2  高级复制的缺点  88
4.5  Internet应用程序服务器  88
4.6  第三方解决方案  89
4.7  组合多个解决方案  89
4.8  自定义高可用性解决方案  90
4.9  小结  90
第5章  灾难规划  91
5.1  初始步骤及定义  92
5.2  灾难的分类  94
5.3  对 Oracle 灾难规划进行分析时要解答的关键问题  95
5.4  完备的文档和最佳实践  98
5.5  将组件集中:生成实际的规划  103
5.6  全面经常的测试:分析、规划、测试及
重复  108
5.7  最终用户和客户的参与、培训及准备  109
5.8  小结  110
第二部分  核 心 概 念
第6章  HTML开发  111
6.1  编写HTML  113
6.2  为网站提供一个图标  117
6.3  为Web站点提供一个快捷链接  117
6.4  不通过页面结果查看HTML源文件  117
6.5  确定浏览器类型  118
6.6  使用元标记  118
6.7  使用HTML表  120
6.8  创建一个HTML表单  123
6.9  使用URL和超链接  130
6.10  强制使用并行表单  134
6.11  层叠样式单  134
6.12  创建电子邮件的主题和文本  137
6.13  在一个HTML表单中发送电子邮件  137
6.14  缩排文本  137
6.15  在同一行中放置两个标题  138
6.16  理解帧  138
6.17  理解帧规则  139
6.18  创建一个类似窗口外观的帧  139
6.19  引用CGI脚本  139
6.20  记录网站访问者  140
6.21  小结  142
第7章  JavaScript开发  143
7.1  JavaScript和PL/SQL的比较  145
7.2  iAS的复杂性  150
7.3  处理浏览器不兼容问题  150
7.4  在动态代码中编写针对特定浏览器的代码  152
7.5  重新使用JavaScript代码  153
7.6  使用PL/SQL打包过程生成JavaScript  156
7.7  用户自定义的警告处理编程  156
7.8  在屏幕上显示属性  157
7.9  打开一个传递参数的新窗口  160
7.10  给JavaScript变量赋值  161
7.11  使用Submit按钮  162
7.12  验证表单域  163
7.13  使用PL/SQL代码和不同的浏览器  164
7.14  在JavaScript中定义一个二维数组  164
7.15  给JavaScript变量赋值  165
7.16  从一个选项列表调用一个PL/SQL过程  165
7.17  同时修改多个帧  166
7.18  解决拒绝访问的错误  167
7.19  以URL的一部分来传递空格字符  167
7.20  在无法使用警告函数的情况下调试onFocus事件  167
7.21  使用typeof来避免Object Expected错误  168
7.22  eval函数  169
7.23  动态函数参数  170
7.24  使用对象数组来模拟表和行  171
7.25  订阅JavaScript OnFocus新闻组  172
7.26  了解Visual JavaScript工具  172
7.27  小结  172
第8章  XML  173
8.1  了解XML的基本规则  175
8.2  了解XML文档语法和结构  176
8.3  了解XML Schema 1.0  180
8.4  了解常见的XML文档API  187
8.5  了解XPath  190
8.6  使用XML样式单格式化并显示XML文档  195
8.7  Oracle9i中的XML支持  198
8.8  Oracle9i和Oracle Text  198
8.9  了解Oracle XML分析器  199
8.10  了解Oracle XML类生成器  211
8.11  了解Oracle XML SQL工具  216
8.12  Oracle XSQL servlet的功能  224
8.13  XML和高级队列  229
8.14  将XML文件从消息队列中取出  239
8.15  分析XML  242
8.16  有规则地使用SOAP  247
8.17  小结  249
第9章  无线开发  251
9.1  支持Web的蜂窝电话和无线手持设备的数据库编程  252
9.2  对支持无线的PDA进行编程  268
9.3  Oracle9iAS无线版本  269
9.4  小结  281
第10章  OAS到iAS的移植  283
10.1  为什么要升级  284
10.2  Apache、Apache还是Apache  286
10.3  还可以使用哪些功能  287
10.4  不能使用哪些功能  288
10.5  必须修改哪些功能  288
10.6  iAS的新特性  290
10.7  在开始之前—我真正需要什么  292
10.8  iAS对部署的PL/SQL应用程序的影响  293
10.9  小结  293
第11章  内置的PL/SQL包  295
11.1  使用DBMS_OBFUSCATION_TOOLKIT加密敏感数据  296
11.2  使用UTL_HTTP浏览其他Web站点  303
11.3  动态查询和使用DBMS_SQL、EXECUTE IMMEDIATE以及引用游标的PL/SQL代码  308
11.4  使用UTL_SMTP从数据库中发送电子邮件  316
11.5  使用UTL_TCP包实现TCP/IP套接字的通信  318
11.6  使用DBMS_JOB在数据库中调度作业  321
11.7  使用DBMS_PIPE在数据库中发送消息  322
11.8  使用DBMS_SESSION设置会话属性  326
11.9  使用DBMS_UTILITY.GET_TIME工具获得以毫秒为单位的时间数据  327
11.10  小结  328
第12章  安全  329
12.1  常见的安全概念和基本的安全方法  330
12.2  RDBMS安全  338
12.3  虚拟专用数据库  338
12.4  应用程序级别安全  347
12.5  网络安全  352
12.6  小结  360
第三部分  模   块
第13章  Java  361
13.1  J2xE  364
13.2  在PL/SQL Developer中使用Java  364
13.3  Oracle的Java虚拟机  377
13.4  Java servlet  380
13.5  JDBC  385
13.6  SQLJ  387
13.7  JSP  389
13.8  Java存储过程  417
13.9  Java业务组件  420
13.10  JDeveloper  424
13.11  PL2JAVA—在Java中使用PL/SQL  435
13.12  参考文献  437
13.13  小结  437
第14章  PL/SQL模块—mod_plsql  439
14.1  从PL/SQL和HTML到Web开发  441
14.2  安装Web工具包  448
14.3  向PL/SQL过程传递参数  448
14.4  PSP  450
14.5  获得CGI环境变量  456
14.6  维护源代码历史  457
14.7  保存cookie  458
14.8  引用伪列  458
14.9  以百分之一秒计算时间  459
14.10  在PL/SQL中执行外部调用  460
14.11  封装或加密过程防止源代码查看  460
14.12  将用户重定向到其他URL  460
14.13  从列表框查询多个选择  461
14.14  不使用〈PRE〉标记包装文本  463
14.15  清空缓冲区  463
14.16  调试PL/SQL  464
14.17  注销用户  464
14.18  使会话消失  464
14.19  加密重要信息  465
14.20  根据用户请求确定数据  465
14.21  编辑PL/SQL代码  467
14.22  从一个IP地址中获得域名  467
14.23  丢失的单选按钮  467
14.24  错误动作的定义  468
14.25  将数字转换成字—字面转换  468
14.26  获得用户的信息  469
14.27  htp.linkrel的用途  474
14.28  PL/SQL优化  475
14.29  小结  478
第四部分  Oracle 工具
第15章  Designer  479
15.1  了解Web PL/SQL生成器的表单布局
选项  481
15.2  在细节组件中访问主组件项值  485
15.3  创建LOV组件  486
15.4  定义动作项  488
15.5  由设计器生成的包  489
15.6  在所生成的模块中使用视图  494
15.7  在使用所生成的模块时创建一个高效的数据库安全模式  494
15.8  使用事件和有名称例程  495
15.9  使用关键的Web PL/SQL生成器首选项和属性  496
15.10  使用帧和样式单  497
15.11  使用无约束项  504
15.12  使用用户文本区域  504
15.13  使用JavaScript  507
15.14  重写设计器的默认功能  510
15.15  使用参数  511
15.16  使用配置管理工具管理软件周期  512
15.17  生成Java源数据库对象  513
15.18  小结  516
第16章  Oracle9iAS Portal  517
16.1  从WebDB到Oracle Portal  518
16.2  Oracle Portal体系结构  519
16.3  Oracle Portal的安装  520
16.4  Oracle Portal基础  532
16.5  Oracle Portal安全  553
16.6  Oracle Portal监视  556
16.7  Oracle Portal高级概念  557
16.8  小结  569
第17章  Oracle Developer—Forms和Reports  571
17.1  Oracle Forms  572
17.2  表单服务器的工作原理  573
17.3  Oracle Reports  595
17.4  小结  614
第18章  IFS—Internet文件系统  615
18.1  联机文档  616
18.2  IFS的安装  616
18.3  重新配置IFS  619
18.4  启动IFS  619
18.5  访问IFS  620
18.6  管理IFS驱动器  627
18.7  小结  627
第19章  Web高速缓存和数据库高速缓存  629
19.1  什么是高速缓存  630
19.2  高速缓存的类型  632
19.3  高速缓存的优点和缺点  637
19.4  如何在应用程序中控制高速缓存  637
19.5  Oracle9iAS Web高速缓存  640
19.6  Oracle9iAS数据库高速缓存  671
19.7  小结  673
第20章  Oracle企业管理器  675
20.1  智能代理  677
20.2  管理服务器  680
20.3  控制台  685
20.4  使用一个Web浏览器访问控制台  701
20.5  安装寻呼服务器和电子邮件服务器  702
20.6  小结  703
第五部分  高 级 主 题
第21章  故障排除  705
21.1  你知道答案  706
21.2  你知道如何找到答案  706
21.3  你知道谁知道答案  708
21.4  你知道什么时候请求帮助  708
21.5  小结  708
第22章  调试代码  711
22.1  回顾常规的调试技巧  712
22.2  在PL/SQL应用程序中显示HTML页面  713
22.3  确定持有行锁定的用户  713
22.4  购买PL/SQL调试工具  714
22.5  在不影响用户视图的情况下进行调试  715
22.6  查找常规Oracle错误  715
22.7  查看日志文件  715
22.8  使用正确的错误处理技巧来减少错误恢复时间  715
22.9  使用raise_application_error向用户界面发送错误消息  723
22.10  通过在应用程序中设计改进的调试/跟踪逻辑为产品问题做好准备  727
22.11  使用一个错误数组同时显示所有的校验错误  731
22.12  使用版本报告包确认正确的代码安装  734
22.13  尝试使用应用程序跟踪  737
22.14  包装产品代码  738
22.15  小结  738
第23章  日志记录和站点分析  741
23.1  初步了解iAS使用日志记录  743
23.2  重设或滚动日志文件  749
23.3  获得关于日志文件格式的更多信息  749
23.4  寻找Web站点管理工具  750
23.5  了解WebTrends SM解决方案  750
23.6  小结  754
第24章  搜索引擎的级别  755
24.1  编写关键字  757
24.2  放置关键字  757
24.3  与Robots对话  762
24.4  获得链接流行率  763
24.5  获得点击流行率  764
24.6  不要向任何人发送垃圾信息  764
24.7  构建特洛伊“入门”页面  766
24.8  检查手工提交  767
24.9  为级别付费  768
24.10  购买提交软件和服务  768
24.11  避免诉讼  770
24.12  不要忽略线下推广  770
24.13  其他缺陷  771
24.14  小结  772
24.15  参考文献  772
24.16  Web站点  772
24.17  文献  773
第25章  Oracle Text和Ultra Search  775
25.1  Oracle Text  776
25.2  Oracle Ultra Search  777
25.3  Master.com  783
25.4  小结  784
第26章  负载测试和应用程序测试  787
26.1  负载测试和应用程序测试软件  788
26.2  编写自己的负载测试程序  790
26.3  负载测试服务  798
26.4  小结  800

教学资源推荐
作者: Abraham Silberschatz, Henry F.Korth, S.Sudarshan
作者: Jeffrey D.Ullman, Jennifer Widom
作者: Nello Cristianini John Shawe-Taylor
作者: [比利时]维尔弗里德·勒玛肖(Wilfried Lemahieu) 赛普·凡登·布鲁克(Seppe vanden Broucke) 巴特·巴森斯(Bart Baesens) 著
参考读物推荐
作者: [美] 坎南·曼尼(Kannan Mani) 唐·沙利文(Don Sullivan) 著
作者: 付磊 张益军 编著
作者: (美)Jason S.Couchman,Sudheer N.Marisetti
作者: (美)David James,Simon Russell,Graham Seibert