Next Previous Contents

14. PostgreSQL 的应用程式和工具

14.1 PostgreSQL 的 4GL 万维网资料库程式□AppGEN 开发系统

AppGEN 可在此下载

AppGEN 是一种高阶第四代程式语言和应用程式产生器 (application generator) ,用以产生以互联网为基础的程式。这些程式一般在互联网或公司内联网使用。AppGen 程式以合乎 Common Gateway Interface (CGI) 标准的 C 命令稿 (C scripts) 写成,大部分互联网伺服器都可支援。

要使用 AppGen,你需要∶

PostgreSQL,关联式资料库系统

支援 CGI 的互联网伺服器,如 NCSA 的 HTTPD

一个 ANSI C 编译器,如 GCC

AppGEN 包括以下 Unix (Linux) 可执行程式∶

作者 Andrew Whaley 可以以下途径接触∶

14.2 PostgreSQL 的互联网介面□DBENGINE

dbengine 是 Ingo Ciechowski 所写的一个随插即用的 PostgreSQL 互联网介面。它在

有关 DBENGINE∶ dbengine 是互联网与 Postgres95 之间的介面,只需花数分钟,它便可为存取任何现存的资料库。

PHP 3 让你在文件中编写类似 Perl 的语言,但不是真的 Perl,AppGEN 和 WDB-P95 需要你为每一个资料库建立设定档 (configuration files)□□听起来,你似乎都要先学一类新的假语言 (meta language) 才能启用。

和其他工具不同,你不需要学任何特别的程式或命令稿语言来使用 dbengine。也不会有每个资料库都有设定档的情况,所以你不需要熟习这些新结构。不过,如果你想用到 dbengine 的完整功能,学习 Perl 是一个正确决定。

整个系统可籍对一个附加的资料库的一些简单运作设定好,它会包含有关如何理解你的资料库存取的资料。你甚至可以指定虚假栏 (virual fields),用以在资料显示在萤幕之前作出即时计算。

使用执照∶ dbengine 是自由软件,和 Perl 的使用条文一样。如果你不知你可做或不可做什麽,请阅读它的使用执照。最後一句∶它是 GNU 执照的仁慈温和版本□如果你小心地借用 dbengine 或把它的部分加入到商业的产品中,它不会被感染。

14.3 PostgreSQL 的 Apache 伺服器模组□NeoSoft NeoWebScript

Apache 是一个有名的互联网伺服器。一个 PostgreSQL 到 Apache 的介面模组位於□

NeoWebScript 是一程容许你把不同复杂程度的程式嵌入到 HTML 档程式语言。

当有人要求一个包含 NeoWebScript 的 HTML 网页时,支授 NeoWebScript 的伺服器便执行嵌入了的命令稿,产生一个含有自订内容的网页。

NeoWebScript 是直接在网页的 HTML 码进行功能强力、伺服器为基础的互动程式的一个高速、安全、易学的方法。籍著 NeoWebScript,即使对新手来说,计数器 (counter)、电邮表格 (email forms)、墙纸、签名簿 (guest books)、访客纪录都变得简单。请看看 NeoWebScript 自己作出的和 PERL 及 JavaScript 的比较。

如果你想在你的互联网伺服器安装 NeoWebScript,你的网络管理员在开始前需先阅读他们的 Sysop FAQ。《Theory of Operations》会解释 NeoWebScript 如何运作,《Installation》会逐步告诉你。《Management》关於设定和执行伺服器的事宜,《Test》让你确定 NeoWebScript 运作正常,《Troubleshooting》和伺服器的问题有关。

在自己的 ISP、内联网或外联网使用 NeoWebScript 费用全免,你会在登记下载时得到完全的执照。不过,如果你想把它嵌入到自己的产品或在商业的伺服器(如 SSL)使用,它总值 99 美元。

NeoWebScript 是一个容许你在网页中嵌入 Tcl/Tk 语言作为命令稿工具的 Apache 模组。它由 Karl Lehenbauer,NeoSoft 的 Chief Technical Officer 发明,并由 Neosoft 的程式设计师和技术撰稿员编写文件、改良及加强功能。

Apache 是世上最流行的互联网伺服器,经调查的网站中有六十八巴仙使用。

Tcl/Tk 是由 Dr. John Ousterhout 开发的一种强劲、自由、跨平台的命令稿语言。你说过

“Tck/Tk” 容许软件开发人员比使用以 C 或 C++ 为基础的工具快十倍完成工作。它也是一种伟大的胶水语言 (glue language),使得现存的程式共同工件、更图像化和可用於 Internet。”

NeoSoft 创办人及 Chief Technical Officer,Karl Lehenbauer 在开始时便已参与 Tcl/Tk 开发。他也和 Mark Diehkans 一起创作了 Extended Tcl,又名为 TclX 或 NeoSoft Tcl,延伸这种语言的功能。很多 Tcl 的核心指令都来自 Extended Tcl,而由 Dr. Ousterhout 加入到核心语言中。

NeoSoft Inc., 1770 St. James Place, Suite 500, Houston, TX 77056 USA

14.4 HTML 的 HEITML 伺服器端延伸和一个 PostgreSQL 的 4GL 语言

heitml 是另一个 postgres 与万维网间的介面。欲知详情,请接触

 
          Helmut Emmelmann H.E.I. Informationssyteme GmbH 
          Wimpfenerstrasse 23 Tel. 49-621-795141 
          68259 Mannheim Germany Fax. 49-621-795161 

Heitml 同时是 HTML 的伺服器端延伸和一种 4GL 语言。网页编写人员可以 HTML 的风格用类似 HTML 标签编写程式。

Heitml(音 "Hi"-TML)是 HTML 的延伸及一个全面的第四代语言,它容许以互联网为基础的程式直接利用 SQL 资料库中的资料,而不需使用复杂的 CGI 命令稿。

Heitml 在伺服器端延伸 HTML,动态地把“.hei”档转换为 HTML 格式,使它与任何浏览器兼容。它包括大家熟悉、易用的 HTML 语法,及提供大量预先开发了的标签和程式库来应附以往由 CGI 进行的工作。像 XML 般,heitml 容许使用者自定标签。籍著 heitml,使用者自定的标签可翻译为 HTML 及传送给浏览器。

Heitml 同时以 HTML 设计者和专业的程式设计师为目标。HTML 设计师可使用 heitml 标签来建立动态的网页,存取 SQL 资料库,或建立完整的万维网应用程式。计数器、登记资料库 (registration databases)、搜寻器表格、电邮表格、阶层式选单 (hierachical menus) 都可轻松地籍著在大量元件函式库 (Component Libraries) 预建的类似 HTML 的标签产生。

对程式设计师来说,heitml 在 HTML 中嵌入了完整的第四代程式语言,

 
          (e.g. <if>, <while>, 和 <let> 标签), 
和对含整数、实数、布林值、字串和元组 (tuple) 的表达式强劲运算能力。元组的参考语法 (reference semantics) 如同物件导向语言般,及储存在堆叠中。Heitml 变数,包括所有在堆叠中的复杂资料结构,在 Session Mode 中可在不同网页间维持。你也可以自订标签或环境标签 (environment tags),甚至重新定义 HTML 标签。

heitml 使得以下事情有可能

□□以具结构及模组化 (structured and modular) 方式开发网页,大幅减低维护困扰。

□□开发有智慧及互动的网页,内容可动态地适应用者所需。

□□无需设计程式便可显示 SQL 资料库的内容,你只需要使用预先 定义的“dba”标签。

□□使用 Session Variables 开发复杂的资料库及目录购物程式。

Heitml 可经 CGI 介面在 Linux 的任何互联网伺服器中执行,而在 Apache 中可使用 apache API 使得执行速度特别快(避免了 CGI 的工作)。目前,它支援 mSQL(第一及二版)、PostgreSQL(第六版)、mySQL、及 the yard databases。heitml 可在 Linux、BSDi、Solaris 和 SunOS 执行,以及在视窗 NT 加上 CGI 和 ISAPI、ODBC、视窗 95 中使用。

heitml(Linux 版)对研究、非商业性和个人用途是免费的。商业网站需附出授权费。设有试用期限的功能完整的试用版可免费下载。(不过要注意,每个你开发的“.hei”网页都会印出一个讯息指出它是非商用版本。登记之後你会收到一个键码,使你可关掉这讯息而无需重新安装。)

heitml(音“Hi”-TML)籍著可自行定义的标签和完整的程式设计能力显著地延伸及增强 HTML 的功能。这使动态的内容和资料库程式可在 HTML 世界中出现,而不需要 CGI 或外部手稿或程式语言。也就是说,一个 HTML 作者可在网页中嵌入应用程式。这只需要使用新的标签,而不需 CGI 或程式设计。另一方面,进阶使用者或程式设计师可创造及设计强劲的标签库。这做法使得 heitml 对 HTML 新手和专业程式设计师共时适用。heitml 在万维网伺服器上执行及动态地产生 HTML,所以 heitml 和互联网标准兼容,也和任何浏览器兼容。它一方面提供用者完整的资料库存取功能,另一方面使用者无需 理会任何不必要的 CGI 复杂性。heitml 是根据有关编译器构造和异动 (transaction) 系统的最新研究成果而开发的。

heitml 页的开发过程和 HTML 页一样,都是使用文字编辑器或 HTML 编辑器,也如常地放在万维网伺服器上。不过,新的网页可包括动态的 heitml 标签和使用标签库。你可 使用这些标签存取资料库、产生动态内容、寄出电邮,甚至可以开发强劲的应用程式,如登记资料库 (registration database) 和购物系统。

HTML 新手和专业程式设计师一样会为能够高速而简易地设计精采的应用程式,如我们的互动签名簿,而不需使用复杂而难学的 CGI 命令稿而惊讶。这工作只需使用 dba 式库中的工具便可做到。

heitml 包括不同种类的标签库,用以制造签名簿、资料库维护程式、可延伸的查询表格、强劲的电邮表格或网页的阶层式选单 (hierarchic menu)。这些工具已可使用,你只需在网页上加上对应的标签。

作为一个有经验的程式设计师,你可全面使用 heitml 的持久动态元组架构 (persistent dynamic tuple architecture)∶heitml 不单是有动态型态 (dynamic typing)、全功能的表 达式计算、递回函数和丰富的参数传递特色的命稿语言,也籍 动态元组架构自动保持任何大小的 session 资料。

14.5 PostgreSQL 的 America On-line AOL 万维网伺服者

AOLserver 2.3 版是一个免费的商业万维网伺服者,它可连接到 6.2.1 或以上的 PostgreSQL。欲知详情,请看

14.6 PostgreSQL 的疑难 / 计划追踪系统程式工具(Problem/Project Tracking System Application Tool for PostgreSQL )

它在

14.7 把 dbase 的 dbf 档转换给 PostgreSQL

dbf2msql 程式和 mSQL 及 PostgreSQL 合作愉快。你可在以下方找到

这程式由 Faculty of Electrical Engineering TU Delft, NL Computer Architecture and Digital Technique section 的 Maarten Boekhold 写成。

你也可使用 python 的方法 (method) 在读入 dbf 档及载入到 postgre 资料库。


Next Previous Contents