Hello BlazeDS

無法直接存取 資料庫的數據, 一直都是 RIA (Rich Internet Application) 的痛,
透過 其他 Service 的方式來拿到數據, 也一直都是 RIA 操作的方式,
以Adobe Flex 而言, 透過 Adobe Flex 的 mx:HTTPService 去呼叫遠端的服務,
這樣的方式當然不好, 原因很簡單: 當你從一個遠端的服務取回 資料時,
要能被Flex 以物件方式利用, 首先必須把 這些資料 push 到一個 物件的 instance,
這對於 programmer 而言, 當然是一個痛!!….
 
當然, 你還有其他的方式, 就是靠 BlazeDS 或是  LCDS ( Adobe LiveCycle Data Services ES ) 的幫忙,
透過 BlazeDS 的服務, 將可以非常快速而且專注的在 物件相關的開發與應用,
而不必再去搞底層 繁瑣的 物件parsing !!…
 
其實, 建立 BlazeDS 的方式再簡單不過….
只要到 BlazeDS download 找一個最新可用的版本, 目前是 3.3版
然後 以Eclipse 的 Flex plugin 建立專案, 在建立專案同時, 導入 BlazeDS 的 war 檔案,
建立專案後要做的第一件事, 別懷疑…就是修改 WEB-INF/flex/ 目錄下的 services-config.xml 檔案,
針對, 原本 <channels> 的 三組 endpoint 的設定, 加以修改…
因為, server.port, server.context …等並不能被正確的抓到,
如果你會出現 RPC 錯誤, 顯示 http://localhost:8080/WebContent/messagebroker/amf 那大概是這個錯誤了
 
之後, 你就可以開始寫 你的 Java Bean 了.
一個簡單的 Hello Bean 如下:
package com.test.om;
public class Hello {
     public String getHello(){
           return "Hello World";
     }
}
然後在 remoting-config.xml , 加入
    <destination id="hello" channels="my-amf">
        <properties>
            <source>com.test.om.Hello</source>
        </properties>
    </destination>
最後, 再建立 相關的 Flex Application , .mxml 程式

 <mx:Script>
        <![CDATA[
          
            import mx.rpc.events.FaultEvent;
            import mx.controls.Alert;
            import mx.rpc.events.ResultEvent;
          
            private function resultHandler(event:ResultEvent):void {
                Alert.show(event.result.toString(), "Result");
            }
          
            private function faultHandler(event:FaultEvent):void {
                Alert.show(event.fault.toString(), "Fault");
            }
          
        ]]>
    </mx:Script>

    <mx:RemoteObject id="remoteObject" destination="hello" source="com.test.om.Hello"
        result="resultHandler(event)" fault="faultHandler(event)"/>
    <mx:Button label="submit" click="remoteObject.getHello()"/>

試試看吧!!…

 

廣告

About fenjj

Perfect !!??...
本篇發表於 Uncategorized。將永久鏈結加入書籤。

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s