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 等)相比具有许多优势。底线是您可以跳过整个中间层并提供动态数据库驱动的网页。