EJB組件技術(shù)及應用 EJB組件技術(shù)及應用

EJB組件技術(shù)及應用

  • 期刊名字:微機發(fā)展
  • 文件大?。?82kb
  • 論文作者:何國輝
  • 作者單位:五邑大學(xué)
  • 更新時(shí)間:2020-06-12
  • 下載次數:次
論文簡(jiǎn)介

15卷第3期微機發(fā)展Vol. 152005年3月Microcomputer DevelopmentMar.2005EJB組件技術(shù)及應用何國輝(五邑大學(xué)信息學(xué)院,廣東江門(mén)529020)摘要:為了開(kāi)發(fā)出具有良好的可移植性、可擴展性、可重用性和可維護性的軟件系統,達到改善軟件質(zhì)量的目的,最好的方式就是采用組件技術(shù)。文中根據FB組件結構的特點(diǎn)研究了EJB組件的開(kāi)發(fā)、部署和應用方法,并重點(diǎn)分析了EJB組件間的調用過(guò)程。事實(shí)證明,通過(guò)采用EJB組件,能有效保證大型應用軟件系統的集成,并滿(mǎn)足具有可移植性、可擴展性可重用性和可維護性的要求。關(guān)鍵詞:EJB組件;2EE;Java命名與目錄接口中圖分類(lèi)號:TP311.5文獻標識碼:A文章編號:1005-3751(2005)03-0082-03The EJB Component Technology and ApplicationsHE GuO-hui(School of Information, Wuyi University, Jiangmen 529020, China)Abstract: In order to develop software system with better transplantation ability, extensibility, renewable ability and maintainability toreach the purpose of improving software quality, the best method is to utilize groupware technology. In this paper, acoording to the char-acteristics of EJb groupware structure, the development, deployment and application method of EJB groupware is investigated. The transfer process between ejB groupware is analyzed emphatically. The results demonstrate that the integration of large-scale application software system can be assured efficiently by use of ejb groupware technology, and the requirement of transplantation ability, extensibility,newable ability and maintainability can be satisfiedKey words: EJB component; J2EE; JNDI1FJB組件的特點(diǎn)這種結構為應用開(kāi)發(fā)提供了多方面好處,主要體現EJB的全稱(chēng)是 Enterprise JavaBean,是由SUN公司提在:出的一種基于組件模型的分布式對象標準構架,EJB組件①簡(jiǎn)易性。在這種結構下應用開(kāi)發(fā)者可以?xún)H花少量是基于EB標準構架的部件和對象,通常也稱(chēng)為企業(yè)的時(shí)間和精力來(lái)開(kāi)發(fā)和部署企業(yè)應用,因為寫(xiě)EB組件Beam。在這種結構中,通過(guò)EB容器提供了適合于EB幾乎與寫(xiě)一個(gè)Java類(lèi)一樣簡(jiǎn)單其次,在開(kāi)發(fā)過(guò)程中應用組件開(kāi)發(fā)、部署以及運行時(shí)管理的環(huán)境。在企業(yè)應用中,開(kāi)發(fā)者不必關(guān)心系統級事項如安全管理事務(wù)處理、多線(xiàn)ETB組件的作用就是實(shí)現系統業(yè)務(wù)過(guò)程,它能將業(yè)務(wù)邏輯程、分布式設計連接資源管理等問(wèn)題。封裝起來(lái),并具有中間件的功能,當應用運行時(shí),EJB組件②可移植性。因為基于EJB的應用可以部署在任何就駐留在EJB容器中。一個(gè)基于2EE的應用就是由一與J2EE兼容的服務(wù)器上,因此只要應用服務(wù)器兼容,就個(gè)或多個(gè)這樣的EJB組件構成的因此開(kāi)發(fā)E結構應能夠將應用移植過(guò)來(lái)用的最主要問(wèn)題就是開(kāi)發(fā)基于EB結構的部件2。③部件可重用性。因為每一個(gè)EJB組件都是可重用在J2EE體系結構中,一個(gè)EB組件具有調用另外的的部件,從而可以實(shí)現一次開(kāi)發(fā)多次使用。EB組件的特點(diǎn)而且這些EJB組件不僅允許部署在同④便于團隊開(kāi)發(fā)。當明確了各EJB組件的作用和功個(gè)EJB容器中,而且還允許跨FB容器或應用服務(wù)器進(jìn)能后就可以分頭開(kāi)發(fā)各部件。當軟件需要維護或進(jìn)行功行部署。一些大型的應用系統結構如圖1所示能擴充時(shí),也很方便。盤(pán)氣之系能十由干企業(yè)應用是由一個(gè)或多收稿日期:2004-06-23個(gè)中國煤化工具有部件特點(diǎn)因此構基金項目:廣東省自然科學(xué)基金資助項目(032356);江門(mén)市科技攻關(guān)建CNMHGEJB組件并將它們進(jìn)項目([2002]73號行疊加組合的過(guò)程作者簡(jiǎn)介:何國輝(1962-),男江西萍鄉人,副教授碩士生導師基于上述優(yōu)點(diǎn)因此對于一些功能龐大、結構復雜的究方向為軟件開(kāi)發(fā)技術(shù)、數據庫理論及應用技術(shù)等系統,采用EJB組件技術(shù)進(jìn)行開(kāi)發(fā)是理想的選擇。第3期何國輝:EJB組件技術(shù)及應用8客戶(hù)1應用服務(wù)器1實(shí)現成一個(gè)會(huì )話(huà)Ban客戶(hù)容器EJB容器EJB容器2每個(gè)EJB組件通常由4個(gè)部企業(yè)Bean顯示部件分組成,即一個(gè)主Java類(lèi)、2個(gè)接企業(yè)Bean2企業(yè)Bean企業(yè)Bma;:口和一個(gè)部暑描述文件③,4。主Java類(lèi)又稱(chēng)為 implementation(實(shí)客戶(hù)容器現)類(lèi)或Bean類(lèi),而2個(gè)接口則分示部件別是Home與 Remote,部署描述文數據庫服務(wù)器1件是一個(gè)ⅪML格式文件,文件名企業(yè)Bean31其它客戶(hù)數據庫1為ejb-rar.xml,是所有EJB在部客戶(hù)容器EAppnEJB企業(yè)Bean3n署時(shí)都必須提供的文件,與容器無(wú)示部件數據庫服務(wù)器2關(guān)。它用來(lái)向容器聲明EJB組件將如何部署到容器中去,以及EJBwb容器數據庫2J組件將希望容器為組件提供哪些瀏覽器ServletISP Page服務(wù)。實(shí)體Bean還包含一個(gè)主鍵數據庫3類(lèi)。其中有:圖1基于EJB組件模型的企業(yè)應用結構Home(主)接口:定義一組方法來(lái)創(chuàng )建新的FB對象,查找定位和清除已有的EJB2EJB組件的結構對象。在EJB組件部署時(shí)容器也會(huì )自動(dòng)生成相應的EJB組件主要包括會(huì )話(huà)Bean( Sesson bean)和實(shí)體Home對象,該對象負責查找和創(chuàng )建EJB對象,返回FBBean( Entity Bean)兩種類(lèi)型(新版本中增加了消息驅動(dòng)對象的引用給客戶(hù),用戶(hù)可以利用該引用調用EB組件Bean)3l。Bean是一種作為單用戶(hù)執行的對象,一些復雜中的方法得到結果,最后Home對象清除EJB對象??梢缘挠嬎愫蜆I(yè)務(wù)邏輯就放在這些Bean中。形象地稱(chēng)Hme接口為EJB對象的工廠(chǎng)會(huì )話(huà)Bean是客戶(hù)端應用程序的擴展,負責管理整個(gè)Remote(組件)接口:定義EJB組件中提供的可供執行過(guò)程或任務(wù),包括與實(shí)體Bean之間的交互。當應用用戶(hù)調用的方法,也就是通常所說(shuō)的實(shí)現商業(yè)邏輯的函數運行時(shí)EB組件就駐留在EB容器中EB容器會(huì )自動(dòng)或過(guò)程以供遠程客戶(hù)端調用。在EB組件部署到容器生成所需的數據訪(fǎng)問(wèn)邏輯??蛻?hù)端通過(guò)調用會(huì )話(huà)Bean的的時(shí)候,容器將自動(dòng)生成 Remote接口相應的實(shí)例,即EJB功能實(shí)現與E服務(wù)器的通信。會(huì )話(huà)Bean在客戶(hù)會(huì )話(huà)對象它負責代理用戶(hù)的調用請求。期間,通過(guò)方法的調用,來(lái)獲得用戶(hù)的信息。implementation類(lèi)(Bean類(lèi))是對Home和 Remote而實(shí)體Bean則代表業(yè)務(wù)處理對象,負責企業(yè)信息的接口中聲明的方法及必需的生命周期方法(有別于業(yè)務(wù)邏維護和管理這些對象通常是數據庫中的一些持久記錄,輯方法)的具體實(shí)現可由多個(gè)Java類(lèi)構成例如:一個(gè)實(shí)體Bean能夠模擬數據庫表中一行相關(guān)的數主鍵類(lèi)(僅限于實(shí)體Bean):為了能在數據庫中查據。實(shí)體Bean根據管理持久性的方式不同可分為容器管找到相關(guān)數據而給每一個(gè)實(shí)體Bean建立的惟一標識,通理的Bean(CMP)和由Bean管理的Bean(BMP)。容器管過(guò)該標識 client就能定位特定的數據塊。理的Ba由EJB容器自動(dòng)管理它們的持久性,通過(guò)在部當EJB組件的各部分開(kāi)發(fā)完成以后,需要借助專(zhuān)門(mén)署文件中的描述,容器知道Bean實(shí)例的字段是怎樣映射的開(kāi)發(fā)工具將編譯生成的類(lèi)文件(cass)部署描述文件到數據庫中去的,并自動(dòng)管理插入更新和刪除數據庫中及與容器相關(guān)的部署描述文件(根據所選容器而定)生成與實(shí)體有關(guān)的數據;使用Bean管理持久性的Bean需要開(kāi)個(gè)JAR文件。JAR文件是一個(gè)和ZIP文件格式相同的發(fā)者編寫(xiě)相應代碼來(lái)操作數據庫,EJB容器只告訴Bean壓縮文件,只是其中多了一個(gè) manifest文件,用于記錄實(shí)例什么時(shí)候可以在數據庫中安全地插入、更新和刪除數AR文件中的所有內容。對于不同的容器提供的與容器據除此之外,它不提供任何別的幫助,Bean實(shí)例需自己相關(guān)的部署描述文件也不相同,以 weblogic為例,它除了完成所有的持久性工作。每個(gè)實(shí)體Bam都具有一個(gè)惟一要求提供q- jar.xml文件以外,還要求提供另外一個(gè)部的對象標識符稱(chēng)為主鍵實(shí)體Bemn之間也可以具有關(guān)署描述eih- iar xml-用 Jbuilder開(kāi)發(fā)EJB系,關(guān)系的實(shí)現也分別由Bean代碼或部署描述項完成,從時(shí),編中國煤化工AR文件。一個(gè)而保證了數據完整性和關(guān)系完整性。JAR文THCNMHG示。根據上述兩種Bean的作用和各自的特點(diǎn),因此在Bean的開(kāi)發(fā)過(guò)程中通??蓪I(yè)務(wù)實(shí)體實(shí)現成一個(gè)實(shí)體3EJB組件的應用Bean或一個(gè)實(shí)體Bean的依賴(lài)而將一個(gè)會(huì )話(huà)性業(yè)務(wù)過(guò)程EJB組件不能獨立運行,它們必須要部署到容器上84微機發(fā)展第15卷tomer Bean中的 ejbCreate方法完成), Remote接口中定義m11gmd1| Enterprise]I I Home 1 Remote Enterpris I了獲得客戶(hù)名稱(chēng)等可以被外界調用的所有方法(由Cs接接口Bean類(lèi)接口按日Bm類(lèi) merMan中的代碼實(shí)現有關(guān)功能),因此當普通的Jaa程序作為客戶(hù)端訪(fǎng)問(wèn)一個(gè)名為 CustomerEJB的EJB組件bjxm容器相關(guān)ejb-jar.xm容器相關(guān)時(shí)的具體步驟將是:部署文件部署文件(1)首先通過(guò) JNDI API定位Hme對象會(huì )話(huà)bean實(shí)體beanJNDI( Java Name and Directory Interface)是Java命名與目錄接口的英文首字母縮寫(xiě),主要用于命名與目錄訪(fǎng)問(wèn),在J2EE中查找數據源和EJB對象都離不開(kāi)JD,因JAR文件提供者此十分重要。其定位Home對象的代碼為EJB JAR文件Properties props= System get Properties ();Context ctx= new initialContext( props);/獲得命名服務(wù)的圖2JAR文件內容上下文環(huán)境,參數 props與容器有關(guān)并只有通過(guò)外部程序對EJB的業(yè)務(wù)邏輯進(jìn)行調用時(shí)才會(huì )Object obj=ctx. lookup(“ CustomerHome");/查找Hbme接體現其功能。在 Jbuilder和 weblogic的FB組件集成開(kāi)發(fā)口環(huán)境中,EJB組件的部署很方便,其主要步驟是:先啟動(dòng)CustomerHome home=(CustomerHome)weblogic服務(wù)器然后在編譯好的EJB模塊名上單擊鼠標javax. mi. Portable Remote Object, narrow (obj, CustomerHome右鍵(EJB模塊是在創(chuàng )建工程以后創(chuàng )建的包含一個(gè)或多cs);1定位he對象個(gè)AR文件—模塊名jr中,在彈出的快捷菜單中選弟(2)由Hme對象調用相應的cre法生成EB對個(gè)EJB組成的邏輯組,組內的所有EJB都將放置到同擇 Deploy Options for模塊名jar| Deploy選項,即可完成通過(guò)ND查找到的是Hme對象,要生成EJB對象EJB組件的部署。還必須要調用Home對象的 create方法,即通過(guò) Customer當容器所在服務(wù)器啟動(dòng)時(shí)將會(huì )自動(dòng)加載已經(jīng)部署到 customer=home. create(…)方式來(lái)創(chuàng )建。除無(wú)狀態(tài)會(huì )話(huà)容器上的EB組件,并打開(kāi)監聽(tīng)端口等待外部程序調用。Bean以外,其它幾類(lèi)Bean的cree方法中都要傳人參數。EJB組件的外部程序通常稱(chēng)作為EJB的客戶(hù)。能夠充當(3)通過(guò)EB對象調用FJB組件中的方法EJB客戶(hù)的可以是普通的Java程序、其它的EJB組件或在得到了EJB對象的引用以后,客戶(hù)端程序就可以W山組件(JSP或Sele組件)。無(wú)論是上述哪一種作為調用其中的業(yè)務(wù)方法了。通常會(huì )在Rmoe接口 CustomerEJB客戶(hù),都可按圖3方式進(jìn)行調用。中定義很多方法,如:獲得客戶(hù)代碼、客戶(hù)名稱(chēng)及其它業(yè)務(wù)1:檢素Hone對象引用邏輯等,這些方法的具體實(shí)現過(guò)程在實(shí)現類(lèi)C命名服務(wù) tomerBean中說(shuō)明,因此就可按如下所示使用2:返回Home對象引用String cust. ld= customer get customerldO);String cust- Name= customer. getCustomer Nameo)3:創(chuàng )建新的EJEJB組HOME對象對于一個(gè)EJB組件作為客戶(hù)端訪(fǎng)問(wèn)另一個(gè)EJB5:返回EB對象組件的過(guò)程和上述步驟基本相似,但不必提供任何JNDI初始化參數,系統僅需獲得默認的JNDI初始4:生成EB對象化上下文環(huán)境。以一個(gè)訂單EB(名為 OrderEJB,實(shí)體Bean)調用 CustomerEJB為例,在 OrderEJB的實(shí)6:調用業(yè)務(wù)方法8B對象[7運行實(shí)現類(lèi)代碼現類(lèi)中,只要采用如下代碼就可獲得 CustomerEJB的Home接口引用:Context ctx= new InitialContext();/通過(guò)調用無(wú)參數ETB服務(wù)器的構造函數,獲得默認的初始化上下文圖3EB客戶(hù)調用過(guò)程為了便于理解,以下將通過(guò)一個(gè)名為 CustomerEJB的HomEJB組件被調用過(guò)程進(jìn)行說(shuō)明。按照EJB的命名約定,該H中國煤化 T: omp/env/eortustomer.CNMHgme組件的有關(guān)接口文件可命名如下:Home接口為 Customeriavax. rmi. PortableRemoteObject narrow(obj, CustomerHomeHome, Remote接口為 Customer,實(shí)現類(lèi)為 Customerbeandasy);/定位Home對象同時(shí)Home接口中定義了 create方法(具體實(shí)現由Cus(下轉第123頁(yè))第3期寧剛等:基于 WITSML的鉆井數據文檔設計實(shí)現1232XML文檔的顯示XML文檔本身只描述數據內容,它的顯示功能由樣式單來(lái)完成。使用獨立的樣式單文件可以對同一份數據文件制定不同的樣式風(fēng)格,應用在不同的場(chǎng)合,提高了數據的重用性。目前,W3C正式推薦的樣式單標準有兩種層疊樣式單CSS和可擴展樣式單語(yǔ)言(XSL)1。圖3是圖3XML文件的顯示使用XSL轉換的一份鉆頭使用記錄XM文檔(非真實(shí)數據)參考文獻[1 Extensible Markup language(XML). 0(Second Edition)[S]3XML文檔的存儲W3C Recommendation, 2000-10-06(1)平面文件數據庫:XML平面文件數據庫首先通過(guò)[2] Wellsite Information Transfer Standard Markup language,wl文件系統的目錄結構然后通過(guò)XML文檔的元素結構來(lái)TSML, an Update[ Z]. Inc SPE 84066, 2003提供對數據的層次訪(fǎng)問(wèn)。平面文件數據庫的優(yōu)點(diǎn)是它很[3] Navarro a.M從人門(mén)到精通[M]周生炳,等譯,北京:小,容易構建和維護,并且容易被其他工具訪(fǎng)問(wèn)。缺點(diǎn)是電子工業(yè)出版社,2000數據沒(méi)有很好的保護,不方便查詢(xún)并發(fā)控制和恢復[4]薩師煊,王珊數據庫系統概論[M].北京:高等教育出版(2)關(guān)系型數據庫:到關(guān)系型DBMs的ⅪML接口提供社,2002對健壯數據庫技術(shù)的訪(fǎng)問(wèn)。它在一個(gè)關(guān)系型數據庫已經(jīng)[5] Martin D.XML高級編程[M].北京:機械工業(yè)出版社,存在時(shí)特別有用,缺點(diǎn)是數據的表示受限于關(guān)系。2002(上接第84頁(yè))參考文獻Customer customer= home. create(…);/生成一個(gè)Bean對象[1]曹宜新 Enterprise Javabeans程序設計[M北京:機械工業(yè)由于上述代碼中沒(méi)有提供與容器相關(guān)的JND初始出版社,2003化參數,因此便于移植。有了Ben對象 Customer以后,[2]張志偉pE構建企業(yè)系統—專(zhuān)家級解決方案[M].北就可以在 OrderBean內的任何地方訪(fǎng)問(wèn) CustomerEJB中定京:清華大學(xué)出版社,2001義的方法了56。[3]瞿裕忠.J2EE平臺上的EJB組件開(kāi)發(fā)[M]北京:機械工業(yè)出版社,2004結束語(yǔ)中國煤化工比京:電子工業(yè)出版社文中根據EB組件結構的特點(diǎn),研究了EJB組件的CNMHG住以L(fǎng)M].上海:上??茖W(xué)普及開(kāi)發(fā)部署和應用方法,并重點(diǎn)分析了EJB組件的調用過(guò)出版社,2004程,在實(shí)際應用中由于還要考慮變量初始化和容錯處理等6]班書(shū)昊EJB企業(yè)應用與開(kāi)發(fā)實(shí)例[M]北京:北京科海電問(wèn)題,因此其代碼會(huì )更嚴謹一些。子出版社,2003

論文截圖
版權:如無(wú)特殊注明,文章轉載自網(wǎng)絡(luò ),侵權請聯(lián)系cnmhg168#163.com刪除!文件均為網(wǎng)友上傳,僅供研究和學(xué)習使用,務(wù)必24小時(shí)內刪除。
欧美AAAAAA级午夜福利_国产福利写真片视频在线_91香蕉国产观看免费人人_莉莉精品国产免费手机影院