Flex开发模型
Flex開發模型
Flex平臺支持一系列的開發模型:
僅客戶端:程序僅運行在客戶端而不使用服務器資源。
通過簡單的RPC服務訪問服務器數據:程序通過Web服務與HTTP服務與遠程數據進行交互。
Flex數據服務:程序使用Flex數據服務的加強的數據體系結構來提供高級特性,例如數據同步,安全與消息。
在Flash播放器上布置Flex程序
Flex程序的目標為Flash播放器。Flex支持兩種版本的播放器。Flex程序使用安裝標準的Flash播放器來運行Flex程 序。Flex也支持Flash播放器的Debug版本,稱之為調試播放器。Flex程序開發者在開發過程中使用Flash調試播放器。Flash調試播放 器默認情況下與Flex Builder和Flex數據服務同時安裝,對于開發者而言,支持如下的重要特性:
錯誤報告可以使用我們直接將運行錯誤與警告信息寫入日志文件。Flash調試播放器也會捕捉trace()函數的輸出并寫入日志文件。
調試支持可以使我們調試我們的Flex程序所使用的ActionScript文件。
僅客戶端程序
我們通常將我們的Flex布置為嵌入在HTML,ColdFusion, PHP或是其他類型網頁中的SWF文件。用戶通過請求相關的網頁來運行我們的Flex程序,這是為了Flash播放器的執行而下載到我們的瀏覽器中的。盡 管大多數的Flex程序提供了一定程度的服務器交互,當運行在客戶端時我們可以編寫Flex程序來提供獨立的功能。
使用HTTPService和WebService進行數據訪問
Flex HTTPService與WebService標簽可以讓我們從遠程服務器獲取數據。這些標簽與稱之為遠程過程調用(RPC)組件,使我們的程序與遠程 服務器進行交互,從而向我們的程序提供數據,或者是使我們的程序向服務發送數據。使用Flex 2 SDK,我們可以構建從Web程序服務器訪問遠程數據的程序,例如ColdFusion,或者是PHP,通過SOAP(Web服務)或者是HTTP的 GET或POST請求(HTTP服務)。網絡程序取得合適的數據(例如通常是從數據庫),格式化(通常為XML),并且返回到客戶端程序。
為了安全,在默認情況下Flash播放器并不允許程序從一個域訪問遠程數據源,除非這個域是程序所服務的域。所以,遠程服務器必須是與我們程序所在的服務器在同一個域內,或者是遠程的服務器必須定義一個crossdomain.xml文件。
一個crossdomain.xml文件是一個XML文件,為服務器提供了一種方法來表明他的數據或文檔對于一定域的SWF文件是可見的,或者是對所有的域。crossdomain.xml文件必須放在Flex程序交互的服務器的根上。
使 用Flex 2 SDK,Flash播放器提供了界面開發的平臺,這樣客戶端與邏輯表示都位于客戶機上。在Flash播放器中運行的Flex 2 SDK程序處理用戶交互,執行數據驗證,執行HTTP和SOAP請求,并且執行以前在這個服務器上執行的操作。因為Flash播放器可以運行在絕大多數的 操作系統與瀏覽器上,所以我們并不需要為特定的操作系統或是流利器進行編程。
使用Flex數據服務進行數據訪問
當我們使用Flex數據服務來開發程序,我們可以利用加強的數據服務體系結構。
使用加強的數據服務體系結構
Flex數據服務提供了一個數據服務體系結構從而極大的加強了Flex 2 SDK服務。這些加強的數據服務為了企業級程序的開發提供如下一些重要的支持:
透明的數據同步可以使得我們使多個客戶端保持同步。多個Flex客戶端可以向一個單一的服務端數據對象進行預定。Flex數據服務可以向客戶端廣播更新并發而更改,這意味著我們的客戶程序并不需要向服務器請求更新檢測。
發布與預定數據服務可以使得多個客戶程序彼此之間進行通信。例如,你可以在多個客戶端之間實現一個即時通信服務。
JMS消息支持 Java消息服務(JMS)是一個Java API可以使得程序向一個Java程序發送數據,或是從一個Java程序取回數據。
客戶端驗證可以使得我們通過使用基本的或是自定義的驗證來安全化我們的數據服務。
數 據服務體系結構是基于潛在的消息構造的。Flex數據服務使用XML配置文件來管理消息主題并且在服務器上進行排隊。作為配置消息的一部分,我們可以設置 最大的消息尺寸。如果一個消息超過了這個最大值,就會使用多個消息分支,而這些分開的消息會在客戶端進行重組。這使得通過網絡的異步數據高度成為可能。
Flex數據服務的其他RPC服務
Flex數據服務的RPC服務進行了加強來對使用AMF協議訪問遠程對象提供支持。這可以使得我們訪問遠程服務器上的Java對象(JavaBean,EJB,POJO)。
Flex 數據服務包含一個代理可以阻止Flex程序到遠程服務器的RPC請求,重定向這些請求到特定的服務器,然后向客戶端返回響應。因為代理扮演了遠程服務器訪 問破壞者的角色,我們并不需要像在使用Flex 2 SDK時那樣,在遠程服務器上定義一個crossdomain.xml文件。然而,如果他們定義了一個crossdomain.xml文件,我們仍然可以 直接訪問遠程服務器。
Flex平臺支持一系列的開發模型:
僅客戶端:程序僅運行在客戶端而不使用服務器資源。
通過簡單的RPC服務訪問服務器數據:程序通過Web服務與HTTP服務與遠程數據進行交互。
Flex數據服務:程序使用Flex數據服務的加強的數據體系結構來提供高級特性,例如數據同步,安全與消息。
在Flash播放器上布置Flex程序
Flex程序的目標為Flash播放器。Flex支持兩種版本的播放器。Flex程序使用安裝標準的Flash播放器來運行Flex程 序。Flex也支持Flash播放器的Debug版本,稱之為調試播放器。Flex程序開發者在開發過程中使用Flash調試播放器。Flash調試播放 器默認情況下與Flex Builder和Flex數據服務同時安裝,對于開發者而言,支持如下的重要特性:
錯誤報告可以使用我們直接將運行錯誤與警告信息寫入日志文件。Flash調試播放器也會捕捉trace()函數的輸出并寫入日志文件。
調試支持可以使我們調試我們的Flex程序所使用的ActionScript文件。
僅客戶端程序
我們通常將我們的Flex布置為嵌入在HTML,ColdFusion, PHP或是其他類型網頁中的SWF文件。用戶通過請求相關的網頁來運行我們的Flex程序,這是為了Flash播放器的執行而下載到我們的瀏覽器中的。盡 管大多數的Flex程序提供了一定程度的服務器交互,當運行在客戶端時我們可以編寫Flex程序來提供獨立的功能。
使用HTTPService和WebService進行數據訪問
Flex HTTPService與WebService標簽可以讓我們從遠程服務器獲取數據。這些標簽與稱之為遠程過程調用(RPC)組件,使我們的程序與遠程 服務器進行交互,從而向我們的程序提供數據,或者是使我們的程序向服務發送數據。使用Flex 2 SDK,我們可以構建從Web程序服務器訪問遠程數據的程序,例如ColdFusion,或者是PHP,通過SOAP(Web服務)或者是HTTP的 GET或POST請求(HTTP服務)。網絡程序取得合適的數據(例如通常是從數據庫),格式化(通常為XML),并且返回到客戶端程序。
為了安全,在默認情況下Flash播放器并不允許程序從一個域訪問遠程數據源,除非這個域是程序所服務的域。所以,遠程服務器必須是與我們程序所在的服務器在同一個域內,或者是遠程的服務器必須定義一個crossdomain.xml文件。
一個crossdomain.xml文件是一個XML文件,為服務器提供了一種方法來表明他的數據或文檔對于一定域的SWF文件是可見的,或者是對所有的域。crossdomain.xml文件必須放在Flex程序交互的服務器的根上。
使 用Flex 2 SDK,Flash播放器提供了界面開發的平臺,這樣客戶端與邏輯表示都位于客戶機上。在Flash播放器中運行的Flex 2 SDK程序處理用戶交互,執行數據驗證,執行HTTP和SOAP請求,并且執行以前在這個服務器上執行的操作。因為Flash播放器可以運行在絕大多數的 操作系統與瀏覽器上,所以我們并不需要為特定的操作系統或是流利器進行編程。
使用Flex數據服務進行數據訪問
當我們使用Flex數據服務來開發程序,我們可以利用加強的數據服務體系結構。
使用加強的數據服務體系結構
Flex數據服務提供了一個數據服務體系結構從而極大的加強了Flex 2 SDK服務。這些加強的數據服務為了企業級程序的開發提供如下一些重要的支持:
透明的數據同步可以使得我們使多個客戶端保持同步。多個Flex客戶端可以向一個單一的服務端數據對象進行預定。Flex數據服務可以向客戶端廣播更新并發而更改,這意味著我們的客戶程序并不需要向服務器請求更新檢測。
發布與預定數據服務可以使得多個客戶程序彼此之間進行通信。例如,你可以在多個客戶端之間實現一個即時通信服務。
JMS消息支持 Java消息服務(JMS)是一個Java API可以使得程序向一個Java程序發送數據,或是從一個Java程序取回數據。
客戶端驗證可以使得我們通過使用基本的或是自定義的驗證來安全化我們的數據服務。
數 據服務體系結構是基于潛在的消息構造的。Flex數據服務使用XML配置文件來管理消息主題并且在服務器上進行排隊。作為配置消息的一部分,我們可以設置 最大的消息尺寸。如果一個消息超過了這個最大值,就會使用多個消息分支,而這些分開的消息會在客戶端進行重組。這使得通過網絡的異步數據高度成為可能。
Flex數據服務的其他RPC服務
Flex數據服務的RPC服務進行了加強來對使用AMF協議訪問遠程對象提供支持。這可以使得我們訪問遠程服務器上的Java對象(JavaBean,EJB,POJO)。
Flex 數據服務包含一個代理可以阻止Flex程序到遠程服務器的RPC請求,重定向這些請求到特定的服務器,然后向客戶端返回響應。因為代理扮演了遠程服務器訪 問破壞者的角色,我們并不需要像在使用Flex 2 SDK時那樣,在遠程服務器上定義一個crossdomain.xml文件。然而,如果他們定義了一個crossdomain.xml文件,我們仍然可以 直接訪問遠程服務器。
總結
- 上一篇: 天使投资家李镇樟:如何培养世界级企业家
- 下一篇: linux下软件的安装[转]