明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

JMS資料(譯文)(-)

[摘要]JMS資料(譯文) 作者:HaoGe發(fā)表時(shí)間:2001-7-30第一章 概述 這是關(guān)于Java消息服務(wù)應(yīng)用程序編程接口的概述,它包括以下主題: 什么是消息?什么是JMS API?怎么使用JMS AP...
JMS資料(譯文)
 

作者:HaoGe
發(fā)表時(shí)間:2001-7-30


第一章

概述

這是關(guān)于Java消息服務(wù)應(yīng)用程序編程接口的概述,它包括以下主題:

什么是消息?
什么是JMS API?
怎么使用JMS API?
JMS API是怎樣在在Java2企業(yè)平臺(tái)下運(yùn)作的

1.1 什么是消息?
消息系統(tǒng)是一種在軟件組件或者應(yīng)用程序之間通信的一種方法。一個(gè)消息
系統(tǒng)是一種點(diǎn)對(duì)點(diǎn)的程序,一個(gè)消息系統(tǒng)客戶端能發(fā)送消息給其他一些客
戶端或者從其它一些客戶端接受消息。每一個(gè)連到消息代理的客戶連接提
供產(chǎn)生,發(fā)送接受消息的通道。

消息機(jī)制使分散連接的分布式通信成為可能,一個(gè)成員發(fā)出消息給目的
地,接受者在目的地接收消息,然而發(fā)送者和接收者不需要同時(shí)有效,實(shí)
際上,發(fā)送者不需要知道任何關(guān)于接收者的信息,接收者也不需要了解任
何關(guān)于發(fā)送者的信息,他們只需要知道消息的格式和哪個(gè)目的地。

從這方面考慮,消息系統(tǒng)不同于緊連接技術(shù)如RMI,RMI需要一個(gè)應(yīng)用程序知
道遠(yuǎn)端程序的方法。

消息系統(tǒng)也不同與email,email是人們通信的一種方式或者人和計(jì)算機(jī)軟件
應(yīng)用程序通信的方式,消息系統(tǒng)則是用于軟件應(yīng)用程序或者軟件組件之間
的通信。


1.2什么是 JMS API?

Java消息服務(wù)是一種Java API它允許應(yīng)用程序去建立,發(fā)送接受和讀取消
息。 由Sun公司和一些合作伙伴定義設(shè)計(jì),JMS API定義了一個(gè)公共接口和
關(guān)聯(lián)語意集合,它可以讓有Java語言編寫的程序和其他的消息系統(tǒng)進(jìn)行通
信。

JMS API最小化了一個(gè)程序員編寫使用消息的產(chǎn)品需要了解的概念集。但是
提供了足夠的功能去支持復(fù)雜的消息應(yīng)用。

It also strives to maximize the portability of JMS applications
across JMS providers in the same messaging domain.

JMS API使得通信不僅僅只是可以在松耦合的情況下。而且還具有:

異步性: 一個(gè)JMS提供者可以在客戶端抵達(dá)的時(shí)候傳遞消息給它們;一個(gè)
客戶端不必為了接收消息去請(qǐng)求消息。

可靠性:JMS API可以保證一個(gè)消息只被傳遞一次,對(duì)可靠性要求比較低的
系統(tǒng)可以承受丟失消息或接受到重復(fù)的消息的后果。

JMS規(guī)范在1998年的八月首次發(fā)布,最新版本是1。0。2,在1999年的11月
發(fā)布

1.3怎樣使用JMS API?

一個(gè)企業(yè)應(yīng)用的提供者在消息系統(tǒng)和緊耦合系統(tǒng)(如 RPC)中更樂意選擇
前者,當(dāng):

提供者希望組件不要依賴別的組件的接口的信息,以便組件可以很方便的
替代。

提供者希望應(yīng)用程序在組件沒有全部執(zhí)行或沒有同時(shí)執(zhí)行的時(shí)候運(yùn)行.

應(yīng)用程序商業(yè)模型允許一個(gè)組件向另一個(gè)組件發(fā)送信息并且能夠在沒有得
到實(shí)時(shí)響應(yīng)的情況下繼續(xù)運(yùn)行。

例如,一個(gè)汽車制造業(yè)的企業(yè)應(yīng)用程序組件能夠在如下的情況下使用JMS
API:

庫存組件可以在某個(gè)產(chǎn)品的庫存水平小于某個(gè)水平的時(shí)候向工廠組件發(fā)送
消息,工廠就開始制造更多的汽車。

工廠組件可以發(fā)送一個(gè)消息給部件組件,以便工廠可以用它需要的部件組
裝汽車。

部件組件發(fā)送消息給它們自己的庫存和訂購組件以更新他們的庫存和向供
應(yīng)商訂購新的部件

工廠和不見組件都可以向財(cái)會(huì)組件發(fā)送消息去更新它們的預(yù)算。

企業(yè)發(fā)布更新了的產(chǎn)品目錄給他們的市場(chǎng)部門和網(wǎng)站。

使用消息服務(wù)可以使不同的組件有效地進(jìn)行交互而不需要嘗試網(wǎng)絡(luò)或其它
資源,
制造業(yè)只是企業(yè)怎樣使用JMS API的一個(gè)例子,其它象零售業(yè),金融業(yè),健
康服務(wù)應(yīng)用都可以很好的利用消息系統(tǒng)。

1.4 JMS API是如何和J2EE平臺(tái)一起工作的?
JMS API 最早出現(xiàn)在1998年,使用它的主要目的是允許JAVA 應(yīng)用程序可以
和現(xiàn)存的面向消息的中間件系統(tǒng)(如IBM的MQ Series 和TIBCO的
TIB/Rendezvous 進(jìn)行交互.

從那時(shí)起,許多提供商采用和實(shí)現(xiàn)了JMS API以便JMS產(chǎn)品可以提供企業(yè)級(jí)
的消息服務(wù)的能力

在J2EE的1.2 release版本中,一個(gè)基于J2EE技術(shù)的服務(wù)提供者提供了JMS
API的接口,但是沒有要求全部實(shí)現(xiàn)它們,F(xiàn)在,在J2EE的1.3的release
中,JMS API是J2EE平臺(tái)的一個(gè)完整的部分。應(yīng)用程序開發(fā)者可以使用
J2EE APIs利用組件使用消息服務(wù)。

在J2EE 1.3平臺(tái)中JMS API有以下功能:

任何J2EE組件(ejb 或wen組件)能夠發(fā)送及同時(shí)接收一個(gè)JMS消息

一種新的EJB,消息驅(qū)動(dòng)的Bean,使得異步的消息通信成為可能。 另外JMS提
供者可以實(shí)現(xiàn)消息驅(qū)動(dòng)的BEANS去并發(fā)地處理消息

消息發(fā)送和接收可以參與Java Transaction API事務(wù)

JMS API增強(qiáng)了J2EE平臺(tái),使地企業(yè)應(yīng)用的開發(fā)大大的簡(jiǎn)化了,允許松耦
合,可靠,可以和 J2EE組件與老系統(tǒng)進(jìn)行異步交互。開發(fā)者可以很方便的
給基于J2EE技術(shù)的商業(yè)應(yīng)用添加新的操作,只需要添加一個(gè)新的消息驅(qū)動(dòng)
的針對(duì)特定商業(yè)事件的Bean就可以了。
另外一個(gè)J2EE 1。3平臺(tái)的新技術(shù): J2EEconnectoe體系,使J2EE 應(yīng)用
和現(xiàn)寸的企業(yè)信息系統(tǒng)的可以緊密集成。 JMS API則允許在J2EE應(yīng)用和現(xiàn)
有的EIS 系統(tǒng)間進(jìn)行非常松散連接的交互




標(biāo)簽:JMS資料(譯文)(-)