• 沒有找到結果。

第二章 文獻探討

第三節 評量診斷的網路技術

由於網路的發展迅速,以致於許多的服務皆可經由網路來加以完成,為了增 加使用者的便利,程式設計者的負擔在相形之下也就越顯得沈重,為此,能夠提 供穩定、快速、便利開發的平台架構也就更加的重要。本節將針對本系統所應用 的網路技術分成三層式架構、.NET Framework的基本架構、ASP與ASP.NET之比較 等相關文獻加以說明。

壹、三層式架構

以下先就兩層式架構、三層式架構分別說明如下:

一、兩層式(2-Tier)架構

在傳統的兩層式(2-Tier)架構當中,為主從式(Client/Server)架構,

包括用戶端的使用者介面層(Presentation Tier),和伺服器端的資料服務層

(Data Services Tier)。用戶端的使用者介面層(Presentation Tier),負 責接收使用者的資料輸入,和將結果顯示出來,譬如用戶端應用程式。一般會包 括商業邏輯(Business Logic)的工作,包括計算、輸入核對、用戶端電腦管理、

與伺服器溝通等工作。伺服器端的資料服務層(Data Services Tier),負責伺 服器的工作,包括資料庫的資料處理和網站伺服器(Web Server),有時也會有 一些商業邏輯(Business Logic)的工作。傳統兩層式(2-Tier)架構最大的缺 點,為隨著功能的增加,用戶端的應用程式會愈來愈複雜,不但維護不易,用戶 端電腦的負荷也愈來愈大(周世雄,1998)。

二、三層式(3-Tier)架構

三層式(3-Tier)架構與傳統兩層式架構最大的差異處,為將業務邏輯

(Business Logic)單獨分離出來,以減輕放置於用戶端或伺服器端電腦的負

和將結果顯示出來,譬如瀏覽器或其他用戶端應用程式。業務邏輯層(Business Logic Tier),作為使用者介面與資料庫的橋樑,負責業務法則(Business Rules)、與業務有關的資料處理、網站伺服器(Web Server)等工作,譬如使 用 IIS 的 網 站 伺 服 器 , 採 得 ASP 撰 寫 程 式 , 並 透 過 DCOM 與 MTS ( Microsoft Transaction Server)的元件相溝通,再透過ODBC與各種支援ODBC的資料庫相連 接。資料服務層(Data Services Tier),負責資料庫或訊息的處理,譬如使用 SQL Server資料庫的儲存的程序(Stored Procedures),或使用MSMQ做訊息的 處理等(周世雄,1998)。

貳、微軟.NET Framework 的基本架構

.NET Framework 是一個安全、高效能、延展性佳的語言環境,是作為.NET的平台,

它支援了VB、C#、C++等程式語言。其組成大致可分為三個部分,分別為Common Language Runtime(簡稱CLR)、類別庫(Class Library)和ASP.NET。

圖2-1 .NET Framework系統架構

一、Common Language Runtime

Windows 作業系統 .NET Framework

Class Library 類別庫

ASP.NET、C#、VB.NET...

Common Language Runtime 共通語言執行環境

Common Language Runtime(簡稱CLR)是.NET Framework應用程式的執行引 擎,提供的核心服務包括編譯器、記憶體管理、保密機制、載入器等。

為了使程式碼可以在不同作業平台上執行,CLR編譯器會將程式碼(Visual Basic.NET、C#.NET、C++.NET、J#.NET等語言所撰寫的程式)編譯為中介語 言(Microsoft Intermediate Language,簡稱MSIL)乃是指介於程式碼與機器 碼之間的語言,包含物件載入、方法呼叫、流程控制、邏輯運算等多項基本指令

(李春雄,2003)。當需要執行MSIL時,才使用CLR的JIT(Just In Time)編譯 程式,轉換為不同作業平台上執行的機器碼,過程如下:

Visual Basic.NET程式

C#.NET程式 C++.NET程式

CLR編譯器

MSIL 中介語言

JIT編譯程式

Windows 98 Windows Me Windows 2000 Windows XP

類別庫(Class Library)是.NET Framework的另一個主要元件,它是範圍 廣泛、物件導向、可重複使用型別的集合;是Microsoft .NET Framework SDK 中所包含類別、介面和數值型別(Value Type)的程式庫。它提供了龐大的類別 函式庫,凡是支援.NET Framework的程式語言,包括Visual Basic.NET、C#.NET、

C++.NET等都可以直接使用共用物件類別庫的類別和方法。

過去不同程式的程式設計師使用不同的類別庫,然而現在都可以使用.NET Framework的類別庫,這不僅使得.NET Framework型別易於使用,更可減少學 習.NET Framework新功能所花費的時間。

三、ASP.NET物件

Active Server Page(ASP)是一種伺服器端的網頁技術,美國微軟公司將ASP 1.0納入IIS(Internet Information Services)3.0版,使ASP正式納入微軟的 網站開發平台。

ASP.NET是ASP的最新版本,它是架構在CLR環境下的Web應用程式執行平台。

在ASP.NET環境可使用任何與.NET相容的語言(包括Visual Basic.NET、C+

+.NET、C#.NET和J#.NET)來撰寫應用程式。ASP.NET提供了一個物件導向式 架構,每一個物件都有屬於自己的屬性、方法和事件,讓開發網路應用程式更容 易、更具彈性。(吳權威、王緒溢,2003)

參、ASP與ASP.NET之比較

一、ASP的潛在性問題

ASP雖然易學易用,但仍存在一些潛在性的問題,條列如下:

(一)、程式碼不夠結構化(程式碼與HTML語言混和使用)

(二)、程式碼不夠嚴謹(沒有資料型態)

(三)、沒有真實的元件模組(不是真正的物件導向語言)

(四)、只能支援VB與JAVA Script語言

(五)、沒有好的偵錯程式

(六)、ADO無法直接與DataGrid元件結合 二、ASP.NET的特色

ASP.NET是新一代微軟所開發的Web技術,他不但繼承了ASP易學易用的特色 也結合微軟公司最新的.NET技術平台,因此大幅提昇ASP.NET語言的處理能力,

其特色條列如下:

(一)、程式語言可跨平台使用

(二)、程式碼結構性高

(三)、執行效能高

(四)、豐富的物件支援

(五)、彈性高

三、ASP與ASP.NET架構圖比較

以往ASP網頁程式必須透過ASP.DLL動態連結檔來支援ASP的運作,而現今 ASP.NET網頁程式與.NET Framework完全整合,其他語言所撰寫的應用程式也可 使用,兩者的過程如下所示:(李春雄,2003)

圖2-3 ASP系統架構圖 ASP網頁(.asp)

ASP.DLL

Windows 98+PWS 或 Windows 2000/NT+IIS伺服器軟體

圖2-4 ASP.NET系統架構圖

肆、結語

為了減輕伺服器端(Server)的負荷,並加快程式執行的速度,伺服器端應該 只負責存取資料庫的工作,至於試卷試題、診斷結果的呈現等工作,則交由客戶 端程式來執行,這樣的設計不但可以保有主從式架構的優點,也使得資料的維護 更有彈性,程式的撰寫更加容易。因此,本系統建構在MS Windows 2003與IIS6.0

(Internet Information Server 6.0)的平台之上,採用ASP.NET的技術來設計 系統程式,並結合Java Script及VB Script,以製作出具有互動功能的系統,並 能滿足多人同時上線測驗,同時維持一定的效率水準。本系統根據前述說明而採 用三層式架構以提昇網路效能、減輕用戶端或伺服器端電腦的負擔。

ASP.NET網頁(.aspx)

.NET Framework ASP.NET應用程式

其他語言所撰寫的應用 程式

支援.NET的作業系統及IIS伺服器軟體