BlazeDS

BlazeDS

BlazeDS是一個基於伺服器的Java遠程調用(remoting)和Web訊息傳遞(messaging)技術,使得後台的Java應用程式和運行在瀏覽器上的Flex應用程式能夠相互通信。

基本介紹

  • 中文名:BlazeDS
  • 定位:技術
  • 基礎Java遠程調用
  • 目的:Flex應用程式
簡介,訊息服務,服務適配,通道端點,通道類型,

簡介

如果你想通過使用RPC Services提供一些企業級功能,如不同域之間數據交換的代理功能、客戶端認證、伺服器端日誌、本地化支持、RPC Services服務集中化管理等功能時,BlazeDS通過使用RemoteObject控制項可以輕鬆實現,而不需要配置他們像SOAP-compliant網路服務。
當客戶端RPC控制項調用遠程服務時,該控制項就會把服務端返回的數據保存在一個ActionScript對象中,這樣,在程式中就能夠很輕鬆的獲取想要的數據,而這些客戶端控制項包括HTTPService、WebService、RemoteObject控制項。

訊息服務

訊息服務就是通過伺服器端來回的傳送訊息以實現客戶端的異步交流,一條訊息由唯一標識號、BlazeDS頭、其他自定義頭和訊息體組成。
客戶端程式中傳送訊息的部分稱為訊息生產者(producers),在Flex程式中可以通過Producer控制項定義,而接收訊息的部分稱為訊息消費者(consumer),在Flex中可以通過Consumer控制項定義,Consumer控制項負責訂閱和接收伺服器端某一個目的地的訊息,而Producer控制項負責向該目的地傳送訊息。
訊息服務同時也支持通過JMSAdapter實現的橋接模式來訪問外部的JMS伺服器,這使得Flex程式能夠與外部的Java應用程式實現數據交流。

服務適配

BlazeDS可以訪問各種不同的數據持久化方案,比如資料庫、JMS等其他持久化機制。The message-based framework(基於訊息的框架) BlazeDS在客戶端和伺服器端來回的傳送數據,他是一個基於訊息的框架,主要運用了兩種交換模式,第一種,請求/回響模式,客戶端傳送請求給服務端,服務端處理好之後返回一個包含結果的回響,RPC服務就是使用的這種模式;第二種,發布/訂閱模式,服務端將數據發布給訂閱了該訊息的客戶端列表,訊息服務就是使用這種模式來發布數據給各客戶端的,同時,訊息服務也使用請求/回響模式來解決一些發布訊息、數據交換等問題。

通道端點

在網路上,客戶端是通過通道與服務端傳送數據的,通道負責封裝訊息格式、網路協定、解析方式、目的和套用代碼,負責格式化和翻譯訊息為特定網路下的模式,然後分發給相應的端點。另外,通道使得客戶端傳送給服務端的訊息變得有序性和對應性,這對數據傳送的一致性和可預見性起到重要的作用。
在伺服器端,通道是與基於Java的端點發生交換的,端點負責解析訊息成特定的協定模式,然後把它傳送給普通Java形式的“訊息代理人”(Message Broker),最終由訊息代理人決定該訊息發往何處,路由給恰當的目的地,

通道類型

BlazeDS提供以下幾種通道:
(1)標準AMF通道;
(2)加密AMF通道;
(3)HTTP通道(AMFX)。
其中AMF和HTTP通道都支持無輪詢的請求/回響模式和客戶端輪詢模式(模擬實時通信),而AMF和HTTP流通道模式提供了真正的數據流實時模式。
AMF(Action Message Format)是ActionScript對象序列化後的二進制流。用於Adobe Flash套用和遠端服務的通訊。由於它是基於二進制的數據傳輸,所以相對於XML SOAP,json,WebService等基於字元串的數據格式,有數據體積小和效率高的特點。

相關詞條

熱門詞條

聯絡我們