cht台灣個人Log4Q
adm Find login register

JMS Overview

qrtt1

joined: 2007-10-02
posted: 82
promoted: 18
bookmarked: 5
藍星
1subject: JMS OverviewPromote 0 Bookmark 02008-06-01quote  

http://java.sun.com/j2ee/1.4/docs/tutorial/doc/JMS2.html 

 

要對 JMS API 有概括性的瞭解需要能夠回答下列問題:

# What Is Messaging ?
# What Is the JMS API ?
# When Can You Use the JMS API ?
# How Does the JMS API Work with the J2EE Platform ?


What Is Messaging ?

"傳訊"是軟體元件或應用程式之間的溝通方法。傳訊系統是一種點對點的設備,傳訊客戶端能傳訊給它,也能由它接

收來自其他戶客諯的訊息。每個客戶端向傳訊代理(agent)連線,透過訊息系統能建立、送出、接收與讀取訊息。

傳訊機制因為能分散訊息,所以是鬆散耦合的。一個元件發送訊息至另一個目的地,而接收者能由目的地檢索訊息。

(Q: 所以目的地可以是非接收者或非傳訊者之第三地嚕?這是必要的,還是一種選擇?)

送訊者與接收者不需要在傳訊的同時都是可用的(available)狀態。事實上送訊者不需要知道任何關於接收者的功能細節

,同樣的接收者也不需要明白送訊者能提供什麼功能。它們只需要知道訊息的格式與傳送的地點。由這個觀點,我們

能夠知道傳訊機制是與那些緊密耦合的技術相較起來是非常不同的。以 RMI 為例,它需要切實知道端遠真實能呼叫的

方法。

由對象來區別。傳訊機制也不同於電子郵件,電子郵件被設計為人或應用程式與人之間的溝通方法。傳訊機制則是被

設計用來做軟體應用程式或軟體元件之間溝通用的。


What Is the JMS API ?

Java Message Service 是一組用來建立、送出、接收、讀取的 Java API。由 Sun 與協力廠商設計,JMS API 定義共通的介

面能用來實作軟體元件之間的訊息溝通。

JMS API 儘可能地減少程式設計師對於使用訊息機制產品所需要概念,但提供足夠的功能來設計精巧的應用程式。它

也儘可能地將可攜性考量在設計之中,讓您的程式可以在不同廠場的訊息提供者做最小的轉移。

JMS API 不僅能達成鬆散耦合,它還有下面的特性:
*. Asynchronous: A JMS provider can deliver messages to a client as they arrive; a client does not have to request messages in

order to receive them.
*. Reliable: The JMS API can ensure that a message is delivered once and only once. Lower levels of reliability are available for

applications that can afford to miss messages or to receive duplicate messages.


When Can You Use the JMS API ?

在下面幾種情況之下,企業應用程式提供者可能會選用訊息機制:

*. 提供者想要元件不要相依其他元件的介面,目的是想讓元件能輕易地被取代
*. 提供者想要即使元件並不是總是都持續地工作的情況下,應用程式在任何情況下都能正常運作。 (Q: 不太明白XD)
*. 應用程式的 bussiness model 允許元件送出資訊給另一個元件,送出訊息的元件並不需要有中間的回應狀態就能持續

作用
(The application business model allows a component to send information to another and to continue to operate without receiving an

immediate response.)

以汽車製造商所使用的應用程式元件為例,下面的情況能選用 JMS API

( 例子看網上就好 http://java.sun.com/j2ee/1.4/docs/tutorial/doc/JMS2.html#wp78392 )
Q: 例子雖然簡單, 但是要如何達成呢!? 至少現在的我沒有能力想像.


How Does the JMS API Work with the J2EE Platform?

(原來 JMS 1998 就有了, 今年已經是2008了 ha)

cht台灣個人Log4Q
adm Find login register
views:3360