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