Web 傳訊服務是一個發佈和訂閱實作,它將瀏覽器連接到 WebSphere® Application Server 服務整合匯流排,以便推送伺服器端事件。
主從式通訊是透過 Bayeux 通訊協定來進行。
Bayeux 通訊協定是一個 HTTP 型傳訊遞送通訊協定。
如需相關資訊,請參閱 Bayeux 和 cometd 網站。Dojo Toolkit 提供 Bayeux 通訊協定的用戶端支援。
Dojo Toolkit 是目前唯一支援 Bayeux 通訊協定的 JavaScriptTM 程式庫。
不過,任何實作 Bayeux 通訊協定支援的 JavaScriptTM 程式庫或 HTTP 用戶端,都能夠與 Web 傳訊服務通訊。
Web 傳訊服務實作將送入的 Bayeux 要求橋接到服務整合匯流排,使 Web 服務、JMS 用戶端或任何連接服務整合匯流排的項目能夠將事件發佈到 Web 型用戶端。
您可以將執行時期 Java 保存檔 (JAR) 放在應用程式 Web 模組中、設定簡式配置檔及配置 Servlet 對映,從而在新的或現有的應用程式中使用 Web 傳訊服務。
圖 1:整體架構:
在一般應用程式中,瀏覽器會按指定的間隔或輪詢,定期從伺服器要求更新項目。 Bayeux 通訊協定的通訊類型有別於傳統的輪詢模型,它的通訊是透過長期的 HTTP 連線來進行,在這個連線中,伺服器通常會在特定時間內保持連線開啟狀態,以等待向瀏覽器發佈事件。 當使用這個樣式的通訊時,Web 儲存器無法進行調整,因為每個等待中的用戶端都會使用一個執行緒來等待事件。 其他處理這類要求的伺服器有不同的調整方法。 由於 Web 傳訊服務是設計來使用現有的 WebSphere Application Server 版本,當使用這個通訊方法時,現行 Web 儲存器並沒有妥善調整的能力,因此,Web 傳訊服務引進新的機制來實現可調整性。
這個新機制採用通道架構間架,它會建立起延伸 HTTP 通道的新通道架構通道,以便將送入的 Bayeux 要求橋接到服務整合匯流排。
Web 傳訊服務的現行瀏覽器支援因 Dojo Toolkit cometd 用戶端模組而成為可能。 當使用 cometd 用戶端時,很容易完成起始設定、訂閱、取消訂閱及發佈等作業。 伺服器驅動的事件就是透過 cometd 用戶端整合到 Dojo 事件和主題系統中。 在 Ajax 開發人員手冊及「Quote Streamer 範例應用程式」中,提供了 Dojo cometd 用法範例。
Web 傳訊服務將瀏覽器用戶端連接到內建的傳訊引擎和服務整合匯流排,以便訂閱和發佈事件及接收訊息。 通往服務整合匯流排的基礎橋接,是透過對於服務整合匯流排主題空間的直接 API 呼叫來進行的。 由於 Web 用戶端連接到服務整合匯流排,因此,有許多方法可以將訊息發佈到 Web 用戶端。 部分選項如下:標準 Enterprise JavaBeans (EJB) 向主題進行發佈、JMS 用戶端向主題進行發佈、Web 服務,或 Web 用戶端本身向其他 Web 用戶端進行發佈。