J2EE系統(tǒng)設(shè)計方案_第1頁
J2EE系統(tǒng)設(shè)計方案_第2頁
J2EE系統(tǒng)設(shè)計方案_第3頁
J2EE系統(tǒng)設(shè)計方案_第4頁
J2EE系統(tǒng)設(shè)計方案_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、J2EE系統(tǒng)技術(shù)方案J2EE系統(tǒng)技術(shù)方案1一、技術(shù)平臺21.J2EE的概念32.J2EE的優(yōu)勢33.J2EE相關(guān)核心技術(shù)44.輕量級J2EE架構(gòu)5二、應(yīng)用部署架構(gòu)61.服務(wù)器操作系統(tǒng)62.Web服務(wù)器架構(gòu)63.系統(tǒng)數(shù)據(jù)庫6三、開發(fā)關(guān)鍵技術(shù)71.軟件版本與工具72.主要技術(shù)方案83.業(yè)務(wù)邏輯層94.數(shù)據(jù)持久層95.域?qū)ο髮?6.WEB層107.任務(wù)調(diào)度108.Ajax技術(shù)10四、系統(tǒng)緩存101.一般緩存策略102.Hibernate二級緩存113.JSP頁面緩存11五、軟件成本比較11一、 技術(shù)平臺J2EE(Java 2 Enterprise Edition)是建立在Java 2平臺上的企業(yè)級應(yīng)

2、用的解決方案。J2EE技術(shù)的基礎(chǔ)便是Java 2平臺,不但有J2SE平臺的所有功能,同時還提供了對EJB,Servlet,JSP,XML等技術(shù)的全面支持,其最終目標(biāo)是成為一個支持企業(yè)級應(yīng)用開發(fā)的體系結(jié)構(gòu),簡化企業(yè)解決方案的開發(fā),部署和管理等復(fù)雜問題。事實上,J2EE已經(jīng)成為企業(yè)級開發(fā)的工業(yè)標(biāo)準(zhǔn)和首選平臺。市場上可以看到很多實現(xiàn)了J2EE的產(chǎn)品,如BEA WebLogic,IBM WebSphere以及開源的JBoss等等。J2EE并非一個產(chǎn)品,而是一系列的標(biāo)準(zhǔn),它是由sun公司提出的,符合這個標(biāo)準(zhǔn)的產(chǎn)品叫實現(xiàn)。 1. J2EE的概念 目前,Java 2平臺有3個版本,它們是適用于小型設(shè)備和智能

3、卡的Java 2平臺Micro版(Java 2 Platform Micro Edition,J2ME)、適用于桌面系統(tǒng)的Java 2平臺標(biāo)準(zhǔn)版(Java 2 Platform Standard Edition,J2SE)、適用于創(chuàng)建服務(wù)器應(yīng)用程序和服務(wù)的Java2平臺企業(yè)版(Java 2 Platform Enterprise Edition,J2EE)。 J2EE是一種利用Java 2平臺來簡化企業(yè)解決方案的開發(fā)、部署和管理相關(guān)的復(fù)雜問題的體系結(jié)構(gòu)。J2EE技術(shù)的基礎(chǔ)就是核心Java平臺或Java 2平臺的標(biāo)準(zhǔn)版,J2EE不僅鞏固了標(biāo)準(zhǔn)版中的許多優(yōu)點,例如編寫一次、隨處運(yùn)行的特性、方便存取

4、數(shù)據(jù)庫的JDBC API、CORBA技術(shù)以及能夠在Internet應(yīng)用中保護(hù)數(shù)據(jù)的安全模式等等,同時還提供了對 EJB(Enterprise JavaBeans)、Java Servlets API、JSP(Java Server Pages)以及XML技術(shù)的全面支持。其最終目的就是成為一個能夠使企業(yè)開發(fā)者大幅縮短投放市場時間的體系結(jié)構(gòu)。 J2EE體系結(jié)構(gòu)提供中間層集成框架用來滿足無需太多費(fèi)用而又需要高可用性、高可靠性以及可擴(kuò)展性的應(yīng)用的需求。通過提供統(tǒng)一的開發(fā)平臺,J2EE降低了開發(fā)多層應(yīng)用的費(fèi)用和復(fù)雜性,同時提供對現(xiàn)有應(yīng)用程序集成強(qiáng)有力支持,完全支持Enterprise JavaBeans

5、,有良好的向?qū)еС执虬筒渴饝?yīng)用,添加目錄支持,增強(qiáng)了安全機(jī)制,提高了性能。2. J2EE的優(yōu)勢 J2EE為搭建具有可伸縮性、靈活性、易維護(hù)性的商務(wù)系統(tǒng)提供了良好的機(jī)制。 這之所以成為可能是因為J2EE擁有廣泛的業(yè)界支持和一些重要的企業(yè)計算領(lǐng)域供應(yīng)商的參與。每一個供應(yīng)商都對現(xiàn)有的客戶提供了不用廢棄已有投資,進(jìn)入可移植的J2EE領(lǐng)域的升級途徑。由于基于J2EE平臺的產(chǎn)品幾乎能夠在任何操作系統(tǒng)和硬件配置上運(yùn)行,現(xiàn)有的操作系統(tǒng)和硬件也能被保留使用。 高效的開發(fā): J2EE允許公司把一些通用的、很繁瑣的服務(wù)端任務(wù)交給中間件供應(yīng)商去完成。這樣開發(fā)人員可以集中精力在如何創(chuàng)建商業(yè)邏輯上,相應(yīng)地縮短了開發(fā)時間

6、。高級中間件供應(yīng)商提供以下這些復(fù)雜的中間件服務(wù)。 狀態(tài)管理服務(wù):讓開發(fā)人員寫更少的代碼,不用關(guān)心如何管理狀態(tài),這樣能夠更快地完成程序開發(fā)。 持續(xù)性服務(wù):讓開發(fā)人員不用對數(shù)據(jù)訪問邏輯進(jìn)行編碼就能編寫應(yīng)用程序,能生成更輕巧,與數(shù)據(jù)庫無關(guān)的應(yīng)用程序,這種應(yīng)用程序更易于開發(fā)與維護(hù)。 分布式共享數(shù)據(jù)對象CACHE服務(wù) - 讓開發(fā)人員編制高性能的系統(tǒng),極大提高整體部署的伸縮性。 支持異構(gòu)環(huán)境: J2EE能夠開發(fā)部署在異構(gòu)環(huán)境中的可移植程序?;贘2EE的應(yīng)用程序不依賴任何特定操作系統(tǒng)、中間件、硬件。因此設(shè)計合理的基于J2EE的程序只需開發(fā)一次就可部署到各種平臺。這在典型的異構(gòu)企業(yè)計算環(huán)境中是十分關(guān)鍵的。J

7、2EE標(biāo)準(zhǔn)也允許客戶訂購與J2EE兼容的第三方的現(xiàn)成的組件,把他們部署到異構(gòu)環(huán)境中,節(jié)省了由自己制訂整個方案所需的費(fèi)用。 可伸縮性: 企業(yè)必須要選擇一種服務(wù)器端平臺,這種平臺應(yīng)能提供極佳的可伸縮性去滿足那些在他們系統(tǒng)上進(jìn)行商業(yè)運(yùn)作的大批新客戶。基于J2EE平臺的應(yīng)用程序可被部署到各種操作系統(tǒng)上。例如可被部署到高端UNIX與大型機(jī)系統(tǒng),這種系統(tǒng)單機(jī)可支持64至256個處理器。(這是NT服務(wù)器所望塵莫及的)J2EE領(lǐng)域的供應(yīng)商提供了更為廣泛的負(fù)載平衡策略。能消除系統(tǒng)中的瓶頸,允許多臺服務(wù)器集成部署。這種部署可達(dá)數(shù)千個處理器,實現(xiàn)可高度伸縮的系統(tǒng),滿足未來商業(yè)應(yīng)用的需要。 穩(wěn)定的可用性: J2EE部

8、署到可靠的操作環(huán)境中,支持長期的可用性。一些J2EE部署在WINDOWS環(huán)境中,客戶也可選擇健壯性能更好的操作系統(tǒng)如Linux,Sun Solaris、IBM OS/390。3. J2EE相關(guān)核心技術(shù)J2EE的各種組件、服務(wù)和API,進(jìn)行更加詳細(xì)的闡述,在開發(fā)不同類型的企業(yè)級應(yīng)用時,根據(jù)各自需求和目標(biāo)的不同,應(yīng)當(dāng)如何靈活使用并組合不同的組件和服務(wù)。l Servlet Servlet是Java平臺上的CGI技術(shù)。Servlet在服務(wù)器端運(yùn)行,動態(tài)地生成Web頁面。與傳統(tǒng)的CGI和許多其它類似CGI的技術(shù)相比,Java Servlet具有更高的效率并更容易使用。對于Servlet,重復(fù)的請求不會導(dǎo)

9、致同一程序的多次轉(zhuǎn)載,它是依靠線程的方式來支持并發(fā)訪問的。l JSP JSP(Java Server Page)是一種實現(xiàn)普通靜態(tài)HTML和動態(tài)頁面輸出混合編碼的技術(shù)。從這一點來看,非常類似Microsoft ASP、PHP等技術(shù)。借助形式上的內(nèi)容和外觀表現(xiàn)的分離,Web頁面制作的任務(wù)可以比較方便地劃分給頁面設(shè)計人員和程序員,并方便地通過JSP來合成。在運(yùn)行時態(tài),JSP將會被首先轉(zhuǎn)換成Servlet,并以Servlet的形態(tài)編譯運(yùn)行,因此它的效率和功能與Servlet相比沒有差別,一樣具有很高的效率。l JDBC JDBC(Java Database Connectivity,Java數(shù)據(jù)庫連

10、接)API是一個標(biāo)準(zhǔn)SQL(Structured Query Language,結(jié)構(gòu)化查詢語言)數(shù)據(jù)庫訪問接口,它使數(shù)據(jù)庫開發(fā)人員能夠用標(biāo)準(zhǔn)Java API編寫數(shù)據(jù)庫應(yīng)用程序。JDBC API主要用來連接數(shù)據(jù)庫和直接調(diào)用SQL命令執(zhí)行各種SQL語句。利用JDBC API可以執(zhí)行一般的SQL語句、動態(tài)SQL語句及帶IN和OUT參數(shù)的存儲過程。Java中的JDBC相當(dāng)與Microsoft平臺中的ODBC(Open Database Connectivity)。l JMS JMS(Java Message Service,Java消息服務(wù))是一組Java應(yīng)用接口,它提供創(chuàng)建、發(fā)送、接收、讀取消息的服

11、務(wù)。JMS API定義了一組公共的應(yīng)用程序接口和相應(yīng)語法,使得Java應(yīng)用能夠和各種消息中間件進(jìn)行通信,這些消息中間件包括IBM MQ-Series、Microsoft MSMQ及純Java的SonicMQ。通過使用JMS API,開發(fā)人員無需掌握不同消息產(chǎn)品的使用方法,也可以使用統(tǒng)一的JMS API來操縱各種消息中間件。通過使用JMS,能夠最大限度地提升消息應(yīng)用的可移植性。 JMS既支持點對點的消息通信,也支持發(fā)布/訂閱式的消息通信。l JNDI 由于J2EE應(yīng)用程序組件一般分布在不同的機(jī)器上,所以需要一種機(jī)制以便于組件客戶使用者查找和引用組件及資源。在J2EE體系中,使用JNDI(Java

12、 Naming and Directory Interface)定位各種對象,這些對象包括EJB、數(shù)據(jù)庫驅(qū)動、JDBC數(shù)據(jù)源及消息連接等。JNDI API為應(yīng)用程序提供了一個統(tǒng)一的接口來完成標(biāo)準(zhǔn)的目錄操作,如通過對象屬性來查找和定位該對象。由于JNDI是獨立于目錄協(xié)議的,應(yīng)用還可以使用JNDI訪問各種特定的目錄服務(wù),如LDAP、NDS和DNS等。4. 輕量級J2EE架構(gòu)目前 J2EE 應(yīng)用中,由于應(yīng)用需求不同,架構(gòu)設(shè)計上分成兩種設(shè)計方式,即重量級J2EE架構(gòu)和輕量級J2EE架構(gòu)。銀行,電信,大型企業(yè)的業(yè)務(wù)系統(tǒng)邏輯復(fù)雜,結(jié)點分布廣泛,且普遍使用了物理上多層架構(gòu),事務(wù)要求性極高,對系統(tǒng)的穩(wěn)定性要求

13、也是極高的,因此大多數(shù)使用重量級的EJB開發(fā)架構(gòu)。一般的中小型應(yīng)用系統(tǒng),所關(guān)注的是訪問速度與快速響應(yīng)市場需求變化,強(qiáng)大的系統(tǒng)緩存功能,傳統(tǒng)的大型分布式J2EE架構(gòu)就顯得不太合適。本系統(tǒng)的開發(fā)基于 J2EE 的輕量級多層架構(gòu),即業(yè)界比較成熟的 Struts2 + Spring + Hibernate 框架: Struts2實現(xiàn) MVC 最為成熟的框架之一,在 J2EE 項目中應(yīng)用廣泛; Spring 可以實現(xiàn)對 Hibernate 的無縫鏈接,適用于業(yè)務(wù)處理層;在數(shù)據(jù)持久層中,采用Hibernate 這一功能強(qiáng)大的 ORM 映射工具。J2EE的三層結(jié)構(gòu)在業(yè)界是指表示層(Presentation)

14、,業(yè)務(wù)邏輯層(Business logic)以及基礎(chǔ)架構(gòu)層(Infrastructure)。一個最常用的擴(kuò)展就是將三層體系擴(kuò)展為五層體系,即表示層(Presentation)、控制/中介層(Controller/Mediator) 、領(lǐng)域?qū)?Domain)、 數(shù)據(jù)持久層(Data Persistence) 和數(shù)據(jù)源層(Data Source)。它其實是在三層架構(gòu)中增加了兩個中間層??刂?中介層位于表示層和領(lǐng)域?qū)又g,數(shù)據(jù)持久層位于領(lǐng)域?qū)雍突A(chǔ)架構(gòu)層之間。而輕量級架構(gòu)Struts2 + Spring + Hibernate可以實現(xiàn)J2EE多層結(jié)構(gòu),Struts2用于表示層、控制層,Spring

15、用于業(yè)務(wù)處理層,而Hibernate用于數(shù)據(jù)持久層。二、 應(yīng)用部署架構(gòu)1. 服務(wù)器操作系統(tǒng)GSR系統(tǒng)將運(yùn)行在Linux操作系統(tǒng),Linux最大的優(yōu)點在于它作為服務(wù)器操作系統(tǒng)的強(qiáng)大功能,還有它的可靠的性能,穩(wěn)定性與網(wǎng)絡(luò)安全性,是大型企業(yè)和網(wǎng)絡(luò)中心加高服務(wù)器首選的操作系統(tǒng),它提供了最常用最廣泛使用的諸如負(fù)載均衡,遠(yuǎn)程鏡像等集成解決方案。J2EE作為一種跨操作系統(tǒng)平臺的應(yīng)用系統(tǒng)平臺,在Linux上面可以表現(xiàn)出非常好的性能。2. Web服務(wù)器架構(gòu)JBoss是一個運(yùn)行EJB的健壯的、高質(zhì)量的和性能良好的J2EE應(yīng)用服務(wù)器。它是開放源代碼的項目,遵循最新的J2EE規(guī)范。從JBoss項目開始至今,它已經(jīng)從一

16、個EJB容器發(fā)展成為一個基于的J2EE的一個web 操作系統(tǒng)。 具有革命性的JMX微內(nèi)核服務(wù)作為其總線結(jié)構(gòu); 面向服務(wù)的架構(gòu)(Service-Oriented Architecture,SOA); 具有統(tǒng)一的類裝載器,從而能夠?qū)崿F(xiàn)應(yīng)用的熱部署和熱卸載能力。 JBoss集成了Tomcat做為Web服務(wù)器,Tomcat優(yōu)點是免費(fèi),實現(xiàn)J2ee規(guī)范最好的應(yīng)用服務(wù)器,可以極大地降低甲方的運(yùn)營成本。 Tomcat 是 Apache 的核心項目之一,也被 SUN 視作 Servlet/JSP 容器的一個重要參考實現(xiàn)而加以支持。因此 SUN 最新的 Servlet/JSP 規(guī)范,往往能夠很快地在 Tomca

17、t 的新版本中得到體現(xiàn); Tomcat 是一個小巧精致的 web 應(yīng)用服務(wù)器,配置、安裝、運(yùn)行、部署 web 應(yīng)用都很簡單; Tomcat與開源緊密結(jié)合,開源軟件的生命力,往往與其社區(qū)的狀況有緊密的聯(lián)系。綜上所述,采用此種服務(wù)器配置方案無論從成本上還是系統(tǒng)性能和安全上考慮都是非常合適的。3. 系統(tǒng)數(shù)據(jù)庫中心數(shù)據(jù)庫系統(tǒng)使用Oracle10g,oracle是業(yè)界各方面最好的數(shù)據(jù)庫。節(jié)點數(shù)據(jù)庫使用MySQL,MySQL是最流行的開放源碼SQL數(shù)據(jù)庫管理系統(tǒng),它是由MySQL AB公司開發(fā)、發(fā)布并支持的。MySQL是一種關(guān)聯(lián)數(shù)據(jù)庫管理系統(tǒng),它是一種開放源碼軟件。MySQL具有良好的擴(kuò)展性,在數(shù)據(jù)訪問上

18、遇到瓶頸時,可以部署MySQL集群來實現(xiàn)負(fù)載均衡。三、 開發(fā)關(guān)鍵技術(shù)1. 軟件版本與工具名稱版本號說明JavaSE6.0Java虛擬機(jī)版本號J2EE1.4J2EE平臺版本號JSP2.0JSP界面編寫版本規(guī)范JSTL1.1JSP標(biāo)準(zhǔn)標(biāo)簽庫版本Servlet2.4Servlet引擎版本規(guī)范Struts2.1WEB層MVC框架版本Spring2.0輕量級業(yè)務(wù)邏輯層處理框架Xfire2.0Web Service實現(xiàn)技術(shù)Hinbernate3.1ORM對象關(guān)系映射層版本XHtml1.1Html書寫版本規(guī)范CSS2.0Html樣式版本規(guī)范JQuery2.2Ajax框架版本號Ext2.0Javascript

19、類庫Acige2.0權(quán)限控制框架開發(fā)工具:工具名稱工具版本說明Eclipse3.3Java IDEMyEclipse6.0J2EE開發(fā)工具PowerDesigner12數(shù)據(jù)庫設(shè)計工具JBoss4.2Java應(yīng)用服務(wù)器版本號Tomcat6.0開發(fā)測試服務(wù)器Oracle10gMysql5.18數(shù)據(jù)庫版本號2. 主要技術(shù)方案系統(tǒng)架構(gòu)圖:從架構(gòu)圖中可以看出系統(tǒng)分為四層: UI層:借助JSP,Struts實現(xiàn) 業(yè)務(wù)層:借助Spring Framework進(jìn)行業(yè)務(wù)組件的組裝關(guān)聯(lián)。 數(shù)據(jù)持久層:借助Hibernate實現(xiàn) 域?qū)ο髮樱簩⑺杏驅(qū)ο髣澐衷谝粋€層面采用這樣的四層架構(gòu)可以達(dá)到以下效果: 通過成熟的開

20、源產(chǎn)品實現(xiàn)各層,同自己編寫代碼實現(xiàn),相比之下能縮短開發(fā)周期,且架構(gòu)所用到的開源產(chǎn)品均有 很廣泛的用戶群,經(jīng)受過實踐的考驗,質(zhì)量和性能更有保障。 層與層之間松散耦合,增加代碼重用率。 各層分工明確,這樣也利于團(tuán)隊的明確分工。3. 業(yè)務(wù)邏輯層在實際的項目開發(fā)中,每個領(lǐng)域都會有自己獨特的業(yè)務(wù)邏輯,正因為這樣,致使項目中代碼高度耦合,原本有可能被重用的代碼 或功能,因為與具體的業(yè)務(wù)邏輯綁定在一塊而導(dǎo)致很難被重用。因此我們將實現(xiàn)這些具體邏輯的代碼抽取出來分為單獨的一層, 其目的是希望通過層,來降低它與系統(tǒng)其他部分的耦合度。 現(xiàn)實中世界是變化的,既然該層實現(xiàn)的是現(xiàn)實中具體的業(yè)務(wù)邏輯,那該層的實現(xiàn)代碼不可避

21、免的會發(fā)生變更。怎樣讓該層適應(yīng) 最大的變化,做到最小的改動?通常我們在編碼的時候會盡量考慮到同一業(yè)務(wù)多種實現(xiàn)的兼容和可擴(kuò)展的能力。因此我們在 該層借助了Spring,通過依賴注入、AOP應(yīng)用、面向接口編程,來降低業(yè)務(wù)組件之間的耦合度,增強(qiáng)系統(tǒng)擴(kuò)展性。 Spring設(shè)計方案:IOC(Inversion of Control),譯作反轉(zhuǎn)控制,其功能是將類之間的依賴轉(zhuǎn)移到外部的配置文件中, 避免在調(diào)用類中硬編碼實現(xiàn)類,因此也被稱作依賴注入(Dependency Injection)。在以往的開發(fā)中, 通常利用工廠模式(Factory)來解決此類問題,其實不管是工廠模式還是依賴注入,調(diào)用類與實現(xiàn)類不可

22、 能沒有任何依賴,工廠模式中工廠類通常根據(jù)參數(shù)來判斷該實例化哪個實現(xiàn)類,Spring IOC將需要實例的 類在配置文件文件中配置。使用Spring IOC能得到工廠模式同樣的效果,而且編碼更加簡潔。需要指出的是本系統(tǒng)所有的事務(wù)管理,資源管理的AOP方案都是配置在本層的接口之上,利用Java對接口的動態(tài)代理技術(shù)實現(xiàn),特別注意方法命名規(guī)范,防止資源泄露。4. 數(shù)據(jù)持久層本系統(tǒng)與數(shù)據(jù)庫進(jìn)行數(shù)據(jù)交互非常大,通常我們歸為CRUD(添加、讀取、修改、刪除),這些操作占據(jù)了系統(tǒng)開發(fā)中大部分的時間, 同時我們還需要考慮與數(shù)據(jù)庫交互的性能問題,如連接池、數(shù)據(jù)緩存等等。因此該層實現(xiàn)借助了Hibernate。 而H

23、ibernate已經(jīng)成為事實上的輕量級ORM標(biāo)準(zhǔn),在某此方面甚至超越了實體EJB的功能。Hibernate是一個ORM工具,它不僅僅是實現(xiàn)了數(shù)據(jù)庫訪問性能優(yōu)化和與數(shù)據(jù)庫交互的常用操作(CRUD),還將數(shù)據(jù)表與對象進(jìn)行了 關(guān)聯(lián),讓開發(fā)人員可以脫離數(shù)據(jù)表,而直接針對對象來與數(shù)據(jù)庫交互,開發(fā)人員不再需要用字符串去描述表中字段,這使得編碼中可書寫性提高。 在本系統(tǒng)中已經(jīng)抽象出了一個CRUD DAO組件基類,利用JDK5.0的泛型技術(shù),每個繼承此組件基類的DAO都持有自身的持久對象類型,非常方便操作。在此基類中涵蓋了大多數(shù)數(shù)據(jù)庫操作方法,如CRUD,分頁,屬性查詢等。5. 域?qū)ο髮釉搶討?yīng)該說是ORM思想

24、的產(chǎn)物,ORM用對象關(guān)聯(lián)數(shù)據(jù)表,將這些對象的集合歸為一個專門的層即Domain Layer。 域?qū)ο笫歉鲗又g數(shù)據(jù)通信的載體。實際上域?qū)ο笠彩且粋€完完全全的業(yè)務(wù)對象,如User對象、Book對象。通過對業(yè)務(wù)的對象化,這有利于業(yè)務(wù)邏輯的重用。在傳統(tǒng)的多層J2EE系統(tǒng)中,為了防止層與層之間的互相侵入性,通常采用DTO(Data Transfer Object 數(shù)據(jù)傳輸對象)方式,不過本系統(tǒng)層次與業(yè)務(wù)并不復(fù)雜,侵入性也不會太高,為了性能上的考慮,決定使用PO(Persistence Object持久對象)來取代DTO,個別復(fù)雜情況除外。6. WEB層JSP2.0的特點是: 使動態(tài)網(wǎng)頁的設(shè)計更加容易

25、簡化JSP頁面,使得JSP頁面容易維護(hù) 使WEB應(yīng)用程序前后臺應(yīng)用更清晰 無需學(xué)習(xí)Java編程語言就可以編寫JSP頁面本系統(tǒng)需要嚴(yán)格按照J(rèn)SP2.0規(guī)范編寫,具體JSP2.0規(guī)范請參考JSP2.0技術(shù)手冊。本系統(tǒng)Struts2所有的Action對象繼承ActionSupport基類,由前端注入攔截器(interceptor)將Spring業(yè)務(wù)處理對象自動裝配到Struts2 Action之中,開發(fā)人員不須手動管理業(yè)務(wù)處理對象的實例化。Struts2配置文件需要按模塊進(jìn)行分類。具體Struts2使用方式請參考Struts2 in Action。7. 任務(wù)調(diào)度本系統(tǒng)中含有大量的時間任務(wù)調(diào)度功能要求

26、,如每天凌晨2:00進(jìn)行內(nèi)容索引更新,每月第一天00:00將最活躍用戶算出增加積分等。Quartz使用Trigger, Job以及JobDetail等對象來進(jìn)行各種類型的任務(wù)調(diào)度。Quartz可以用來創(chuàng)建簡單或為運(yùn)行十個,百個,甚至是好幾萬個Jobs這樣復(fù)雜的日程序表,這是asp,php,甚至等其它開發(fā)平臺望塵莫及的。使用這種技術(shù),可以滿足我們的足夠復(fù)雜的業(yè)務(wù)邏輯。8. Ajax技術(shù)當(dāng)今互聯(lián)網(wǎng)時代,Ajax技術(shù)已經(jīng)是這個領(lǐng)域的技術(shù)領(lǐng)頭羊,Web2.0網(wǎng)站的核心技術(shù)也是以Ajax為中心,為了最高層次地提高用戶的體驗,必須使用Ajax技術(shù),本系統(tǒng)主要使用JQuery和Ext框架來實現(xiàn)Ajax技術(shù)。四、 系統(tǒng)緩存1. 一般緩存策略空間換取時間,緩存永遠(yuǎn)計算機(jī)設(shè)計的重中之重,從cpu到io,到處都可以看到緩存的身影,web架構(gòu)設(shè)計重,緩存設(shè)計必不可少,設(shè)計web緩存和企業(yè)級緩存是非常不同的,企業(yè)級緩存偏重于邏輯,而web緩存,簡單快速為好。緩存的使用也會帶來的問題,它使程序的復(fù)雜度上升,因為數(shù)據(jù)散布在多個進(jìn)程,所以同步就是一個麻煩的問題,加上集群,復(fù)雜度會進(jìn)一步提高,在實際運(yùn)用中,采用怎樣的同步策略常常需要和業(yè)務(wù)綁定。Cache的常用的策略是:讓數(shù)據(jù)在內(nèi)存中,而不是在比較耗時的磁盤上。從這個角度上思考,我們采用三種方式進(jìn)行系統(tǒng)緩存。2. Hibernate二級緩存

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論