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