1

今天我的大学讲师在数据库课上提出了 PSP。

我使用过 LAMP 堆栈并且喜欢开源,所以我对 Oracle 有偏见。不过我知道,Oracle 数据库在工业中使用,因此学习如何使用它是件好事。

但是,当我们介绍 PL/SQL Server 页面(Oracle 数据库中的存储过程,输出 HTML 并且可以通过 Web 浏览器访问)时,我感到畏缩。我的偏见是不是太过分了,与使用 PHP 和动态 SQL 查询之类的东西相比,使用它有优势吗?PSP 在使用 Oracle 的 Web 应用程序中有多受欢迎?

4

2 回答 2

5

PL/SQL Server Pages (PSP) 是(某种意义上)更通用的PL/SQL Web Toolkit(也称为 OWA;早期称为 Oracle Web Agent)的变体。

PSP 周围没有太多嗡嗡声,所以我认为它们被很少人使用。然而,PL/SQL Web Toolkit (OWA) 完全是另一回事。很多人使用它来构建具有 PL/SQL 功能的(以数据为中心的)Web 应用程序。

此外,在 2006 年左右,Oracle 发布了名为Oracle Application Express (Apex) 的免费(免费选项)数据库,该数据库构建在 OWA 之上,现在(在撰写本文时)版本为 4.1 .

Apex 为您提供基于浏览器的 IDE,用于开发 PL/SQL Web 应用程序(由 OWA 提供支持)。Apex 还包括一大堆内置功能,例如会话管理、身份验证和授权、交互式报告、flash 图表、页面模板、导航、Ajax 支持等等。

因此,如果您有兴趣研究使用 Oracle 进行 Web 开发,我建议您忘记 PSP 并转而研究 Apex。

就受欢迎程度而言,根据2010 年 Oracle 的这份 Powerpoint演示文稿,Apex 当时有:

  • 每年 80,000 次下载
  • apex.oracle.com 上每周 4,000,000 次页面浏览量
  • forums.oracle.com 上的第三大讨论论坛
  • 100 家提供 Apex 服务的咨询公司
  • 60 个关于 Apex 的博客
  • 用作 Oracle Store 和 Oracle Audit Vault 的用户界面
于 2011-09-14T06:08:32.103 回答
0

PSP是惊人的。他们已经存在了很长时间,并没有受到太多关注。在 Web 开发领域,大多数人根本不知道它们的存在,因此在架构系统设计中没有考虑到它们。

是的,Oracle 是封闭源代码且价格昂贵。所以这不是最便宜的路径。再说一次,如果需要 Oracle 数据库并且您无论如何都要购买它,那么成本是 0 美元,因为使用 PSP 的权利与 Oracle 数据库许可捆绑在一起。

PSP 比 PHP 和其他中间件产品具有优势,因为数据库生成 html 文本。对于动态网站,这等同于性能。

例如,一个 html 页面需要执行 10 个查询才能将页面拼凑在一起。使用中间件,来自 10 个查询的数据必须从数据库传输到中间件,然后中间件解析和组装数据,最后将上下文传递到 Web。

使用 PSP,Web 服务器直接与数据库通信。因此,数据库在内部执行 10 个查询,组装页面并将文本一次性传递到 Web 服务器。

有时中间层服务器很有帮助,在我看来,你需要做的不仅仅是提供网页服务来证明中间层的需求是合理的。

此外,PSP 提供了一种使用 tcl 等工具创建自己的语法的方法。您可以编写一个 tcl 脚本将您的语法转换为 Oracle 理解的语法,然后让 Oracle 编译并将其加载到数据库中。

随着计算机变得越来越强大,更多的处理可以转移到数据库层。

无论如何,很难解释 PSP 的所有好处。简而言之,几乎没有人知道它们的存在,几乎没有人使用它们,它们非常强大且易于使用。我还没有找到更好的东西。


跟进 8/2015

我想提一提——Oracle Apex 开发人员正在使用 Oracle Web Toolkit——它与 Oracle 的 PSP 技术是相同的技术。

PSP 创建输出 html 代码的 Oracle 存储过程。Apex 和 PSP 都以相同的方式执行此操作。

直到今天,我还没有找到更好的方式来提供动态网页。Oracle 将其 Web 产品称为 Apex 是有原因的,因为这种架构与众不同,并且与传统的中间层架构(如 PSP、JSP、Coldfusion、Python 等)相比具有许多优势。底线是您可以跳过整个中间层并提供动态数据库驱动的网页。

于 2012-12-08T04:32:56.927 回答