国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

基于Struts和EJB的Web Service框架研究

2019-11-18 15:36:58
字體:
來源:轉載
供稿:網友

前言

Struts與EJB結合進行B/S模式的開發,解決了“表示”與“業務邏輯”的分離,“業務邏輯”與“數據”的分離問題以及頁面的多變性問題,發揮EJB基于組件分布式計算結構的優勢,從而大大提高了Web應用的開發效率,數據安全性和可維護性。

EJB組件作為一種成熟的組件技術已經被廣泛應用于各個領域,然而隨著企業的發展,企業不斷實施應用新的系統。如何確保新應用程序與舊應用程序之間的交互,如何將現有的系統集成到新系統?傳統的RMI-IIOP和CORBA技術由于自身的局限性,限制了EJB組件與其他類型組件之間的協同工作與信息交互,而Web服務及其相關技術的出現為解決軟件開發環境中組件間的互操作問題提供了一種有效手段,它是在Internet上進行分布式計算的基本構造塊。為快速高效的開發集成早期應用程序的新系統,我們需要為Web服務構建Struts應用系統。

1、Struts與EJB結合B/S的開發模式

1.1、MVC模式

MVC(Model/View/Controller)模式最早是在Smaltalk中出現的。MVC包括三類對象,簡單地說,Model是應用對象,View是它在屏幕上的表示,Controller定義用戶界面對用戶輸入的響應方式。

MVC設計模式中的“模型”指的是真正執行任務的代碼。在模型同界面分離的情況下,代碼即可實現可治理性和可重用性。模型通常被稱為“業務邏輯”。所謂“視圖”就是使用界面,界面的每一部分都只能包含采集數據的足夠邏輯,并把它傳遞給設計模式中的其他組成部分以進行處理。“控制器”控制著模型和視圖之間的交互過程。它決定著向用戶返回怎樣的視圖、檢查通過界面輸入的信息以及選擇處理輸入信息的模型。

jsp開發中,最長使用Model2。Model2實際上就符合MVC模式,其中各組件的關系如圖1所示。

基于Struts和EJB的Web Service框架研究(圖一)圖1:Model2中各組件的關系

1.2、Struts+EJB開發模式

Struts是一種符合MVC模式的框架。Struts采用JSP作為MVC的視圖,java Servlet作為控制器,JavaBean作為模型。Struts的處理過程如圖2所示。

基于Struts和EJB的Web Service框架研究(圖二)圖2:Struts+EJB的MVC

首先,控制器(Action Servlet)進行初始化工作,讀取配置文件(struts-config.xml),為不同的Struts模塊初始化相應的ModuleConfig對象。控制器接收Http請求,并從ActionConfig中找出對應于該請求的Action子類,假如沒有對應的Action,控制器直接將請求轉發給JSP或者靜態頁面,否則控制器將請求分發至具體Action類進行處理。在控制器調用具體Action的Execute方法之前,ActionForm對象將利用Http請求中的參數來填充自己。Action要處理的業務邏輯封裝在JavaBean中,通過JavaBean調用EJB以完成業務處理。Action執行完后返回一個ActionFroward對象。

2、簡單的Web服務體系結構

當您要將企業應用程序轉變成與 Web 服務一起使用時,最簡單的途徑就是將單個操作與單個的企業服務結合在一塊,如圖3所示。

基于Struts和EJB的Web Service框架研究(圖三)圖3:簡單Web服務體系結構

在這種設計方法中,實現業務邏輯的服務與實現數據檢索的服務是混合在一起的。這樣的一種 Web 服務可以很輕易從已有的業務組件中開發出來。然而,它有很多的缺點:對用戶沒有提供統一認證,提供者與訂閱者耦合不緊,業務邏輯沒有重用。簡而言之,對于一個連貫的解決方案來說這并不是一個非常好的體系結構。

3、采用 Struts的 Web 服務

前面講過,Struts 架構清楚地區分開了視圖、控制器以及模型。模型包含所有必須的業務邏輯,從存儲數據倉庫中檢索數據。您可以構建一個簡單的 Web 服務層——稱為 WSManager 層——這樣的模型可以提供 Web 服務也可以訂購 Web 服務。使用這種體系結構的應用程序將基于組件開發的最佳點與Internet結合在了一起,如圖4所示。



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 晋州市| 临泉县| 威海市| 大港区| 南京市| 长治县| 南陵县| 通山县| 荔波县| 陆丰市| 涿鹿县| 茂名市| 远安县| 临泉县| 驻马店市| 大理市| 阿拉善左旗| 贵港市| 梨树县| 陵水| 元阳县| 泌阳县| 灵川县| 门源| 安庆市| 莱芜市| 云梦县| 叙永县| 英超| 呼图壁县| 郸城县| 吴堡县| 永福县| 三明市| 庆安县| 刚察县| 永新县| 岳普湖县| 海阳市| 昭通市| 汾西县|