国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

J2EE與IBM對象關(guān)系數(shù)據(jù)庫(1)

2019-11-17 06:30:15
字體:
供稿:網(wǎng)友

WebSphere 越來越受歡迎說明 J2EE 環(huán)境已經(jīng)越來越普遍地用于部署商業(yè)應(yīng)用程序。技術(shù)人員都必須熟悉該環(huán)境。本文簡要地介紹了 J2EE 環(huán)境,并討論了 J2EE 開發(fā)中使用的面向?qū)ο蟮姆椒ǎǚ治觥⒃O(shè)計、實現(xiàn)),以及一些與對象持久性相關(guān)的問題,因為對象持久性與對象-關(guān)系數(shù)據(jù)庫治理系統(tǒng)(ORDBMS)的使用相關(guān)聯(lián)。

簡介

數(shù)據(jù)庫的選型應(yīng)該是會為您帶來商業(yè)優(yōu)勢的戰(zhàn)略性決策。一旦做出決策,您就必須充分利用該數(shù)據(jù)庫服務(wù)器來實現(xiàn)這一優(yōu)勢。本文簡要地介紹了 java 2 EnterPRise Environment(J2EE)環(huán)境,并討論了 J2EE 開發(fā)中使用的面向?qū)ο蠓椒ǎǚ治?、設(shè)計、實現(xiàn)),以及一些與對象持久性相關(guān)的問題,因為對象持久性與對象-關(guān)系數(shù)據(jù)庫治理系統(tǒng)(ORDBMS)的使用相關(guān)聯(lián)。

Web 體系結(jié)構(gòu)背景

J2EE 包含幾十個縮寫詞,每個均代表不同的概念。要理解這一復(fù)雜性,回顧一下 Web 體系結(jié)構(gòu)的發(fā)展過程是十分有用的,如圖 1 所示。

J2EE與IBM對象關(guān)系數(shù)據(jù)庫(1)(圖一)

圖 1. Web 體系結(jié)構(gòu)


圖 1 中所展示的體系結(jié)構(gòu)代表了 1996 年的 Web 環(huán)境。那時,瀏覽器和 Web 服務(wù)器主要是由 Netscape 提供的,而 Netscape 的產(chǎn)品在當(dāng)時較之以前的產(chǎn)品來說是一個重大的進步。

在圖 1 的左側(cè),我們看到的是瀏覽器。它包含一些附加功能,以使用插件來提供像顯示 .pdf 文件這樣的功能。它還增加了一些編程功能,以改善與用戶的交互。其中包括一種能夠添加到 Html 語言中的腳本語言 javascript(獨立于 Java 創(chuàng)建的),以及可包含在 HTML 頁中進行下載的 Java applet。

該瀏覽器使用超文本傳輸協(xié)議(HTTP)與 Web 服務(wù)器進行通信。HTTP 的重要特點就是它建立在請求-響應(yīng)模型的基礎(chǔ)上。每個請求-響應(yīng)都是相互獨立的。Web 服務(wù)器不會等待當(dāng)前客戶機的下一請求。因此,該協(xié)議是無狀態(tài)的(stateless)。

萬維網(wǎng)(WWW)是為了易于訪問文檔而創(chuàng)建的。因為每個請求都是單獨完成的,所以無需追蹤復(fù)雜的交互。Web 服務(wù)器可以接收請求,并使用所提供的信息在由 Web 服務(wù)器控制的目錄結(jié)構(gòu)中檢索所請求的文檔。

在發(fā)展初期,Web 服務(wù)器的定義中添加了一個稱作公共網(wǎng)關(guān)接口(Common Gateway Interface,CGI)的接口。這是一種按照所定義的協(xié)議來調(diào)用以指定格式接收信息的程序,使用該程序來實現(xiàn)請求,并將之返回給 Web 服務(wù)器的簡單方式。該方式還有能力調(diào)用一個可以生成更多動態(tài)內(nèi)容的程序。因為這是對于瀏覽器請求的擴展,所以 CGI 程序是暫時性的:通過請求創(chuàng)建,一旦返回結(jié)果就終止。

CGI 協(xié)議也有其局限性,并用于實現(xiàn)訪問關(guān)系數(shù)據(jù)庫的應(yīng)用程序。這意味著每當(dāng)向駐留在關(guān)系數(shù)據(jù)庫中的信息發(fā)出請求時,都必須打開數(shù)據(jù)庫連接,插入、更新和檢索數(shù)據(jù),以及關(guān)閉連接。在大多數(shù)情況下,多數(shù)時間都消耗在數(shù)據(jù)庫的連接上。人們想出了兩個辦法來解決該問題:讓 CGI 程序與永久性程序進行對話,以及通過包含 API 來擴展 Web 服務(wù)器的功能。

第一個辦法是讓 CGI 程序與永久性程序進行對話,這個方法可以有許多變種。CGI 程序可以啟動一個要基于某個 ID 來進行訪問的應(yīng)用程序,而這個 ID 是我們在響應(yīng)中返回的(如圖 1 中的 app-srv 所示)。假如此 ID 在某個間隔內(nèi)還沒有被重新使用,程序?qū)⒔K止。另一種方式是讓一個永久性程序來處理所有客戶機向該應(yīng)用程序發(fā)送的請求。該場景極可能需要一個多線程程序,用于驗證客戶機的有效性,以及向每個新的客戶機分配 ID。然后,它必須記錄每個客戶機 ID 的超時時間。

第二個辦法是通過包含 API 來擴展 Web 服務(wù)器的功能,即利用 Web 服務(wù)器 API(圖 1 中的 NSAPI)來編寫應(yīng)用程序,并將之駐留在 Web 服務(wù)器上。通過該方法,Web 服務(wù)器可以保持數(shù)據(jù)庫連接,以及包含應(yīng)用程序特定的處理信息。這種方法也需要記錄用戶和連接超時。

進入應(yīng)用程序服務(wù)器將各種 Web 應(yīng)用程序的實現(xiàn)方式合并成為一個更完整的架構(gòu)是有道理的。那時,Java 倡導(dǎo)的“一次編寫,到處運行”的概念已經(jīng)十分流行。所以,J2EE 的成型并未花很長時間。

J2EE 是一個 Java 規(guī)范,且深受面向?qū)ο螅∣O)程序設(shè)計方法的影響(Java 是一種 OO 編程語言)。其目標是提供一個應(yīng)用架構(gòu),其中包含實現(xiàn)企業(yè)應(yīng)用程序所需的所有特性,這包括可移植性、可伸縮性、事務(wù)控制,等等。J2EE 規(guī)范包括:

J2SE:Java 2 Standard Edition 包含了聞名的 Java 環(huán)境,其中包括與平臺無關(guān)的 Java 開發(fā)工具箱/Java 運行時環(huán)境(JDK/JRE)、多線程環(huán)境、Java 基礎(chǔ)類等。

EJB:Enterprise Java Beans 提供了在分布式環(huán)境中表示對象的標準方式。EJB 具有三種類型:會話 bean、實體 bean 和消息 bean。

Servlets:Java Servlets 提供了請求-響應(yīng)通信模式中的操作機制。

jsp:Java Server Pages 是非凡類型的 servlets,用于動態(tài)創(chuàng)建 HTML 頁并顯示給用戶。

JDBC:Java 數(shù)據(jù)庫連接接口提供了與諸如關(guān)系數(shù)據(jù)庫的數(shù)據(jù)源進行通信的標準化方式。

JTA/JTS:Java 事務(wù) API 與 Java 事務(wù)服務(wù)。

JMS:Java 消息服務(wù)。

JNDI:Java 命名和目錄接口。該接口對于 J2EE 環(huán)境至關(guān)重要,因為它提供了一種無需知道其位置就可以追蹤資源的方式。您可以將之與 LDAP 目錄服務(wù)等同起來。

JavaMail

JAXP:用于 xml 處理的 Java API。它還包括用于 XML 注冊的 Java API(JAXR)和基于 XML 的 RPC 通信協(xié)議(JAX-RPC)。

Connector Architecture:該體系結(jié)構(gòu)提供了與未集成在 J2EE 環(huán)境中的遺留系統(tǒng)進行通信的方式。 JAAS:Java 認證和授權(quán)服務(wù)。

這些規(guī)范仍然在不斷演變著,而且還在添加更多組件。頗有意義的是,這些規(guī)范是基于標準的,并且致力于提供給用程序提供者、應(yīng)用程序服務(wù)器提供者以及硬件平臺之間的可移植性。正如您可以看到的,J2EE 環(huán)境正試圖提供企業(yè)應(yīng)用程序中所需的所有可能服務(wù)。這包括了多年以來以不同形式提供的許多服務(wù)。

圖 2 中提供了 J2EE 環(huán)境的高層表示。而真正的實現(xiàn)則可能包含許多其他組件,并且可以將其對象分布在大型網(wǎng)絡(luò)中的多個機器上。

J2EE與IBM對象關(guān)系數(shù)據(jù)庫(1)(圖二)

圖 2. J2EE 高層體系結(jié)構(gòu)



發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 屏东县| 霸州市| 嘉兴市| 陵川县| 东兰县| 衢州市| 漳州市| 磐安县| 甘肃省| 汪清县| 常山县| 山西省| 孝感市| 张家口市| 招远市| 石棉县| 舟曲县| 吴旗县| 闽清县| 沛县| 博客| 富民县| 盖州市| 广元市| 巴东县| 凌海市| 鸡泽县| 方城县| 城步| 宜黄县| 定边县| 开原市| 闽清县| 汪清县| 江西省| 金华市| 郴州市| 盐源县| 大庆市| 自治县| 色达县|