體驗班報名
略過巡覽連結       

          

 最佳3-Tier資料庫開發工具 —— Visual DBTOOLS 3.0

 
Andy Kao

‧摘要

   資料庫的開發與管理乃是軟體領域永恒的話題,作為優秀的資料庫開發工具之一 VD(Visual DBTOOLS)的前幾個版本(VD20Single、VD20Client/Server)早已給資料庫工作者留下了深刻的印象;今天,就在這裏與各位一起開始探討 3-Tier 的 VD30;因為 VD30 更延續前述的功能,其中諸多曠世的構思理念和解決架構是當今絕無僅有的,因而更具探討性與深究。

‧關鍵字
  三層架構;C / S回顧;A / P Server;Web Base;ASP架構;安全管理;系統文件。

一、前言
  當今電腦軟體領域科學或工程上的問題已是愈來愈複雜,資料量和所涉及層面也日益龐大;同時伴隨著網際網路的發展及 Microsoft 等軟體廠商倡導的理念,使得資訊應用系統也由最初的單一架構向多層分散式架構發展。顯然,不久的將來,3-Tier 及 N-Tier 架構將快速成為現代企業資訊化的主流。可如果要用目前流行的開發工具來作一套多層式架構的應用軟體並不是一件容易的事,或者說並不是一件容易成功的事情,因為“成功”的概念難以定義。

  開發過程中,資料流程量的控制、網路傳輸速度及用戶間的資源分享等為多底層化技術問題都是需要考慮規劃的,關鍵是沒有高度規格化的開發工具。如今開發工具已是百花齊放,其益處不必多言,其弊端則顯而易見:各家把持規格、整合移植複雜、升級維護不易…,對中小軟體公司來說進行多層分散式架構的開發更是困難之極。

  為此,以研製資料庫開發工具而著稱的訊光科技早就敏銳地覺察到這個日漸突出的問題,經過多年的務實歷練與探究,終於向業界推出專業解決多層架構方案的新一代資料庫開發工具 Visual DBTOOLS 3.0,它的主要功用便是用來解決這方面的技術及概念,從而使一些中小軟體廠商不需掌握太多技術層面就能輕鬆實現 3-Tier 等多層架構的開發!

二、為何要發展三層架構
   為何要發展三層的技術呢?我們就先從資料庫的演變來說起。

1. 傳統的 1-Tier
  以前 DBF 系統就是將資料庫放於 Local(單機上),如我們用 DBASE 或 Clipper 透過Use / Append / Replace / Delete / Seek…等指令去存取DBF檔案,您寫的程式是在 Local 上執行,並呼叫 Local 上的 DBASE 或 Clipper LIB(或 DLL)去存取這些 DBF 的資料,整個過程都在同一個 Local PC 上執行,我們可以叫它 One-Tier,它的最大缺點就是在於只能單機使用 。

2. LAN 的 1-Tier
  Novell 及 Windows 可以將DBF置於 File Server 上,所以進入了Multi-User 時代,此時,DBF 讓多個 PC 可以共用資料(可讀可寫),確實帶來便利性。但在 DBASE 或 Clipper 的PRG 還是在 PC 端執行(程式可以放在File Server上,但 Run 是在 PC 上),所以 PC 端只是去網路 Open DBF 資料,讀寫都是在 PC 端去完成的,這個架構只是 DBF 的共用,File Server 並沒有任何事情做,所以還是在 One-Tier 上作業,所以此架構的問題就在於資料一多就造成速度上的瓶頸,尤其是資料的穩定度常因 PC 當機造成嚴重的毀損。

3. DataBase Server 的 2-Tier
  2-Tier 就是 Client/Server 的架構,Client 就是 PC 或終端機,Server 就是 Database Server,約十五年前,IBM發展 DB2 與 Client/Server 開啟了大門,此後如雨後春筍,Informix/Sybase/Oracle/MS-SQL相繼崛起,從此 RDBMS(Relation DataBase Management System)已經成為資料庫的共同標準。
  所謂 DataBase Server,就是專門處理資料庫的主機,處理資料庫的方法是採用一種大家標準的語言-SQL,這種語言已經成為發展資料庫的共同標準(如 ANSI-92 標準),就是無論您使用哪種資料庫,您都可以使用相同的 SQL 語言即可以存取資料庫。所有的 PC 或Client都必須以 SQL 來下達給 Database Server,並由 DataBase Server 全權處理。所以Client/Server 是一種分工的模式,由 Client 來提出申請,由Server來完成資料存取的目的,如此即可以將資料安全集中於 DataBase Server 上,不必像 DBF 分散到 PC 上存取,容易亂掉與損毀(尤其是 Index 檔案),資料的穩定度相對提高,處理大量資料的速度也相對提升(DBF 資料一大,速度就是慢),C/S 架構確實提升不少速度與品質。

4.Application Server 的 Three-Tier
  其實 2-TIER 已經解決了不少資料庫的問題,但面臨大型系統,C/S會因為Connection數量(使用者的聯機數)的暴增而造成Database Server無法負荷,通常一個 Application Connection 只要到達 30 到 50 個 User 就會造成 DB Server 疲於奔命,速度與效能將有顯著的改變;另一個問題就是當資料庫的資料很大時,Client/Server 通常會依 SQL 命令將大量數據傳回 Client,往往造成網路與 Server 的瓶頸;再者就是維護的問題,大型的系統有很多很大的 Client 程式,分散到各個 Client 上,每當有程式版本異動時,都必須大費周章的將Client 程式換掉,再加上目前整個 A/P 的全球發展趨勢就是 Thin-Client(瘦小的 Client),並讓 Client 能自動維護或不必維護的效果,3-Tier 的架構與相關技術也就因運而生了。

三、VD30 的功能概述

◆ 100% 的三層架構(3-Tier)
  伴隨著企業自身的發展和外部環境的複雜化,企業的需求也越來越複雜,應用程式的開發也更加困難。因此三層式客戶/伺服器架構的出現將有助於解決這一問題。VD30 是一個100% 的三層式架構,中間層的應用軟體伺服器(Application Server)是採用訊光自行研發的EEP A/P Server,此 Server 已經歷經國際多家大型企業與上市公司實際採用並上線兩年以上,穩定性與執行效率倍受業界重視,此 A/P Server 目的就是可以承受數百位用戶透過非寬頻的Internet上線使用,不管遠端是在國內國外,以 Web 的介面或傳統的 Windows 介面都可以用 Thin-Clien 方式高速存取資料。

  另一方面,EEP A/P Server 採用無狀態的連接方式,此方式是類似於 Web 的網頁連接,平常的 A/P Server 與所有 Client 保持不連接的狀態,等到 Client 要真正存取資料的時候才連接,之後並立即斷掉。這樣的話除了可讓 A/P Server 在可以承受更大負載外,還可以大幅提升系統的穩定度與降低資料庫主機的負載。

  不難發現,3-Tier 的技術核心就是 Application Server(簡稱 A/P Server),它的穩定性及功能將直接關係到如何更好的控制大型後端網路資料庫的資訊資料。由於開發上的各種困難,所以國內其他主要軟體公司目前均無 Application Server 開發計劃。只有少數公司計劃基於國外的 Application Server 平台進行應用開發工作。僅從這一點來說,訊光科技 EEP 的A/P Serve r就已走在了時代的尖端。

◆ 支援 ASP 架構

  多公司多資料庫,現在的企業越來越有規模,越來越國際化,所以將多個公司多個企業整合成一個系統已經是必然趨勢。但因為不同企業體系或廠商的資料與單據不可能放在同一個資料庫上,所以就必須由 A/P Server 主動幫您切換到所要存取的實體資料庫,也就是說可以利用 EEP A/P Server 的虛擬資料庫架構讓不同用戶在同一台 A/P Server 上存取不同的資料庫。

  ASP(Application Service Provider)就是指提供客戶遠端主機的服務,即用戶端應用軟體都是通過網路來服務的。這是一種軟體租借的服務,一般是針對小型且業務形態接近的客戶而採用共同的主機與應用軟體,以降低客戶採購成本與軟體公司服務成本。VD30 可以輕易設定用戶端的使用帳號與個別資料庫,更可以根據客戶需求,個別更改商業邏輯與需求,從而達到專業化及個性化。

◆ 完整的安全管理
  在一個完整的應用系統中,對於系統許可權管理模組幾乎是必備的功能。由於通常的一些功能一直不能完全滿足客戶各式各樣的需求,所以很多人往往都是自己花很多時間寫一套自行的安全管理系統,從而導致在開發系統末期中耗費過多的資源與時間。為此,VD30 的安全管理功能即可輕鬆幫您完成這個任務。它主要分成三個機制:

1、 用戶登入許可權管理(前端 Login 的管控)
  即控制哪些用戶可以進入系統,與其相關的密碼和部門歸類等一系列用戶管理。

2、前端元件權限管理
   即通過VD30中的Security元件來控制U/I畫面上哪些元件可以讓用戶或部門來使用。也可以控制是否能對資料表進行新增/更改/刪除等操作的權限管理。

3、後端資料庫存取管理
  即控制哪些用戶或用戶群可以查詢到資料。也就是說當 Client 端上的一個用戶向 Server 資料庫提出查詢請求時,開發人員可以通過 VD30 A/P Server 上的 Squery 元件等屬性設置來管理此用戶是否對資料庫有存取權。

◆ 完整的系統文件輸出
  無論是軟體產品開發或工程專案,系統文件應該是必要的交接專案,但這些文件卻也是程式設計者最大的夢魘,因為系統規格會一再的變更,程式設計都已經來不及了,更別說是系統文件的同步。

  VD30 可以利用盡有的 U / I 與報表模組,高速開發您的應用系統。由於其採用 Run Time 設計方式,可以直接針對 User 的 U / I 或報表意見立即更改。讓您與 User 的溝通得到最高的效率。此外,VD30在開發的同時,還能從雛型設計的開始到完成成品到事後的維護,隨時都能反應目前最新設計規格文件並輸出到 WORD 中。如:報表規格表等。

總結
  VD 是多年技術累積的產物,近年來幾乎同步於微軟。它不僅能讓您在程式設計中感到快速高效的高度規格化,同時讓您從中體驗到全新的設計理念,這也就是VD區別於其他工具的不同之處之一。