dorado的產品全名是“dorado展現中間件”。從產品形態上dorado由兩部分組成,第一部分是一個具有AJAX特征的Web應用表現層的快速開發框架,第二部分配套的IDE開發工具。開發工具又可分為獨立的dorado studio與Eclipse插件兩個選擇,eclipse插件將在以后發布,本文的開發工具專指dorado studio。
簡介
Web表現層方面的產品主要技術流派有離散控件構架、后臺衍伸構架、展現中間件構架等數種。離散控件構架多是一套各個控件互不相關的ECMAScript庫,如bindows,后臺衍伸構架多是為專有的后臺業務邏輯框架服務,如工作流的表單設計器。展現中間件構架提Wedget Lib(表現層控件庫)并由展現層引擎統一驅動與管理。控件使用的個數越多種類越多,越有效用。可對接的業務邏輯層也不限于某種框架,可以廣泛地通過整合接口與各種第三方后臺邏輯框架相整合。還可以通過展現層引擎整合基于離散控件架構的Web表現層產品,進一步增強Web的展現力、操作性與承載量,同時提高開發效率。
定位:
DORADO展現中間件由銳道(BSTEK)研發,是企業級AJAX交互式Web應用的運行平臺與開發平臺,填補了Java技術體系表現層的架構空白,支持OPOB設計模式,顯著增強Web表現力、操作性與數據承載量,提升用戶體驗,加強開發規范性并提高開發效率,縮短項目工期,增強項目的可管理度。
構成:
DORADO展現中間件由表現層組件、展現引擎、數據集合、集成開發工具與管理控制臺等組成,包括AJAX通訊引擎、視圖模型,事件監聽、權限管理、數據驗證、層疊樣式表外觀控制、I18N國際化等。集成開發環境針對不同用戶習慣,提供eclipse plug-in、Studio、NetBeans plug-in三種集成開發工具從供選擇;提供瀏覽器端ECMAScript調試工具debugger,進行瀏覽器端運行JavaScript語句、記錄JavaScript運行時間、顯示調試日志與系統信息等;提供Web Console(Web控制臺)進行系統參數配置與性能監控;提供針對用戶體驗時間的性能測試工具TestFrame。
功能:
基于DORADO展現中間件能夠進行完整的Web表現層開發,完成數據、圖表、文書、報表的展現,數據增查改刪;全編輯表格、表格列鎖定、表格按列排序等表現層組件,開箱即用;只讀、長度等數據校驗,不同樣式皮膚切換的外觀控制,簡體中文/英文/繁體切換等國際化操作,按鈕可見/不可見/可用/灰化、文本框可見/不可見/可輸入/只讀等權限控制,以及其他功能。
性能:
DORADO展現中間件性能優異。后臺穩定性方面通過1000并發用戶持續并發4小時無錯誤的穩定性耐久壓力測試,后臺峰值負載方面通過1500嚴格并發用戶集合并發無錯誤的瞬間波峰壓力測試;前臺性能方面支持一次性向表格中加載2000條記錄,單一頁面支持裝載300個以上組件;低配置方面對窄帶環境、工作站低處理器低內存配置環境進行了優化處理,內置大數據量加載算法、復雜界面按需初始化、復雜界面數據初始順序化、懶加載數據加載方式(Lazy Load)、大數據量復雜操作優化等表現層性能優化算法、機制與開發技巧。經受住全國數據大集中模式下,5700多個分支機構2萬余名員工,年處理量超過4000萬筆業務的核心業務管理系統的超大型項目的實戰考驗。
擴展:
DORADO展現中間件分層清晰,表現層組件、數據集合、事件監聽、權限管理、數據驗證、外觀控制、國際化以及開發工具均可以實現擴展,并提供詳細文檔說明。
整合:
DORADO展現中間件封裝適度,接口開放,可以廣泛地與第三方業務邏輯框架、表現層框架以松耦合方式整合。提供對數據庫存儲過程與Spring框架的默認支持。
文檔:
在技術儲備分級的基礎上,提出DORADO展現中間件學習方法論與學習樹,編撰手冊類、教程類、認證類、場景類等技術資料,并打包為《DORADO展現中間件學習DVD》進行免費派送。結合基于互聯網的技術社區,保障開發者在沒有任何原廠商現場技術服務(如產品培訓)的情況下,能夠通過自學以及社區互動掌握并不斷深化DORADO技術。
服務:
DORADO展現中間件的服務包括官方網站的試用版產品與技術資料下載,5*8與7*24的電話支持服務,電子郵件服務、即時通訊服務、產品培訓、現場疑難解答、按人月的項目現場開發服務、新功能定制研發服務、源代碼講解研發服務等。
開源:
隨著DORADO展現中間件使用范圍日益廣泛,產品源代碼也日益開放。目前所有ECMAScript源代碼已去除混淆。BSTEK將基礎軟件業務板塊的合作劃分為五個能級,從第四個能級起,基礎軟件產品的源代碼向核心客戶開放。
下面讓我們來看一下屬于展現中間件構架的dorado產品的組成部分吧!
富瀏覽器客戶端:基于標準瀏覽器技術,增強web界面的信息承載量、表現力與操作性。其中包含了應用客戶端常用表格、樹、表單、多頁標簽等一整套界面組件
展現引擎
支持AJAX特性,用于增強dorado客戶端的交互能力。
MVC開發框架:包括數據持久層的實現、頁面流控制、展現層角色機制、國際化資源管理、配置管理與監控控制臺等。既可自成體系,又可與各種開發模式與框架相結合。
集成開發工具:dorado專用的IDE,可進一步提升開發速度。
應用框架
又稱marmot,用于為基于Struts、WebWork、Spring、Hibernate、iBatis等開源框架的開發模式提供與Dorado集成的范例性的實現代碼。其中包含了應用主框架、完整權限的框架、用戶Profile管理、即時消息等實用功能的實現代碼。
由此可見,dorado的產品本身包含的內容還是比較豐富的,在以上各組成部分中“富瀏覽器客戶端”和“展現引擎”是dorado的核心功能。“集成開發工具”一般而言也是在開發過程中一定會用到的。而剩下的“MVC開發框架”和“應用框架”是否會用到,以及dorado在整個應用開發的體系中所扮演的角色則完全取決于我們對dorado的使用方式。
模式
一般而言,基于dorado的開發主要有以下兩種模式:
模式A:以dorado提供的DBDataset和DBStatement作為主要的數據庫訪問方式的開發模式。
DBDataset有兩個重要的派生類AutoSqlDataset和SqlDataset。AutoSqlDataset和SqlDataset都是以直接的JDBC調用來完成數據庫訪問的,不同的是使用AutoSqlDataset時,開發人員需要指定的是查詢方式的描述信息,由AutoSqlDataset來生成最終的SQL;而使用SqlDataset時,開發人員需要直接指定要執行的SQL命令。而DBStatement則可以看作是Java數據庫連接中PreparedStatement的增強。
此種開發方式相對比較簡單,其邏輯架構大致如下 圖表 1基于dorado的開發模式A
可見,在此種開發模式中對數據庫的方式都是通過dorado提供的功能完成的,而開發人員編寫的商業邏輯代碼往往也是基于dorado的API的,即與dorado緊密耦合的。在這種開發模式中,dorado的作用基本是整體應用的框架,應用的業務邏輯完全附著dorado的體系中運行。其快速開發的概念表現為對整個應用的快速搭建。
這種開發模式的好處在于簡單。其簡單的含義可以體現在一下4個方面:
易于掌握,上手簡單。
開發過程對開發者的技術要求較低。
節省開發階段前期為應用搭建框架的工作量。
開發階段中編碼量低。
筆者認為:模式A對于中小型項目而言是非常適用。不過對于大型項目而言,它也存在著一定的局限性。這里所說的局限性往往并不是來自于系統功能的復雜度,而是來自于與項目開發過程的管理要求和今后的擴展需求。至于為什么會產生局限性的話題已經超出了本書的范圍,您可以嘗試了解一下為什么會有許多人使用Spring、Hibernate、Struts、IBATIS這樣的開源框架。
模式B:使用以獨立封裝的業務邏輯層結合dorado表現層的開發模式。
圖表 2基于dorado的開發模式B
在這種開發模式中,開發者往往會用到Spring、Hibernate、iBatis這樣的開源框架,利用這些框架來搭建出獨立封裝的業務邏輯層。這類開發模式在引入dorado之前就已經具備了MVC架構模式的特征,而dorado是作為對原有模式中國電視事業股份有限公司圖層(即V)的強有力補充而引入的。在這種開發模式中,dorado的作用主要是作用于表現層的開發框架,其快速開發的概念也更多的體現在對應用交互界面的快速定制。(注:如果在此模式中引入了Marmot應用框架,那么dorado產品將同樣可以起到快速搭建整個應用的作用)。
與模式A不同,DBDataset在此已沒有什么價值,替代它的是dorado中的MarmotDataset、CustomDataset等,這些Dataset的共同特點是可以方便的與來自業務邏輯層的POJO型數據進行雙向的交互。
dorado的以上兩種開發模式并沒有絕對的孰優孰劣。究竟應該在項目使用哪種方式,這很大程度上取決于您的智慧和判斷。一般而言,如果您的項目中沒有特別的需要或者您沒有什么特別的技術嗜好,建議您首先考慮使用模式A。
參考資料 >