<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    lqxue

    常用鏈接

    統(tǒng)計

    book

    tools

    最新評論

    J2EE的13種核心技術(shù)

    Java最初是在瀏覽器和客戶端機器中粉墨登場的。當時,很多人質(zhì)疑它是否適合做服務(wù)器端的開發(fā)。現(xiàn)在,隨著對Java2平臺企業(yè)版(J2EE)第三方支持的增多,Java被廣泛接納為開發(fā)企業(yè)級服務(wù)器端解決方案的首選平臺之一。

    J2EE平臺由一整套服務(wù)(Services)、應(yīng)用程序接口(APIs)和協(xié)議構(gòu)成,它對開發(fā)基于Web的多層應(yīng)用提供了功能支持。

    在本文中我將解釋支撐J2EE的13種核心技術(shù):JDBC, JNDI, EJBs, RMI, JSP, Java servlets, XML, JMS, Java IDL, JTS, JTA, JavaMail 和 JAF,同時還將描述在何時、何處需要使用這些技術(shù)。當然,我還要介紹這些不同的技術(shù)之間是如何交互的。

    此外,為了讓您更好地感受J2EE的真實應(yīng)用,我將在WebLogic應(yīng)用服務(wù)器,來自BEA Systems公司的一種廣為應(yīng)用的產(chǎn)品環(huán)境下來介紹這些技術(shù)。不論對于WebLogic應(yīng)用服務(wù)器和J2EE的新手,還是那些想了解J2EE能帶來什么好處的項目管理者和系統(tǒng)分析員,相信本文一定很有參考價值。

    宏觀印象: 分布式結(jié)構(gòu)和J2EE

    過去,二層化應(yīng)用 -- 通常被稱為client/server應(yīng)用 -- 是大家談?wù)摰淖疃嗟摹T诤芏嗲闆r下,服務(wù)器提供的惟一服務(wù)就是數(shù)據(jù)庫服務(wù)。在這種解決方案中,客戶端程序負責(zé)數(shù)據(jù)訪問、實現(xiàn)業(yè)務(wù)邏輯、用合適的樣式顯示結(jié)果、彈出預(yù)設(shè)的用戶界面、接受用戶輸入等。client/server結(jié)構(gòu)通常在第一次部署的時候比較容易,但難于升級或改進,而且經(jīng)常基于某種專有的協(xié)議,通常是某種數(shù)據(jù)庫協(xié)議。它使得重用業(yè)務(wù)邏輯和界面邏輯非常困難。更重要的是,在Web時代,二層化應(yīng)用通常不能體現(xiàn)出很好的伸縮性,因而很難適應(yīng)Internet的要求。

    Sun設(shè)計J2EE的部分起因就是想解決二層化結(jié)構(gòu)的缺陷。于是,J2EE定義了一套標準來簡化N層企業(yè)級應(yīng)用的開發(fā)。它定義了一套標準化的組件,并為這些組件提供了完整的服務(wù)。J2EE還自動為應(yīng)用程序處理了很多實現(xiàn)細節(jié),如安全、多線程等。

    用J2EE開發(fā)N層應(yīng)用包括將二層化結(jié)構(gòu)中的不同層面切分成許多層。一個N層化應(yīng)用A能夠為以下的每種服務(wù)提供一個分開的層:

    顯示:在一個典型的Web應(yīng)用中,客戶端機器上運行的瀏覽器負責(zé)實現(xiàn)用戶界面。

    動態(tài)生成顯示: 盡管瀏覽器可以完成某些動態(tài)內(nèi)容顯示,但為了兼容不同的瀏覽器,這些動態(tài)生成工作應(yīng)該放在Web服務(wù)器端進行,使用JSP、Servlets,或者XML(可擴展標記語言)和(可擴展樣式表語言)。

    業(yè)務(wù)邏輯:業(yè)務(wù)邏輯適合用Session EJBs(后面將介紹)來實現(xiàn)。

    數(shù)據(jù)訪問:數(shù)據(jù)訪問適合用Entity EJBs(后面將介紹)和JDBC來實現(xiàn)。

    后臺系統(tǒng)集成: 同后臺系統(tǒng)的集成可能需要用到許多不同的技術(shù),至于何種最佳需要根據(jù)后臺系統(tǒng)的特征而定。

    您可能開始詫異:為什么有這么多的層?事實上,多層方式可以使企業(yè)級應(yīng)用具有很強的伸縮性,它允許每層專注于特定的角色。例如,讓W(xué)eb服務(wù)器負責(zé)提供頁面,應(yīng)用服務(wù)器處理應(yīng)用邏輯,而數(shù)據(jù)庫服務(wù)器提供數(shù)據(jù)庫服務(wù)。

    由于J2EE建立在Java2平臺標準版(J2SE)的基礎(chǔ)上,所以具備了J2SE的所有優(yōu)點和功能。包括“編寫一次,到處可用”的可移植性、通過JDBC訪問數(shù)據(jù)庫、同原有企業(yè)資源進行交互的CORBA技術(shù),以及一個經(jīng)過驗證的安全模型。在這些基礎(chǔ)上,J2EE又增加了對EJB(企業(yè)級Java組件)、Java servlets、Java服務(wù)器頁面(JSPs)和XML技術(shù)的支持。

    分布式結(jié)構(gòu)與WebLogic應(yīng)用服務(wù)器

    J2EE提供了一個框架--一套標準API--用于開發(fā)分布式結(jié)構(gòu)的應(yīng)用,這個框架的實際實現(xiàn)留給了第三方廠商。部分廠商只是專注于整個J2EE架構(gòu)中的的特定組件,例如Apache的Tomcat提供了對JSP和servlets的支持,BEA系統(tǒng)公司則通過其WebLogic應(yīng)用服務(wù)器產(chǎn)品為整個J2EE規(guī)范提供了一個較為完整的實現(xiàn)。

    WebLogic服務(wù)器已使建立和部署伸縮性較好的分布式應(yīng)用的過程大為簡化。WebLogic和J2EE代你處理了大量常規(guī)的編程任務(wù),包括提供事務(wù)服務(wù)、安全領(lǐng)域、可靠的消息、名字和目錄服務(wù)、數(shù)據(jù)庫訪問和連接池、線程池、負載平衡和容錯處理等。

    通過以一種標準、易用的方式提供這些公共服務(wù),象WebLogic服務(wù)器這樣的產(chǎn)品造就了具有更好伸縮性和可維護性的應(yīng)用系統(tǒng),使其為大量的用戶提供了增長的可用性。

    J2EE技術(shù)

    在接下來的部分里,我們將描述構(gòu)成J2EE的各種技術(shù),并且了解WebLogic服務(wù)器是如何在一個分布式應(yīng)用中對它們進行支持的。最常用的J2EE技術(shù)應(yīng)該是JDBC、JNDI、EJB、JSP和servlets,對這些我們將作更仔細的考察。

    Java Database Connectivity (JDBC)

    JDBC API以一種統(tǒng)一的方式來對各種各樣的數(shù)據(jù)庫進行存取。和ODBC一樣,JDBC為開發(fā)人員隱藏了不同數(shù)據(jù)庫的不同特性。另外,由于JDBC建立在Java的基礎(chǔ)上,因此還提供了數(shù)據(jù)庫存取的平臺獨立性。

    JDBC定義了4種不同的驅(qū)動程序,現(xiàn)分述如下:

    類型 1: JDBC-ODBC Bridge

    在JDBC出現(xiàn)的初期,JDBC-ODBC橋顯然是非常有實用意義的,通過JDBC-ODBC橋,開發(fā)人員可以使用JDBC來存取ODBC數(shù)據(jù)源。不足的是,他需要在客戶端安裝ODBC驅(qū)動程序,換句話說,必須安裝Microsoft Windows的某個版本。使用這一類型你需要犧牲JDBC的平臺獨立性。另外,ODBC驅(qū)動程序還需要具有客戶端的控制權(quán)限。

    類型 2: JDBC-native driver bridge

    JDBC本地驅(qū)動程序橋提供了一種JDBC接口,它建立在本地數(shù)據(jù)庫驅(qū)動程序的頂層,而不需要使用ODBC。 JDBC驅(qū)動程序?qū)?shù)據(jù)庫的API從標準的JDBC調(diào)用轉(zhuǎn)換為本地調(diào)用。使用此類型需要犧牲JDBC的平臺獨立性,還要求在客戶端安裝一些本地代碼。

    類型 3: JDBC-network bridge

    JDBC網(wǎng)絡(luò)橋驅(qū)動程序不再需要客戶端數(shù)據(jù)庫驅(qū)動程序。它使用網(wǎng)絡(luò)上的中間服務(wù)器來存取數(shù)據(jù)庫。這種應(yīng)用使得以下技術(shù)的實現(xiàn)有了可能,這些技術(shù)包括負載均衡、連接緩沖池和數(shù)據(jù)緩存等。由于第3種類型往往只需要相對更少的下載時間,具有平臺獨立性,而且不需要在客戶端安裝并取得控制權(quán),所以很適合于Internet上的應(yīng)用。

    類型 4: Pure Java driver

    第4種類型通過使用一個純Java數(shù)據(jù)庫驅(qū)動程序來執(zhí)行數(shù)據(jù)庫的直接訪問。此類型實際上在客戶端實現(xiàn)了2層結(jié)構(gòu)。要在N-層結(jié)構(gòu)中應(yīng)用,一個更好的做法是編寫一個EJB,讓它包含存取代碼并提供一個對客戶端具有數(shù)據(jù)庫獨立性的服務(wù)。

    WebLogic服務(wù)器為一些通常的數(shù)據(jù)庫提供了JDBC驅(qū)動程序,包括Oracle, Sybase, Microsoft SQL Server以及Informix。它也帶有一種JDBC驅(qū)動程序用于Cloudscape,這是一種純Java的DBMS,WebLogic服務(wù)器中帶有該數(shù)據(jù)庫的評估版本。

    以下讓我們看一個實例。

    JDBC實例

    在這個例子中我們假定你已經(jīng)在Cloudscape中建立了一個PhoneBook數(shù)據(jù)庫,并且包含一個表,名為 CONTACT_TABLE ,它帶有2個字段:NAME 和 PHONE。 開始的時候先裝載Cloudscape JDBC driver,并請求 driver manager得到一個對PhoneBook Cloudscape數(shù)據(jù)庫的連接。通過這一連接,我們可以構(gòu)造一個 Statement 對象并用它來執(zhí)行一個簡單的SQL查詢。最后,用循環(huán)來遍歷結(jié)果集的所有數(shù)據(jù),并用標準輸出將NAME和PHONE字段的內(nèi)容進行輸出。

    posted on 2008-06-03 20:01 lqx 閱讀(178) 評論(0)  編輯  收藏 所屬分類: web

    主站蜘蛛池模板: 亚洲乱人伦中文字幕无码| 久久久国产精品福利免费| 久久久久亚洲AV无码去区首| caoporn国产精品免费| 午夜不卡久久精品无码免费| 在线观看视频免费国语| 久久被窝电影亚洲爽爽爽| 亚洲午夜理论片在线观看| 91精品全国免费观看青青| 天天摸天天操免费播放小视频| 国产亚洲精品久久久久秋霞| 成人亚洲国产va天堂| 国产精品免费高清在线观看| 免费一级肉体全黄毛片| 亚洲videos| a级午夜毛片免费一区二区| 国产乱子伦精品免费女| 亚洲丰满熟女一区二区v| 免费精品久久天干天干| 亚洲av日韩片在线观看| 99亚偷拍自图区亚洲| 曰批全过程免费视频网址| 国产亚洲午夜高清国产拍精品| 亚洲人成网站在线在线观看| 亚洲黄色免费电影| 亚洲AV无码一区东京热| 人妻18毛片a级毛片免费看| 日韩a级毛片免费视频| 亚洲性色高清完整版在线观看| 久久国产乱子伦精品免费强| 亚洲宅男天堂在线观看无病毒| 亚洲精品无码日韩国产不卡av| h片在线免费观看| 亚洲综合精品一二三区在线| a级成人毛片免费视频高清| 久久综合亚洲色HEZYO国产| 黄页网站在线免费观看| 国产午夜影视大全免费观看| 亚洲日韩国产一区二区三区在线| 无码人妻精品中文字幕免费东京热| 亚洲国产精品无码久久久秋霞2 |