欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于j2ee的五層體系結(jié)構(gòu)構(gòu)建方法

文檔序號:6342857閱讀:296來源:國知局

專利名稱::基于j2ee的五層體系結(jié)構(gòu)構(gòu)建方法
技術(shù)領(lǐng)域
:本發(fā)明涉及一種基于J2EE的五層體系結(jié)構(gòu)構(gòu)建方法,屬于分布式計算機應(yīng)用
技術(shù)領(lǐng)域

背景技術(shù)
:Sun的J2EE(Java2Platform,EnterpriseEdition,Java2平臺企業(yè)版)是一個標準的多層體系結(jié)構(gòu),適用于開發(fā)和部署分布式的企業(yè)應(yīng)用程序,具有以下特點1、J2EE技術(shù)規(guī)范是以容器為中心的。J2EE用容器為駐留在其中的構(gòu)件提供了一種可管理的運行環(huán)境。同時容器還用容器API(ApplicationProgramInterfaces,應(yīng)用程序編程接口)為運行在容器中的構(gòu)件提供了系統(tǒng)級服務(wù)。2、J2EE是一組協(xié)調(diào)規(guī)范,利用標準化、模塊化的構(gòu)件簡化企業(yè)應(yīng)用程序。由于構(gòu)件本身所具有的自治性和地址透明性,因此,基于構(gòu)件的應(yīng)用程序就具有可管理性、復(fù)用性和伸縮性好的優(yōu)點。3、J2EE支持群集技術(shù),即在J2EE中,容器和構(gòu)件可以分散在多個服務(wù)器上,由于消除了單一點的故障。因此J2EE的應(yīng)用程序具有高可用性和高可靠性。4、J2EE是基于Java語言的,因此具有Java“一次編寫,隨處運行”的優(yōu)點。5、J2EE利用JAAS(JavaAuthenticationAuthorizationService,Java驗證和授權(quán)API)提供了Java授權(quán)和身份驗證服務(wù),再加上Java語言本身的安全機制,為J2EE應(yīng)用程序提供了安全性。J2EE的最新版本是J2EE1.4,它支持JSP2.0(JavaServerPage)、Servlet2.4、EJB2.1(EnterpriseJavaBean)和JDBC2.0(JavaDatabaseConnectivity)等API。在這里JSP支持自制標簽;Servlet獲得了過濾器;JSP和Servlet用于進行網(wǎng)絡(luò)構(gòu)件開發(fā)。EJB改變了容器管理的持久性,提供了具有本地接口的CMP(Container-ManagedPersistence,容器管理的持久性)實體Bean,EJB用于開發(fā)業(yè)務(wù)邏輯構(gòu)件。JDBC(JavaDatabaseConnectivity,Java數(shù)據(jù)庫連接)提供了與關(guān)系型數(shù)據(jù)庫的連接,同時提供連接緩沖和分布式事務(wù),它與RMI(RemoteMethodInvocation,遠程方法調(diào)用)和JNDI(JavaNamingandDirectoryInterfaces,Java名字和目錄接口)共同構(gòu)成了分布式開發(fā)的J2EE技術(shù)。據(jù)申請人了解,現(xiàn)有的J2EE應(yīng)用系統(tǒng),通常有三層、四層或N層結(jié)構(gòu)。其中三層是將應(yīng)用程序分為客戶層(使用HTML、Applet或JavaApplication以及其他客戶程序)、中間層(使用JSP、Servlet或EJB)和資源層(包括數(shù)據(jù)庫或企業(yè)原有信息系統(tǒng))。它的特點是將JSP、Servlet和EJB中的實體Bean、會話Bean等單獨或混合應(yīng)用于中間層。四層是將三層中的中間層分為Web層(使用JSP或Servlet)和業(yè)務(wù)層(使用EJB)。它的特點是將JSP和Servlet等單獨或混合應(yīng)用于Web層;將EJB中的實體Bean和會話Bean等單獨或混合應(yīng)用于業(yè)務(wù)層。N層是將J2EE的各種技術(shù)交叉使用,使得應(yīng)用程序包含了三層、四層或其他各種體系結(jié)構(gòu)。據(jù)申請人了解,目前還沒有嚴格分為五層的體系結(jié)構(gòu)。以上現(xiàn)有的J2EE應(yīng)用程序有的結(jié)構(gòu)清晰但性能不高(如三層、四層);有的性能高但結(jié)構(gòu)不清(如N層)??傮w而言,所用到的J2EE技術(shù)比較復(fù)雜,要求編程者有較高的技術(shù)水平和編程技巧,系統(tǒng)難于實現(xiàn),難以復(fù)用。
發(fā)明內(nèi)容本發(fā)明要解決的技術(shù)問題是針對以上現(xiàn)有技術(shù)存在的問題,提出一種基于J2EE的五層體系結(jié)構(gòu)構(gòu)建方法,使基于J2EE的應(yīng)用程序具有以下特點1,結(jié)構(gòu)清晰、性能優(yōu)越、易于實現(xiàn);2,可以實現(xiàn)框架復(fù)用;3,能夠?qū)崿F(xiàn)異構(gòu)數(shù)據(jù)庫的互訪;4,具有高安全性,能夠跨越防火墻在因特網(wǎng)上使用。為了解決以上技術(shù)問題,本發(fā)明基于J2EE的五層體系結(jié)構(gòu)構(gòu)建方法包括以下步驟在計算機操作系統(tǒng)上1)、構(gòu)建數(shù)據(jù)層——建立關(guān)系型數(shù)據(jù)庫,用以存儲業(yè)務(wù)數(shù)據(jù),為相鄰上層提供服務(wù)。2)、構(gòu)建數(shù)據(jù)集成層——采用具有本地接口的容器管理持久性(ContainerManagedPersistence)實體Bean建立構(gòu)筑在數(shù)據(jù)層之上的數(shù)據(jù)集成層,每一個所述實體Bean對應(yīng)所述數(shù)據(jù)庫的一個單元,用以借助實體Bean將用會話Bean處理過的數(shù)據(jù)傳送給數(shù)據(jù)庫,以及將數(shù)據(jù)庫中的數(shù)據(jù)傳送給會話Bean。3)、構(gòu)建業(yè)務(wù)邏輯層——采用具有遠程接口的會話Bean(有狀態(tài)和無狀態(tài))建立構(gòu)筑在數(shù)據(jù)集成層之上的業(yè)務(wù)邏輯層,將密切相關(guān)的容器管理持久性實體Bean和作為包裝的會話Bean打包部署在同一個Java虛擬機中(JavaVirtualMachine)中,用以借助會話Bean將用Servlet處理過的數(shù)據(jù)傳送給實體Bean,以及將用實體Bean處理過的數(shù)據(jù)傳送給Servlet。4)、構(gòu)建界面控制層——采用服務(wù)器小程序(Servlet)建立構(gòu)筑在業(yè)務(wù)邏輯層之上的界面控制層,動態(tài)處理網(wǎng)絡(luò)HTTP請求,生成HTTP響應(yīng),處理控制流和啟動業(yè)務(wù)操作,用Servlet將用戶在JSP頁面中處理過的數(shù)據(jù)傳送給會話Bean,以及將用會話Bean處理過的數(shù)據(jù)傳送給JSP頁面。5)、構(gòu)建客戶界面層——采用Java服務(wù)器頁面(JavaServerPage)建立構(gòu)筑在界面控制層之上的客戶界面層,用JSP頁面將用戶的操作傳送給Servlet,以及將用Servlet處理過的數(shù)據(jù)傳送給用戶。本發(fā)明提出并實現(xiàn)了一個符合J2EE規(guī)范的五層體系結(jié)構(gòu)即,將在服務(wù)器中構(gòu)建起如表1所示,自底向上分別為數(shù)據(jù)層、數(shù)據(jù)集成層、業(yè)務(wù)邏輯層、界面控制層和用戶界面層的五層結(jié)構(gòu)。該體系結(jié)構(gòu)使應(yīng)用程序結(jié)構(gòu)清晰,性能優(yōu)越且易于實現(xiàn),同時可以在行業(yè)標準化的基礎(chǔ)上實現(xiàn)構(gòu)件復(fù)用。開發(fā)者用該體系結(jié)構(gòu)只需掌握簡單的JSP、Servlet、會話Bean和本地接口的CMP實體Bean的編程方法以及了解XML語言、JAAS、JNDI和JDBC就可以快速開發(fā)出性能優(yōu)越的分布式計算機應(yīng)用程序??蛻艚缑鎸覬SP界面控制層Servlet業(yè)務(wù)邏輯層會話Bean(有狀態(tài)和無狀態(tài))數(shù)據(jù)集成層具有本地接口的CMP實體Bean數(shù)據(jù)層關(guān)系型數(shù)據(jù)庫表1基于J2EE的五層體系結(jié)構(gòu)具體而言,本發(fā)明將EJB中的實體Bean和會話Bean的使用分開,采用具有本地接口的CMP實體Bean作為數(shù)據(jù)集成層,這樣可以將關(guān)系型數(shù)據(jù)庫的數(shù)據(jù)轉(zhuǎn)換成對象,并對遠程客戶隱藏其對象模型;同時由于通過會話Bean調(diào)用具有本地接口的實體Bean,使得對數(shù)據(jù)庫的多次數(shù)據(jù)值調(diào)用變?yōu)橐淮螌ο笳{(diào)用,減少網(wǎng)絡(luò)資源的消耗,提高系統(tǒng)性能。此外,還將JSP和Servlet的使用分開,用JSP處理復(fù)雜界面的表示;Servlet負責(zé)響應(yīng)用戶請求。結(jié)果,將構(gòu)建起結(jié)構(gòu)清晰的五層體系,每一層都代表特定的功能組合。底層通過提供接口支持且僅支持相鄰的上層,上層通過調(diào)用接口獲得且僅獲得相鄰底層的服務(wù),層與層之間不能交叉調(diào)用??偠灾景l(fā)明的五層體系結(jié)構(gòu)具有如下特點1系統(tǒng)的數(shù)據(jù)層采用關(guān)系型數(shù)據(jù)庫;將EJB中的實體Bean和會話Bean的使用分開2,系統(tǒng)的數(shù)據(jù)集成層采用具有本地接口的CMP實體Bean,由EJB容器自動實現(xiàn)安全、事務(wù)完整性、遠程通信和伸縮性等服務(wù)。一個實體Bean對應(yīng)數(shù)據(jù)庫中的一個表,這樣在行業(yè)標準化的基礎(chǔ)上,也即當(dāng)數(shù)據(jù)庫結(jié)構(gòu)規(guī)范化、標準化后,至少可以實現(xiàn)以實體Bean為單位的構(gòu)件復(fù)用。系統(tǒng)利用實體Bean將用會話Bean處理過的數(shù)據(jù)傳送給數(shù)據(jù)庫;反過來,系統(tǒng)也利用實體Bean將數(shù)據(jù)庫中的數(shù)據(jù)傳送給會話Bean,即,對數(shù)據(jù)庫的任何操作都必須通過且僅通過實體Bean進行。3,系統(tǒng)的業(yè)務(wù)邏輯層采用具有遠程接口的兩種會話Bean,分別是有狀態(tài)會話Bean和無狀態(tài)會話Bean。采用會話Bean作為業(yè)務(wù)邏輯層組件可以將直接訪問實體Bean的多次遠程調(diào)用變?yōu)橛脮払ean進行的一次遠程調(diào)用,即向客戶提供高級抽象,對系統(tǒng)中參與的業(yè)務(wù)對象提供粗粒訪問,這樣有利于減輕網(wǎng)絡(luò)壓力,提高系統(tǒng)性能。系統(tǒng)利用會話Bean將用Servlet處理過的數(shù)據(jù)傳送給實體Bean;反過來,系統(tǒng)也利用會話Bean將用實體Bean處理過的數(shù)據(jù)傳送給Servlet,即,對實體Bean的任何調(diào)用都必須通過且僅通過會話Bean進行。4,系統(tǒng)的界面控制層采用Servlet,Servlet負責(zé)響應(yīng)用戶請求,根據(jù)用戶的行為,決定將哪個JSP頁面發(fā)送給用戶。同時,Servlet與EJB一樣是運行在服務(wù)器端的Class文件,用戶難以修改源程序,可以提高系統(tǒng)的安全性。系統(tǒng)利用Servlet將用戶在JSP頁面中處理過的數(shù)據(jù)傳送給會話Bean;反過來,系統(tǒng)也利用Servlet將用會話Bean處理過的數(shù)據(jù)傳送給JSP頁面,即,對會話Bean的任何調(diào)用都必須通過且僅通過Servlet進行。5,系統(tǒng)的用戶界面全部采用JSP頁面,JSP只負責(zé)處理界面表示。這樣處理的優(yōu)點在于可以將開發(fā)工作分工,由專門的美工人員設(shè)計靜態(tài)頁面。系統(tǒng)利用JSP頁面將用戶的操作傳送給Servlet;反過來,系統(tǒng)也利用JSP頁面將用Servlet處理過的數(shù)據(jù)傳送給用戶,即,對Servlet的任何調(diào)用都必須通過且僅通過JSP頁面進行。同時用戶對系統(tǒng)的任何操作都必須通過且僅通過JSP頁面進行。簡言之,用本發(fā)明五層體系結(jié)構(gòu)開發(fā)的應(yīng)用系統(tǒng),用戶對數(shù)據(jù)庫的操作都必須通過且僅通過JSP頁面→Servlet→會話Bean(有狀態(tài)或無狀態(tài))→具有本地接口的CMP實體Bean→數(shù)據(jù)庫的方式進行;反過來,數(shù)據(jù)從數(shù)據(jù)庫提交給用戶也必須通過且僅通過數(shù)據(jù)庫→具有本地接口的CMP實體Bean→會話Bean(有狀態(tài)或無狀態(tài))→Servlet→JSP頁面的方式進行。采用基于J2EE的五層體系結(jié)構(gòu)實現(xiàn)的應(yīng)用系統(tǒng),結(jié)構(gòu)清晰,性能優(yōu)越,易于實現(xiàn),同時可以在行業(yè)標準化的基礎(chǔ)上實現(xiàn)構(gòu)件復(fù)用。該體系結(jié)構(gòu)本身還可以作為一個框架在應(yīng)用程序的開發(fā)中進行復(fù)用,使沒有高超編程技巧的開發(fā)者也能夠利用該體系結(jié)構(gòu)快速開發(fā)出高效的分布式企業(yè)應(yīng)用程序具體實施方式實施例一首先以構(gòu)建面向水利領(lǐng)域的基于J2EE的五層體系結(jié)構(gòu)的具體過程為例詳細說明本發(fā)明的方法。1、構(gòu)建數(shù)據(jù)層J2EE規(guī)范的最底層是企業(yè)信息系統(tǒng)層,包括企業(yè)資源規(guī)劃、數(shù)據(jù)庫系統(tǒng)等企業(yè)基礎(chǔ)設(shè)施系統(tǒng),以及JCA、JDBC等多種標準API。由于目前水利領(lǐng)域主要采用Sybase和Oracle數(shù)據(jù)庫,因此面向水利領(lǐng)域的應(yīng)用框架最底層采用關(guān)系型數(shù)據(jù)庫。J2EE容器中的JDBC(JavaDatabaseConnectivity,Java數(shù)據(jù)庫連接)為應(yīng)用程序連接到關(guān)系型數(shù)據(jù)庫提供了一個公共接口。JDBC對數(shù)據(jù)庫的訪問具有平臺無關(guān)性,解決了異構(gòu)數(shù)據(jù)庫的處理問題,從而簡化和加快了開發(fā)過程。隨著JDBC的發(fā)展,它已經(jīng)能提供如連接池、支持分布式事務(wù)等高級功能。在面向水利領(lǐng)域的應(yīng)用框架中連接Sybase和Oracle數(shù)據(jù)庫的JDBC分別采用表4.1和表4.2所示的驅(qū)動程序Drivercom.sybase.jdbc2.jdbc.SybDriverClassnameURLjdbcSybaseTds機器域名端口號/數(shù)據(jù)庫名Librarypaths數(shù)據(jù)庫安裝目錄/jConnect-5_2/classes/jconn2.jar表4.1連接Sybase數(shù)據(jù)庫的JDBC驅(qū)動程序Driveroracle.jdbc.driver.OracleDriverClassnameURLjdbcoraclethin@機器域名端口號數(shù)據(jù)庫SIDLibrarypaths數(shù)據(jù)庫安裝目錄/ora90/jdbc/lib/classes111.zip表4.2連接Oracle數(shù)據(jù)庫的JDBC驅(qū)動程序例,在數(shù)據(jù)庫中創(chuàng)建一個表T_STN。CREATETABLE″T_STN″(″STNNO″VARCHAR2(10),″CTRNO″VARCHAR2(10),″STNNM″VARCHAR2(50),″FZR″VARCHAR2(20),″LXDH″VARCHAR2(50),″DZ″VARCHAR2(100),″YZBM″VARCHAR2(10))2、構(gòu)建數(shù)據(jù)集成層數(shù)據(jù)集成層由與數(shù)據(jù)庫表一一對應(yīng)的本地接口CMP實體Bean組成。在J2EE規(guī)范中,對數(shù)據(jù)的訪問有多種方式由客戶層通過JDBC直接訪問;從Web層利用JavaBean訪問;也可以經(jīng)過業(yè)務(wù)層訪問。作為多層結(jié)構(gòu)核心的中間層,由于其擔(dān)負“承上啟下”的樞紐作用,在實際的應(yīng)用系統(tǒng)中扮演著至關(guān)重要的角色。中間層應(yīng)用在對事務(wù)完整性的保證、對大規(guī)模并發(fā)處理的響應(yīng)、對異構(gòu)系統(tǒng)互聯(lián)的透明支持,以及對應(yīng)用數(shù)據(jù)的安全性保護等方面的表現(xiàn)將成為應(yīng)用系統(tǒng)成敗的決定性因素。因此,在多層結(jié)構(gòu)的應(yīng)用開發(fā)中,中間層的實現(xiàn)是整個應(yīng)用程序的關(guān)鍵。由于J2EE規(guī)范的業(yè)務(wù)層由EJB構(gòu)件實現(xiàn),而EJB能夠自動提供對象持久性、安全性和事務(wù)管理等系統(tǒng)級服務(wù),從而極大地簡化開發(fā)過程。因此面向水利領(lǐng)域的應(yīng)用框架采用通過J2EE規(guī)范的業(yè)務(wù)層EJB構(gòu)件訪問數(shù)據(jù)庫。實體Bean是用于表示和維護數(shù)據(jù)實體的構(gòu)件,是數(shù)據(jù)庫內(nèi)數(shù)據(jù)在EJB容器里的翻版。如果一個客戶終止使用服務(wù)或J2EE應(yīng)用服務(wù)器被關(guān)閉,EJB容器會將實體Bean的數(shù)據(jù)保存到數(shù)據(jù)庫內(nèi),這就是所謂數(shù)據(jù)持久性。會話Bean主要用來描述程序的業(yè)務(wù)邏輯,一個會話Bean代表應(yīng)用程序和客戶的一次會話過程。在程序運行過程中,當(dāng)客戶執(zhí)行完操作后,會話Bean和它所使用的數(shù)據(jù)會被刪除。由于水利領(lǐng)域數(shù)據(jù)種類繁多,既包括大量空間數(shù)據(jù)也涉及大量歷史數(shù)據(jù),因此如果要求編程者自己編寫數(shù)據(jù)庫操作指令會比較困難,所以在應(yīng)用框架中對數(shù)據(jù)庫的訪問全部采用CMP實體Bean,由容器負責(zé)對數(shù)據(jù)庫的操作。同時EJB2.x的查詢語言(QL)使得CMP實體Bean的查找和選擇操作變得更為靈活和簡便。會話外觀(又稱為會話門面)設(shè)計模式是將實體Bean層包裝在一個稱為會話外觀(會話門面)的會話Bean層中,客戶端只能訪問會話Bean而不是實體Bean。采用會話外觀設(shè)計模式的優(yōu)點防止客戶與業(yè)務(wù)對象之間緊耦合;防止客戶與服務(wù)器之間的許多遠程方法調(diào)用造成網(wǎng)絡(luò)性能問題;可以減少網(wǎng)絡(luò)上服務(wù)層的業(yè)務(wù)對象數(shù)等。由于水利領(lǐng)域信息來源分布地域廣,數(shù)據(jù)傳輸處理實時性和安全性要求高,所以應(yīng)用框架在EJB層采用了能夠減輕網(wǎng)絡(luò)壓力和提高安全性的會話外觀模式,將EJB中的實體Bean和會話Bean使用徹底分開。在應(yīng)用框架中對數(shù)據(jù)庫的訪問全部采用且僅采用CMP實體Bean,將CMP實體Bean單獨作為一層——數(shù)據(jù)集成層,這樣做的另一個優(yōu)點是可以將關(guān)系型數(shù)據(jù)庫的數(shù)據(jù)轉(zhuǎn)換成對象,提供比原有數(shù)據(jù)更多的功能。EJB2.x的會話Bean和實體Bean都擁有遠程和本地兩種類別的主接口。遠程接口和本地接口的主要區(qū)別是遠程接口的調(diào)用者和被調(diào)用對象可以分布在網(wǎng)絡(luò)中,而本地接口的調(diào)用者和被調(diào)用對象必須駐留在同一JVM中。如果采用遠程接口,調(diào)用者和被調(diào)用對象即使在同一個JVM中,依然是遠程調(diào)用,遠程調(diào)用方法的參數(shù)和結(jié)果實現(xiàn)數(shù)值傳遞。分布式系統(tǒng)中的每個遠程調(diào)用都需要巨大的開銷增加網(wǎng)絡(luò)流量、需要進行安全檢查、需要進行事務(wù)擴展等等,所以運行非常緩慢。測驗表明,一個JVM中的遠程方法調(diào)用比本地方法調(diào)用慢2000倍。而且這些測量是在快速空網(wǎng)絡(luò)上進行的,普通網(wǎng)絡(luò)通信流則會進一步減慢遠程方法調(diào)用。本地調(diào)用方法的參數(shù)和結(jié)果實現(xiàn)引用傳遞,數(shù)據(jù)轉(zhuǎn)換可以在服務(wù)器本地進行,不必消耗網(wǎng)絡(luò)等資源,并可以對遠程客戶隱藏對象模型。考慮到水利信息領(lǐng)域應(yīng)用系統(tǒng)對性能和安全的特殊要求,應(yīng)用框架中數(shù)據(jù)集成層的CMP實體Bean全部采用本地接口從而避免了遠程接口所帶來的低效率,最大限度地減少實體構(gòu)件的性能開銷。由于水利領(lǐng)域的大型數(shù)據(jù)庫已經(jīng)或?qū)⒁獙崿F(xiàn)規(guī)范化,一大批以實時水情庫、工情信息數(shù)據(jù)庫、社會經(jīng)濟信息庫、圖形庫等為代表的綜合數(shù)據(jù)庫的表結(jié)構(gòu)早已確定,已經(jīng)或正在進入到數(shù)據(jù)錄入階段。因此編程人員難以在數(shù)據(jù)庫層隨意根據(jù)用戶需求建立數(shù)據(jù)之間的關(guān)系實現(xiàn)視圖功能。具有本地接口的CMP2.x實體Bean可以用抽象方法表示關(guān)系,使得視圖可以建在數(shù)據(jù)集成層。但相互關(guān)聯(lián)的CMP實體Bean在調(diào)用其中一個時,將會把與其有關(guān)聯(lián)的所有CMP實體Bean都激活,這樣會影響系統(tǒng)性能。而且,為了能夠達到軟件復(fù)用的目的,也不能在實體Bean層建立關(guān)聯(lián)。為此,數(shù)據(jù)之間的關(guān)系就只能放在會話Bean層實現(xiàn)??紤]到構(gòu)件復(fù)用的需要在CMP實體Bean的本地接口中盡可能多的定義一些查詢方法,如至少對應(yīng)數(shù)據(jù)庫表的每個字段建立一個查詢方法。綜合以上分析,面向水利信息化的中間件系統(tǒng)集成應(yīng)用框架的數(shù)據(jù)集成層采用具有本地接口的CMP實體Bean,而且一個實體Bean對應(yīng)數(shù)據(jù)庫中的一個表,這樣在水利領(lǐng)域規(guī)范化的基礎(chǔ)上數(shù)據(jù)集成層和數(shù)據(jù)層一樣可以確定不變。例,數(shù)據(jù)庫中有一個表T_STN。在數(shù)據(jù)集成層創(chuàng)建CMP實體BeanTStn;用如下語句為上層用于數(shù)據(jù)增刪改的會話Bean提供服務(wù)publicTStncreate(Stringstnno,Stringctrno,Stringstnnm,Stringfzr,String1xdh,Stringdz,Stringyzbm)throwsCreateException;//create方法的參數(shù)與數(shù)據(jù)庫表T_STN的字段一一對應(yīng);用如下語句為上層用于數(shù)據(jù)查詢的會話Bean提供服務(wù)publicCollectionfindByAll()throwsFinderException;用如下EJB查詢語句對底層數(shù)據(jù)庫表T_STN進行查詢調(diào)用SELECTOBJECT(ts)FROMTStnASts;3、構(gòu)建業(yè)務(wù)邏輯層應(yīng)用框架的業(yè)務(wù)邏輯層采用具有遠程接口的會話Bean。由于本應(yīng)用框架在EJB層采用了會話外觀設(shè)計模式,已經(jīng)將EJB層分為實體Bean和會話Bean兩層,用具有本地接口的CMP實體Bean負責(zé)數(shù)據(jù)集成。因此系統(tǒng)的業(yè)務(wù)邏輯就全部由會話Bean負責(zé)。由于水利領(lǐng)域應(yīng)用系統(tǒng)復(fù)雜,要處理氣象、水資源、水利經(jīng)濟等多種數(shù)據(jù),使得單個服務(wù)器可能無法滿足需求;同時由于水利信息采集地點覆蓋全國七大江河流域,因此有可能要在不同地理位置部署服務(wù)器,為此需要考慮多臺服務(wù)器同時提供服務(wù)。因此面向水利領(lǐng)域的應(yīng)用框架有必要在分布性和系統(tǒng)性能方面作權(quán)衡,通過集群的方式來處理龐大的應(yīng)用,這樣不僅能夠消除集中式處理存在單點故障的弱點,同時也可以降低成本??紤]到分布的需要,會話Bean采用遠程接口,將關(guān)系密切的CMP實體Bean和作為包裝的會話Bean打包部署在同一個JVM中。由于通過會話Bean調(diào)用具有本地接口的實體Bean,使得對數(shù)據(jù)庫的多次數(shù)據(jù)值調(diào)用變?yōu)橐淮螌ο笳{(diào)用,即向客戶提供高級抽象,對系統(tǒng)中參與的業(yè)務(wù)對象提供粗粒訪問,減少網(wǎng)絡(luò)資源的消耗,提高系統(tǒng)性能;而會話Bean采用遠程接口,使得EJB層可以和其它層運行在不同機器上,提高系統(tǒng)分布性。由于水利領(lǐng)域數(shù)據(jù)庫結(jié)構(gòu)的規(guī)范化,使得無法在數(shù)據(jù)層根據(jù)用戶特殊需求建立視圖;考慮到構(gòu)件復(fù)用和系統(tǒng)性能的需求不能在數(shù)據(jù)集成層采用抽象方法建立關(guān)聯(lián)的方式建立視圖。因此,只能在業(yè)務(wù)邏輯層建立視圖。具體方法1,如果視圖包括數(shù)據(jù)庫中幾個表的字段,則采取在會話Bean的一個方法中調(diào)用多個CMP實體Bean的方式建立視圖。2,如果視圖包括數(shù)據(jù)庫中一個表的某些字段,則將會話Bean方法的參數(shù)設(shè)置為與所需字段一一對應(yīng)。會話Bean主要是為客戶進行與業(yè)務(wù)邏輯相關(guān)的數(shù)據(jù)操作,根據(jù)是否支持應(yīng)用程序會話中客戶的會話狀態(tài)分為有狀態(tài)和無狀態(tài)兩種。在這里,所謂狀態(tài)就是操作中使用的數(shù)值。有狀態(tài)會話Bean能夠記載該Bean和一個特定用戶的交互過程,由于對數(shù)據(jù)的增刪改操作需要在方法調(diào)用之間保存信息,因此所有增刪改操作采用有狀態(tài)會話Bean。無狀態(tài)會話Bean相當(dāng)簡單,只是一次對一個客戶提供業(yè)務(wù)邏輯而不在方法調(diào)用之間保存客戶狀態(tài)。無狀態(tài)會話Bean所需系統(tǒng)開銷少,伸縮性好,因此用于查詢和計算等操作的會話Bean采用無狀態(tài)的,以便建立更有效的應(yīng)用程序。綜上所述,面向水利信息化的中間件系統(tǒng)集成應(yīng)用框架的業(yè)務(wù)邏輯層采用具有遠程接口的會話Bean,增刪改操作采用有狀態(tài)會話Bean,其它操作采用無狀態(tài)會話Bean。例,數(shù)據(jù)集成層有一個CMP實體BeanTStn;在業(yè)務(wù)邏輯層創(chuàng)建用于增刪改操作的有狀態(tài)會話Beanzsg用如下語句調(diào)用下層CMP實體BeanTStn提供的服務(wù)InitialContextinitCtx=newInitialContext();TStnHomehome=(TStnHome)initCtx.lookup(″TStn″);TStnreturnTStn=home.create(stnno,ctrno,stnnm,fzr,lxdh,dz,yzbm);用如下語句為上層提供服務(wù)publicvoidaddTStn(java.lang.Stringstnno,java.lang.Stringctrno,java.lang.Stringstnnm,java.lang.Stringfzr,java.lang.Stringlxdh,java.lang.Stringdz,java.lang.Stringyzbm)throwsRemoteException;在業(yè)務(wù)邏輯層創(chuàng)建用于查詢的無狀態(tài)會話Beancx用如下語句調(diào)用下層CMP實體BeanTStn提供的服務(wù)InitialContextctx=newInitialContext();TStnHomehome=(TStnHome)ctx.lookup(″TStn″);Collectionresult=home.findByAll();用如下語句為上層提供服務(wù)publicCollectiongetAll_TStn()throwsRemoteException;4、構(gòu)建界面控制層應(yīng)用框架的界面控制層采用Servlet。由于基于Web的J2EE應(yīng)用程序具有減輕客戶機的負擔(dān),降低對客戶機的軟、硬件配置要求以及減少給客戶機安裝軟件的麻煩等優(yōu)點,因此應(yīng)用框架選用通過Web層調(diào)用EJB層的服務(wù)。Servlet(服務(wù)器小程序)和JSP(JavaServerPages,Java服務(wù)器動態(tài)網(wǎng)頁技術(shù))是J2EEWeb層的主要技術(shù)。Web層主要用來處理HTTP(HypertextTransferProtocol,超文本傳輸協(xié)議)請求,根據(jù)Web服務(wù)器內(nèi)的Servlet和JSP動態(tài)生成HTTP的響應(yīng)。由于設(shè)計不良的Web接口將導(dǎo)致應(yīng)用的無法維護和整個系統(tǒng)的失敗,因此有必要討論Web層的設(shè)計,以保證Web接口既簡單又可維護。造成水利領(lǐng)域Web層開發(fā)困難的原因有1,Web接口經(jīng)常變化由于水利系統(tǒng)應(yīng)用程序的用戶廣泛,不同的用戶對Web應(yīng)用的視覺效果要求不同,但Web接口的變化不一定改變工作流程。成功的水利領(lǐng)域應(yīng)用應(yīng)該能夠容納這種變化,同時又無需修改業(yè)務(wù)對象甚至Web層控制代碼。2,Web接口牽涉到復(fù)雜的頁面表示典型的水利領(lǐng)域的用戶界面可能包含氣象云圖、電子地圖、雨量等值線圖等復(fù)雜的頁面表示,通常只有內(nèi)容的一小部分是動態(tài)的。因此有必要區(qū)分開頁面開發(fā)人員和Java開發(fā)人員的任務(wù),使頁面開發(fā)人員專門負責(zé)靜態(tài)頁面的設(shè)計,而由Java開發(fā)人員負責(zé)動態(tài)內(nèi)容的控制。3,存在許多效率考慮因素通常,我們無法限制或預(yù)知使用一個水利領(lǐng)域Web應(yīng)用的用戶數(shù)量。為此,系統(tǒng)的性能和一致性在水利領(lǐng)域Web應(yīng)用中可能都是非常重要的。在J2EE規(guī)范中對Servlet和JSP兩種Web技術(shù)也有多種使用方式。MVC(Model-View-Controller,模型-視圖-控制器)模式將數(shù)據(jù)(模型)與信息的表示(視圖)分開,在此兩者之間是控制器用于控制信息流。根據(jù)這三者之間彼此的交互為基礎(chǔ)設(shè)計應(yīng)用程序。MVC模式使得每種構(gòu)件類型都有一個明確的責(zé)任模型不含有視圖特定的代碼;視圖不含有控制代碼或數(shù)據(jù)訪問代碼,只集中精力顯示數(shù)據(jù);控制器創(chuàng)建并更新模型,它們不依賴于特定的視圖實現(xiàn)。由于應(yīng)用框架已經(jīng)將業(yè)務(wù)邏輯全部交由會話Bean處理,因此,Web層不必再考慮數(shù)據(jù)模型的問題。由于水利領(lǐng)域Web應(yīng)用的復(fù)雜性因此應(yīng)用框架采用MVC模式將Web層完全分離為功能不同的兩層控制器(界面控制層),視圖(客戶界面層)。例,在業(yè)務(wù)邏輯層有一個會話Beanzsg在界面控制層創(chuàng)建用于數(shù)據(jù)錄入的Servletservlet_tstn_lr;用如下語句調(diào)用下層會話Beanzsg提供的服務(wù)InitialContextctx=newInitialContext();ObjectobjRef=ctx.lookup(″zsg″);zsgHomehome(zsgHome)javax.rmi.PortableRemoteObject.narrow(objRef,zsgHome.class);zsgcust=home.create();cust.addTStn(stnno,ctrno,stnnm,fzr,lxdh,dz,yzbm);用如下語句控制客戶界面層RequestDispatcherrdgetServletContext().getRequestDispatcher(goTo);goTo=″客戶界面URL″;在業(yè)務(wù)邏輯層有一個會話Beancx在界面控制層創(chuàng)建用于數(shù)據(jù)查詢的Servletservlet_tstn_cx;用如下語句調(diào)用下層會話Beancx提供的服務(wù)InitialContextctx=newInitialContext();ObjectobjRef=ctx.lookup(″cx″);cxHomehome=(cxHome)javax.rmi.PortableRemoteObject.narrow(objRef,cxHome.class);cxcust=home.getAll_TStn();5、構(gòu)建客戶界面層應(yīng)用框架的客戶界面層采用JSP頁面。由于應(yīng)用框架采用MVC模式已經(jīng)將Web層分為控制器和視圖兩層,用不帶顯示頁面功能的Servlet作控制器負責(zé)Web界面控制。因此系統(tǒng)的客戶界面層就全部由視圖負責(zé),這樣,無論使用何種視圖技術(shù),都不必修改控制器中的代碼??刂破髋c視圖完全分離的優(yōu)點1,它是保證分離Java開發(fā)人員和頁面開發(fā)人員角色的最佳方法;2,它保證能夠在不影響應(yīng)用程序控制流程的情況下修改Web界面的表示;3,它允許視圖合成。在視圖合成中,多個視圖的輸出結(jié)果或頁面內(nèi)容被組合起來,同時又不影響Java代碼。在J2EE規(guī)范中Servlet和JSP都可以靜態(tài)和動態(tài)地生成網(wǎng)頁。Servlet雖然提供了全面的動態(tài)生成網(wǎng)頁內(nèi)容的功能,但這種技術(shù)有幾個不足之處由于Servlet是純Java代碼,因此開發(fā)人員必須有足夠的Java編程能力;在Servlet中用很多繁雜的println命令生成HTML代碼比較麻煩,當(dāng)僅僅需要改變Web界面的表示時就必須重新編譯和部署Servlet程序;在Servlet程序的調(diào)試過程中,很難所見即所得看到頁面效果。與Servlet相比,JSP提供了一種比較自然的生成網(wǎng)頁方法。它是在Servlet技術(shù)基礎(chǔ)之上發(fā)展起來的,采用基于網(wǎng)頁格式的文本語言,使得對Java技術(shù)不精通的開發(fā)人員也可以用JSP標簽編寫動態(tài)網(wǎng)頁。由于和HTML很接近,JSP技術(shù)更適合編寫Web程序的界面。而且JSP頁面不受客戶瀏覽器類型的限制,還可以跨越防火墻,因此面向水利領(lǐng)域的應(yīng)用框架最上層采用JSP頁面。例,在界面控制層有一個Servletservlet_tstn_cx;在客戶界面層創(chuàng)建一個用于數(shù)據(jù)查詢的JSP頁面tstn_cx.jsp;用如下語句和Servletservlet_tstn_cx進行連接生成動態(tài)網(wǎng)頁<formmethod=″post″action=″/servlet_tstn_cx″>理論和實踐都證明,采用以上步驟構(gòu)建的適于水利系統(tǒng)的基于J2EE的五層體系結(jié)構(gòu),結(jié)構(gòu)清晰,性能優(yōu)越,易于實現(xiàn),易于復(fù)用,具有高安全性,減少網(wǎng)絡(luò)資源耗費,在此基礎(chǔ)上的進一步開發(fā)十分方便。實施例二本實施例介紹用于某大學(xué)圖書館學(xué)位論文管理系統(tǒng)的基于J2EE的五層體系結(jié)構(gòu)構(gòu)建步驟,具體情況如下1系統(tǒng)功能由于學(xué)位論文在高校圖書館自產(chǎn)文獻中占有重要地位,而學(xué)位論文的計算機管理目前還沒有比較有效的方法。將J2EE的多層體系結(jié)構(gòu)應(yīng)用到圖書信息化領(lǐng)域,實現(xiàn)學(xué)位論文的網(wǎng)上提交,查詢和自動分類。2系統(tǒng)開發(fā)運行環(huán)境系統(tǒng)硬件環(huán)境數(shù)據(jù)庫服務(wù)器安裝Oracle9i數(shù)據(jù)庫;應(yīng)用服務(wù)器安裝BEAWebLogicServer6.1;系統(tǒng)開發(fā)微機安裝Borland公司的Jbuilder7.0作為系統(tǒng)的開發(fā)平臺。以上均采用PentiumIII微機。系統(tǒng)軟件環(huán)境操作系統(tǒng)Windows2000Server;數(shù)據(jù)庫管理系統(tǒng)美國Oracle9i數(shù)據(jù)庫管理系統(tǒng);系統(tǒng)開發(fā)工具Jbuilder7.0;系統(tǒng)部署工具WebLogic6.1。3系統(tǒng)體系結(jié)構(gòu)實現(xiàn)了一個符合J2EE規(guī)范的五層體系結(jié)構(gòu)即,將應(yīng)用程序自底向上分為五層數(shù)據(jù)層、數(shù)據(jù)集成層、業(yè)務(wù)邏輯層、界面控制層和用戶界面層。各層具體敘述如下3.1數(shù)據(jù)層本系統(tǒng)的數(shù)據(jù)層采用Oracle9i,具體的庫結(jié)構(gòu)如表3所示。表名備注jb學(xué)位論文提交簡表(論文封面內(nèi)容)fb學(xué)位論文副表(論文內(nèi)封面內(nèi)容)zy摘要表(論文中,英文摘要)gjc關(guān)鍵詞表(論文中,英文關(guān)鍵詞)ckwx參考文獻(學(xué)位論文參考文獻表)flh分類表(根據(jù)專業(yè)由系統(tǒng)自動給出論文的中圖法和UDC分類號)dz讀者表(記錄學(xué)位論文被借閱信息)tmb學(xué)位論文館藏提名表slfb水利法分類表(根據(jù)關(guān)鍵詞由系統(tǒng)自動給出論文的水利法分類號)KL口令表表3學(xué)位論文管理系統(tǒng)數(shù)據(jù)庫結(jié)構(gòu)用XML文件描述的JNDI和JDBC與數(shù)據(jù)庫的連接<?xmlversion=″1.0″encoding=″UTF-8″?>............<jndi-definitions><jndi-name>serial//datasources/syq_xwlw</jndi-name>............<datasource-class-name>com.inprise.visitransact.jdbclw2.InpriseConnectionPoolDataSource</datasource-class-name>............<property><prop-name>url</prop-name><prop-type>String</prop-type><prop-value>jdbcodbcsyq_xwlw</prop-value></property>//odbc數(shù)據(jù)源<property><prop-name>driverClassName</prop-name><prop-type>String</prop-type><prop-value>sun.jdbc.odbc.JdbcOdbcDriver</prop-value></property>//JDBC-ODBC橋</driver-datasource></jndi-definitions>3.2數(shù)據(jù)集成層本系統(tǒng)的數(shù)據(jù)集成層采用具有本地接口的CMP2.0實體Bean實現(xiàn)。為了能夠?qū)崿F(xiàn)構(gòu)件復(fù)用,對應(yīng)學(xué)位論文數(shù)據(jù)庫中的每一個表建一個CMP2.0實體Bean。例,實體BeanJb用XML文件描述如下(其他實體Bean與其類似)<display-name>Jb</display-name>//實體BeanJb部署時的JNDI;<ejb-name>Jb</ejb-name>//與學(xué)位論文提交簡表jb相關(guān)的實體BeanJb的名字;<local-home>syq_xwlw.JbHome</local-home>//實體BeanJb的本地主接口;<local>syq_xwlw.Jb</local>//實體BeanJb的本地構(gòu)件接口;<ejb-class>syq_xwlw.JbBean</ejb-class>//實體BeanJb的實現(xiàn)類;<persistence-type>Container</persistence-type>//實體BeanJb的持久性由容器管理;<cmp-version>2.0</cmp-version>//實體BeanJb遵循EJB2.0規(guī)范;在Jb的本地接口JbHome中有如下語句,為上層會話Bean提供服務(wù)publicJbfindByPrimaryKey(Stringxh)throwsFinderException;用如下語句,對底層數(shù)據(jù)庫表jb進行查詢調(diào)用;SELECTOBJECT(j)FROMJbASjWHEREj.xh=?1;3.3業(yè)務(wù)邏輯層學(xué)位論文管理系統(tǒng)所用的EJB構(gòu)件采用會話門面設(shè)計模式。用會話Bean向客戶提供高級抽象,對系統(tǒng)中參與的業(yè)務(wù)對象提供粗粒訪問;用實體Bean抽象數(shù)據(jù)源,并提供數(shù)據(jù)的透明訪問。因此本系統(tǒng)用會話Bean連接界面控制層的Servlet和數(shù)據(jù)集成層的實體Bean。會話Bean用如下語句與下層實體Bean進行連接//與學(xué)位論文提交簡表相關(guān)的實體BeanJbHome聯(lián)系sessionContext=newInitialContext();JbHomehome=(JbHome)sessionContext.lookup(″Jb″);returnJb=home.findByPrimaryKey(xh);//Jb的關(guān)鍵詞是xh本系統(tǒng)采用的四個會話Bean(dl、cx、tj、fl)全部采用遠程接口,使得部署和發(fā)布EJB的應(yīng)用服務(wù)器可以和部署和發(fā)布JSP及Servlet的Web服務(wù)器駐留在不同的物理服務(wù)器上。3.4界面控制層本系統(tǒng)用Servlet作為JSP和會話Bean之間的連接。在Servlet中用如下語句和上層JSP進行連接publicvoiddoGet(HttpServletRequestreq,HttpServletResponseres)throwsIOException,ServletException{RequestDispatcherrd=getServletContext().getRequestDispatcher(″/dl.jsp″);rd.forward(req,res);}用如下語句和與下層用戶驗證的會話Beandl相聯(lián)系InitialContextctx=newInitialContext();ObjectobjRef=ctx.lookup(″dl″);dlHomedHome=(dlHome)javax.rmi.PortableRemoteObject.narrow(objRef,dlHome.class);dld=dHome.create();3.5客戶界面層系統(tǒng)的用戶界面全部采用JSP頁面,JSP只負責(zé)處理界面表示。這樣處理的優(yōu)點在于可以將開發(fā)工作分工,由專門的美工人員設(shè)計靜態(tài)頁面。在JSP中使用如下語句和下層Servlet進行連接<formmethod=″post″action=″/servlet_dl″>實時工情數(shù)據(jù)庫查詢系統(tǒng)和某大學(xué)圖書館學(xué)位論文管理系統(tǒng)用戶登錄的功能已經(jīng)被復(fù)用,即已經(jīng)實現(xiàn)從JSP頁面dl.jsp;dl-err.jsp→Servletservlet_dl→無狀態(tài)會話Beandl→具有本地接口的CMP實體BeanK1→數(shù)據(jù)庫中的表KL的整體功能模塊為單位的構(gòu)件復(fù)用。除上述實施例外,本發(fā)明還可以有其他實施方式。凡采用等同替換或等效變換形成的技術(shù)方案,均落在本發(fā)明要求的保護范圍。權(quán)利要求1.一種基于J2EE的五層體系結(jié)構(gòu)構(gòu)建方法,包括以下步驟在計算機操作系統(tǒng)上1)、構(gòu)建數(shù)據(jù)層——建立關(guān)系型數(shù)據(jù)庫,用以存儲業(yè)務(wù)數(shù)據(jù),為相鄰上層提供服務(wù);2)、構(gòu)建數(shù)據(jù)集成層——采用具有本地接口的容器管理持久性實體Bean建立構(gòu)筑在數(shù)據(jù)層之上的數(shù)據(jù)集成層,每一個所述實體Bean對應(yīng)所述數(shù)據(jù)庫的一個單元,用以借助實體Bean將用會話Bean處理過的數(shù)據(jù)傳送給數(shù)據(jù)庫,以及將數(shù)據(jù)庫中的數(shù)據(jù)傳送給會話Bean。3)、構(gòu)建業(yè)務(wù)邏輯層——采用具有遠程接口的會話Bean建立構(gòu)筑在數(shù)據(jù)集成層之上的業(yè)務(wù)邏輯層,將密切相關(guān)的容器管理持久性實體Bean和作為包裝的會話Bean打包部署在同一個Java虛擬機中,用以借助會話Bean將用Servlet處理過的數(shù)據(jù)傳送給實體Bean,以及將用實體Bean處理過的數(shù)據(jù)傳送給Servlet;4)、構(gòu)建界面控制層——采用Servlet建立構(gòu)筑在業(yè)務(wù)邏輯層之上的界面控制層,用以動態(tài)處理網(wǎng)絡(luò)HTTP請求,生成HTTP響應(yīng),處理控制流和啟動業(yè)務(wù)操作,借助Servlet將用戶在Java服務(wù)器頁面中處理過的數(shù)據(jù)傳送給會話Bean,以及將用會話Bean處理過的數(shù)據(jù)傳送給Java服務(wù)器頁面;5)、構(gòu)建客戶界面層——采用Java服務(wù)器頁面建立構(gòu)筑在界面控制層之上的客戶界面層,用以借助Java服務(wù)器頁面將用戶的操作傳送給Servlet,以及將用Servlet處理過的數(shù)據(jù)傳送給用戶。2.根據(jù)權(quán)利要求1所述基于J2EE的五層體系結(jié)構(gòu)構(gòu)建方法,其特征在于采用MVC模式將Web層完全分離為功能不同的界面控制層和客戶界面層。3.根據(jù)權(quán)利要求1所述基于J2EE的五層體系結(jié)構(gòu)構(gòu)建方法,其特征在于所述數(shù)據(jù)集成層由EJB容器自動實現(xiàn)安全、事務(wù)完整性、遠程通信和伸縮性服務(wù)。4.根據(jù)權(quán)利要求1所述基于J2EE的五層體系結(jié)構(gòu)構(gòu)建方法,其特征在于所述數(shù)據(jù)集成層通過具有本地接口的實體Bean訪問數(shù)據(jù)層。5.根據(jù)權(quán)利要求1所述基于J2EE的五層體系結(jié)構(gòu)構(gòu)建方法,其特征在于所述業(yè)務(wù)邏輯層的增刪改操作采用有狀態(tài)會話Bean;用于查詢和計算操作采用無狀態(tài)的會話Bean。6.根據(jù)權(quán)利要求5所述基于J2EE的五層體系結(jié)構(gòu)構(gòu)建方法,其特征在于所述業(yè)務(wù)邏輯層按以下步驟建立視圖,如果視圖包括數(shù)據(jù)庫中二個以上表的字段,則采取在會話Bean的一個方法中調(diào)用二個個以上CMP實體Bean的方式建立視圖;如果視圖包括數(shù)據(jù)庫中一個表的字段,則將會話Bean的參數(shù)設(shè)置為與所需字段一一對應(yīng)。7.根據(jù)權(quán)利要求5所述基于J2EE的五層體系結(jié)構(gòu)構(gòu)建方法,其特征在于所述業(yè)務(wù)邏輯層用會話Bean提供高級抽象,對系統(tǒng)中參與的業(yè)務(wù)對象提供粗粒訪問;用實體Bean抽象數(shù)據(jù)源,并提供數(shù)據(jù)的透明訪問。8.根據(jù)權(quán)利要求7所述基于J2EE的五層體系結(jié)構(gòu)構(gòu)建方法,其特征在于所述會話Bean全部采用遠程接口,部署和發(fā)布EJB的應(yīng)用服務(wù)器可以和部署和發(fā)布JSP及Servlet的Web服務(wù)器駐留在不同的物理服務(wù)器上。全文摘要本發(fā)明涉及一種基于J2EE的五層體系結(jié)構(gòu)構(gòu)建方法,屬于分布式計算機應(yīng)用
技術(shù)領(lǐng)域
。本發(fā)明提出并實現(xiàn)了一個符合J2EE規(guī)范的五層體系結(jié)構(gòu)即將在服務(wù)器中構(gòu)建自底向上分別為數(shù)據(jù)層、數(shù)據(jù)集成層、業(yè)務(wù)邏輯層、界面控制層和用戶界面層的五層結(jié)構(gòu)。該體系結(jié)構(gòu)使應(yīng)用程序結(jié)構(gòu)清晰,性能優(yōu)越且易于實現(xiàn),具有高安全性,減少網(wǎng)絡(luò)資源耗費,同時可以在行業(yè)標準化的基礎(chǔ)上實現(xiàn)構(gòu)件復(fù)用,使沒有高超編程技巧的開發(fā)者也能夠利用該體系結(jié)構(gòu)快速開發(fā)出高效、安全、可靠、可伸縮和易于管理的分布式企業(yè)應(yīng)用程序。文檔編號G06F9/46GK1560741SQ200410014139公開日2005年1月5日申請日期2004年2月23日優(yōu)先權(quán)日2004年2月23日發(fā)明者史宇清申請人:史宇清
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
长泰县| 阆中市| 贵南县| 泰州市| 桐城市| 靖西县| 东兰县| 木里| 隆子县| 桂平市| 吴堡县| 内乡县| 新平| 陇川县| 突泉县| 昆明市| 房山区| 嘉定区| 新余市| 页游| 桃园市| 泸水县| 白银市| 湾仔区| 南通市| 新乡县| 德化县| 福贡县| 迁西县| 扎兰屯市| 玉田县| 哈巴河县| 冷水江市| 蒲城县| 洱源县| 龙川县| 铁岭市| 永新县| 乌兰浩特市| 靖宇县| 林芝县|