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

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

J2EE探索者:用JMS進(jìn)行企業(yè)消息傳遞[Z]

2019-11-18 11:30:45
字體:
供稿:網(wǎng)友

   在本期的J2EE探索者( J2EE pathfinder)中,java 開發(fā)者和咨詢顧問Kyle Gabhart 解釋了為什么消息服務(wù)對于企業(yè)的體系結(jié)構(gòu)來說是至關(guān)重要的,您的解決方案必須克服什么類型的障礙,以及 除了Java消息服務(wù)(Java Message Service ,JMS)之外,還有哪些替代的解決方案。在本文的結(jié)尾,他分析了三種可用的解決方案(簡單JMS客戶機(Simple JMS Client)、結(jié)合JMS使用的會話bean, 以及消息驅(qū)動bean),并且提供了一些特定的指導(dǎo)方針來衡量這些選項。

說到對消息傳遞解決方案的選擇,您可以像配手套那樣找到適合于企業(yè)的解決方案。您的消息傳遞框架必須能夠在一組應(yīng)用和企業(yè)資源之間進(jìn)行通信。而且,該消息傳遞框架必須快速、可靠地完成這一任務(wù)。此外,面對日復(fù)一日的騷擾和緊急情況,它必須表現(xiàn)得天衣無縫。

為了根據(jù)您的需求選擇適當(dāng)?shù)南鬟f解決方案,首先應(yīng)該對您企業(yè)當(dāng)前的組成結(jié)構(gòu)以及將來的發(fā)展趨勢有一個清醒的熟悉。此外,假如能夠透徹地理解消息傳遞框架在完成目標(biāo)的過程中必須克服的障礙,那么對于解決方案的選擇將會很有幫助。最后,您要知道 可選擇的范圍:有哪些可用的技術(shù),以及各種技術(shù)對于不同的環(huán)境和需求的適用情況如何。

在本期的J2EE 探索者中,我們將一一闡述以上要點。首先是對企業(yè)消息傳遞的概述,在此我們將著眼于消息傳遞在您企業(yè)中所扮演的角色,并在建立可靠的通信方面給出了一些挑戰(zhàn)。接著,我們將從體系結(jié)構(gòu)的角度來快速 了解一下,在一個典型的企業(yè)網(wǎng)絡(luò)環(huán)境中,J2EE 消息傳遞技術(shù)如何與面向消息的中間件協(xié)同工作。然后,我們將針對Java消息服務(wù)(Java Message Service ,JMS)和J2EE的消息傳遞包展開更具體的討論。我們將分別論述三種類型的J2EE消息傳遞客戶機的基本目標(biāo)和功能,而且您也可以了解到每種類型的 J2EE消息傳遞客戶機各自的優(yōu)勢和劣勢所在。最后,我們將分析一些常見的消息傳遞場景和解決方案,這將有助于您為您的企業(yè)選擇最好的J2EE消息傳遞解決方案。

企業(yè)消息傳遞101

企業(yè)消息傳遞框架被設(shè)計用于使得一個或多個應(yīng)用能夠克服各種障礙進(jìn)行通信。常見的屏障包括:兩個系統(tǒng)同時運行(同步通信)的需求,多個應(yīng)用獲取同一條消息(多重傳輸)的需求,大多數(shù)系統(tǒng)都彼此異構(gòu),以及網(wǎng)絡(luò)故障等。

M許多企業(yè)的體系結(jié)構(gòu)依靠于面向消息的中間件系統(tǒng)(MOM)來為不同類型的系統(tǒng)提供消息通道。MOM為應(yīng)用提供了一種公共的、可靠的方式,使這些應(yīng)用能夠輕松地創(chuàng)建、交換和處理消息,而無需考慮消息傳遞客戶機的實現(xiàn)細(xì)節(jié)。消息被發(fā)送到服務(wù)器目的地和域 (domain),而不是發(fā)送到物理地址。消息傳遞客戶機只需簡單地聲明對某個特定的域和目的地感愛好,提供適當(dāng)?shù)陌踩粤钆疲╯ecurity token)以獲得訪問該域的權(quán)限,然后通過那個目的地與消息傳遞服務(wù)器進(jìn)行交互。

從概念上來講,這與現(xiàn)實生活中真實郵件的傳遞方式?jīng)]什么不同。消息的發(fā)送方只負(fù)責(zé)使用正確的包裝,提供正確的地址,并附上適當(dāng)?shù)泥]資。 郵局(這里是一個MOM系統(tǒng))處理 與消息的安全可靠的傳遞相關(guān)的所有問題,而不 管出現(xiàn)在他們面前的任何障礙(機器故障,天氣惡劣,等等)。

在一個MOM系統(tǒng)中,客戶機之間的耦合性比較弱,這答應(yīng)它們不必真正地全天“在線”便能維持服務(wù)的最佳質(zhì)量。假如能夠去掉應(yīng)用一直處于可用狀態(tài)這一需求,那么維護(hù)和伸縮性將變得更加易于治理。可以在一天中的任何時候?qū)?yīng)用離線,更新應(yīng)用,或者作為例行的維護(hù)工作刷新應(yīng)用,而不必?fù)?dān)心會影響服務(wù)的質(zhì)量。

Java 消息服務(wù)

MOM 服務(wù)器答應(yīng)不同類型的系統(tǒng)交換消息,但是每個MOM供給商都有其特有的處理消息的API。這種標(biāo)準(zhǔn)化的缺乏對于Java技術(shù)開發(fā)范例來說是不可接受的。為了充分利用已有的MOM基礎(chǔ)設(shè)施,同時又不失標(biāo)準(zhǔn)化,J2EE平臺提供了JMS。

Java 標(biāo)準(zhǔn)化
為了提供平臺無關(guān)的和供給商無關(guān)的解決方案,所有Java技術(shù)都可以分成兩個部分:

  1. 一份(或一套)定義該項技術(shù)的 規(guī)范說明書,指出了開發(fā)者和實現(xiàn)該技術(shù)的工具供給商的目標(biāo)和責(zé)任。
  2. 一套中立接口,作為應(yīng)用開發(fā)者與工具供給商之間的契約。

不管您使用的是何種Java技術(shù),您首先要編寫使用了技術(shù)規(guī)范中提供的接口的應(yīng)用組件,然后在運行時提供某一特定供給商對這些接口的實現(xiàn)。在J2EE中,企業(yè)消息傳遞的規(guī)范和API是JMS。

JMS 定義了在Java企業(yè)系統(tǒng)中傳遞消息的規(guī)則,并且聲明了一些方便應(yīng)用組件和消息傳遞系統(tǒng)(通常是MOM)之間的消息交換的接口。JMS客戶機向MOM服務(wù)器上的目的地開放連接,然后在那個目的地上發(fā)送和接收消息。JMS卸下了 保證傳送(guaranteed delivery)、消息通知(message notification)、消息耐久性(message durability)以及消息傳遞系統(tǒng)中所有底層網(wǎng)絡(luò)和路由問題的負(fù)擔(dān)。JMS和MOM能夠很好地協(xié)同工作,因為它們都劃清了消息傳遞客戶機和服務(wù)器之間的責(zé)任界限。

消息傳遞的類型

JMS 支持兩種基本的消息傳遞機制。第一種機制是點到點的消息傳遞(point-to-point messaging),在這種機制下,消息由一個發(fā)布者(發(fā)送方)發(fā)送,由訂閱者(接收方)接收。另一種機制是發(fā)布-訂閱式的消息傳遞(publish- subscribe messaging),在這種機制下,消息由一個或多個發(fā)布者發(fā)送,由一個或多個訂閱者接收。盡管這兩種機制是JMS的實際基礎(chǔ),很多人還是按照三種消息傳遞模型來看待這項技術(shù):

  • 一對一的消息傳遞(One-to-one messaging )是一種點到點的模型。消息由一個JMS客戶機(發(fā)布者)發(fā)送到服務(wù)器上的一個目的地,即一個隊列(queue)。而另一個JMS客戶機(訂閱者)則可以訪問這個隊列,并從該服務(wù)器獲取這條消息。在隊列中可以存放多條消息,但每次只能獲取一條消息。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 安阳县| 滁州市| 方山县| 天台县| 肇州县| 北海市| 江川县| 乌拉特前旗| 临澧县| 扎兰屯市| 赤壁市| 永川市| 海丰县| 东平县| 永丰县| 绩溪县| 屏东县| 陆河县| 诸暨市| 葵青区| 清水河县| 那曲县| 襄汾县| 秭归县| 龙陵县| 华蓥市| 宁明县| 赫章县| 福州市| 太湖县| 庆安县| 黄陵县| 平南县| 松溪县| 三江| 东港市| 泗阳县| 沈丘县| 绩溪县| 泗阳县| 克东县|