一種基于jsp模板的動(dòng)態(tài)服務(wù)實(shí)現(xiàn)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)服務(wù)器應(yīng)用程序領(lǐng)域,尤其是一種管理信息系統(tǒng)的動(dòng)態(tài)服務(wù)實(shí)現(xiàn)方法。
【背景技術(shù)】
[0002]當(dāng)前基于J2EE架構(gòu)的管理信息系統(tǒng)軟件開發(fā)越來越多,也就是常說的B/S結(jié)構(gòu)的三層應(yīng)用系統(tǒng),這種結(jié)構(gòu)在客戶端是維護(hù)和升級(jí)方式簡單,客戶端只需要裝一個(gè)瀏覽器就可以與服務(wù)端交互,應(yīng)用服務(wù)端運(yùn)行數(shù)據(jù)負(fù)荷較重,主要業(yè)務(wù)事務(wù)邏輯都部署在服務(wù)器。
[0003]管理信息系統(tǒng)都是需要不斷維護(hù)和升級(jí),對(duì)一個(gè)稍微大一點(diǎn)的系統(tǒng)來說,后臺(tái)的服務(wù)組件有上百個(gè),服務(wù)組件之間還有很多的依賴關(guān)系,部署java的服務(wù)需要重啟WEB服務(wù)器,對(duì)在線的應(yīng)用會(huì)造成很大的影響。
[0004]目前有一些WEB服務(wù)器,如WEBL0GIC可以實(shí)現(xiàn)子系統(tǒng)WAR的版本動(dòng)態(tài)部署,在不停機(jī)的情況下,部署新的子系統(tǒng)WAR,新的業(yè)務(wù)請(qǐng)求由新部署的子系統(tǒng)WAR處理,舊版本的子系統(tǒng)WAR響應(yīng)完原來的請(qǐng)求后由WEB服務(wù)器停止,這種方式是由WEB服務(wù)器產(chǎn)品實(shí)現(xiàn)的,成本比較高,而且可動(dòng)態(tài)部署的粒度較大,是一個(gè)WAR子系統(tǒng),無法對(duì)某一個(gè)應(yīng)用模塊進(jìn)行部署。
[0005]另外,目前的服務(wù)器動(dòng)態(tài)部署方式粒度較大,每次軟件的更新維護(hù)都需要打包整合WAR子系統(tǒng),工作量非常大,0SGI服務(wù)平臺(tái)目前與主流的JAVA開發(fā)技術(shù)不是很兼容,對(duì)已經(jīng)大量用JAVA開發(fā)的應(yīng)用系統(tǒng)不容易轉(zhuǎn)為使用0SGI技術(shù)。
[0006]故,需要一種新的技術(shù)方案以解決上述技術(shù)問題。
【發(fā)明內(nèi)容】
[0007]本發(fā)明的目的在于提出一種基于傳統(tǒng)JSP成熟技術(shù)的動(dòng)態(tài)服務(wù)實(shí)現(xiàn)方法,可以使用本發(fā)明提供的JSP模板發(fā)布業(yè)務(wù)服務(wù),利用JSP在WEB容器中的動(dòng)態(tài)部署特性,低成本地實(shí)現(xiàn)服務(wù)模塊的動(dòng)態(tài)部署。
[0008]為達(dá)到上述目的,本發(fā)明可采用如下技術(shù)方案:
[0009]—種基于JSP模板的動(dòng)態(tài)服務(wù)實(shí)現(xiàn)方法,包括以下步驟:
[0010](1)、使用JSP模板的應(yīng)用框架提供JspAct1nUtil工具類;
[0011](2)、使用應(yīng)用框架提供的JspAct1nTemplate類來實(shí)現(xiàn)業(yè)務(wù)服務(wù)子類;
[0012](3)、在業(yè)務(wù)服務(wù)子類中,每一個(gè)方法都實(shí)現(xiàn)一個(gè)具體的業(yè)務(wù)服務(wù),業(yè)務(wù)服務(wù)的方法是一個(gè)標(biāo)準(zhǔn)的公共方法,可以接收一個(gè)Map〈String, Object〉類型的HTTP服務(wù)的客戶端參數(shù)對(duì)象,業(yè)務(wù)服務(wù)方法的返回是一個(gè)通用的JAVA基礎(chǔ)Object對(duì)象;
[0013](4)、將業(yè)務(wù)服務(wù)的內(nèi)部類注冊(cè)到a步驟的服務(wù)上下文環(huán)境中,用以實(shí)現(xiàn)服務(wù)類的注冊(cè)與發(fā)布;
[0014](5)、當(dāng)業(yè)務(wù)服務(wù)中的業(yè)務(wù)邏輯需要調(diào)整時(shí),修改相應(yīng)的代碼,并直接將文件更新。
[0015]與現(xiàn)有技術(shù)相比,本發(fā)明公開一種基于JSP模板的動(dòng)態(tài)服務(wù)實(shí)現(xiàn)方法,在不需要重新啟動(dòng)服務(wù)器的情況下,可以完成業(yè)務(wù)服務(wù)的修改維護(hù)部署,有效降低項(xiàng)目本地化實(shí)施和移植的成本,提尚開發(fā)效率。
【具體實(shí)施方式】
[0016]下面本發(fā)明的實(shí)施方式進(jìn)行全面詳細(xì)闡述。
[0017]本發(fā)明主要基于JSP模板技術(shù),將業(yè)務(wù)服務(wù)采用JSP文件方式發(fā)布,同時(shí)應(yīng)用系統(tǒng)基于本發(fā)明提供的服務(wù)框架將JSP服務(wù)文件發(fā)布為可提供服務(wù)的模塊。
[0018]本發(fā)明主要包括以下步驟:
[0019](1)、首先在JSP模板的應(yīng)用框架提供JspAct1nUtil工具類,使用此類的靜態(tài)方法可以獲得JSP服務(wù)的上下文環(huán)境。
[0020](2、使用應(yīng)用框架提供的JspAct1nTemplate類來實(shí)現(xiàn)業(yè)務(wù)服務(wù)子類,本發(fā)明巧妙地利用JAVA內(nèi)部類的方式,將業(yè)務(wù)服務(wù)子類有機(jī)地結(jié)合在JSP文件中。
[0021](3)、在業(yè)務(wù)服務(wù)子類中,每一個(gè)方法都可以實(shí)現(xiàn)一個(gè)具體的業(yè)務(wù)服務(wù),業(yè)務(wù)服務(wù)的方法是一個(gè)標(biāo)準(zhǔn)的公共方法,可以接收一個(gè)Map〈String, Object〉類型的HTTP服務(wù)的客戶端參數(shù)對(duì)象,業(yè)務(wù)服務(wù)方法的返回是一個(gè)通用的JAVA基礎(chǔ)Object對(duì)象。
[0022](4)、將業(yè)務(wù)服務(wù)的內(nèi)部類注冊(cè)到a步驟的服務(wù)上下文環(huán)境中,實(shí)現(xiàn)了服務(wù)類的注冊(cè)與發(fā)布。
[0023](5)、當(dāng)業(yè)務(wù)服務(wù)中的業(yè)務(wù)邏輯需要調(diào)整時(shí),只需要修改相應(yīng)的代碼,無需編譯,直接將文件更新后,服務(wù)將立即生效,基于JSP的動(dòng)態(tài)性
[0024]本發(fā)明將公開一種基于JSP模板的動(dòng)態(tài)服務(wù)實(shí)現(xiàn)方法,在不需要重新啟動(dòng)服務(wù)器的情況下,可以完成業(yè)務(wù)服務(wù)的修改維護(hù)部署,有效降低項(xiàng)目本地化實(shí)施和移植的成本,提高開發(fā)效率。
[0025]本發(fā)明所公開的方法,基于特定的JSP模板結(jié)構(gòu),巧妙地實(shí)現(xiàn)業(yè)務(wù)服務(wù)在JSP格式的文件中實(shí)現(xiàn),并免去開發(fā)階段的編譯,可直接部署。
[0026]本發(fā)明還提供的服務(wù)應(yīng)用框架和服務(wù)基礎(chǔ)類庫。
[0027]另外,本發(fā)明的具體實(shí)現(xiàn)方法和途徑很多,以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式。應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視為本發(fā)明的保護(hù)范圍。本實(shí)施例中未明確的各組成部分均可用現(xiàn)有技術(shù)加以實(shí)現(xiàn)。
【主權(quán)項(xiàng)】
1.一種基于JSP模板的動(dòng)態(tài)服務(wù)實(shí)現(xiàn)方法,其特征在于,包括以下步驟: (1)、使用JSP模板的應(yīng)用框架提供JspAct1nUtil工具類; (2)、使用應(yīng)用框架提供的JspAct1nTemplate類來實(shí)現(xiàn)業(yè)務(wù)服務(wù)子類; (3)、在業(yè)務(wù)服務(wù)子類中,每一個(gè)方法都實(shí)現(xiàn)一個(gè)具體的業(yè)務(wù)服務(wù),業(yè)務(wù)服務(wù)的方法是一個(gè)標(biāo)準(zhǔn)的公共方法,可以接收一個(gè)Map〈String,Object〉類型的HTTP服務(wù)的客戶端參數(shù)對(duì)象,業(yè)務(wù)服務(wù)方法的返回是一個(gè)通用的JAVA基礎(chǔ)Object對(duì)象; (4)、將業(yè)務(wù)服務(wù)的內(nèi)部類注冊(cè)到a步驟的服務(wù)上下文環(huán)境中,用以實(shí)現(xiàn)服務(wù)類的注冊(cè)與發(fā)布; (5)、當(dāng)業(yè)務(wù)服務(wù)中的業(yè)務(wù)邏輯需要調(diào)整時(shí),修改相應(yīng)的代碼,并直接將文件更新。
【專利摘要】本發(fā)明公開了一種基于傳統(tǒng)JSP成熟技術(shù)的動(dòng)態(tài)服務(wù)實(shí)現(xiàn)方法,可以使用本發(fā)明提供的JSP模板發(fā)布業(yè)務(wù)服務(wù),利用JSP在WEB容器中的動(dòng)態(tài)部署特性,在不需要重新啟動(dòng)服務(wù)器的情況下,可以完成業(yè)務(wù)服務(wù)的修改維護(hù)部署,有效降低項(xiàng)目本地化實(shí)施和移植的成本,提高開發(fā)效率。
【IPC分類】H04L29/08
【公開號(hào)】CN105391789
【申請(qǐng)?zhí)枴緾N201510836852
【發(fā)明人】蘇祖輝, 支兵
【申請(qǐng)人】南京萊斯信息技術(shù)股份有限公司
【公開日】2016年3月9日
【申請(qǐng)日】2015年11月26日