張翔 席奇
摘要
隨著我國J2EE企業(yè)級(jí)系統(tǒng)使用的規(guī)模不斷地加大,某些企業(yè)的要求也越來越多。對(duì)此,設(shè)計(jì)出一套企業(yè)管理信息化分布式系統(tǒng)開發(fā)方案有著非常重要的意義。本篇文章主要對(duì)建立J2EE平臺(tái)的關(guān)鍵技術(shù)進(jìn)行了分析和探討,重點(diǎn)對(duì)EJB組件技術(shù)進(jìn)行了研究和分析通過分析能夠看出,J2EE先進(jìn)性主要是表現(xiàn)在結(jié)構(gòu)體系和EJB組件上面。
【關(guān)鍵詞】J2EE EJB組件 分布式系統(tǒng) 關(guān)鍵技術(shù)
分布式組件模組在整個(gè)分布式應(yīng)用設(shè)計(jì)結(jié)構(gòu)中起著非常關(guān)鍵的作用。近年來我國最頻繁使用的分布式所設(shè)立的模組,組件主要進(jìn)行服務(wù)的對(duì)象OMG的公共化對(duì)象和代理模組Web服務(wù)等相關(guān)的技術(shù)模組。
1 分布式J2EE系統(tǒng)結(jié)構(gòu)
J2EE平臺(tái)主要是依靠一套Servieces以及APIs的協(xié)議進(jìn)行構(gòu)建的,這個(gè)平臺(tái)建立在Web多層應(yīng)用系統(tǒng)之上提供了非常強(qiáng)大的功能幫助。我們從圖1中就能夠明確的看出J2EE是建立在內(nèi)容器和數(shù)據(jù)庫基礎(chǔ)之上的,容器和數(shù)據(jù)庫需要JDBC來支持兩方開展鏈接的設(shè)立,兩個(gè)容器之間的通訊主要是使用HTTP/HTTPS協(xié)議來進(jìn)行溝通,同時(shí)還會(huì)使用RMI來設(shè)立通訊。圖1為分布式J2EE體系結(jié)構(gòu)。
2 EJB組件技術(shù)的分析
J2EE平臺(tái)當(dāng)中,最為重要的技術(shù)也就是EJB組件技術(shù)了,J2EE平臺(tái)許多存在的特點(diǎn)主要是建立在EJB組件技術(shù)的基礎(chǔ)之上體現(xiàn)出來的。
通常情況下EJB組件主要包含了EJB對(duì)象、遠(yuǎn)程接口、本地接口、Home對(duì)象、Home接口等相關(guān)的部分這里面,實(shí)現(xiàn)類當(dāng)中封裝了組建的業(yè)務(wù)主要是表現(xiàn)在遠(yuǎn)程以及本地接口當(dāng)中,遠(yuǎn)程接口與本地接口起到了幫助組件業(yè)務(wù)提供公開接口的關(guān)鍵作用,Home接口建立的主要目的是想對(duì)EJB對(duì)象進(jìn)行有效的管理和控制,使EJB能夠擁有產(chǎn)生和銷毀功能,這樣就能夠更好的開展EJB對(duì)象接口的查詢工作。它所安排設(shè)置好的文件一般情況之下都主要為XML資源,在這里隊(duì)組建的命名形式和兩者之間的關(guān)系以及實(shí)物等相關(guān)的行為進(jìn)行了描述,都是為了利于EJB容器進(jìn)行管理和控制。
在EJB2.0的規(guī)范里面EJB被分為了三個(gè)方面這里分別是會(huì)話類型Bean,實(shí)體Bean以及消息驅(qū)動(dòng)Bean.這三個(gè)方面當(dāng)中,消息驅(qū)動(dòng)Bean是需要設(shè)立在在EJB2.0規(guī)范里面的,這種方式也是剛剛才出現(xiàn)的,這種方式主要是為了將JMS進(jìn)行鏈接開啟異步通訊。另外,會(huì)話Bean一共包含了兩種狀態(tài),這兩種狀態(tài)分別為無狀態(tài)回話和有狀態(tài)回話。
3 EJB組件技術(shù)開發(fā)設(shè)計(jì)通用模塊
要想讓設(shè)計(jì)開發(fā)業(yè)務(wù)的邏輯層擁有比較良好且規(guī)范的設(shè)計(jì)理念,就必須在設(shè)計(jì)的時(shí)候使用Session Facade開展設(shè)計(jì)。系統(tǒng)當(dāng)中主要會(huì)出現(xiàn)幾種情況,這幾種情況分別是值對(duì)象、對(duì)象制造廠、實(shí)體EJB對(duì)象、Action對(duì)象。其中值對(duì)象主要是含有了客戶機(jī)必須擁有的數(shù)據(jù)以及能夠進(jìn)行序列化的JavaBean,這里面所包含的Entity Bean等其他有關(guān)系的的數(shù)據(jù)源代碼所含有的數(shù)據(jù)的子集,它經(jīng)常會(huì)使用Session EJB方法的返回方式。在此之前它大多數(shù)時(shí)候還是被人們稱為數(shù)據(jù)傳輸對(duì)象,它Sun技術(shù)里面是使用非常廣泛的術(shù)語之一。
其中所包含的部分代碼為:
Public Datapage(List.,int s,int Insize,Boolean hNext){
objects=1;
Start=s;
InfactSize=Insize;
This.hNext=hNext;
}
我們在對(duì)象制造廠中就能夠看出,建立對(duì)象制造廠的主要目的就是需要對(duì)構(gòu)建值對(duì)象進(jìn)行管理和控制,它能夠?qū)?gòu)建值進(jìn)行監(jiān)測,在監(jiān)測的過程中如果發(fā)現(xiàn)創(chuàng)造值對(duì)象的實(shí)力和天充值對(duì)象等相關(guān)方面出現(xiàn)任何問題就能夠立即反應(yīng)出。其中每一個(gè)factory類型的都是能夠從資料庫里面對(duì)需要的資料數(shù)據(jù)進(jìn)行搜索和查詢,在需要的時(shí)候還可以進(jìn)行更新。對(duì)象模組里面每一條對(duì)象都需要有一條能夠相對(duì)應(yīng)的factory類。從某一種意義上能夠看出,對(duì)象factory類在JDBC以及Entity Bean系統(tǒng)上所擔(dān)任的Facade能夠很好地完成設(shè)計(jì)模式的分層任務(wù)。
其中所包含的部分代碼為:
Try(
InttiaIContext ic=mw InitialComext();
String className=(String)ic.lookup();
admD=(DBModeID)CLASS.FORname(className).newln-stance();
}
Catch(NamingException.ne){
Throw new DBModeIDSysException(ne.getMessage());
}
在Action對(duì)象里面Action對(duì)象也就成為了Session Beank可以開展使用單單獨(dú)的商業(yè)業(yè)務(wù)出開展處理的對(duì)象。Action對(duì)象如果遇到一些比較困難的數(shù)據(jù)就沒有辦法解讀只能夠?qū)σ恍┍容^簡單數(shù)據(jù)進(jìn)行解讀以及沒有關(guān)系的商業(yè)流程進(jìn)行建立、讀取和刪除以及更新。Action與對(duì)象Factory性質(zhì)都沒有什么差別,Action的對(duì)象還可以成為內(nèi)層Facade.Action對(duì)象需要經(jīng)過本機(jī)使用Java Beans來完成實(shí)現(xiàn),它能夠在基礎(chǔ)的MVC模式中進(jìn)行Contorl機(jī)構(gòu)建立工作的開展。
4 結(jié)束語
本篇文章主要對(duì)J2EE的分布式系統(tǒng)開發(fā)的關(guān)鍵技術(shù)進(jìn)行了分析和探究,通過相關(guān)的分析和研究能夠看出EJB組件技術(shù)能夠讓分布式應(yīng)用的設(shè)計(jì)和顯示進(jìn)行分離,同時(shí)還能夠讓EJB的集群化優(yōu)勢表現(xiàn)的更加明顯,集群化優(yōu)勢可以無限的放大,能夠滿足當(dāng)前不斷提高的業(yè)務(wù)需求量。這樣才能夠滿足我國J2EE企業(yè)級(jí)系統(tǒng)使用的規(guī)模不斷地加大的狀況。
參考文獻(xiàn)
[1]安國志.基于J2EE技術(shù)的面向水利領(lǐng)域的分布式多層應(yīng)用系統(tǒng)研究與開發(fā)[D].北京工業(yè)大學(xué),2013.
[2]李媛媛.基于J2EE的分布式系統(tǒng)開發(fā)的關(guān)鍵技術(shù)研究[J].科技廣場,2009(05):58-59.
[3]舒國鋒.基于J2EE分布式系統(tǒng)的研究與開發(fā)[D].西安建筑科技大學(xué),2003.