博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理




使用OPS建構Web Application與傳統方法建構Web Application對比

優點:

1) 與傳統web application frameworks不同,OPS是基於XML和XForm的,因此使用OPS的主要任務就是處理XML,而不需要編寫java,c#,script code等就可以實現任意複雜動態的web application。

2) 傳統web application將code和html混合在一起,致使邏輯層和表現層難以分離,開發人員既要編寫業務邏輯代碼又要兼顧頁面界面,工作職能模糊,OPS使得表現層和邏輯層完全分離,開發工作分工更爲明確,細化分工合作。

3) OPS使用基於AJAX技術的XForm引擎,它使得界面展現非常友好,而且減少了網絡流量,傳統web application頁面和服務器之間交互的過程中,在頁面不跳轉的情況下,不僅交互了有用數據,也交互了html標簽,腳本文件,圖檔,swf檔等等數據,而使用AJAX技術,頁面和服務器之間將只會交互表單上的有用數據,從而使得網絡流量大大減少而且能達到更好的界面效果。據統計,使用AJAX技術,網絡平均流量只佔傳統方式的4%。

4) OPS具有平臺無關性,使得基於OPS的web application在異質平臺下的移植簡單而安全。

5) 由w3c組織定義的XForm作爲新一代表單定義標準,將會是趨勢,它吸取了html表單的經驗,具有更豐富的特性和更強的彈性,為異質設備共享表單提供了基礎。

6) 對於表現層與業務層交互的數據,都是以xml來處理的,OPS支持這些xml數據的語法檢查,因此,數據相關性,數據類型等等都能通過定義相應的schema文件來實現,這樣做能有效的防止因爲數據的不完整性或非法數據而導致業務邏輯的錯誤。

7) OPS支援page flow和jsp混合使用,這樣有效結合了傳統web application和ops web application的開發模式。

8) 基於OPS開發web application基本不需要了解http協議。

9) 對於表單變更,頁面效果變更等需求,基於OPS開發的web application維護更加容易,而且安全。

缺點:

1) 基於OPS開發web application需要了解甚至熟悉w3c組織衆多標準,包括,Xhtml,xform,xslt,xquery,xpath,xupdate,Xml schema, XML Pipeline Language等。
2) 還沒有非常容易使用的可視化開發工具,xform和page flow是ops的核心,但其開發工具只能還是使用xml編輯工具。
3) 調試過程比傳統方式複雜。由於在基於OPS下的web application是不需要編譯,它完全是由後臺引擎解釋執行,所以針對頁面調試只能通過OPS服務本身的除錯功能。

OPS相關技術介紹

1.XForm

Web Application主要用表單來收集用戶輸入信息,OPS的表單是基於W3C的XForm 1.0(第二版W3C Proposed Edited Recommendation

XForm要點介紹:http://xformsinstitute.com/essentials/ 

XForm第二版本發佈於2005年十月份,由於當前主流瀏覽器還不支持該標準,儘管如此,現在已經有IE的plugin支持它。所以現階段主要有兩種XForm的引擎,client-side和server-side,上述IE的plugin就是client-side,OPS XForm引擎則屬於server-side,它的原理就是將XForm表單轉換成HTML表單傳輸到客戶端瀏覽器。相比HTML,XForm的優勢在於更少的程序,包括更少的客戶端腳本,更少的服務器程序,所以XForm表單更容易創建和維護。

XForm 1.0結構: 

a)XForms Model:定義表單實例,表單事件,實例數據綁定及實例數據約束屬性,submission定義。 

b)XForms Controls:定義表單layout,表單控件,控件與實例綁定,控件事件。XForms中主要有以下控件:Text field,Password field,Text area,Radio buttons,Single-selection lists,Combo box,Checkboxes,List,Trigger button,Submit button,Submit link,Submit image,Upload,Range等等。另外,對於每種控件可以内嵌多種標簽,Label(控件Caption),Alert(錯誤提示),Hint(控件提示項),Help(幫助)。 

有關XForm使用及其標簽定義參考w3c組織關於XForm解釋,http://www.w3.org/TR/2005/PER-xforms-20051006/