Active Server Pages 和 Lotus Domino 的比較
當前位置:點晴教程→知識管理交流
→『 技術文檔交流 』
[p] asp(active server pages) 是基于服務器段端的編程框架,是運行在iis內的一系列互相關聯的腳本引擎部件,目的是動態產生web頁面——內容由嵌入在web頁面的腳本程序通過asp引擎動態產生。asp與傳統的基于cgi、perl等繁瑣的方式將動態數據技術集成web相比較,有了很大的提高。作為一種動態的數據引擎,asp在某中程度上可與domino作些比較。要求大量的時間和開發資源,asp可以創建不同類型的應用,但是這些應用還只是最基本層次的。從根本上說,它適合用來創建簡單的、基于數據驅動的web頁面,尤其是僅僅基于windows nt上應用。相對來說,domino提供的跨平臺應用開發,是基于“偶爾編程code-by-exception”的方法,而微軟則采用了“處處編程code-by-default”的方法。domino提供了可以結合良好適應性的編程邏輯的各種高級的應用編程構件,如子表單、表單、視圖、代理等。利用較高層的編程手段,通過簡單的點擊對話,domino采用簡單命令或notes公式就可以完成編程。更復雜的domino應用,則可以采用腳本語言、java、javabean或activex控件。所有的編程方法,都訪問到集成在domino中功能服務,如企業數據集成、消息傳遞、安全性、工作流、日程表、內容索引、全文索引、目錄管理等。所有這些,使得domino的應用可以迅速地被創建和修改。開發者可以把主要精力放在應用邏輯的處理上,而不是底層的代碼編寫上。[/p]
[p]服務器腳本語言:[br] 在iis服務器中,asp服務器腳本語言是最主要的基礎。然而,它需要開發者將所有的邏輯用腳本語言編寫,并且只有該頁面被調用時才會被激活。domino提供了一種適應性更強的服務器端腳本編程能力,以及代理管理技術。應用邏輯的實現是“偶爾編程的”:可以采用對話框的界面方式來編程,也可運用notes公式、java、兼容basic語言的lotusscript 語言等。并且,代理不但可以在不同的頁面事件中觸發,而且可以基于調度的,可以不需用戶的干預而觸發。[/p] [p]動態/個性化的頁面:[br] 通過asp技術,可以執行基于html頁面中的應用邏輯,提供了動態和個性化的內容。而這些只是domino的缺省屬性:每一個設計元素都是可編程的,用戶的身份由domino自然維護,domino在用戶請求的同時自動產生頁面。開發者不需要跟蹤用戶的身份,也不需手工編寫或維護復雜的腳本程序和html頁面來產生動態的,個性化的內容。[/p] [p]數據庫驅動的頁面:[br] 通過動態數據對象(ado),asp腳本可以在web頁面中訪問后臺數據庫。domino通過跨平臺的ls:do方式提供同樣的方式,訪問odbc數據源。事實上,通過ole的方式,如果限定在windows nt上,開發者同樣可以利用ado方式訪問數據庫。[/p] [p]除此以外,利用集成在domino中的企業集成連接件(decs),開發者可以不需編程就在domino應用中能訪問到企業數據庫資源。domino可以直接訪問db2、oracle、sybase、文本文件和文件系統,或eda/sql系統。此外domino還可以集成sap、e、sybase、文本文件和文件系統,或eda/sql系統。此外domino還可以集成sap、事務處理系統、mqseries、cics等等。[/p] [p]將內容與業務邏輯相分離:[br] 微軟鼓勵開發者將應用邏輯編寫在客戶自己制作的控件中,即將應用源碼與asp服務器本身分開。然而,即使控件中包含了某些靜態的業務邏輯,需要根據不斷變化的業務邏輯來訪問和操縱這些控件的腳本,依然存在于asp的html頁面中。[/p] [p]這種基于頁面的方式,使得代碼的維護變得非常困難。一個布局的改變,或者一個控制控件的邏輯改動,將要牽涉到很多的文件。改變后的頁面不得不用手工方式進行發布。(采用手工修改,或將該過的文件通過文件系統拷貝)到運行該應用的服務器上。相比之下,domino采用基于表單的方式,將邏輯區分于布局,而且通過廣泛使用設計模板,真正做到使應用與設計、邏輯分離。表單用于控制布局,在表單中,元素背后存放邏輯(字段,代理,操作),這使得在頁面中的布局與邏輯區分開來。在模板中,存放了所有的設計元素(字段,代理,操作)。維護時,只需要對應用模板更新。通過domino 的復制機制,能夠將所做的修改自動發布的所有相應的服務器上。所有升級工作將由系統自動地按預先安排來完成。[/p] [p]開放的腳本:[br] asp技術提供了內置的對vbscript 和jscript的支持。jscript是基于ecma-262標準的語言:兼容javascript。domino提供可擴展的、開發的腳本編程環境。[/p] [p]除了與basic兼容的lotusscript之外,可使用java來編寫服務器端程序。并且,domino“偶爾編程”的開發手法,提供了開發效率,具有更廣泛的適應力:除了腳本編程之外,對于復雜邏輯的實現,domino提供了非編程實現的辦法:如高層次的應用開發部件(如表單、視圖、字段等等),對應用服務(如數據連接、報文傳遞、工作流、安全性等)的簡單訪問方法,支持高效率的邏輯實現方法(如點擊對話框、簡單命令、易學的notes公式語言)。結合復雜腳本編程手段與能夠被多種工具利用的、開放的對象模型,使得domino成為既強大有開放的編程開發環境。[br]獨立的瀏覽器:[br] asp腳本中可以嵌入邏輯,以判斷查詢該頁面的瀏覽器的類型。利用這些信息,應用程序開發者可以針對不同的瀏覽器提供不同版本的頁面。缺省地,不需人工干預,domino就可以提供與瀏覽器獨立的html頁面。采用與asp一樣的方式,domino可以通過編程增強對瀏覽器類型的判斷:通過cgi變量獲取客戶機類型信息,編寫應用邏輯,返回不同類型頁面。[/p] [p]可操作性:[br] 微軟認為用asp開發web應用是“可操作的”。客戶化的頁面、動態產生的html頁面,可以用asp技術與vbscript技術很容易地實現,遠勝過傳統的web開發工具如c、perl、cgi等。在這方面domino則遠遠超過了asp技術:“偶爾編程”的開發方式、高層次的開發部件、基于表單的而不是基于頁面的開發辦法、可面向非專業開發人員的應用開發,以及功能高級的編程能力,和通過用模板來管理應用,用復制機制分發應用等等。[/p] [p]用domino開發web應用的優勢[br] 今天,微軟的asp技術,主要是被用于創建基于web的前端連接到現有的后端系統或數據庫的應用。但開發用于處理業務流程、管理工作流或加強協同工作的應用,還需要許多附加的系統及大量的需要編程的組件集成工作。這其中包括:應用,還需要許多附加的系統及大量的需要編程的組件集成工作。這其中包括:需要定義儲存機制,核心基礎服務需要安裝與配置的、并且需要通過手工的方式集成對象,需要創建的客戶化active server component 以及為上述組件的組合編寫的大量代碼。為了充分發揮asp的功能。開發人員應深入理解多種微軟的產品。[/p] [p] 相比之下,domino提供了一個集成的平臺和一個高層的、可視化的開發環境,使開發者可以快速而簡易地創建web應用。此外,除了服務器端編程、動態內容生成、由數據驅動的web頁面、內容與應用邏輯的分離、高層次的應用部件和集成的應用服務外,domino還具有了針對asp的眾多優勢。這些優勢具體體現在開發諸如前端辦公處理系統、內容管理、與企業系統如關系型數據庫系統、erp應用與傳統系統的集成等應用上。[/p] [p]集成的核心服務:企業級數據存訪、報文傳遞、目錄服務、復制、安全性、內容索引、全文檢索、日程安排等。[br] iis和asp不提供應用需要的基礎服務。這些服務必須以分開的形式加以安裝及管理。開發人員只能通過手工的方式通過編程active server component的方式實現(如果有這樣的component的話)。而核心應用服務是domino提供的內置基礎設施的一部分,服務是一致的,可以由任何類型的應用訪問到:而iis與asp應用中,由不同的訪問模型、安全模型、復制機制、管理特性相結合才能提供與domino相類似的服務功能。domino通過點擊對話、notes的公式語言、腳本語句及java對象接口等方式提供對核心服務高層次的訪問能力。domino靈活的應用開發環境可以充分地利用現有的基礎服務功能。[/p] [p]安全性[br] domino在應用中提供了難以匹敵的安全性特征。domino構建了從最底層起的安全體系,它所涵蓋的范圍并不是簡單的文件、目錄或者某些組件接口。一且某個用戶通過了服務器的授權——這種授權可以是基本的身份驗證還是ssl——則domino就能控制其會話,保護應用元素直到字段一級。domino共分7個層次對系統的各個級別進行顆粒化的權限管理。用戶可以根據應用的實際情況被指定為不同的角色,以確定哪些信息可以被訪問,哪 些操作可以執行。而asp應用的安全性則完全依賴于幾種不同的安全模式:nt、iis和用于數據存儲的后端系統。由于微軟的安全模式均圍繞于所謂計算資源,對文件及目錄訪問可以被限制,但即沒有頁面之內的權限控制又沒有應用中的角色控制。asp的后端系統,如exchange 依然缺乏了象domino系統這樣的安全能力,甚至在為某些協同工作的應用編寫了相應的代碼后,exchange仍然不能像domino那樣提供諸如文檔級直到字段級的存取權限控制。[/p] [p]快速的應用開發[br] domino高層次的編程部件、對核心服務的容易訪問、“偶爾編程”的編程方式,使開發者可以迅速完美地實現業務需求。開發者應盡量將時間用于處理業務問題,而不應過多地困擾于手工地去集成應用。[/p] 該文章在 2010/7/8 0:28:56 編輯過 |
關鍵字查詢
相關文章
正在查詢... |