top
Loading...
ActiveServerPages和LotusDomino的比較

玩了一年的ASP
現在頭頭突然要我搞lotus domino/notes。唉,沒辦法~~
這里有一篇關于ASP與LOTUS DOMINO/NOTES的文章,各位看看,說說看法
-------------------
(轉http://go2.163.com/~notes/xuexi/ynjd0026.htm)
發信人: liuzheng.bbs@sh.netease.com (漂流瓶), 信區: Groupware
標 題: ASP和Domino的比較
發信站: 網易虛擬社區上海站 (Fri Mar 5 11:35:49 1999)
轉信站: Netease2!Netease3

Active Server Pages 和 Lotus Domino 的比較

ASP(Active Server Pages) 是基于服務器段端的編程框架,是運行在IIS內

的一系列互相關聯的腳本引擎部件,目的是動態產生Web頁面——內容由嵌入在W

eb頁面的腳本程序通過ASP引擎動態產生。ASP與傳統的基于CGI、PERL等繁瑣的方

式將動態數據技術集成WEB相比較,有了很大的提高。作為一種動態的數據引擎,

ASP在某中程度上可與Domino作些比較。要求大量的時間和開發資源,ASP可以創

建不同類型的應用,但是這些應用還只是最基本層次的。從根本上說,它適合用

來創建簡單的、基于數據驅動的Web頁面,尤其是僅僅基于Windows NT上應用。相

對來說,Domino提供的跨平臺應用開發,是基于“偶爾編程Code-by-Exception”

的方法,而微軟則采用了“處處編程Code-by-default”的方法。Domino提供了可

以結合良好適應性的編程邏輯的各種高級的應用編程構件,如子表單、表單、視

圖、代理等。利用較高層的編程手段,通過簡單的點擊對話,Domino采用簡單命

令或Notes公式就可以完成編程。更復雜的Domino應用,則可以采用腳本語言、J

ava、JavaBean或ActiveX控件。所有的編程方法,都訪問到集成在Domino中功能

服務,如企業數據集成、消息傳遞、安全性、工作流、日程表、內容索引、全文

索引、目錄管理等。所有這些,使得Domino的應用可以迅速地被創建和修改。開

發者可以把主要精力放在應用邏輯的處理上,而不是底層的代碼編寫上。


服務器腳本語言:
在IIS服務器中,ASP服務器腳本語言是最主要的基礎。然而,它需要開發者

將所有的邏輯用腳本語言編寫,并且只有該頁面被調用時才會被激活。Domino提

供了一種適應性更強的服務器端腳本編程能力,以及代理管理技術。應用邏輯的

實現是“偶爾編程的”:可以采用對話框的界面方式來編程,也可運用Notes公式

、Java、兼容Basic語言的LotusScript 語言等。并且,代理不但可以在不同的頁

面事件中觸發,而且可以基于調度的,可以不需用戶的干預而觸發。

動態/個性化的頁面:
通過ASP技術,可以執行基于HTML頁面中的應用邏輯,提供了動態和個性化的

內容。而這些只是Domino的缺省屬性:每一個設計元素都是可編程的,用戶的身

份由Domino自然維護,Domino在用戶請求的同時自動產生頁面。開發者不需要跟

蹤用戶的身份,也不需手工編寫或維護復雜的腳本程序和HTML頁面來產生動態的

,個性化的內容。
數據庫驅動的頁面:
通過動態數據對象(ADO),ASP腳本可以在WEB頁面中訪問后臺數據庫。Dom

ino通過跨平臺的LS:DO方式提供同樣的方式,訪問ODBC數據源。事實上,通過OL

E的方式,如果限定在Windows NT上,開發者同樣可以利用ADO方式訪問數據庫。

除此以外,利用集成在Domino中的企業集成連接件(DECS),開發者可以不需編

程就在Domino應用中能訪問到企業數據庫資源。Domino可以直接訪問DB2、Oracl

e、Sybase、文本文件和文件系統,或EDA/SQL系統。此外Domino還可以集成SAP、

e、Sybase、文本文件和文件系統,或EDA/SQL系統。此外Domino還可以集成SAP、

事務處理系統、MQseries、CICS等等。
將內容與業務邏輯相分離:
微軟鼓勵開發者將應用邏輯編寫在客戶自己制作的控件中,即將應用源碼與

ASP服務器本身分開。然而,即使控件中包含了某些靜態的業務邏輯,需要根據不

斷變化的業務邏輯來訪問和操縱這些控件的腳本,依然存在于ASP的HTML頁面中。

這種基于頁面的方式,使得代碼的維護變得非常困難。一個布局的改變,或者一

個控制控件的邏輯改動,將要牽涉到很多的文件。改變后的頁面不得不用手工方

式進行發布。(采用手工修改,或將該過的文件通過文件系統拷貝)到運行該應

用的服務器上。相比之下,Domino采用基于表單的方式,將邏輯區分于布局,而

且通過廣泛使用設計模板,真正做到使應用與設計、邏輯分離。表單用于控制布

局,在表單中,元素背后存放邏輯(字段,代理,操作),這使得在頁面中的布

局與邏輯區分開來。在模板中,存放了所有的設計元素(字段,代理,操作)。

維護時,只需要對應用模板更新。通過Domino 的復制機制,能夠將所做的修改自

動發布的所有相應的服務器上。所有升級工作將由系統自動地按預先安排來完成


開放的腳本:
ASP技術提供了內置的對VBScript 和JScript的支持。JScript是基于ECMA-2

62標準的語言:兼容JavaScript。Domino提供可擴展的、開發的腳本編程環境。

除了與BASIC兼容的LotusScript之外,可使用Java來編寫服務器端程序。并且,

Domino“偶爾編程”的開發手法,提供了開發效率,具有更廣泛的適應力:除了

腳本編程之外,對于復雜邏輯的實現,Domino提供了非編程實現的辦法:如高層

次的應用開發部件(如表單、視圖、字段等等),對應用服務(如數據連接、報


文傳遞、工作流、安全性等)的簡單訪問方法,支持高效率的邏輯實現方法(如

點擊對話框、簡單命令、易學的Notes公式語言)。結合復雜腳本編程手段與能夠

被多種工具利用的、開放的對象模型,使得Domino成為既強大有開放的編程開發

環境。
獨于的瀏覽器:
ASP腳本中可以嵌入邏輯,以判斷查詢該頁面的瀏覽器的類型。利用這些信息

,應用程序開發者可以針對不同的瀏覽器提供不同版本的頁面。缺省地,不需人

工干預,Domino就可以提供與瀏覽器獨立的HTML頁面。采用與ASP一樣的方式,D

omino可以通過編程增強對瀏覽器類型的判斷:通過CGI變量獲取客戶機類型信息

,編寫應用邏輯,返回不同類型頁面。
可操作性:
微軟認為用ASP開發WEB應用是“可操作的”。客戶化的頁面、動態產生的HT

ML頁面,可以用ASP技術與VBScript技術很容易地實現,遠勝過傳統的WEB開發工

具如C、PERL、CGI等。在這方面Domino則遠遠超過了ASP技術:“偶爾編程”的開

發方式、高層次的開發部件、基于表單的而不是基于頁面的開發辦法、可面向非

專業開發人員的應用開發,以及功能高級的編程能力,和通過用模板來管理應用

,用復制機制分發應用等等。
用Domino開發Web應用的優勢

今天,微軟的ASP技術,主要是被用于創建基于Web的前端連接到現有的后端

系統或數據庫的應用。但開發用于處理業務流程、管理工作流或加強協同工作的

應用,還需要許多附加的系統及大量的需要編程的組件集成工作。這其中包括:

應用,還需要許多附加的系統及大量的需要編程的組件集成工作。這其中包括:

需要定義儲存機制,核心基礎服務需要安裝與配置的、并且需要通過手工的方式

集成對象,需要創建的客戶化Active Server Component 以及為上述組件的組合

編寫的大量代碼。為了充分發揮ASP的功能。開發人員應深入理解多種微軟的產品

相比之下,Domino提供了一個集成的平臺和一個高層的、可視化的開發環境

,使開發者可以快速而簡易地創建Web應用。此外,除了服務器端編程、動態內容

生成、由數據驅動的Web頁面、內容與應用邏輯的分離、高層次的應用部件和集成

的應用服務外,Domino還具有了針對ASP的眾多優勢。這些優勢具體體現在開發諸

如前端辦公處理系統、內容管理、與企業系統如關系型數據庫系統、ERP應用與傳

統系統的集成等應用上。


集成的核心服務:企業級數據存訪、報文傳遞、目錄服務、復制、安全性、內容

索引、全文檢索、日程安排等。
IIS和ASP不提供應用需要的基礎服務。這些服務必須以分開的形式加以安裝

及管理。開發人員只能通過手工的方式通過編程Active Server Component的方式

實現(如果有這樣的Component的話)。而核心應用服務是Domino提供的內置基礎

設施的一部分,服務是一致的,可以由任何類型的應用訪問到:而IIS與ASP應用

中,由不同的訪問模型、安全模型、復制機制、管理特性相結合才能提供與Domi

no相類似的服務功能。Domino通過點擊對話、Notes的公式語言、腳本語句及Jav

a對象接口等方式提供對核心服務高層次的訪問能力。Domino靈活的應用開發環境


可以充分地利用現有的基礎服務功能。
安全性
Domino在應用中提供了難以匹敵的安全性特征。Domino構建了從最底層起的

安全體系,它所涵蓋的范圍并不是簡單的文件、目錄或者某些組件接口。一且某

個用戶通過了服務器的授權——這種授權可以是基本的身份驗證還是SSL——則D

omino就能控制其會話,保護應用元素直到字段一級。Domino共分7個層次對系統

的各個級別進行顆粒化的權限管理。用戶可以根據應用的實際情況被指定為不同

的角色,以確定哪些信息可以被訪問,哪 些操作可以執行。而ASP應用的安全性

則完全依賴于幾種不同的安全模式:NT、IIS和用于數據存儲的后端系統。由于微

軟的安全模式均圍繞于所謂計算資源,對文件及目錄訪問可以被限制,但即沒有

頁面之內的權限控制又沒有應用中的角色控制。ASP的后端系統,如Exchange 依

然缺乏了象Domino系統這樣的安全能力,甚至在為某些協同工作的應用編寫了相

應的代碼后,Exchange仍然不能像Domino那樣提供諸如文檔級直到字段級的存取

權限控制。
快速的應用開發
Domino高層次的編程部件、對核心服務的容易訪問、“偶爾編程”的編程方

式,使開發者可以迅速完美地實現業務需求。開發者應盡量將時間用于處理業務

問題,而不應過多地困擾于手工地去集成應用服務所需的系統架構。ASP應用是以

“處處編程”為思路而開發的,所有的應用均由一段Script開始,而且通常需要

一些定制的Active Server Component。雖然微軟擴展了Design Time Controls的

用途,可以生成某些常用功能(如數據庫聯接件等),但是定制任何元素——包

括定制由Design Time Controls生成的代碼——都需要開發者具有相當的Script

括定制由Design Time Controls生成的代碼——都需要開發者具有相當的Script

經驗和特定的Active Server Component的知識。相比之下, Domino則結合了幾

種高層次應用的部件(如子表單,表單,視圖,代理等)和靈活的應用邏輯:這些邏

輯可通過高層次的方法的,如點擊對話框、簡單命令等生成,也可通過簡單的公

式語言定義。當這些高層應用部件和應用邏輯工具的使用受限時,Script,Java

,JavaBeans及ActiveX組件均可用以構建更加深層的應用。所有這些應用都可通

過模板進行管理,再通過復制技術加以分發。Domino的應用可以快速地構建,然

后完全可以由不用的開發人員為用戶進行相應的修改并再次投入使用,而后者并

不需要具備原先開發者相同的水平。可以進一步說明的是,對于一個跨國的組織

來說,一個Domino的應用可以一次性完成開發,然后通過Domino Global Design

er工具將其翻譯成各國語言。
廣泛、靈活的企業集成
Domino通過大量靈活的開發選項,提供了廣泛針對企業數據的集成能力。利

用DECS,企業的數據可被無縫地做為Domino應用的一部分,同時這些數據仍保存

在其原始的存儲空間中。這種深層的Domino與企業系統的集成并不需編程,而且

對于Domino的開發人員來說也是透明的。此外,針對應用的某些具體需求,開發

人員也完全有能力通過LotusScript或者Java進行編程性控制。IIS/ASP應用則需

要通過COM對象,例如ADO、COM TI,或者是定制的Active Server Components去

訪問企業系統。這些對象是通過ASP引擎執行Script存訪。Visval InterDev提供

了可以生成基本的、訪問關系數據庫的Script的Design Time Controls,而訪問

其他系統則另外需定制組件并將其手工集成到應用中。
動態,層次化視圖
工作流應用中的動態信息和Web站點都需要動態的、層次化的顯示文檔和頁面


的視圖。Domino的視圖是通過高層次的、可視化的工具產生的,并不需要額外的

編程。一旦開發者定義了哪種文檔屬于該視圖,Domino就會自動地為視圖進行相

應的管理,如索引更新及保持對視圖內容的跟蹤等。如果需要的話,可在視圖中

增加相應的邏輯和全文檢索。而在ASP應用中,視圖需通過Content Linking Obj

ect的編程,手工地維護一個URL文件才能實現,或者通過Active Server Compon

ent去查詢后端系統。
定時代理
為處理沒有用戶觸發的事件,定時代理是必須的。Domino的代理技術是非常

靈活的,既可以處理用戶觸發事件,也可根據預先確定的時間間隔去處理已安排

的事件。IIS/ASP由于不能提供此類機制,因而限制了他們的工作流的能力。為執

行上述的應用邏輯,微軟的Web應用開發者必順脫離IIS/ASP環境,而在Exchange

5.5的服務器上去創建和維護相應的Script。
內容結構和集成對象存儲
ASP應用是基于頁面的,它由大量的位于文件系統中的文件所構成。IIS沒有

提供除文件系統外其他的Web應用存儲機制。如果需要將用戶的信息存儲在數據庫

中,則只能在IIS/ASP的系統環境外去生成這樣的數據庫,同時也必須通過Scrip

t和Active Server Components才能夠去訪問。Domino應用通過有結構的對象存儲

管理組織其中的內容與索引屬性。針對Web應用典型的非結構化的信息特點,Dom

ino的內置集成的對象存儲是最優的存儲與管理容器。另一方面,它還能夠無縫地

集成從企業系統(如關系型數據庫系統)中的數據。
設計元素的復制、存儲和管理
ASP的應用是一組存儲在文件系統目錄中的相關文件。這些文件包含了HTML內

ASP的應用是一組存儲在文件系統目錄中的相關文件。這些文件包含了HTML內

容、布局、客戶端的Script(如JavaScript)與服務器端Script等。根本沒有真

正的辦法體現所謂應用的管理。而應用在多個服務器的分發也是通過文件系統的

拷貝操作實現的,相比之下,Domino將所有的應用設計元素存儲在一個單一的、

結構化的存儲體中。Domino基于表單的設計方法將應用的布局與其信息的應用邏

輯分離開來,并將其存儲在自定義的文檔中。應用的設計則通過包括了各種設計

元素(如表單、視圖,代理等)的模板進行管理。所有的應用都可通過Domino的

復制技術進行分發,而應用的更新則借助于一個定時運行的設計更新進程自動地

實現。模板為多個應用提供了獨有的維護能力:一個單一的模板可同時為多個應

用提供公用設計框架,而這些應用可以是在整個公司的范圍內使用的。
平臺無關性
IIS只能運行于Windows NT操作系統之上。Domino以及Domino的應用可運行于

多種平臺之上,從而相應使客戶的業務需求、伸縮性要求不因供應商的原因而被

確定在某一個單一的平臺上。Domino提供了跨平臺的特性,但同時也支持及維持

與微軟的相應技術,如NT、ActiveX、ODBC、MAPT、OLE Automation等的集成。


北斗有巢氏 有巢氏北斗