基於Adobe LCDS產品的數據訪問解決方案Part4

上一篇文章講到了如何使用Adobe Flex/Flash客戶端與LCDS(Adobe LiveCycle Data Services)相連,這篇文章我們着重講一下LCDS是如何與基於J2EEweb應用服務器相連的。Flex客戶端發送請求到LCDS應用服務器端,這一請求經過一系列的Java對象,包括MessageBroker, service, destination and adapter。 最後由Adapter來決定這個請求是在本地直接處理還是需要連接遠程的backend服務器處理。

下面這張圖就是LCDS服務器架構圖:

LCDS服務器有兩種類型的endpoints,分別是基於servletendpoint和基於NIOendpoint  NIO主要用來處理Java新的輸入輸出請求,而servlet包含在J2EE的容器裏面,它的作用是處理HTTP會話的輸入和輸出。NIOendpoint必須運行在基於NIO爲基礎的服務器上面,它的endpoint處理過程並不是一對一的,而是一對多的。

Flex的客戶端應用使用channelLCDSendpoint通信,客戶端的channel與服務器端的endpoint存在映射關係,channelendpoint使用相同的信息格式才能讓連接成功建立,通訊完成。 一個使用AMF信息格式的channel,例如AMFChannel,必須與使用AMF 信息格式的endpoint配對,例如AMFEndpoint

用戶需要在LCDS服務器的WEB/flex目錄下找到services-config.xml文件進行配置。下面舉個例子,創建AMFChannelAMFEndpoint進行通訊:

<channels>

<channel-definition id=samples-amf

      Type=”mx.messaging.channels.AMFChannel”>

      <endpoint url=”http://servername:8400/myapp/messagebroker/amf” port=”8700”

              Type=”flex.messaging.endpoints.AMFEndpoint”/>

</channel-definition>

</channel>

下面對這些配置文件中的元素做一個簡單的解釋:

1.  Idchannel class類型定義了客戶端使用什麼類型的channel來連接服務器

2.  Endpoint元素定義了服務器端的URL路徑,端口號以及endpoint的類型

關於客戶端通過LCDS與服務器端相連的內容今天就先講到這裏,下面會給大家一個實際案例,看看實際在生產環境中LCDS是如何應用的,謝謝~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章