專利名稱:一種基于J2EE的Web應用請求處理方法及系統的制作方法
技術領域:
本發(fā)明涉及軟件技術領域,特別是涉及一種基于J2EE的Web應用請求處理方法及 系統。
背景技術:
隨著企業(yè)業(yè)務系統應用的深入,企業(yè)系統規(guī)模不斷擴大,軟件復雜度不斷提升。這 給應用系統的開發(fā)、集成、部署、升級等提出了新的課題,對系統架構的高效性和擴展性提 出了新的要求。目前,企業(yè)采用的應用系統主要是Web應用。Web應用的開發(fā)主要采用J2EE技術 體系和標準框架。在程序開發(fā)時,Web應用中的文件是按照文件的類型進行存放和管理的。 相同類型的文件放置在相同的目錄下。但是相同類型的文件各自對應的業(yè)務功能卻不一定 相同。放置在相同的目錄下的相同類型的文件,在業(yè)務功能上可能分別屬于不同的功能模 塊。具體的,參照圖1,現有技術中Web應用結構如下一個應用項目中的不同業(yè)務功能的代碼文件都在源文件夾中放置,比如圖1中的 src文件夾。由于各功能模塊的文件都是交叉存放,不同模塊的文件按照文件類型一起管理, 模塊之間的依賴和調用關系復雜。在處理某個Web應用請求時,可能只需要一個與該請求 對應的功能模塊的業(yè)務功能,就可以處理該Web應用請求。但是,現有技術中,在處理任意 一個Web應用請求時,都需將該應用項目下的所有文件(即所有的功能模塊)加載到系統 中。這導致程序開發(fā)時,對任意一個功能模塊進行調試時,都需要整個應用系統重新啟動來 完成,進而導致程序開發(fā)效率低下。
發(fā)明內容
本發(fā)明的目的是提供一種基于J2EE的Web應用請求處理方法及系統,能夠對系統 中各個功能不同的模塊實現物理上的隔離,可以單獨對每個模塊進行調試,無需將整個應 用系統重新啟動,從而提高程序開發(fā)的效率。為實現上述目的,本發(fā)明提供了如下方案一種基于J2EE的Web應用請求處理方法,包括預先將具有相同業(yè)務功能的Web應用文件統一存放,作為業(yè)務模塊; 將各個所述業(yè)務模塊整合到OSGi框架中,加載所述OSGi框架到Web容器中,以便 處理Web應用請求;接收到Web應用請求后,加載與所述Web應用請求對應的所述業(yè)務模塊;處理所述Web應用請求。優(yōu)選的,所述統一存放具有相同業(yè)務功能的Web應用文件,包括按照業(yè)務功能標識,將標識相同的Web應用文件存儲在同一位置。
優(yōu)選的,所述按照業(yè)務功能標識,將標識相同的Web應用文件存儲在同一位置包 括按照所述Web應用文件的文件名稱,將業(yè)務功能相同的Web應用文件存儲在同一 位置;和/或,在所述Web應用文件的內容中,添加用于表示該Web應用文件對應的業(yè)務 功能的功能標識字段,將功能標識字段相同的Web應用文件存儲在同一位置。優(yōu)選的,所述統一存放具有相同業(yè)務功能的Web應用文件,作為業(yè)務模塊,還包 括規(guī)定統一存放的所述Web應用文件之間的依賴關系。優(yōu)選的,所述統一存放具有相同業(yè)務功能的Web應用文件,作為業(yè)務模塊,還包 括規(guī)定各個所述業(yè)務模塊之間的依賴關系。一種基于J2EE的Web應用請求處理系統,包括應用文件存放模塊,用于統一存放具有相同業(yè)務功能的Web應用文件統一存放, 作為業(yè)務模塊;框架整合模塊,用于將各個所述業(yè)務模塊整合到OSGi框架中,加載所述OSGi框架 到Web容器中,以便處理Web應用請求;業(yè)務加載模塊,用于接收到Web應用請求后,加載與所述Web應用請求對應的所述 業(yè)務模塊;請求處理模塊,用于處理所述Web應用請求。優(yōu)選的,所述應用文件存放模塊包括業(yè)務功能標識分類單元,用于按照業(yè)務功能標識,將標識相同的Web應用文件存
儲在同一位置。優(yōu)選的,所述業(yè)務功能標識分類單元包括文件名稱區(qū)分子單元,用于按照所述Web應用文件的文件名稱,將業(yè)務功能相同 的Web應用文件存儲在同一位置;和/或,功能標識字段區(qū)分子單元,用于按照表示該Web應用文件對應的業(yè)務功能 的功能標識字段,將功能標識字段相同的Web應用文件存儲在同一位置。優(yōu)選的,所述應用文件存放模塊還包括Web應用文件配置單元,用于規(guī)定統一存放的所述Web應用文件之間的依賴關系。優(yōu)選的,所述應用文件存放模塊還包括業(yè)務模塊配置單元,用于規(guī)定各個所述業(yè)務模塊之間的依賴關系。本發(fā)明通過預先將具有相同業(yè)務功能的Web應用文件統一存放,作為業(yè)務模塊; 將各個所述業(yè)務模塊整合到耦合度極低的OSGi框架中,加載所述OSGi框架到Web容器中, 以便處理Web應用請求;接收到Web應用請求后,加載與所述Web應用請求對應的所述業(yè)務 模塊;處理所述Web應用請求,能夠將系統中各個功能不同的模塊實現物理上的隔離,可以 單獨對每個模塊進行調試,無需將整個應用系統重新啟動,從而提高了程序開發(fā)的效率。
為了更清楚地說明本發(fā)明實施例或現有技術中的技術方案,下面將對實施例中所 需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施 例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據這些附圖 獲得其他的附圖。圖1為現有技術中Web應用文件存放結構示意圖;圖2為本發(fā)明實施例所述Web應用請求處理方法流程圖;圖3為本發(fā)明實施例所述Web應用請求處理系統結構圖。
具體實施例方式下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完 整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;?本發(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他 實施例,都屬于本發(fā)明保護的范圍。參見圖2,為本發(fā)明實施例所述Web應用請求處理方法流程圖。如圖2所示,該方 法包括步驟S201 預先將具有相同業(yè)務功能的Web應用文件統一存放,作為業(yè)務模塊;預先,是指在接收到Web應用請求之前。將具有相同業(yè)務功能的Web應用文件統一存放,可以是程序開發(fā)人員在開發(fā)程序 時將Web應用文件按照功能分別存儲于不同的位置(例如不同的文件夾),也可以為功能相 同的Web應用文件生成相同的標識,功能不同的Web應用文件具有的不同標識,由系統根據 Web應用文件具有的標識,自動將具有相同業(yè)務功能的Web應用文件統一存放。具體的,具有相同業(yè)務功能的Web應用文件統一存放,作為業(yè)務模塊。業(yè)務模塊可 以有多個。每個業(yè)務模塊對應一定的業(yè)務功能。每個業(yè)務模塊中,包括執(zhí)行該業(yè)務功能所 需要的所有Web應用文件。每個業(yè)務模塊中都可以包括圖1中出現的代碼文件、腳本文件、 配置文件、頁面文件、界面文件和java包。步驟S201中還可以包括規(guī)定業(yè)務模塊中各個文件之間的依賴關系。是否執(zhí)行規(guī) 定業(yè)務模塊中各個文件之間的依賴關系的步驟,取決于該業(yè)務模塊是新開發(fā)的還是從以前的 系統中移植的。對于新開發(fā)的業(yè)務模塊,則需要規(guī)定業(yè)務模塊中各個文件之間的依賴關系。S202 將各個所述業(yè)務模塊整合到OSGi框架中,加載所述OSGi框架到Web容器 中,以便處理Web應用請求;OSGi框架提供在多種網絡設備上無需重啟的動態(tài)改變構造的功能。為了最小化耦 合度和促使這些耦合度可管理,OSGi技術提供一種面向服務的架構,它能使這些組件動態(tài) 地發(fā)現對方。換句話說,OSGi是一種技術規(guī)范,可以降低系統中模塊組件之間的耦合度。將各個所述業(yè)務模塊整合到OSGi框架中,具體可以是使各個業(yè)務模塊與OSGi框 架之間的接口符合OSGi的技術標準。將各個所述業(yè)務模塊整合到OSGi框架中以后,在程 序運行時,就可以通過OSGi框架單獨調用具有對應功能的模塊。加載所述OSGi框架到Web容器中。Web容器,是基于J2EE的Web應用系統中,為 模塊文件提供運行環(huán)境的系統組件。基于J2EE的Web應用系統中,執(zhí)行業(yè)務功能的Web應用文件,最終都需要加載到Web容器中運行。由于OSGi框架具有動態(tài)調用業(yè)務模塊的功能, 加載所述OSGi框架到Web容器中以后,就可以通過OSGi框架單獨調用具有對應功能的模 塊。換句話說,現有技術中,所有的web應用文件都需要加載至web容器中,采用本發(fā)明所 述的方法,可以只在web容器中加載具有對應功能的業(yè)務模塊中的web應用文件。S203 接收到Web應用請求后,加載與所述Web應用請求對應的所述業(yè)務模塊;具體的,所述Web應用請求可以對應一個所述業(yè)務模塊,也可以對應多個業(yè)務模 塊。這取決于該Web應用請求實際需要用到哪些業(yè)務模塊的功能。當Web應用請求對應一個所述業(yè)務模塊時,只需加載與所述Web應用請求對應的 所述業(yè)務模塊即可。當Web應用請求對應多個所述業(yè)務模塊時,則需要知道該Web應用請求對應的多 個所述業(yè)務模塊之間,在邏輯上的依賴關系。這種邏輯關系的確定,具體可以是在步驟 SlOl中,增加一個對各個所述業(yè)務模塊之間的依賴關系的規(guī)定。S204 處理所述Web應用請求。所述Web應用請求的處理,是在加載了相應業(yè)務模塊的web容器中進行的。所述Web應用請求處理完畢以后,還可以包括步驟釋放web容器中加載的業(yè)務模 塊。本發(fā)明所述基于J2EE的Web應用請求處理方法,通過預先將具有相同業(yè)務功能的 Web應用文件統一存放,作為業(yè)務模塊;將各個所述業(yè)務模塊整合到耦合度極低的OSGi框 架中,加載所述OSGi框架到Web容器中,以便處理Web應用請求;接收到Web應用請求后, 加載與所述Web應用請求對應的所述業(yè)務模塊;處理所述Web應用請求,能夠將系統中各個 功能不同的模塊實現物理上的隔離,可以單獨對每個模塊進行調試,無需將整個應用系統 重新啟動,從而提高了程序開發(fā)的效率。實際應用中,所述統一存放具有相同業(yè)務功能的Web應用文件,可以是按照業(yè)務 功能標識,將標識相同的Web應用文件存儲在同一位置。業(yè)務功能標識,可以是Web應用文件的文件名稱。在程序開發(fā)時,相同業(yè)務功能的 Web應用文件,在文件名稱的命名上通常具有相同的字段。因此,可以按照所述Web應用 文件的文件名稱,將業(yè)務功能相同的Web應用文件存儲在同一位置。業(yè)務功能標識,也可以是在所述Web應用文件的內容中添加的,專門用于表示該 Web應用文件對應的業(yè)務功能的功能標識字段。因此,也可以在所述Web應用文件的內容 中,添加用于表示該Web應用文件對應的業(yè)務功能的功能標識字段,將功能標識字段相同 的Web應用文件存儲在同一位置。與本發(fā)明公開的方法相對應,本發(fā)明還公開了一種基于J2EE的Web應用請求處理 系統。參見圖3,為本發(fā)明實施例所述Web應用請求處理系統結構圖。如圖3所示,該系 統包括應用文件存放模塊301,用于統一存放具有相同業(yè)務功能的Web應用文件統一存 放,作為業(yè)務模塊;框架整合模塊302,用于將各個所述業(yè)務模塊整合到OSGi框架中,加載所述OSGi 框架到Web容器中,以便處理Web應用請求;
業(yè)務加載模塊303,用于接收到Web應用請求后,加載與所述Web應用請求對應的 所述業(yè)務模塊;請求處理模塊304,用于處理所述Web應用請求。優(yōu)選的,所述應用文件存放模塊301可以包括業(yè)務功能標識分類單元,用于按照業(yè)務功能標識,將標識相同的Web應用文件存
儲在同一位置。優(yōu)選的,所述業(yè)務功能標識分類單元可以包括文件名稱區(qū)分子單元,用于按照所述Web應用文件的文件名稱,將業(yè)務功能相同 的Web應用文件存儲在同一位置;和/或,功能標識字段區(qū)分子單元,用于按照表示該Web應用文件對應的業(yè)務功能 的功能標識字段,將功能標識字段相同的Web應用文件存儲在同一位置。優(yōu)選的,所述應用文件存放模塊301還可以包括Web應用文件配置單元,用于規(guī)定統一存放的所述Web應用文件之間的依賴關系。優(yōu)選的,所述應用文件存放模塊301還可以包括業(yè)務模塊配置單元,用于規(guī)定各個所述業(yè)務模塊之間的依賴關系。本說明書中各個實施例采用遞進的方式描述,每個實施例重點說明的都是與其他 實施例的不同之處,各個實施例之間相同相似部分互相參見即可。對于實施例公開的系統 而言,由于其與實施例公開的方法相對應,所以描述的比較簡單,相關之處參見方法部分說 明即可。本文中應用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說 明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領域的一般技術人員,依據 本發(fā)明的思想,在具體實施方式
及應用范圍上均會有改變之處。綜上所述,本說明書內容不 應理解為對本發(fā)明的限制。
權利要求
1.一種基于J2EE的Web應用請求處理方法,其特征在于,包括 預先將具有相同業(yè)務功能的Web應用文件統一存放,作為業(yè)務模塊;將各個所述業(yè)務模塊整合到OSGi框架中,加載所述OSGi框架到Web容器中,以便處理 Web應用請求;接收到Web應用請求后,加載與所述Web應用請求對應的所述業(yè)務模塊; 處理所述Web應用請求。
2.根據權利要求1所述的方法,其特征在于,所述統一存放具有相同業(yè)務功能的Web應 用文件,包括按照業(yè)務功能標識,將標識相同的Web應用文件存儲在同一位置。
3.根據權利要求2所述的方法,其特征在于,所述按照業(yè)務功能標識,將標識相同的 Web應用文件存儲在同一位置包括按照所述Web應用文件的文件名稱,將業(yè)務功能相同的Web應用文件存儲在同一位置;和/或,在所述Web應用文件的內容中,添加用于表示該Web應用文件對應的業(yè)務功能 的功能標識字段,將功能標識字段相同的Web應用文件存儲在同一位置。
4.根據權利要求1-3任一項所述的方法,其特征在于,所述統一存放具有相同業(yè)務功 能的Web應用文件,作為業(yè)務模塊,還包括規(guī)定統一存放的所述Web應用文件之間的依賴關系。
5.根據權利要求1-3任一項所述的方法,其特征在于,所述統一存放具有相同業(yè)務功 能的Web應用文件,作為業(yè)務模塊,還包括規(guī)定各個所述業(yè)務模塊之間的依賴關系。
6.一種基于J2EE的Web應用請求處理系統,其特征在于,包括應用文件存放模塊,用于統一存放具有相同業(yè)務功能的Web應用文件統一存放,作為 業(yè)務模塊;框架整合模塊,用于將各個所述業(yè)務模塊整合到OSGi框架中,加載所述OSGi框架到 Web容器中,以便處理Web應用請求;業(yè)務加載模塊,用于接收到Web應用請求后,加載與所述Web應用請求對應的所述業(yè)務 模塊;請求處理模塊,用于處理所述Web應用請求。
7.根據權利要求6所述的系統,其特征在于,所述應用文件存放模塊包括業(yè)務功能標識分類單元,用于按照業(yè)務功能標識,將標識相同的Web應用文件存儲在同一位置。
8.根據權利要求6所述的系統,其特征在于,所述業(yè)務功能標識分類單元包括文件名稱區(qū)分子單元,用于按照所述Web應用文件的文件名稱,將業(yè)務功能相同的Web 應用文件存儲在同一位置;和/或,功能標識字段區(qū)分子單元,用于按照表示該Web應用文件對應的業(yè)務功能的功 能標識字段,將功能標識字段相同的Web應用文件存儲在同一位置。
9.根據權利要求6-8任一項所述的系統,其特征在于,所述應用文件存放模塊還包括 Web應用文件配置單元,用于規(guī)定統一存放的所述Web應用文件之間的依賴關系。
10.根據權利要求6-8任一項所述的系統,其特征在于,所述應用文件存放模塊還包括業(yè)務模塊配置單元,用于規(guī)定各個所述業(yè)務模塊之間的依賴關系。
全文摘要
本發(fā)明公開了一種基于J2EE的Web應用請求處理方法及系統,其中,所述方法包括預先將具有相同業(yè)務功能的Web應用文件統一存放,作為業(yè)務模塊;將各個所述業(yè)務模塊整合到OSGi框架中,加載所述OSGi框架到Web容器中,以便處理Web應用請求;接收到Web應用請求后,加載與所述Web應用請求對應的所述業(yè)務模塊;處理所述Web應用請求。本發(fā)明還公開了一種基于J2EE的Web應用請求處理系統。采用本發(fā)明公開的方法或系統,能夠對系統中各個功能不同的模塊實現物理上的隔離,可以單獨對每個模塊進行調試,無需將整個應用系統重新啟動,從而提高程序開發(fā)的效率。
文檔編號G06F9/44GK102073506SQ201110045289
公開日2011年5月25日 申請日期2011年2月24日 優(yōu)先權日2011年2月24日
發(fā)明者黨琦, 劉丹, 楊永艷, 王宇飛, 羅華永 申請人:北京中電普華信息技術有限公司