插件式架構設計實踐二:基于Silverlight的B/S插件式架構設計方法

作者: Bēniaǒ  來源: 博客園  發布時間: 2011-01-24 11:50  閱讀: 2646 次  推薦: 0   原文鏈接   [收藏]  

  架構設計并不是項簡單的工作,架構設計最終的產物則是由不同的框架組件構成一套高擴展、穩定、安全、通用的開發框架平臺。或許一提到架構設計,很多朋友都聯想到了常用的框架組件:數據訪問組件、日志組件、事務組件、消息組件、配置組件以及工具庫等。然而,本系列文章的中心“插件式框架設計”已經偏離了常規的框架設計方法論,它只是一套用于改善系統功能模塊組織結構,靈活開發、部署、維護的一套方法論,其中的每個功能模塊的具體實現還是走常規的開發框架,它自身的職責則主要是負責根據配置文件實現系統功能模塊的組裝,靈活的卸載某個部件以及各部件之間如何通信等。

  本篇將和大家分享基于Silverlight的B/S插件式架構設計的方法,文中的內容僅僅只是我個人知識、經驗的總結,如有不妥之處還望各位讀者給予指正,大家共同學習,進步。

  對于Silverlight項目而言,前端系統需要后臺服務接口的支撐才能完成數據通信訪問、儲存數據的的功能。通常需要給Silverlight前端提供相應的數據通信接口,可分為多種方式提供,常用的數據通信接口分別有Socket、HttpHandler、WebService以及WCF等方式。詳細的架構模型如下圖所示:          

  系統后臺采取的技術架構為是豎向分成架構模式+橫向擴展架構模式相結合,分成架構模式也就是眾所周知的三層/多層架構,這里不做詳細介紹;橫向擴展架構模式則為支持橫向業務擴展的架構模式,所有業務組件(我通常稱其為:業務插件)通過實現統一的業務服務接口來擴展系統業務功能,系統框架中的業務組件容器(我通常稱其為:業務插件容器)使用統一的業務服務接口靈活的管理業務組件,實現各組件之間的數據通信、事件通知、以及靈活的構造、銷毀業務組件實例。總上述,這種架構模式我便稱其為插件式架構設計。

  插件式架構設計的框架能夠靈活的橫向擴展業務組件的擴展開發,管理業務組件的生命周期等,然而對于RIA應用系統來說,他只需要依賴一個或多個通信接口實現數據通信,不用關心服務后臺的架構以及具體是實現細節。需要注重點則是關于系統前端的框架架構設計,一套基于Silverlight技術的插件式架構設計方法,通過插件框架靈活的加載、組合、初始化并進行托管運行系統插件模塊,是我們期望達到的目的。如上所述,插件式框架的架構圖大致如下所示:        

  系統前端的核心架構受到所采用的技術方案的影響,會演化出不同的架構設計方法和架構風格, 如前面所說我們采用的是RIA的技術Silverlight來進行技術構建,那么在進行系統架構設計中定會受到Silverlight技術自身的一些限制,以至于我們的設計不能按照常規的方法,方式去實現。

  Silverlight能夠為用戶提供高用戶體驗的軟件界面,以及傳統的Web應用實現不了的很多功能,且也有很多的局限性,系統功能模塊過多導致發布出來的應用程序包(.xap)過大,導致系統運行中初始化緩慢等諸多問題。我們需要一種全新的、開放性的、高擴展性的架構體系,來緩解這種因為技術自身的缺陷造成的諸多問題,可以實現快速的啟動應用程序初始化界面,根據配置動態組裝系統功能模塊,以及靈活的擴展新的系統功能模塊等功能,我將這種架構體系命名為插件式架構體系(或許與別人口中的插件式架構有所區別)。        

  如上圖所示,描述了插件框架的框架結構,框架由插件容器、插件契約和插件組件(業務功能插件)三大部分組成,擴展開發新的插件組件需要實現插件契約接口,以便插件容器可以靈活的控制插件組件。關于這三大組成部分的作用請查看《插件式架構設計簡介》,本篇對基于Silverlight插件式架構設計方法進行了介紹,下一篇將詳細介紹插件式架構設計的解決方案。

  推薦資料:

  《MEF程序設計指南》:http://www.cnblogs.com/beniao/archive/2010/08/11/1797537.html

  《Silverlight動畫開發教程》:http://www.cnblogs.com/beniao/archive/2010/04/04/1703992.html

  《一步一步學Silverlight教程》:http://www.cnblogs.com/Terrylee/archive/2008/03/09/Silverlight2-step-by-step-Tutorials.html

  《Silverlight MSDN Webcast》:http://www.msdnwebcast.net/webcast/2098.aspx

0
0
 
 
 

文章列表

arrow
arrow
    全站熱搜

    大師兄 發表在 痞客邦 留言(0) 人氣()