• 沒有找到結果。

系統開發

在文檔中 逢甲大學機房管理系統 (頁 27-47)

3-1 作業系統比較

各種不同作業系統的比較﹕

我們在開發一個資料庫系統時,同時也必須考慮到發展的平台,

其中最常見的作業系統,不外乎 windows 2000,linux 等。以下是不 同作業系統的比較:

OS/2 的系統相容性以及可朔性都非常的高。舉例來說,OS/2

可以使用 linux 的 gcc,linux 的 Xfree86 的 GUI(Graph User Interface) ,以及跨平台的 java。而且現在正在開發 win32 的 project,只要發展成功,那麼 OS/2 就可以不用受到平台以及 API(Application Program Interface)的限制了。

OS/2 也跟 unix,FreeBSD,linux 之類的作業系統一樣,都是 屬於功能日漸強大的新一代「免費」作業系統。除了公開原始碼 讓人自行開發之外,更重要的,其效能都遠比需要用金錢購買的 windows 系列來的要好,以成本問題來說,Freeware 的作業系統 當然是比較好的選擇。

以讓此系統的效能達到最佳化。

2. Windows 2000 Server 版

Windows 2000 具有強大的 server 功能,也內建了許多 server 的管理軟體,像是遠端路由控制,封包流量的監控等。

Windows 2000 的圖形介面淺顯易懂, 能夠讓使用者方便 操作,許多軟體的 Interface 都是依據 windows 系列來製作

的。

然而, windows2000 最麻煩的就是版權問題。使用 windows 2000 必須要購買 OS 的版權。此外, 在 windows 另 外安裝的軟體也都有版權,必須購買才能夠使用其他的套裝 軟體,這對商業成本來說是一大打擊。

Windows 200 雖然安裝方便,然而在安裝的過程也裝了許 多不必要的驅動程式,因此,系統核心就變的相當龐大。這 嚴重地影響了系統的效率,以及浪費的許多不必要的系統資 源。

由上面的比較來看,我們決定選擇 Liunx 來當我們 Server 端的作業系統。OS/2 雖然有不被病毒侵入的優點及 高效率的 performance,可惜許多廠商並不支援 OS/2,使得 OS/2 沒有功能較為強大的軟體能夠使用。而 windows 2000 除了必須購買版權的高成本之外,其執行效率也是遠不如 Liunx。

根據種種的考量,Linux 有強大功能的 Server 套件,且 系統執行效率又高,如果配合 MySQL 來使用,其效能是非常 理想的。

3-2 資料庫的比較

3-2.1 資料庫的介紹:

資料庫的發展大致上可分為兩種:

1. 物件導向式資料庫管理系統

物件導向式資料庫管理系統 (Object-Oriented

DBMSs,簡稱為 OODBMS)此類系統以物件(Object) 的觀念來代替以往的紀錄(Records),兩者最大的差異 在於:物件本身可以是由其他物件層層包覆所組成 的,物件與物件之間可以有各種縱向繼承

(Specialization and Generalization)與橫向組合

(Aggregation)的關係,同時物件本身有其特定的運算定 義於其上;而紀錄本身則均無此種特性或概念。大多數 物件導向式資料庫管理系統的廠商所販賣的都是所謂 的 “永久式程式語言” (Persistent Language),也就是一 個與某種特定程式語言,如 C++或 Smalltalk 作緊密結 合的系統。

2. 物件關聯式資料庫管理系統

物件關聯式資料庫管理系統 (Object-Relational DBMSs,簡稱為 ORDBMS) 在物件導向式資料庫上已

經研究多年的 Won Kim 博士,以及 Michael Stonebraker 博士,都極力倡導在以物件導向為發展方向的同時,

並不能棄關聯式系統於不顧,因為物件導向式觀念既 然能真實反映資料的組織與結構,那麼想必更能適當 地包容關聯式的觀念,所以他們發展的 UniSQL 系統 [UniSQL/X (1995)],以及 Illustra [M. Stonebraker and D. Moore (1996)] (於 1998 年底被 Informix 購併) 便 是以此作為理念,強調由關聯式資料庫進步到物件導 向式資料庫的演進,不是 “革命” 而是進一步的 “包 容” 。此一觀念也獲得許多的響應,如:CA-Ingers,ODB II,與 IBM 的 DB2/6000 Common Server (DB/2 6000 C/S) 等,也都慢慢走向此一趨勢。

3-2.2 各種不同資料庫的比較﹕

時所執行的速度, 當比數越多時, 越能看的出各個資料 伺服器。SQL (Structure Query Language) 是一種標準 化的語言,它使得儲存、更新、和存取資料變的更加地容 的話) , 支援 C、C++、JAVA、Perl、PHP、Python 和 TCL

等應用程式介面 (application programming

(optimizer) 如何解決一個查詢的問題。

MySQL 在某些方面速度較快,如複雜的 SELECT 操 作、表格中有可變長度的字串,因為 MySQL 有更多有效的 處理並可在 VARCHAR 欄位上建立索引、有多個欄位的表格

要處理、有大量的紀錄長度的處理表格、有多個表達式的 SELECT、在作大表格上的 SELECT 時, 必須同時處理很多 連接 (connection) , 因為 MySQL 是完全多執行緒的,

所以每個連接有它自己的執行緒, 這意味著沒有任何一 個執行緒必須等待另一個執行緒 (除非一個執行緒正在 修改一張表格除非一個執行緒正在修改一張表格,另外一 個想要存取) 。

SQLServer﹕

SQLServer 是一個 fully web-enabled 的資料庫。

其最大的特色,在於他能夠支援 XML 的語法。SQLServer 同時也能夠支援多處理器(Multiprocessor),最多可使用 32 顆 CPU 以及 64GB 的 RAM。此外此外, SQLServer 也能 夠實作成分散式系統(distributed system), 讓不同的 database server 之間能夠互相連接。SQLServer 也有備 分的功能,以防止資料庫損毀而遺失資料的情形。

SQLServer 是 Microsoft .NET Enterprise Servers 資料管理和分析的骨架。配合 .NET 的使用,我們可以更 快速的發展一個完善的資料庫。同時,我們也能夠簡化資

料的管理,使得管理者能夠更方便的來管理一個資料庫。

SQLServer 在使用上來說非常的方便,像是建立資 料表(create table), 透過 GUI 的圖形介面, 我們可 以很輕易地將一個資料庫建設起來。資料庫的 Query 方 面, 也是透過 GUI 的介面來做 Query 的動作, 可以讓 使用者很方便且快速的查詢所需要的資料。

SQLServer 在作多人同時存取資料的部分也是很完 善的。它也是多執行緒,所以可以讓多人同時來存取資料 庫,而埠必等待某一個人使用完資料庫以後才能連接。對 於現今資料庫的大量需求來說,多執行緒已經是資料庫不 可或缺的必備功能了。

基於效能需求以及能開發的工具來做考量,由於 SQLServer 需要配合 大量 Micrsoft 的工具來做開發才會較為便利,且考慮到版權問題,

3-3 PHP 與 ASP 比較

The introduction of PHP:

PHP(HyperText PreProcessor )是由 Rasmus Lerdorf 這個軟體 工程師所開發出來的,他亦是 Apache 的開發小組成員之一。

PHP 是一種 server 端、跨平台的 HTML embedded script language。

PHP 的程式寫在一種的 HTML 檔案裡面,和 ASP 一樣是 server 端的 Script。因為是 server 端的 language,由 server 執行後,才送至 client 端中,所以在 client 是無法看到的,不像 javascript 為 client 端的 script language,可以 client 中看到。

2. PHP 與 ASP 的比較表:

項目 PHP ASP 作業平台 幾乎是跨平台(除了

Macintosh、 BeOS 等)

Windows NT Windows 98 Windows 2000

Wed Server Apache、fhttpd、

Netscape、IIS、PWS、

Omni

Microsoft

IIS/Personal Web Server

物件導向 可以使用物件 是 語法 有自己的語法 可結合 VBScript、

JavaScript 或 PerlScript 語法 like Visiual Basic 資料庫 直接 compile 成資料庫

client 端

透過 ODBC、ADO 存取

成本 OS(Linus Free)

Server:(Apache Free) PHP:(Free)

DataBase:(MySQL Free)

OS:(WIN2000) Server:() ASP

DataBase:()

Open Source Yes No 表 3.1 PHP 與 ASP 比較表

3-4 JavaScript 簡介

誕生:

JavaScript 是網頁專用的描述語言(Script Language),早期是 由美國 Netscape(網景)公司於 1995 年發展出來,使用在 Netscape Navigator 2.0 版瀏覽器中,原始名稱為 LiveScript。

發展:

JavaScript 的語法表示方式,源自美國 Sun 公司發展的 Java 語 言,但是 JacaScript 與 Java 語言的架構差異極大,Java 是一種編譯 式語言,程式碼必須經過編譯後才能執行,而 JavaScript 是一種直 譯式的描述語言,程式碼存於網頁中,當使用者讀取網頁時,才會開 始執行網頁中的 JavaScript 描述語言。

優點:

JavaScript 是一種與 HTML 標籤共存的描述語言,它可以彌補 HTML 功能的不足,讓網頁更為活用,擴大其應用的領域,以補 HTML 無法 達到的互動及資料呈現方式,雖然,JavaScript 只是一種描述語言,

但它卻有一般程式語言的基本特性,它可以使用變數、陣列、函數、

副程式,有各種的判斷迴圈等豐富的控制結構,許多技術都可以靠 JavaScript 來完成,遂 JavaScript 逐漸成為專業網頁程式設計師必備的 程式語言能力。

版本:

JavaScript 發展之初,始能使用於 Netscape Navigator 上,而微軟 公司的 Internet Explorer 移植到 3.0 版時,才設計了與 JavaScript 相似 的描述語言,稱為 JScript。

Netscape Navigator 不同版本使用的 JavaScript 版本整理如下:

Netscape Navigator

JavaScript

2.0 1.0

Internet Explorer 不同版本支援的 JavaScript 版本整理如下:

Internet Explorer(JScript)

JavaScript

3.0 1.0 4.0 1.1 1.2

5.0 1.3 5.5 1.5

表 3.3

雖然 JavaScript 與 JScript 兩種描述語言相似 但卻彼此有許多不相容 的命令,造成程式設計師的極大困擾。為了克服這個問題,Microsoft 和 Netscape 聯合許多軟體廠商,共同制定了的統一標準,稱為

ECMAScript。

JavaScript、Jscript 和 ECMAScript 的關係整理如下表:

ECMAScript JavaScript JScript 1.0 1.3 3.0 4.0

1.0 Revision 2 1.4 5.0 1.0 Revision 3 1.5 5.5

表 3.4

3-5 Cookies 與 Session 比較

動態網頁的應用中,其中一項功能便是能夠針對個別瀏覽網頁的 使用者儲存專屬的資訊,以便使用者於下次做此網頁瀏覽十能保有專 屬的資訊,以和其他使用者區分。

上述功能,在 PHP 中是由 Cookies 與 Session 來建立,Cookies 是 屬於 HTML 文件標頭資料的一部分,普遍應用在網頁上,PHP 中的 Session 功能與 Cookies 極相近,最大的差別在於存放資料的位置。

Cookies 是一個儲存於客戶端,公瀏覽器與 Web 伺服器互通資料 的純文字檔,只要經過適當的設定,Cookies 的資料可以工整個網站 或者使用者下次上線時再使用,而這都是 Session 無法獨立完成的工 作,不論使用的是 Cookies 或 Session 變數,用戶端瀏覽器都必須開 啟 Cookies 功能,否則 PHP 網頁將無法正常使用 Cookies。

在 PHP 網頁中,Session 最常見的應用,就是利用他來建立跨網 頁的變數,Session 與 Cookies 再特性與應用上十分相似,不同的是,

Cookies 變數值是儲存在客戶端的電腦內,而 Session 變數是儲存在 Web 伺服器內。當使用者將瀏覽器的 Cookies 功能關閉時,我們還可 以利用 Session 變數來儲存關於使用者的資訊,這也是 Session 與

Cookies 的不同之處。

Cookies Session

存放位置 客戶端 伺服器端

單獨使用 可 必須配合 Cookies

存取範圍 所在目錄及子目錄 或指定路徑

Web 下所有目錄

表 3.5 Cookies 與 Session 比較

在文檔中 逢甲大學機房管理系統 (頁 27-47)

相關文件