[教學] Step by Step BlazeDS

把之前的筆記整理上來,介紹一下BlazeDS

什麼是BlazeDS?

BlazeDS是Adobe開發的免費開源軟體,提供了Java-Base的remoting 及 web messaging服務,可讓Flex、AIR等應用程式簡單與後端連線、建立及發送資料,且伺服器可主動更新,提供更完整的RIA使用經驗。

BlazeDS、LiveCycle比較

LCDS(LiveCycle Data Services)為Adobe的付費方案,提供完整的網路服務,而BlazeDS則是由LiveCycle分出的資料處理功能(Remoting、Message),這部分是完全免費且開源,以下列表比較LiveCycle與BlazeDS的功能差異(轉載自http://sujitreddyg.wordpress.com/2008/01/31/blazeds-and-lcds-feature-difference/

Features

BlazeDS

LCDS

Data management Services
Client-Server synchronization
Conflict resolution
Data paging
SQL adapter
Hibernate adapter
Document Services
LiveCycle remoting
RIA-to-PDF conversion
Enterprise-Class Flex application services
Data access/remoting
Proxy service
Automated testing support
Software clustering
Web tier compiler
Enterprise Integration
WSRP generation
Ajax data services
Flex-Ajax bridge
Runtime configuration
Open adapter architecture
JMS adapter
Server-side component framework integration
ColdFusion integration
Offline Application Support
Offline data cache
Local message queuing
Real - Time Data
Publish and Subscribe messaging
Real -time data quality of service
RTMP tunneling

安裝方案一:BlazeDS turnkey

BlazeDS turnkey為Adobe官網所發佈的BlazeDS整合版,該版本己含Tomcat6、BlazeDS、HSQLDB、Flex SDK及官方範例,內容完整描述BlazeDS所有功能,建議一開始可安裝此版本練習。

Step1.下載所需檔案

  1. BlazeDS turnkey 官方下載頁 請下載 Turnkey 版
  2. Java官方下載頁 請下載 j2sdk

Step2. 建立執行環境

  1. 把下好的BlazeDS turnkey解壓縮,把資料夾下tomcat及sampledb 放在根目錄或喜好的執行路徑(ex: c:\blazeds\tomcat、c:\blazeds\sampledb)
  2. 安裝下好的JavaSE SDK
  3. 在控制台的系統 ─> 進階 ─> 環境變數的系統變數下加入─ 變數 = "JAVA_HOME",值 = JDK所在位置(ex:C:\Program Files\Java\jdk1.6.0_11)
  4. 環境變數的path也可順便加入JDK所在位置,方便日後編輯Java程式,記得參數間以";"分開

Step3. 執行 Tomcat、HSQLDB

  1. 開始 ─> 執行 ─> cmd,進入命令提示列,找到你所放置的sampledb位置,輸入 "startdb" 按下確定以啟動資料庫(這資料庫是給官方範例用的)
  2. 同樣在命令提示列,找到你所放置的tomcat位置,輸入 "startup" 按下確定以啟動Tomcat Web Server
  3. 在瀏覽器輸入 localhost:8400(埠號預設為8400,可在tomcat/conf/server.xml的Connector進行修改)
  4. 出現BlazeDS的選單就成功了,如果有問題請仔細看命令提示列結果,並確認JAVA_HOME是否有設好 備註:關閉TomcatServer 請輸入 "shutdown" 指令

安裝方案二:Tomcat + BlazeDS

單純的 Tomcat Web Server 加上 BlazeDS,沒有範例但架設簡單,簡單測試可嘗試此安裝法

Step1. 下載所需檔案

  1. ApacheTomcat官方下載頁 請下載 Tomcat6 Windows Service Installer 版本
  2. BlazeDS官方下載頁 請下載 Binary Distribution 版本

Step2. 建立執行環境

  1. 點擊安裝 apache-tomcat
  2. 解壓縮下好的 blazeds-bin,會有一個叫 blazeds.war 的檔案,由壓縮軟體解壓縮,裡面有 META-INF、WEB-INF 兩個資料夾,建立一個資料夾(ex:blazeds),把這兩個資料夾放到資料夾內,並移至 Tomcat 安裝目錄下的 webapps(ex: C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\blazeds)

Step3. 執行 Tomcat

  1. 開始 ─> 程式集 ─> Apache Tomcat6,執行 Monitor Tomcat
  2. 在ApacheTomcat Properities 點選 general 標籤,點選下方的start啟用 Tomcat
  3. 同位置點選 stop 可以關閉 Tomcat
  4. 在瀏覽器輸入 localhost:8080(port 8080 為安裝預設值),出現 Tomcat管理畫面即成功安裝

Tomcat、BlazeDS結構說明

Tomcat目錄結構 取自Tomcat wiki,Blazeds要放在webapps裡

$CATALINA_HOME Tomcat安裝目錄 ├─bin 用以啟動、關閉Tomcat或者其他功能的腳本(.bat文件和.sh文件) ├─common Catalina和Web應用程序會用到的Class及庫文件 ├─conf 用以配置Tomcat的XM及DTD文件 ├─logs Catalina和其他Web應用程序的日誌文件 ├─server Catalina用到的Class及庫文件 ├─shared Web應用程序用到的Class及庫文件 ├─temp 臨時文件 ├─webapps Web應用程序根目錄 └─work 用以產生有JSP編譯出的Servlet的.java和.class文件

Blazeds目錄結構 BlazeDS是由兩個資料夾構成,META-INF、WEB-INF,這兩個檔案可在Tomcat webapps下以目錄做區別,每個webapps 下的目錄只會參照到自己的META-INF、WEB-INF,例如: webapps/blazeds/ 跟 webapps/she/ 下各有META-INF、WEB-INF,每個資料夾內的檔案都只會參照自己的META-INF、WEB-INF設定

$BLAZEDS_HOME Blazeds 安裝目錄 ├─META-INF └─WEB-INF BlazeDS 的設定檔 ├─classes 要執行的 Java 程式(*.class) ├─flex 可設定 Flex、AIR 要取用的服務設定檔,包含remoting、message、proxy ├─lib └─src

建立 BlazeDS開發環境

使用 BlazeDS turnkey:

  1. 在 tomcat/webapps 下有一個 blazeds 資料夾,這個為blazeds 的基本元件及設定檔,請複製同一資料夾並改名
  2. 改名資料夾即可做為BlazeDS的開發環境,請將swf或Flex專案設在此資料夾內
  3. turnkey 有所有範例的源始碼,檔案在 tomcat/webapps/samples/WEB-INF/flex/flex-src 下

使用 Tomcat + BlazeDS

  1. 請把之前解壓縮的檔案(blazeds.war 參照 "安裝方案二:Tomcat + BlazeDS")放在 tomcat/webapps 資料夾下,每次使用請複製同一資料夾並改名
  2. 改名資料夾即可做為BlazeDS的開發環境,請將swf或Flex專案設在此資料夾內

建立 Flex 開發環境

  1. New Flex Project 在Server Technology中選擇 "J2EE",並把 use remote object access 打開,點選下一步 設定 Server location 的路徑
  2. Root folder 為你的程式執行位置(ex:C:\Blazeds\tomcat\webapps\myTest)
  3. Root URL 為對應的web伺服器位置(ex:http://localhost:8400/myTest/)
  4. content Root 為該執行目錄的根,基本上要跟執行目錄相同(ex:/myTest)
  5. 設定完後點選 Validate Configuration 驗證設定
  6. 點選下一步
  7. 之後發佈就會自動把程式放在執行位置,並以伺服器位置打開,可直接發佈Flex測試

總結

  1. BlazeDS 完全免費且開源
  2. BlazeDS 可解決跨網域問題(Flash 安全性)
  3. BlazeDS 的 RemoteObject 是以 AMF 作傳輸,比傳統要快
  4. BlazeDS Message伺服器可主動送訊息給使用者

BlazeDS 免費且方便,解決了大部分 Flex 溝通及安全性的問題,BlazeDS 與 Flex的連線請參照Helloworld Blazeds

轉載請註明出處

1 意見 :: [教學] Step by Step BlazeDS

  1. 這樣後台又多一種教學可以學了
    趕緊收起來 ^^

    我自己有寫 PHP 的方法很多種呢~

    --
    corAusir 程式逗設計
    提供平面設計 與 程式設計 的資料~
    blog.corausir.org