RichRest - 適用于RCP/RIA應用的REST(ful)框架
1. 簡介
RichRest是一個適用于 RCP/RIA應用的REST(ful)框架,提供遠程資源管理接口,以及遠程MVC控制器支持,簡化模型與視圖的交互過程。
- REST: Representational State Transfer (http://zh.wikipedia.org/wiki/REST)
- MVC: Model View Controller (http://zh.wikipedia.org/wiki/MVC)
- RCP: Rich Client Platform (http://zh.wikipedia.org/wiki/RCP)
- RIA: Rich Internet Application (http://zh.wikipedia.org/wiki/RIA)
2. 背景
REST本身就是 為Rich客戶端設計的,在它的要求中也有相關說明,但由于B/S應用的盛行,現有的REST框架大多以Thin客戶端為中心,雖然有部分也能適用C/S 應用,但都沒有將其放在重要位置,這有點違背REST的初衷,而且基于RCP的應用也越來越多,需要一套為它們量身定做的REST框架相適 應,RichRest為此而創建。
- B/S: Browser/Server
- C/S: Client/Server
3. 對比
常規C/S應用中,通常都采用透明化的遠程方法調用(RPC)方式與服務器端通訊,即:將Service接口同時部署于客戶 端,并在客戶端生成Service接口的Stub實現,通過各種協議代理訪問服務器端的Service實現,此類工具如:RMI, WebService, XML-RPC/JSON-RPC, HttpInvoker等。為什么還要加一層RESTful控制器?
- 面向資源的設計風格,標準的交互方式。
- 遠程調用 Service接口,相當于MVC中的視圖直接調用了模型,增加控制器,使職責更清晰。
- Serivce 域模型通常是無狀態的,增加遠程控制器,管理服務器端狀態。
- Service接口粒度過細, 使得業務邏輯向客戶端傾斜,產生過多的請求次數,增加控制器,確保大粒度請求。
- 客戶端部署 Service接口比較繁瑣,增加控制器作為中介者,簡化耦合。
- 在控制器中更易于處理天然 的(不需要反射或字節碼增強的)AOP截面和事件模型,方便攔截器,轉換器,校驗器,安全控制等的擴展。
- 對于大量長期使用Struts的開發人員,轉入RCP開發時,更易于理解和使用,降低學習成本。
4. 特性
- 完整的RESTful支持
- 以數據為中心的控制器
- 友好的執行過程攔截器
- 完善的集成擴展點
- 可管理的傳輸隊列
- 全面的事件通知
- 多服務器傳輸支持
本文由用戶 openkk 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!