j2ee核心技術(shù)論文
J2EE核心是一組技術(shù)規(guī)范與指南,其中所包含的各類組件、服務(wù)架構(gòu)及技術(shù)層次,均有共通的標準及規(guī)格,學(xué)習啦小編整理了j2ee核心技術(shù)論文,有興趣的親可以來閱讀一下!
j2ee核心技術(shù)論文篇一
J2EE技術(shù)淺析
摘要:J2EE平臺提供了一個多層結(jié)構(gòu)的分布式應(yīng)用程序模型,該模型具有重要組件的能力,基于擴展標記語言(XML)的數(shù)據(jù)交換,最適合于其商業(yè)和所需技術(shù)的產(chǎn)品組件,因此,有必要把J2EE架構(gòu)和核心技術(shù)簡要闡述,以提高學(xué)習者的編程能力與企業(yè)人員的業(yè)務(wù)水平。
關(guān)鍵詞:J2EE WEB服務(wù) EJB
一、J2EE介紹
J2EE核心是一組技術(shù)規(guī)范與指南,其中所包含的各類組件、服務(wù)架構(gòu)及技術(shù)層次,均有共通的標準及規(guī)格,讓各種依循J2EE架構(gòu)的不同平臺之間,存在良好的兼容性,解決過去企業(yè)后端使用的信息產(chǎn)品彼此之間無法兼容,企業(yè)內(nèi)部或外部難以互通的窘境。
目前,Java 2平臺有3個版本,它們是適用于小型設(shè)備和智能卡的Java 2平臺Micro版(Java 2 P1atform Micro Edition,J2ME)、適用于桌面系統(tǒng)的Java 2平臺標準版(Java 2 Platform Standard Edition,J2SE)、適用于創(chuàng)建服務(wù)器應(yīng)用程序和服務(wù)的Java 2平臺企業(yè)版(Java 2 Platform Enterprise Edition,J2EE)。
1.J2EE的核心概述
J2EE是一種利用Java 2平臺來簡化企業(yè)解決方案的開發(fā)、部署和管理相關(guān)的復(fù)雜問題的體系結(jié)構(gòu)。J2EE技術(shù)的基礎(chǔ)就是核心Java平臺或Java 2平臺的標準版,J2EE不僅鞏固了標準版中的許多優(yōu)點,例如“編寫一次、隨處運行”的特性、方便存取數(shù)據(jù)庫的JDBC API、CORBA技術(shù)以及能夠在Internet應(yīng)用中保護數(shù)據(jù)的安全模式等等,同時還提供了對EJB(Enterprise JavaBeans)、Java Servlets API、JSP(Java Server Pages)以及XML技術(shù)的全面支持。其最終目的就是成為一個能夠僚企業(yè)開發(fā)者大幅縮短投放市場時間的體系結(jié)構(gòu)。
2.J2EE中間件
J2EE體系結(jié)構(gòu)提供中間層集成框架用來滿足無需太多費用而又需要高可用性、高可靠性以及可擴展性的應(yīng)用的需求。通過提供統(tǒng)一的開發(fā)平臺,J2EE降低了開發(fā)多層應(yīng)用的費用和復(fù)雜性,同時提供對現(xiàn)有應(yīng)用程序集成強有力支持,完全支持Enterprse JavaBeans,有良好的向?qū)еС执虬筒渴饝?yīng)用,添加目錄支持,增強了安全機制,提高了性能。
二、J2EE架構(gòu)概述
1.B/S多層體系結(jié)構(gòu)
長久以來,C/S(客戶端朋艮務(wù)器)兩層結(jié)構(gòu)在軟件開發(fā)中廣泛應(yīng)用,給人們帶來相當?shù)撵`活性。近年來網(wǎng)絡(luò)應(yīng)用的快速普及,以及業(yè)務(wù)處理要求的不斷提高,C/S模式逐漸暴露出以下架構(gòu)上的缺陷。
(1)對客戶端軟件的維護問題.
(2)網(wǎng)絡(luò)傳輸數(shù)據(jù)的準確性和穩(wěn)定性問題.
(3)高負荷處理和平衡負載問題等。
2.J2EE三層架構(gòu)
隨著網(wǎng)絡(luò)應(yīng)用技術(shù)的成熟,針對這一系列的問題,基于多層框架(三層或以上)的B/S(Browser/Server)結(jié)構(gòu)應(yīng)運而生。典型情況下,由表示層、業(yè)務(wù)邏輯層和數(shù)據(jù)層各自獨立組成所謂的“三層架構(gòu)”。其中,數(shù)據(jù)層又叫企業(yè)信息系統(tǒng)層、集成層或者持久化層,本書從技術(shù)角度采用持久化層的稱謂。J2EE架構(gòu)設(shè)想的分布式多層體系結(jié)構(gòu)如圖1所示。
圖1多層體系結(jié)構(gòu)
該體系的核心是EJB組件,EJB是J2EE分布式應(yīng)用的核心,但是一般的Web應(yīng)用并不要求實現(xiàn)分布式應(yīng)用,因此可以使用其他途徑,如Hibernate、JDO等對象關(guān)系映射(ORM,Object―Relation Mapping)工具,或直接使用JDBCAPl實現(xiàn)數(shù)據(jù)持久化。
(1)客戶端只需符合要求的通用瀏覽器(比如某系統(tǒng)要求IE5.5以上版本),就可以使用所有服務(wù),節(jié)省了客戶端軟件安裝和維護成本,從而有效降低部署費用。
(2)客戶端(其實是表示層組件,這里只為和C/S模式對比理解)不再直接訪問數(shù)據(jù)庫,而通過中間業(yè)務(wù)邏輯層實現(xiàn)代理服務(wù),從而可以方便地進行數(shù)據(jù)庫和業(yè)務(wù)邏輯組件進化,各層次組件之間可以獨立變化。
(3)多層結(jié)構(gòu)可以方便地管理外部資源,各組件之間通過服務(wù)接口互相協(xié)作,可以使用各種優(yōu)化技術(shù)提高資源和服務(wù)的利用率,典型的應(yīng)用是資源池優(yōu)化技術(shù);
(4)錯誤和性能降低局部化,單獨組件模塊的錯誤和超載被最大限度的限制在本模塊內(nèi)部,維持整體服務(wù)的可用性。
三、J2EE實現(xiàn)構(gòu)架
3目前,在Java Web應(yīng)用中的主流框架是Sun的J2EE架構(gòu),本章在業(yè)務(wù)邏輯層一節(jié)中探討了J2EE多層分布式應(yīng)用模型。J2EE對持久層框架的實現(xiàn)提供了基本的實現(xiàn)架構(gòu)如圖2基本架構(gòu)??梢钥吹?,持久性框架是一組軟件服務(wù),將應(yīng)用與其使用和操作的數(shù)據(jù)源分離,隱藏訪問這些數(shù)據(jù)源的APl。這些APl組件包括JDBC、JDO以及實體Bean等??蚣芡ㄟ^統(tǒng)一的DAO組件封裝這些具體的訪問邏輯。在各層次之間通過實現(xiàn)Serializable接口的可序列化對象(值對象或者數(shù)據(jù)傳輸對象等),傳遞對象化數(shù)據(jù).本書的主題Struts框架位于頂端的表示層,它接受用戶的輸入和操作,傳遞請求和數(shù)據(jù)給業(yè)務(wù)邏輯層,接收返回的結(jié)果呈現(xiàn)給用戶界面。
圖2 J2EE實現(xiàn)構(gòu)架
1.EJB概述
EJB(Enterprise JavaBean,企業(yè)級JavaBean)組件體系是J2EE框架的核心組件之一,最初被設(shè)計為支持分布式對象計算,因此在EJB2.0以前的版本中EJB組件只有遠程接口,直到EJB2.0才因為實際應(yīng)用的需求,加入了本地接口。業(yè)界對EJB的評價主要源于其復(fù)雜程度,EJB并不是一個好學(xué)好用的組件。
(1)使用EJB的正當理由:
a提供應(yīng)用層組件的集群;
b提供與CORBA客戶端的互操作:
c消費JMS異步消息。
(2)可以考慮使用EJB的理由
a提供多線程解決方案;
b基于角色的訪問權(quán)限控制;
c熟悉EJB架構(gòu)。
2.EJB類型
(1)實體Bean
實體Bean是J2EE核心的持久化組件,代表存儲在外部介質(zhì)中的持久化對象或者企業(yè)應(yīng)用系統(tǒng)資源,它代表實體”,必須實現(xiàn)javax.ejb.EntityBean接口。簡單地說,實體Bean相當于數(shù)據(jù)庫信息,但二者并不等價。因此可以理解為――個對象關(guān)系映射,不過這個對象關(guān)系映射身后有整個J2EE體系的支撐。
EJB2.0中,實體Bean分為BMP和CMP。
BMP是Bean--managed persistent'entity bean,中文就是Bean管理持久性實體Bean,它需要開發(fā)者自己編寫符合EJB編程規(guī)范的實現(xiàn)代碼,實現(xiàn)各種業(yè)務(wù)方法和管理方法,因此Bean-managed就是Bean接口自己編寫代碼實現(xiàn)持久性管理。
CMP是Container--managed persistent entity bean,中文容器管理持久性實體Bean,顧名思義就是開發(fā)者不用再自己編寫代碼來實現(xiàn)持久性管理,借助集成開發(fā)工具甚至基本不用寫代碼。CMP是EJB2.0增加的類型,有效地降低了系統(tǒng)開發(fā)的復(fù)雜程度,但是在性能上比編寫良好的BMP會稍有所下降。
(2)會話Bean
會話Bean分為有狀態(tài)會話Bean(Stateless Session Bean)和無狀態(tài)會話Bean(Staeless Session Bean)兩種,實現(xiàn)javax.ejb.SessionBean接口。在應(yīng)用中被用來完成一些業(yè)務(wù)操作,因此它代表的是“動作”。不同的是,在有狀態(tài)會話Bean中可以保存狀態(tài),而無狀態(tài)會話Bean不能。因此,同一個無狀態(tài)會話Bean的實例之間完全相同,只能用來執(zhí)行通用操作。而有狀態(tài)會話Bean的實例各自帶有不同的屬性值,可以用來維持客戶會話,典型的應(yīng)用是購物車。有狀態(tài)會話Bean的作用在一定程度上類似JSP開發(fā)中常用的Session。
(3)消息驅(qū)動Bean
消息驅(qū)動Bean(MDB,Message Driven Bean)是EJB2.0增加的類型,用來實現(xiàn)異步消息傳遞和處理機制,是實現(xiàn)JMS(Java Message Service,Java消息服務(wù))的基礎(chǔ)。JMS提供了一組標準的Java APl實現(xiàn)消息遞和處理。消息傳遞和處理有兩種方式:隊列模型和機遇主題的發(fā)布/訂閱機制。
隊列模型是將消息對象放到消息隊列中,監(jiān)聽該隊列的消息驅(qū)動Bean取出消息進行處理,類似手機短信的形式(短信是消息對象,手機短信信箱是消息隊列,機主是消息驅(qū)動Bean實例)。
發(fā)布/訂閱機制則將消息分發(fā)給所有訂閱者,類似生活中的報刊訂閱。
四、小結(jié)
J2EE是java的核心技術(shù)之一,是大型企業(yè)和高等院校計算機相關(guān)專業(yè)學(xué)生所掌握的核心技術(shù)之一,是Java Web程序員必須在一定程度上了解和掌握的知識。明白EJB的架構(gòu)和類型,對科研人員更好的掌握其內(nèi)涵和原理有重要的理論價值和現(xiàn)實意義。
參考文獻
[1]李剛.輕量級Java EE企業(yè)應(yīng)用實戰(zhàn).北京:電子工業(yè)出版社,2008.
[2]鄭阿奇.J2EE應(yīng)用實踐教程.北京:電子工業(yè)出版社,2009.
[3]楊中科.J2EE開發(fā)全程實錄(附光盤).北京:清華大學(xué)出版社,2007.
[4]蔡劍,景楠.Java Web應(yīng)用開發(fā).北京:清華大學(xué)出版社,2005.
[5]王毅,周峰,孫更新編著.J2EE經(jīng)典案例設(shè)計與實現(xiàn).北京:電子工業(yè)出版社,2007.
j2ee核心技術(shù)論文篇二
基于J2EE的應(yīng)用框架技術(shù)研究
摘 要:J2EE作為分布式架構(gòu)的企業(yè)級應(yīng)用平臺,在企業(yè)的信息化建設(shè)中發(fā)揮出越來越重要的作用。一方面作為企業(yè)信息化應(yīng)用系統(tǒng)的開發(fā)工具,另一方面又作為企業(yè)信息化應(yīng)用系統(tǒng)的集成平臺?;贘2EE的Web應(yīng)用可以規(guī)范應(yīng)用系統(tǒng)的開發(fā)與部署,提高系統(tǒng)的可移植性、可重用性。本文介紹框架技術(shù)的原理以及集成上述三種框架技術(shù)的Web應(yīng)用框架。
關(guān)鍵詞:J2EE;應(yīng)用框架;表示層;業(yè)務(wù)邏輯層;系統(tǒng)服務(wù);Hibernate
一、引言
J2EE是一種技術(shù)規(guī)范,是一個企業(yè)級的開發(fā)平臺,它定義了整個標準的應(yīng)用體系結(jié)構(gòu)和一個部署環(huán)境。J2EE提供了對EJB(EnterpriseJavaBean)、JavaServlet、JSP(JavaServer Pages)以及XML(eXtensible MarkupLanguage可擴展標記語言)技術(shù)的全面支持。因此,基于J2EE的各種框架技術(shù)應(yīng)運而生,這些框架存在于多層體系架構(gòu)的各層,如數(shù)據(jù)持久化層、業(yè)務(wù)邏輯層和表示層等。隨著企業(yè)信息化建設(shè)的加快,各種基于J2EE的應(yīng)用系統(tǒng)會越來越多。如何在統(tǒng)一的J2EE分布式架構(gòu)平臺下,構(gòu)建符合企業(yè)特點的應(yīng)用框架基礎(chǔ)開發(fā)平臺,以框架平臺為基礎(chǔ)進行信息化應(yīng)用系統(tǒng)的開發(fā)具有十分重要的意義。
二、J2EE應(yīng)用框架技術(shù)
框架(Framework)是可重用的半完成的應(yīng)用程序,可以用來產(chǎn)生專門的定制程序??蚣芤话憔哂屑床寮从玫目芍赜眯?、成熟的穩(wěn)定性以及良好的團隊協(xié)作性。J2EE復(fù)雜的多層結(jié)構(gòu)決定了大型的J2EE項目需要運用框架和設(shè)計模式來控制軟件質(zhì)量,目前主流的框架技術(shù)有基于MVC模式的Struts框架、基于IoC模式的Spring框架以及對象關(guān)系映射框架Hibernate等。
1.Web開發(fā)框架Struts
Struts是以JSP( Java Server Pages) Model2為基礎(chǔ)實現(xiàn)的一個MVC設(shè)計模式的應(yīng)用程序框架。其設(shè)計思想也是采用面向?qū)ο笤O(shè)計,使MVC設(shè)計模式、分離顯示邏輯和業(yè)務(wù)邏輯的優(yōu)勢發(fā)揮得淋漓盡致。Struts框架的核心是個彈性的控制層,基于如JavaServlets、JavaBeans和XML等標準技術(shù),以及Jakarta Commons 的一些類庫Struts由一組相互協(xié)作的組件 Servlet以及JSPTaglib組成,其核心組件包括ActionServlet,Action,ActionForm,ActionMapping,ActionForward及Taglib配置文件等。
2.Spring框架
常用的中間件解決方案EJB技術(shù)是一種重量級的容器,必須實現(xiàn)EJB的接口,依賴于EJB容器不能單獨運行固定了應(yīng)用功能不能加以配置。Spring則是一個解決了許多在J2EE開發(fā)中常見問題、能夠替代EJB技術(shù)的強大框架。它不依賴于任何的組件是一種輕量級的容器,因此它可以有效地組織中間件對象而不管是否還使用了EJB技術(shù)。同時Spring既是全面的又是模塊化的,它不是一個強制性框架,可以選擇某個組件獨立使用。
3.Hibernate框架
Hibernate是一種基于Java平臺功能強大的ORM開源框架工具,提供了概念型的、易于理解的模型化數(shù)據(jù)。Hibernate對JDBC進行輕量級的對象封裝,不僅提供ORM映射服務(wù),同時還提供數(shù)據(jù)查詢和數(shù)據(jù)緩存功能,實現(xiàn)了廣義的業(yè)務(wù)數(shù)據(jù)持久化,即數(shù)據(jù)的保存更新刪除加載和查詢通過XML配置文件,將Java持久化類映射到關(guān)系數(shù)據(jù)庫表結(jié)構(gòu),開發(fā)人員通過該框架可使用面向?qū)ο蟮乃枷雽﹃P(guān)系數(shù)據(jù)庫進行操作在Hibernate技術(shù)的實施過程中。
三、J2EE應(yīng)用框架總體結(jié)構(gòu)
基于J2EE的應(yīng)用框架基礎(chǔ)開發(fā)平臺總體結(jié)構(gòu)分為3個大的組件模塊層次,Web表示層、業(yè)務(wù)邏輯層、系統(tǒng)服務(wù)模塊。
1.Web表示層
提供與用戶交互的界面,組織用戶的輸入,響應(yīng)用戶要求。該Web組件模塊通過對表示層框架Structs進行改造,通過模板機制,為開發(fā)者提供一致的接口和通用Web組件庫。該層包括通用的字符處理過濾器(SetCharacterEncodingFilter)、通用用戶認證過濾器(AuthenticationFilter)、通用資源訪問控制過濾器(SecurityFilter)、StrutsAction組件、StructsActionFor組件、ActionServlet組件、JSP/JSTL/View示圖組件、定制Structs插件(Plugin)以及定制標簽庫(taglib)等,提供一致的接口和類為應(yīng)用開發(fā)者提供具體應(yīng)用表示層開發(fā)。
2.業(yè)務(wù)邏輯層
接受Web表示層傳來的數(shù)據(jù)傳輸對象DTO,DTO封裝了用戶的請求信息,根據(jù)業(yè)務(wù)系統(tǒng)的業(yè)務(wù)邏輯處理具體業(yè)務(wù),該層包括領(lǐng)域?qū)ο?、業(yè)務(wù)對象接口(BPO)及實現(xiàn)(BPOImpl)、業(yè)務(wù)服務(wù)接口及實現(xiàn)(ServiceImpl)以及服務(wù)定位器(Service Locator)、數(shù)據(jù)訪問對象(DAO)接口與實現(xiàn)(DAO Impl)等實現(xiàn)具體應(yīng)用系統(tǒng)的業(yè)務(wù)邏輯的處理,通過該層的業(yè)務(wù)封裝提供一致的業(yè)務(wù)開發(fā)方法。同時,對于數(shù)據(jù)持久化的選擇通過封裝Hibernate來實現(xiàn)對象和關(guān)系的映射,提供可配置的數(shù)據(jù)持久化解決方案。
3.系統(tǒng)服務(wù)層
系統(tǒng)服務(wù)層是通過對各種企業(yè)級信息化應(yīng)用系統(tǒng)的分類、抽象,針對信息化應(yīng)用系統(tǒng)都需要解決的技術(shù)架構(gòu)和公共通用業(yè)務(wù)組件模塊等問題,提供系統(tǒng)級的抽象和服務(wù)。主要包括會話管理、資源加載、組件管理、服務(wù)定位、日志管理、認證與安全控制、異常處理、郵件管理、任務(wù)管理、組織結(jié)構(gòu)管理、工作流引擎和公用業(yè)務(wù)構(gòu)件等系統(tǒng)服務(wù)。
四、結(jié)束語
本文通過J2EE應(yīng)用框架的介紹開始,分析研究了基于J2EE的應(yīng)用框架技術(shù),Struts、Spring、Hibernate[(下轉(zhuǎn)第147頁)][(上接第70頁)]3個框架的基本原理,最后提出了應(yīng)用框架的總體結(jié)構(gòu)。分別是WEB表示層、業(yè)務(wù)邏輯層和系統(tǒng)服務(wù)層。希望通過多個具體項目的應(yīng)用研究、逐步完善該總體結(jié)構(gòu),逐步積累各層次的組件和業(yè)務(wù)構(gòu)件庫,達到提高軟件機構(gòu)研發(fā)信息化應(yīng)用系統(tǒng)研發(fā)能力和效率、規(guī)范軟件的研發(fā)過程。
參考文獻:
[1]劉中兵.開發(fā)者突擊:JavaWeb主流框架整合開發(fā):J2EE+Struts+Hibernate+Spring[M].北京:電子工業(yè)出版社,2008.
[2]陳天河.Struts Hibernate Spring集成開發(fā)寶典[M].北京:電子工業(yè)出版社,2007.
[3]Bruce Eckel. Java 編程思想[M].侯捷,譯.北京:機械工業(yè)出版社,2002.
[4]孫衛(wèi)琴.精通Struts:基于MVC的JAVAWeb設(shè)計與開發(fā)[M].北京:電子工業(yè)出版社,2009.