本發(fā)明涉及企業(yè)門戶、企業(yè)應(yīng)用集成領(lǐng)域,尤其涉及一種輕量級(jí)的企業(yè)門戶與應(yīng)用集成方法。
背景技術(shù):
企業(yè)信息門戶(Enterprise Information portal,簡稱EIP)可以實(shí)現(xiàn)信息資源的發(fā)布和共享,可以實(shí)現(xiàn)訪問企業(yè)各種信息資源的單一的入口,企業(yè)的員工、客戶、合作伙伴和供應(yīng)商等都可以通過這個(gè)門戶獲得個(gè)性化的信息和服務(wù);同時(shí)通過它實(shí)現(xiàn)企業(yè)內(nèi)部、企業(yè)與企業(yè)之間,以及企業(yè)與客戶之間端到端的業(yè)務(wù)集成,從而優(yōu)化企業(yè)內(nèi)部的工作流程,合理調(diào)配企業(yè)與供應(yīng)鏈上的資源,更好地實(shí)現(xiàn)企業(yè)的并行運(yùn)作,提高企業(yè)和供應(yīng)鏈整體的快速響應(yīng)能力。
技術(shù)層面上,Portal(門戶)是一個(gè)基于web的提供個(gè)性化、登錄授權(quán)、從不同的數(shù)據(jù)源聚集內(nèi)容基于展現(xiàn)層的信息系統(tǒng)。具體到J2EE領(lǐng)域,Portal大多數(shù)情況是一個(gè)符合J2EE標(biāo)準(zhǔn)的ear包。涉及Portal的幾個(gè)技術(shù)規(guī)范包括:JSR168、JSR286、WSRP1.0、WSRP2.0。
企業(yè)應(yīng)用集成從深度上可以分為數(shù)據(jù)的集成、應(yīng)用系統(tǒng)的集成(可以看成邏輯操作層)、業(yè)務(wù)流程的集成,而企業(yè)門戶在此之上解決界面的集成,是企業(yè)應(yīng)用集成技術(shù)發(fā)展的自然延伸。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的還在于提供一種輕量級(jí)的企業(yè)門戶與應(yīng)用集成方法,它克服了現(xiàn)有技術(shù)的不足,能夠改善當(dāng)前國內(nèi)落后的企業(yè)門戶與應(yīng)用集成方式,其目標(biāo)有:
1) 在企業(yè)門戶中建立通用Iframe Portlet,能夠?qū)RL鏈接進(jìn)行嵌入并展示內(nèi)容。
2) 建立輕量級(jí)門戶應(yīng)用服務(wù)器,通常情況下使用開源的Tomcat。在其基礎(chǔ)上開發(fā)應(yīng)用展示頁面。
本發(fā)明通過下述技術(shù)方案實(shí)現(xiàn):
一種輕量級(jí)的企業(yè)門戶與應(yīng)用集成方法,包括以下步驟:
(1)建立通用Iframe Portlet
開發(fā)通用Iframe Portlet,定義其名稱為IframePortlet,并將該應(yīng)用程序部署到門戶上,IframePortlet用于提供一個(gè)展示殼;
(2)根據(jù)應(yīng)用集成目標(biāo),在業(yè)務(wù)應(yīng)用系統(tǒng)中開發(fā)接口提供需展示的數(shù)據(jù),
接口開發(fā)采用Web服務(wù)或Restful風(fēng)格的Http調(diào)用;
(3)建立輕量級(jí)門戶應(yīng)用服務(wù)器,根據(jù)步驟(2)提供的接口約定,在此應(yīng)用服務(wù)器上開發(fā)展示頁面;
(4)在門戶中克隆若干個(gè)IframePortlet,配置步驟(3)所開發(fā)頁面的URL鏈接,定義其展示高度、寬度及是否需要滾動(dòng)條。
其中,建立門戶模板的過程包括以下步驟:
S1 建立門戶模板,所述門戶模板包括通用文件、個(gè)性化文件、模板文件和變量描述文件;
S2 建立自動(dòng)部署系統(tǒng),所述自動(dòng)部署系統(tǒng)包括數(shù)據(jù)采集模塊、模板解析模塊和自動(dòng)部署模塊;
S3 通過所述自動(dòng)部署系統(tǒng)獲取用戶輸入;然后讀入變量描述文件;最后從門戶模板中提取所需文件并部署到服務(wù)器上。
其Portlet呈現(xiàn)部分JSP代碼中使用Iframe的片斷如下:
<iframe id='<%=ifName%>' name='<%=ifName%>' style="display:none;" src="about:blank" marginwidth="0" marginheight="0" frameborder="0" scrolling="<%=scrolling %>" height="<%=iHeight%>" width="<%=iWidth%>" onload="javascript:<%=ifrOnLoadName%>();">
</iframe>。
進(jìn)一步地,所述步驟(1)中,涉及Portal的幾個(gè)技術(shù)規(guī)范包括:JSR168、JSR286、WSRP1.0、WSRP2.0,本發(fā)明按照J(rèn)SR168、JSR286規(guī)范,開發(fā)通用Iframe Portlet。
進(jìn)一步地,所述步驟(2)中,接口調(diào)用時(shí)間控制在0~3秒。
進(jìn)一步地,所述步驟(3)中,使用開源的Tomcat建立輕量級(jí)門戶應(yīng)用服務(wù)器。
進(jìn)一步地,所述步驟(3)中,對(duì)展示頁面的風(fēng)格進(jìn)行統(tǒng)一要求,所述展示頁面的風(fēng)格包括:主題、皮膚、布局方式、角色策略。
進(jìn)一步地,所述步驟(4)中,在門戶中克隆2-10個(gè)IframePortlet。
本發(fā)明與現(xiàn)有技術(shù)相比,具有以下優(yōu)點(diǎn)及有益效果:
(1)本發(fā)明使企業(yè)門戶與業(yè)務(wù)應(yīng)用集成的開發(fā)效率提升,極大地提升門戶系統(tǒng)穩(wěn)定性;
(2)本發(fā)明能夠?qū)Τ霈F(xiàn)故障的模塊進(jìn)行清楚定位。
附圖說明
圖1 為本發(fā)明的門戶容器結(jié)構(gòu)圖;
圖2 為本發(fā)明的輕量級(jí)門戶集成體系圖;
圖3 為傳統(tǒng)方式的門戶集成體系圖。
具體實(shí)施方式
下面詳細(xì)描述本發(fā)明的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號(hào)表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實(shí)施例是示例性的,僅用于解釋本發(fā)明,而不能理解為對(duì)本發(fā)明的限制。
實(shí)施例1:
如圖1、圖2、圖3所示,一種輕量級(jí)的企業(yè)門戶與應(yīng)用集成方法,包括以下步驟:
(1)建立通用Iframe Portlet
開發(fā)通用Iframe Portlet,定義其名稱為IframePortlet,并將該應(yīng)用程序部署到門戶上,IframePortlet用于提供一個(gè)展示殼;
(2)根據(jù)應(yīng)用集成目標(biāo),在業(yè)務(wù)應(yīng)用系統(tǒng)中開發(fā)接口提供需展示的數(shù)據(jù),
接口開發(fā)采用Web服務(wù)或Restful風(fēng)格的Http調(diào)用;
(3)建立輕量級(jí)門戶應(yīng)用服務(wù)器,根據(jù)步驟(2)提供的接口約定,在此應(yīng)用服務(wù)器上開發(fā)展示頁面;
(4)在門戶中克隆若干個(gè)IframePortlet,配置步驟(3)所開發(fā)頁面的URL鏈接,定義其展示高度、寬度及是否需要滾動(dòng)條。
其中,建立門戶模板的過程包括以下步驟:
S1 建立門戶模板,所述門戶模板包括通用文件、個(gè)性化文件、模板文件和變量描述文件;
S2 建立自動(dòng)部署系統(tǒng),所述自動(dòng)部署系統(tǒng)包括數(shù)據(jù)采集模塊、模板解析模塊和自動(dòng)部署模塊;
S3 通過所述自動(dòng)部署系統(tǒng)獲取用戶輸入;然后讀入變量描述文件;最后從門戶模板中提取所需文件并部署到服務(wù)器上。
其Portlet呈現(xiàn)部分JSP代碼中使用Iframe的片斷如下:
<iframe id='<%=ifName%>' name='<%=ifName%>' style="display:none;" src="about:blank" marginwidth="0" marginheight="0" frameborder="0" scrolling="<%=scrolling %>" height="<%=iHeight%>" width="<%=iWidth%>" onload="javascript:<%=ifrOnLoadName%>();">
</iframe>。
實(shí)施例2:
所述步驟(1)中,涉及Portal的幾個(gè)技術(shù)規(guī)范包括:JSR168、JSR286、WSRP1.0、WSRP2.0,按照J(rèn)SR168、JSR286規(guī)范,開發(fā)通用Iframe Portlet;步驟(2)中,接口調(diào)用時(shí)間控制在0~3秒;步驟(3)中,使用開源的Tomcat建立輕量級(jí)門戶應(yīng)用服務(wù)器;步驟(3)中,對(duì)展示頁面的風(fēng)格進(jìn)行統(tǒng)一要求,所述展示頁面的風(fēng)格包括:主題、皮膚、布局方式、角色策略;步驟(4)中,在門戶中克隆2-10個(gè)IframePortlet。
實(shí)施例3:
假設(shè)我們要為不同高校構(gòu)建信息門戶,需要建立門戶模板,詳細(xì)步驟如下:
1 .1對(duì)文件進(jìn)行歸類。
門戶應(yīng)用本質(zhì)上是許多文件按照一定的層次結(jié)構(gòu)存放在服務(wù)器中構(gòu)成的,不同門戶的區(qū)別實(shí)質(zhì)上是文件和文件內(nèi)容上的區(qū)別。不同的門戶會(huì)有文件名和內(nèi)容均相同的文件,我們歸為通用文件,如web .xml文件。文件名相同,內(nèi)容有些差別的文件,我們歸為準(zhǔn)模板文件,在以下的步驟中將制作成模板文件。如不同的高校使用的數(shù)據(jù)庫不一樣,我們將數(shù)據(jù)庫信息放入server .properties文件中,程序運(yùn)行時(shí)將從中讀取。完全不同的文件,我們歸為個(gè)性化文件。如不同的高校有不同的loge圖片,?;?qǐng)D片等。
1 .2將步驟1 .1中劃分出的準(zhǔn)模板文件制作成模板文件。
所述模板文件是指文件中包含變量的文件。因此步驟即用變量替換準(zhǔn)模板文件中的不確定內(nèi)容,這些內(nèi)容因高校的不同而不同。
1 .3制作變量描述文件。
在變量描述文件中記錄下步驟1 .2中使用的所有變量信息,包括變量名、變量所在的模板文件名以及變量的邏輯名。
1 .4將步驟1 .3中制作好的模板文件和變量描述文件,同通用文件、個(gè)性化文件一起分類打包成門戶模板,如一個(gè)jar文件。打包時(shí)按照文件實(shí)際部署在服務(wù)器上的位置安排文件的層次結(jié)構(gòu)。如web .xml文件應(yīng)部署在WEB-INF目錄下,模板中的web .xml位置也應(yīng)為WEB-INF/web .xml。
建立好標(biāo)門戶模板后,可以使用所述自動(dòng)部署系統(tǒng)快速地構(gòu)建不同類型的門戶。所述自動(dòng)部署系統(tǒng)包含三個(gè)模塊,分別是數(shù)據(jù)采集模塊、模板解析模塊和自動(dòng)部署模塊。其中,數(shù)據(jù)采集模塊和自動(dòng)部署模塊為現(xiàn)有技術(shù),模板解析模塊為特定于門戶模板構(gòu)建的專用模塊,詳細(xì)執(zhí)行過程如下:
2 .1 數(shù)據(jù)采集模塊生成向?qū)б龑?dǎo)用戶輸入企業(yè)門戶的個(gè)性化信息,如主題、皮膚、布局方式、角色策略等,根據(jù)用戶輸入選擇搭建門戶所需的文件集。以皮膚為例,數(shù)據(jù)采集模塊中使用skin變量表示皮膚,用0、1、2分別表示紅黃藍(lán)三種皮膚。若用戶選擇紅色,skin將被賦值0,在下面的步驟中,系統(tǒng)將根據(jù)skin==0選擇部署紅色皮膚相關(guān)文件到服務(wù)器中。
2 .2 數(shù)據(jù)采集模塊從門戶模板中讀入變量描述文件,根據(jù)步驟2 .1中選擇的文件集中的模板文件,查找變量描述文件,根據(jù)變量描述文件中的信息確定有哪些變量需要用戶輸入,再根據(jù)這些變量生成進(jìn)一步的向?qū)б龑?dǎo)用戶輸入,將收集到的變量值暫存于內(nèi)存中。。
2 .3 數(shù)據(jù)解析模塊根據(jù)步驟2 .1中確定的文件集從門戶模板中抽取所需文件到臨時(shí)目錄中。通用文件和個(gè)性化文件可直接復(fù)制。在抽取模板文件時(shí),根據(jù)步驟2 .2中采集的值替換模板文件中的變量。
2 .4 自動(dòng)部署模塊將步驟2 .3中解析出的文件按照相應(yīng)的層次目錄復(fù)制到服務(wù)器上。
盡管已經(jīng)示出和描述了本發(fā)明的實(shí)施例,本領(lǐng)域的普通技術(shù)人員可以理解:在不脫離本發(fā)明的原理和宗旨下可以對(duì)這些實(shí)施例進(jìn)行多種變化、修改、替換和變型,本發(fā)明的范圍由權(quán)利要求及其等同物限定。