欧美日韩不卡一区二区三区,www.蜜臀.com,高清国产一区二区三区四区五区,欧美日韩三级视频,欧美性综合,精品国产91久久久久久,99a精品视频在线观看

java語(yǔ)言

java程序員學(xué)習(xí)Flex和BlazeDS有什么好處

時(shí)間:2025-03-20 15:59:26 java語(yǔ)言 我要投稿
  • 相關(guān)推薦

java程序員學(xué)習(xí)Flex和BlazeDS有什么好處

java程序員學(xué)習(xí)Flex和BlazeDS有什么好處呢?看了下面的內(nèi)容你就得到答案了。更多內(nèi)容請(qǐng)關(guān)注應(yīng)屆畢業(yè)生考試網(wǎng)!

java程序員學(xué)習(xí)Flex和BlazeDS有什么好處

  好處一:開(kāi)源

  Flex軟件開(kāi)發(fā)工具包核心(SDK)是開(kāi)源架構(gòu),用以創(chuàng)建以及維護(hù)RIAs,不同瀏覽器和操作系統(tǒng)具有同樣的外觀設(shè)計(jì)風(fēng)格。Flex是在Mozilla公共許可證下發(fā)布的。經(jīng)過(guò)編譯的Flex應(yīng)用程序在私有的Adobe Flash平臺(tái)上運(yùn)行。

  對(duì)于連接Flex 和Java,BlazeDS是為遠(yuǎn)程和信息服務(wù)的開(kāi)源技術(shù)。它作為servlet運(yùn)行在Java應(yīng)用程序服務(wù)器,允許你在任何Java web應(yīng)用程序規(guī)范中使用。BlazeDS是從Lesser GNU Public License (LGPL)得到的許可。除了BlazeDS的發(fā)布,Adobe公布了ActionScript信息格式說(shuō)明(AMF),允許BlazeDS 和Java與Flex客戶端聯(lián)系使用二進(jìn)制格式。

  好處二:強(qiáng)大的社區(qū)支持

  Flex具有一個(gè)非;钴S的社區(qū),有很多有貢獻(xiàn)的主題。Flex.org,是一個(gè)關(guān)于Adobe的社區(qū)新聞?wù)军c(diǎn),差不多每天都有更新,Yahoo! 上的Flex使用小組有超過(guò)11,000名成員。

  比如,Google 編碼上的FlexLib項(xiàng)目貢獻(xiàn)出大量的開(kāi)源用戶界面(UI)組成部分。Swiz 和 Mate項(xiàng)目貢獻(xiàn)出一個(gè)架構(gòu)來(lái)幫助處理事件。Gorilla Logic已經(jīng)為自動(dòng)化的UI測(cè)試貢獻(xiàn)出Flex Monkey。

  好處三:你可以在六個(gè)月內(nèi)得到一份工作

  根據(jù)Adobe的Flex教父James Ward的說(shuō)法,市場(chǎng)對(duì)Flex高級(jí)工程師仍然有很大的需求。學(xué)習(xí)Flex能夠讓你掌握一門技術(shù),在競(jìng)爭(zhēng)中處于優(yōu)勢(shì)地位。

  好處四:更高的商業(yè)投資回報(bào)率

  一般來(lái)說(shuō),開(kāi)發(fā)企業(yè)級(jí)web應(yīng)用軟件是眾所周知的困難。Flex 和BlazeDS提供的不僅是更高級(jí)的工具,而且更容易擴(kuò)展。開(kāi)發(fā)者生產(chǎn)力的增長(zhǎng)允許市場(chǎng)上銷售的更多更快。Flex 和Flash創(chuàng)造了更完美的用戶體驗(yàn),提升了銷量以及價(jià)格。

  一個(gè)理想的例子是博德斯圖書連鎖店,它最近在介紹一種新的具有“Magic Shelf”的website。這個(gè)站點(diǎn)使用Flash界面來(lái)模擬翻書的感覺(jué)。博德斯書店發(fā)現(xiàn)這真的可以提高流通率:“使用這種Flash仿真界面,顧客可以查看圖書,DVD和 CD的封面,使用這一舉措比沒(méi)有體驗(yàn)過(guò)的顧客多62%的購(gòu)買率”

  好處五:Flex 是第一種用來(lái)設(shè)計(jì)UIs的語(yǔ)言

  很多設(shè)計(jì)語(yǔ)言都是在事后增加了創(chuàng)建UIs的支持功能。特別體現(xiàn)在Java Swing上。因此,Swing處理一些簡(jiǎn)單事情,比如線路數(shù)據(jù),是非常痛苦的,要求使用特殊的Swing數(shù)據(jù)模型。Swing的最大問(wèn)題是你不得不在應(yīng)用程序界面中挖掘很深才能有效。

  Flex恰恰相反:它一開(kāi)始就是為創(chuàng)建web UIs而設(shè)計(jì)的。就像Bruce Eckel經(jīng)常說(shuō)的那樣,F(xiàn)lex是第一款為UI設(shè)計(jì)的特定語(yǔ)言。所以使用Flex創(chuàng)建UI比使用其他方法要簡(jiǎn)單,比如JavaServer Page(JSP),JavaServer Faces (JSF)以及Swing。數(shù)據(jù)綁定,事件句柄,元件布局還有其它的常見(jiàn)UI發(fā)展技術(shù)都可以被這種語(yǔ)言創(chuàng)建,甚至你僅僅掌握了一小部分語(yǔ)言知識(shí)就可以。

  好處六:擁有與Java類似的設(shè)計(jì)模型

  你可以使用現(xiàn)有的開(kāi)發(fā)Java的工具進(jìn)行開(kāi)發(fā)。你也可以使用包含在SDK中免費(fèi)的命令行工具開(kāi)發(fā)Flex應(yīng)用程序,通過(guò)Adobe Flex Builder(一個(gè)Eclipse插件)或者使用最近的IntelliJ IDEA 8。

  Flex提供一個(gè)狀態(tài)環(huán)境,數(shù)據(jù)可以加載到客戶端。編譯模型與Hypertext Markup Language (HTML)設(shè)計(jì)相比更像是編譯一個(gè)桌面客戶端,使得任何下載Java Swing設(shè)計(jì)的人都對(duì)編譯模型感到很熟悉。

  Flex編譯使用了一個(gè)MXML組合,一個(gè)UI markup語(yǔ)言,與可擴(kuò)展的Markup 語(yǔ)言 (XML)相似,還有Adobe ActionScript和面向?qū)ο蟮哪_本語(yǔ)言。這個(gè)組合使得編譯Flex與編譯Java相似,因?yàn)槟憧梢允褂酶拍罘浅J煜さ拿嫦驅(qū)ο蟮姆绞健?/span>

  理想的方法是創(chuàng)建你的開(kāi)發(fā)環(huán)境使得Flex應(yīng)用程序能夠在web開(kāi)發(fā)地址錄中創(chuàng)建。使用這種方法,你不需要在每次創(chuàng)建后重新部署您的應(yīng)用程序:一個(gè)簡(jiǎn)單的瀏覽器恢復(fù)功能,可以看到最后一次操作。結(jié)果是使用Flex 和BlazeDS開(kāi)發(fā)相當(dāng)有效。

  好處七:BlazeDS可以在任何Java應(yīng)用服務(wù)器上運(yùn)行

  BlazeDS的多個(gè)版本都是可以使用的,包括即將投入使用的包含Apache Tomcat設(shè)置的版本。在這篇文章中,我使用二進(jìn)制分布,作為web檔案(WAR),來(lái)顯示你在應(yīng)用服務(wù)器上如何進(jìn)行部署。否則你可以引用Java存檔(JAR)文件,在你的項(xiàng)目中使用。為了獲取各種各樣安裝BlazeDS的信息而訪問(wèn)BlazeDS wiki。

  這個(gè)例子是在現(xiàn)有的項(xiàng)目上使用BlazeDS。你只需要在你的項(xiàng)目上增加JAR文件,然后你可以在應(yīng)用程序內(nèi)部使用BlazeDS,這允許你在任何可以部署應(yīng)用程序的地方部署它。

  在你的項(xiàng)目上增加BlazeDS,完整步驟如下:

  1、 找出包含BlazeDS WAR文件 jar xvf blazeds.war

  2、 復(fù)制JAR文件到你的項(xiàng)目lib目錄:cp -R WEB-INF/lib /sodaSample。

  好處八:可以在現(xiàn)有的Java應(yīng)用程序上使用

  再soda的例子中,假設(shè)你想要暴露現(xiàn)有的soda服務(wù)以便遠(yuǎn)程的Flex應(yīng)用程序可以與之鏈接。在現(xiàn)有的應(yīng)用程序上創(chuàng)建BlazeDS的基本步驟如下:

  1、 在WEB-INF/flex目錄下編輯BlazeDS配置文件。

  2、 在應(yīng)用程序上web.xml上規(guī)定MessageBrokerServlet 以及session listener。

  創(chuàng)建BlazeDS以后,你需要增加你的soda服務(wù)到BlazeDS遠(yuǎn)程配置文件,它允許從Flex 客戶端訪問(wèn)soda服務(wù)。通過(guò)規(guī)定一個(gè)目的地以及一個(gè)或者更多的數(shù)據(jù)傳送渠道來(lái)實(shí)現(xiàn)添加。基礎(chǔ)的AMF渠道在服務(wù)器.xml文件中被定義。通過(guò)這個(gè)定義在遠(yuǎn)程config.xml 中識(shí)別你的目的地:

  < destination id="sodaService" channels="my-amf">

  < properties>

  < source>com.gorillalogic.sodaSample.SodaService< /source>

  < /properties>

  < /destination>

  通過(guò)在遠(yuǎn)程配置文件中定義端口,你可以從Flex客戶端訪問(wèn)任何一個(gè)Java服務(wù)。

  傳遞Java數(shù)據(jù)模型到Flex客戶端,在你的腳本class中定義兩者之間的映射:

  [Bindable]

  [RemoteClass(alias="com.gorillalogic.sodaSample.SodaModel")]

  這段代碼顯示Flex,當(dāng)遠(yuǎn)程服務(wù)訪問(wèn)返回Java SodaModel的結(jié)果把其映射到你的SodaModel。Flex客戶端的示例顯示如何訪問(wèn)這個(gè)Java服務(wù)。訪問(wèn)返回一個(gè)odaModel,根據(jù)你的命令:

  public function callSodaService():void {

  var sodaType:String = type.text;

  var sodaCount:int = parseInt(cnt.text);

  var flag:Boolean = preOpen.selected;

  remoteObject.getSoda(sodaType, sodaCount, flag);

  }

  private function resultHandler(event:ResultEvent):void {

  var sodaModel:SodaModel = event.result as SodaModel;

  }

  Flex從變化的結(jié)果中返回你的結(jié)果,映射到你的SodaModel上。我不在這里講述細(xì)節(jié),但是一個(gè)需要說(shuō)的細(xì)節(jié)是在匯編配置中指定services-config.xml,像以下所寫:

  -locale en_US -services=/nsource/sodaSample/web/WEB-INF/flex/services-config.xml -context-root /

  如果不這樣,你的Flex客戶端將無(wú)法找到Java服務(wù)。同樣的方法,你可以從客戶端傳遞一個(gè)對(duì)象返還到服務(wù)。比如,你可以傳遞空的soda model返還到客戶端。

  好處九:你可以擴(kuò)展BlazeDS以及使用Java對(duì)其進(jìn)行修改

  假設(shè)你決定當(dāng)soda服務(wù)器被訪問(wèn)的任何時(shí)候,要增加一個(gè)特別的logging。你可以擴(kuò)展Java編輯者的標(biāo)準(zhǔn)來(lái)增加logging。

  首先,增加Java類別擴(kuò)展JavaAdapter:

  import flex.messaging.services.remoting.adapters.JavaAdapter.

  public class TimingJavaAdapter extends JavaAdapter {

  Then, overload the invoke() method:

  public Object invoke(Message message) {

  RemotingMessage remotingMessage = (RemotingMessage) message;

  String operation = remotingMessage.getOperation();

  String destination = remotingMessage.getDestination();

  Logger.info("calling " + operation + " on destination " + destination);

  Object data = super.invoke(message);

  return data;

  }

  使用這種方法,你可以看見(jiàn)即將要進(jìn)行的操作以及訪問(wèn)的目的地。你可以使用這種簡(jiǎn)單的hook,比如說(shuō)你可以測(cè)試對(duì)服務(wù)器多長(zhǎng)時(shí)間的訪問(wèn)是最有意義的。

  好處十:你可以從HTML 和JSP訪問(wèn)BlazeDS

  你可以用不同的方式進(jìn)行訪問(wèn),比如通過(guò)瀏覽器管理或者flashVars。flashVars可以通過(guò)HTML頁(yè)設(shè)置,然后通過(guò)Flex引用程序讀出。

  舉個(gè)例子,比如你想要傳遞你的用戶名以及用戶類型,想要從HTML頁(yè)面上進(jìn)行命令。你必須要在HTML頁(yè)設(shè)置flashVars,如下:

  < object id='SodaSample' classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' codebase='http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab' height='100%' width='100%'>

  < param name='src' value='SodaSample.swf'/>

  < param name='flashVars' value='username=ryan&type=coke'/>

  < embed name='mySwf' src='SodaSample.swf' pluginspage='http://www.adobe.com/go/getflashplayer' height='100%' width='100%' flashVars='username=ryan&type=coke'/>

  < /object>

  然后,在你的Flex應(yīng)用程序中你可以通過(guò)應(yīng)用程序參數(shù)讀出這些變數(shù):

  var username:String;

  if (Application.application.parameters.hasOwnProperty("username")) {

  username = Application.application.parameters.username;

  }

  好處十一:Flex 和BlazeDS的數(shù)據(jù)傳送比其它的Ajax解決方案好

  默認(rèn)情況下,所有的遠(yuǎn)程程序調(diào)用(RPCs)在使用的時(shí)候運(yùn)用的是AMF二進(jìn)制協(xié)議。一個(gè)開(kāi)放的標(biāo)準(zhǔn),AMF極端的迅速。James Ward組成了一個(gè)整體樣本顯示與其他它遠(yuǎn)程解決方案的對(duì)比。盡管其它的異步式JavaScript 和 XML (Ajax)解決方案,比如Dojo與幾個(gè)成百的隊(duì)列進(jìn)行對(duì)抗,具有BlazeDS的Flex可以輕松的解決幾千個(gè)隊(duì)列。(James Ward為不同的RIA數(shù)據(jù)加載技術(shù)基準(zhǔn)做的統(tǒng)計(jì))

  好處十二:你可以直接從Java 客戶端訪問(wèn)BlazeDS

  BlazeDS最新發(fā)布的版本包含一個(gè)Java AMF類,你可以使用它使得Java 客戶端訪問(wèn)BlazeDS服務(wù)。這種訪問(wèn)unit testing的方法在單元測(cè)試以及下載測(cè)試中都顯示極其有效。

  好處十三:和Spring框架一起使用

  Adobe 與 Spring框架的組合帶來(lái)兩個(gè)項(xiàng)目之間更緊密的結(jié)合,最初發(fā)布的Spring-BlazeDS整合就顯示了很多前景。通過(guò)允許Spring Bean成為遠(yuǎn)程服務(wù),完全一樣的配置文件將會(huì)被刪除。

【java程序員學(xué)習(xí)Flex和BlazeDS有什么好處】相關(guān)文章:

Java和Python有什么區(qū)別09-06

java和C++有什么區(qū)別09-05

java SE和EE有什么區(qū)別08-01

Java與Java web有什么不同08-26

java程序員的學(xué)習(xí)技巧07-02

JAVA中throws和throw有什么區(qū)別09-01

java知識(shí):JDK和JRE有什么區(qū)別08-08

OA有什么好處08-25

檸檬有什么好處07-18