?? jms資料(譯文)(-).txt
字號:
作者:netkey
email: sztj1@263.net
日期:8/2/2001 10:42:44 AM
JMS資料(譯文)
作者:HaoGe
發(fā)表時間:2001-7-30
第一章
概述
這是關(guān)于Java消息服務(wù)應(yīng)用程序編程接口的概述,它包括以下主題:
什么是消息?
什么是JMS API?
怎么使用JMS API?
JMS API是怎樣在在Java2企業(yè)平臺下運作的
1.1 什么是消息?
消息系統(tǒng)是一種在軟件組件或者應(yīng)用程序之間通信的一種方法。一個消息
系統(tǒng)是一種點對點的程序,一個消息系統(tǒng)客戶端能發(fā)送消息給其他一些客
戶端或者從其它一些客戶端接受消息。每一個連到消息代理的客戶連接提
供產(chǎn)生,發(fā)送接受消息的通道。
消息機制使分散連接的分布式通信成為可能,一個成員發(fā)出消息給目的
地,接受者在目的地接收消息,然而發(fā)送者和接收者不需要同時有效,實
際上,發(fā)送者不需要知道任何關(guān)于接收者的信息,接收者也不需要了解任
何關(guān)于發(fā)送者的信息,他們只需要知道消息的格式和哪個目的地。
從這方面考慮,消息系統(tǒng)不同于緊連接技術(shù)如RMI,RMI需要一個應(yīng)用程序知
道遠端程序的方法。
消息系統(tǒng)也不同與email,email是人們通信的一種方式或者人和計算機軟件
應(yīng)用程序通信的方式,消息系統(tǒng)則是用于軟件應(yīng)用程序或者軟件組件之間
的通信。
1.2 什么是 JMS API?
Java消息服務(wù)是一種Java API它允許應(yīng)用程序去建立,發(fā)送接受和讀取消
息。 由Sun公司和一些合作伙伴定義設(shè)計,JMS API定義了一個公共接口和
關(guān)聯(lián)語意集合,它可以讓有Java語言編寫的程序和其他的消息系統(tǒng)進行通
信。
JMS API最小化了一個程序員編寫使用消息的產(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使得通信不僅僅只是可以在松耦合的情況下。而且還具有:
異步性: 一個JMS提供者可以在客戶端抵達的時候傳遞消息給它們;一個
客戶端不必為了接收消息去請求消息。
可靠性:JMS API可以保證一個消息只被傳遞一次,對可靠性要求比較低的
系統(tǒng)可以承受丟失消息或接受到重復(fù)的消息的后果。
JMS規(guī)范在1998年的八月首次發(fā)布,最新版本是1。0。2,在1999年的11月
發(fā)布
1.3 怎樣使用JMS API?
一個企業(yè)應(yīng)用的提供者在消息系統(tǒng)和緊耦合系統(tǒng)(如 RPC)中更樂意選擇
前者,當(dāng):
提供者希望組件不要依賴別的組件的接口的信息,以便組件可以很方便的
替代。
提供者希望應(yīng)用程序在組件沒有全部執(zhí)行或沒有同時執(zhí)行的時候運行.
應(yīng)用程序商業(yè)模型允許一個組件向另一個組件發(fā)送信息并且能夠在沒有得
到實時響應(yīng)的情況下繼續(xù)運行。
例如,一個汽車制造業(yè)的企業(yè)應(yīng)用程序組件能夠在如下的情況下使用JMS
API:
庫存組件可以在某個產(chǎn)品的庫存水平小于某個水平的時候向工廠組件發(fā)送
消息,工廠就開始制造更多的汽車。
工廠組件可以發(fā)送一個消息給部件組件,以便工廠可以用它需要的部件組
裝汽車。
部件組件發(fā)送消息給它們自己的庫存和訂購組件以更新他們的庫存和向供
應(yīng)商訂購新的部件
工廠和不見組件都可以向財會組件發(fā)送消息去更新它們的預(yù)算。
企業(yè)發(fā)布更新了的產(chǎn)品目錄給他們的市場部門和網(wǎng)站。
使用消息服務(wù)可以使不同的組件有效地進行交互而不需要嘗試網(wǎng)絡(luò)或其它
資源,
制造業(yè)只是企業(yè)怎樣使用JMS API的一個例子,其它象零售業(yè),金融業(yè),健
康服務(wù)應(yīng)用都可以很好的利用消息系統(tǒng)。
1.4 JMS API是如何和J2EE平臺一起工作的?
JMS API 最早出現(xiàn)在1998年,使用它的主要目的是允許JAVA 應(yīng)用程序可以
和現(xiàn)存的面向消息的中間件系統(tǒng)(如IBM的MQ Series 和TIBCO的
TIB/Rendezvous 進行交互.
從那時起,許多提供商采用和實現(xiàn)了JMS API以便JMS產(chǎn)品可以提供企業(yè)級
的消息服務(wù)的能力
在J2EE的1.2 release版本中,一個基于J2EE技術(shù)的服務(wù)提供者提供了JMS
API的接口,但是沒有要求全部實現(xiàn)它們。現(xiàn)在,在J2EE的1.3的release
中,JMS API是J2EE平臺的一個完整的部分。應(yīng)用程序開發(fā)者可以使用
J2EE APIs利用組件使用消息服務(wù)。
在J2EE 1.3平臺中JMS API有以下功能:
任何J2EE組件(ejb 或wen組件)能夠發(fā)送及同時接收一個JMS消息
一種新的EJB,消息驅(qū)動的Bean,使得異步的消息通信成為可能。 另外JMS提
供者可以實現(xiàn)消息驅(qū)動的BEANS去并發(fā)地處理消息
消息發(fā)送和接收可以參與Java Transaction API事務(wù)
JMS API增強了J2EE平臺,使地企業(yè)應(yīng)用的開發(fā)大大的簡化了,允許松耦
合,可靠,可以和 J2EE組件與老系統(tǒng)進行異步交互。開發(fā)者可以很方便的
給基于J2EE技術(shù)的商業(yè)應(yīng)用添加新的操作,只需要添加一個新的消息驅(qū)動
的針對特定商業(yè)事件的Bean就可以了。
另外一個J2EE 1。3平臺的新技術(shù): J2EE connectoe體系,使J2EE 應(yīng)用
和現(xiàn)寸的企業(yè)信息系統(tǒng)的可以緊密集成。 JMS API則允許在J2EE應(yīng)用和現(xiàn)
有的EIS 系統(tǒng)間進行非常松散連接的交互
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -