SlideShare ist ein Scribd-Unternehmen logo
1 von 35
Downloaden Sie, um offline zu lesen
JavaFXでAdobeと仲良く
         〜Adobe AIR連携とJavaFXでのAMF通信〜




                             yone098
第1回 JavaFX勉強会   2009/08/05
⾃⼰紹介
   名前
     ⽶林 正明(よねばやし まさあき)
   ID
     yone098
   所属
     T2 Project http://t2framework.org/
     株式会社Abby 代表取締役社⻑
        絶賛社員募集中


第1回 JavaFX勉強会   2009/08/05
Agenda
   Merapiの概要
   JavaFXとAdobe AIR連携
     Demo
   AMFの概要
   JavaFXでAMF通信
     Demo(BlazeDS, T2)
   まとめ
第1回 JavaFX勉強会   2009/08/05
Merapi




     Merapiの概要

第1回 JavaFX勉強会   2009/08/05
Merapi
   Adobe AIRとJavaアプリ連携
     インドネシアのジャワ(Java)島にあるムラピ⼭(Mount 
     Merapi)に由来
   JavaとActionScriptで実装
     jarファイルとswcコンポーネント
   OSS
     http://www.merapiproject.net/
     以前はソース⾮公開
         ユーザ登録後に数⽇間の承認期間
     LicenseはLGPL3
第1回 JavaFX勉強会    2009/08/05
Merapi
    以前と異なる点
       spring.jarが追加
           内部的にSpringを使⽤
       インターフェース変更
           以前のプログラムは動作しない
              例)Bridge
 Bridge br = Bridge.getInstance();
 br.registerMessageHandler("myType", new MyMessageHandler());

 Bridge.open();



第1回 JavaFX勉強会          2009/08/05
Merapi
   Merapi概要図




第1回 JavaFX勉強会   2009/08/05
Merapi
 Java
  Message
    merapi.message.Messageを継承
  Handler
    merapi.handlers.MessageHandlerを継承
    handleMessageメソッド作成
      引数にmerapi.message.IMessage



第1回 JavaFX勉強会   2009/08/05
Merapi
 public class MerapiMyClass extends MessageHandler {
   public MerapiMyClass() {
      super("yone098"); // msgtype
   }

     public void handleMessage(IMessage message) {
       if (message instanceof MyClassMessage) {
       }
     }
 }

 public class MyClassMessage extends Message {
   private MyClass myClass; // getter/setter
   public MyClassMessage() {
     super();
   }
 }


第1回 JavaFX勉強会             2009/08/05
Merapi
 Adobe AIR
  Message
    merapi.message.Messageを継承
  Handler
    merapi.handlers.MessageHandlerを継承
    handleMessageメソッド作成
      引数にmerapi.message.IMessage



第1回 JavaFX勉強会   2009/08/05
Merapi
<mx:Script>
<![CDATA[
private function handleResult2(e:ResultEvent):void
{
  var msg:Message=Message(e.result);
  if (msg is MyClassMessage)
  {
  }
}
]]>
</mx:Script>
<myclassMsg:MyClassMessage id="myClassMsg"/>
<merapiproject:MessageHandler id="myClassHandler"
  result="handleResult2(event)" type=“yone098"
  dataField="myClass"/>
<mx:Button label="AIR ‐ MyClass ‐ Java" click="myCalcMsg.send()"/>

第1回 JavaFX勉強会           2009/08/05
Merapi


    Demo
      Java             AIR

第1回 JavaFX勉強会   2009/08/05
Merapi



   JavaFXとAdobe AIR連携




第1回 JavaFX勉強会   2009/08/05
Merapi
 JavaFX
  ライブラリを追加
    flex‐messaging‐common.jar
    flex‐messaging‐core.jar
    merapi‐core‐0.x.x.jar
    merapi‐core‐dev.jar
    spring.jar


第1回 JavaFX勉強会   2009/08/05
Merapi


    Demo
      JavaFX                 AIR

第1回 JavaFX勉強会   2009/08/05
AMF




     AMFの概要

第1回 JavaFX勉強会   2009/08/05
AMF
  ActionMessageFormat
  Flash/FlexのObjectSerialize⽅法
  通信フォーマットに利⽤可能
  バイナリ形式で⼩さい!
    JSONの1/4、XMLの1/10



第1回 JavaFX勉強会   2009/08/05
AMF
   例えば整数
 (数値hex)               :(binary)
 0x00000000 ‐ 0x0000007F : 0xxxxxxx
 0x00000080 ‐ 0x00003FFF : 1xxxxxxx 0xxxxxxx
 0x00004000 ‐ 0x001FFFFF : 1xxxxxxx 1xxxxxxx 0xxxxxxx
 0x00200000 ‐ 0x3FFFFFFF : 1xxxxxxx 1xxxxxxx 1xxxxxxx xxxxxxxx
 0x40000000 ‐ 0xFFFFFFFF : レンジ例外が発⽣

   0‐127までの値なら1byteに変換
   例えば⽂字列
 ⽂字列の参照テーブルがあるので、同じ⽂字列なら
 参照で済ます
  →サイズを⼩さくする仕掛けがされてます
第1回 JavaFX勉強会          2009/08/05
AMF
   AMFが利⽤できる型の⼀覧
  undefined Type         null Type
  false Type             true Type
  integer Type           double Type
  String Type            XMLDocument Type
  Date Type              Array Type
  XML Type               ByteArray Type
  Object Type(型ありObject, 型無しObject)




第1回 JavaFX勉強会    2009/08/05
AMF
  AMF0とAMF3
    AMF3:ActionScript3から利⽤可
    能(FlashPlayer9以降)
    Flex2/3ではAMF3を利⽤
  format仕様はOpen
    http://download.macromedia.com/pub/labs/amf/amf3_spec_121207.
    pdf




第1回 JavaFX勉強会         2009/08/05
AMF
   AMF通信イメージ
                                                    サーバ
  クライアント




                 HTTP/HTTPS
                   で転送
 AS Object



                                AMF3でJava Objectに
                                    Deserialize
       AMF3でSerialize

第1回 JavaFX勉強会           2009/08/05
AMF



    JavaFX勉強会



第1回 JavaFX勉強会   2009/08/05
AMF
   AMF通信イメージ
                                                    サーバ
  クライアント




                 HTTP/HTTPS
                   で転送
Java Object



                                AMF3でJava Objectに
                                    Deserialize
       AMF3でSerialize

第1回 JavaFX勉強会           2009/08/05
AMF
  JavaFX with AMF
    既存のFlexからの乗り換え
      RIAとしてJavaFXを採⽤
    Flex時に使⽤していたサーバをそのま
    ま使⽤可能
    新規で作成する場合clientとserver側
    で複数の定義をする必要が無い
    Javaの資産を利⽤出来る
第1回 JavaFX勉強会   2009/08/05
AMF




第1回 JavaFX勉強会   2009/08/05
AMF
  JavaFXでAMF通信する⽅法
    BlazeDSのAMFConnectionを利⽤
      commons‐logging.jar
      flex‐messaging‐common.jar
      flex‐messaging‐core.jar
      flex‐messaging‐remoting.jar
    T2AMFを利⽤
      t2‐amf‐x.x.x.jar



第1回 JavaFX勉強会   2009/08/05
AMF
  補⾜
    BlazeDSのAMFConnection




第1回 JavaFX勉強会   2009/08/05
AMF


    Demo
     JavaFX           AMF    Server
       BlazeDS


第1回 JavaFX勉強会   2009/08/05
AMF


    Demo
     JavaFX           AMF    Server
       T2AMF


第1回 JavaFX勉強会   2009/08/05
JavaFX




      まとめ

第1回 JavaFX勉強会   2009/08/05
AMF
  JavaFXの可能性
    Adobe製品と仲良く出来る
      Adobe AIRとの連携
      BlazeDSでの通信
        JavaFX with AMF
  JavaFXは熱い!



第1回 JavaFX勉強会   2009/08/05
AMF


    Demo
     JavaFXプレゼンツール


第1回 JavaFX勉強会   2009/08/05
JavaFX




      まとめ俳句

第1回 JavaFX勉強会   2009/08/05
JavaFX


FX
DMMも
始めたよ❤

第1回 JavaFX勉強会   2009/08/05
謝辞



                      御清聴
                     ありがとう
                    ございました
第1回 JavaFX勉強会   2009/08/05

Weitere ähnliche Inhalte

Ähnlich wie JavaFX-with-Adobe

『RIA開発におけるサービス開発のイロハ』
 『RIA開発におけるサービス開発のイロハ』 『RIA開発におけるサービス開発のイロハ』
『RIA開発におけるサービス開発のイロハ』Jun Funakura
 
RIA開発におけるサービス開発のイロハ
RIA開発におけるサービス開発のイロハRIA開発におけるサービス開発のイロハ
RIA開発におけるサービス開発のイロハJun Funakura
 
R5 3 type annotation
R5 3 type annotationR5 3 type annotation
R5 3 type annotationEIICHI KIMURA
 
PHP Now and Then 2012 at PHP Conference 2012, Tokyo Japan (in japanese)
PHP Now and Then 2012 at PHP Conference 2012, Tokyo Japan (in japanese)PHP Now and Then 2012 at PHP Conference 2012, Tokyo Japan (in japanese)
PHP Now and Then 2012 at PHP Conference 2012, Tokyo Japan (in japanese)Rui Hirokawa
 
Beginning Java EE 6 勉強会(4) #bje_study
Beginning Java EE 6 勉強会(4) #bje_studyBeginning Java EE 6 勉強会(4) #bje_study
Beginning Java EE 6 勉強会(4) #bje_studyGeorge Okada
 
JavaScript (ECMAScript) 2013
JavaScript (ECMAScript) 2013JavaScript (ECMAScript) 2013
JavaScript (ECMAScript) 2013dynamis
 
JavaFX & GlassFish 勉強会 Oh! JavaFX 2.0!
JavaFX & GlassFish 勉強会 Oh! JavaFX 2.0!JavaFX & GlassFish 勉強会 Oh! JavaFX 2.0!
JavaFX & GlassFish 勉強会 Oh! JavaFX 2.0!Yuichi Sakuraba
 
モダンJavaScript環境構築一歩目
モダンJavaScript環境構築一歩目モダンJavaScript環境構築一歩目
モダンJavaScript環境構築一歩目大樹 小倉
 
[JavaOne Tokyo 2012] JavaFX and Web Integration
[JavaOne Tokyo 2012] JavaFX and Web Integration[JavaOne Tokyo 2012] JavaFX and Web Integration
[JavaOne Tokyo 2012] JavaFX and Web IntegrationKazuchika Sekiya
 
JavaOne2015報告会 Java EE アップデート #j1jp
JavaOne2015報告会 Java EE アップデート #j1jpJavaOne2015報告会 Java EE アップデート #j1jp
JavaOne2015報告会 Java EE アップデート #j1jpNorito Agetsuma
 
MessagePack RPC によるドキドキ非同期通信 @関ジャバ 2012年度8月
MessagePack RPC によるドキドキ非同期通信 @関ジャバ 2012年度8月MessagePack RPC によるドキドキ非同期通信 @関ジャバ 2012年度8月
MessagePack RPC によるドキドキ非同期通信 @関ジャバ 2012年度8月Takashi Someda
 
Web技術勉強会 第31回
Web技術勉強会 第31回Web技術勉強会 第31回
Web技術勉強会 第31回龍一 田中
 
はじめよう JavaFX 2.x(第3回 岡山Javaユーザー会)
はじめよう JavaFX 2.x(第3回 岡山Javaユーザー会)はじめよう JavaFX 2.x(第3回 岡山Javaユーザー会)
はじめよう JavaFX 2.x(第3回 岡山Javaユーザー会)a know
 
RIAのマルチスクリーン展開とFlash Platform
RIAのマルチスクリーン展開とFlash PlatformRIAのマルチスクリーン展開とFlash Platform
RIAのマルチスクリーン展開とFlash PlatformTeiichi Ota
 

Ähnlich wie JavaFX-with-Adobe (20)

『RIA開発におけるサービス開発のイロハ』
 『RIA開発におけるサービス開発のイロハ』 『RIA開発におけるサービス開発のイロハ』
『RIA開発におけるサービス開発のイロハ』
 
RIA開発におけるサービス開発のイロハ
RIA開発におけるサービス開発のイロハRIA開発におけるサービス開発のイロハ
RIA開発におけるサービス開発のイロハ
 
R5 3 type annotation
R5 3 type annotationR5 3 type annotation
R5 3 type annotation
 
PHP Now and Then 2012 at PHP Conference 2012, Tokyo Japan (in japanese)
PHP Now and Then 2012 at PHP Conference 2012, Tokyo Japan (in japanese)PHP Now and Then 2012 at PHP Conference 2012, Tokyo Japan (in japanese)
PHP Now and Then 2012 at PHP Conference 2012, Tokyo Japan (in japanese)
 
Beginning Java EE 6 勉強会(4) #bje_study
Beginning Java EE 6 勉強会(4) #bje_studyBeginning Java EE 6 勉強会(4) #bje_study
Beginning Java EE 6 勉強会(4) #bje_study
 
JavaScript (ECMAScript) 2013
JavaScript (ECMAScript) 2013JavaScript (ECMAScript) 2013
JavaScript (ECMAScript) 2013
 
JavaFX & GlassFish 勉強会 Oh! JavaFX 2.0!
JavaFX & GlassFish 勉強会 Oh! JavaFX 2.0!JavaFX & GlassFish 勉強会 Oh! JavaFX 2.0!
JavaFX & GlassFish 勉強会 Oh! JavaFX 2.0!
 
モダンJavaScript環境構築一歩目
モダンJavaScript環境構築一歩目モダンJavaScript環境構築一歩目
モダンJavaScript環境構築一歩目
 
110409 slintky lt
110409 slintky lt110409 slintky lt
110409 slintky lt
 
vFabricを触ろう
vFabricを触ろうvFabricを触ろう
vFabricを触ろう
 
WildFly Swarm In Progress
WildFly Swarm In ProgressWildFly Swarm In Progress
WildFly Swarm In Progress
 
[JavaOne Tokyo 2012] JavaFX and Web Integration
[JavaOne Tokyo 2012] JavaFX and Web Integration[JavaOne Tokyo 2012] JavaFX and Web Integration
[JavaOne Tokyo 2012] JavaFX and Web Integration
 
JavaOne2015報告会 Java EE アップデート #j1jp
JavaOne2015報告会 Java EE アップデート #j1jpJavaOne2015報告会 Java EE アップデート #j1jp
JavaOne2015報告会 Java EE アップデート #j1jp
 
Griffon10 in groovy_fx
Griffon10 in groovy_fxGriffon10 in groovy_fx
Griffon10 in groovy_fx
 
MessagePack RPC によるドキドキ非同期通信 @関ジャバ 2012年度8月
MessagePack RPC によるドキドキ非同期通信 @関ジャバ 2012年度8月MessagePack RPC によるドキドキ非同期通信 @関ジャバ 2012年度8月
MessagePack RPC によるドキドキ非同期通信 @関ジャバ 2012年度8月
 
Web技術勉強会 第31回
Web技術勉強会 第31回Web技術勉強会 第31回
Web技術勉強会 第31回
 
Java8勉強会
Java8勉強会Java8勉強会
Java8勉強会
 
はじめよう JavaFX 2.x(第3回 岡山Javaユーザー会)
はじめよう JavaFX 2.x(第3回 岡山Javaユーザー会)はじめよう JavaFX 2.x(第3回 岡山Javaユーザー会)
はじめよう JavaFX 2.x(第3回 岡山Javaユーザー会)
 
RIAのマルチスクリーン展開とFlash Platform
RIAのマルチスクリーン展開とFlash PlatformRIAのマルチスクリーン展開とFlash Platform
RIAのマルチスクリーン展開とFlash Platform
 
120517 revert tomcat7
120517 revert tomcat7120517 revert tomcat7
120517 revert tomcat7
 

Mehr von Masaaki Yonebayashi (13)

Go guide for Java programmer
Go guide for Java programmerGo guide for Java programmer
Go guide for Java programmer
 
HHVM Hack
HHVM HackHHVM Hack
HHVM Hack
 
Guice2.0
Guice2.0Guice2.0
Guice2.0
 
T2 in Action
T2 in ActionT2 in Action
T2 in Action
 
guice-servlet
guice-servletguice-servlet
guice-servlet
 
T2@java-ja#toyama
T2@java-ja#toyamaT2@java-ja#toyama
T2@java-ja#toyama
 
Merapi -Adobe Air<=>Java-
Merapi -Adobe Air<=>Java-Merapi -Adobe Air<=>Java-
Merapi -Adobe Air<=>Java-
 
sc2009white_T2
sc2009white_T2sc2009white_T2
sc2009white_T2
 
sc2009white_Teeda
sc2009white_Teedasc2009white_Teeda
sc2009white_Teeda
 
yonex
yonexyonex
yonex
 
S2Flex2
S2Flex2S2Flex2
S2Flex2
 
Teeda
TeedaTeeda
Teeda
 
Wankumatoyama#01
Wankumatoyama#01Wankumatoyama#01
Wankumatoyama#01
 

Kürzlich hochgeladen

業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 

Kürzlich hochgeladen (8)

業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 

JavaFX-with-Adobe

  • 1. JavaFXでAdobeと仲良く 〜Adobe AIR連携とJavaFXでのAMF通信〜 yone098 第1回 JavaFX勉強会 2009/08/05
  • 2. ⾃⼰紹介 名前 ⽶林 正明(よねばやし まさあき) ID yone098 所属 T2 Project http://t2framework.org/ 株式会社Abby 代表取締役社⻑ 絶賛社員募集中 第1回 JavaFX勉強会 2009/08/05
  • 3. Agenda Merapiの概要 JavaFXとAdobe AIR連携 Demo AMFの概要 JavaFXでAMF通信 Demo(BlazeDS, T2) まとめ 第1回 JavaFX勉強会 2009/08/05
  • 4. Merapi Merapiの概要 第1回 JavaFX勉強会 2009/08/05
  • 5. Merapi Adobe AIRとJavaアプリ連携 インドネシアのジャワ(Java)島にあるムラピ⼭(Mount  Merapi)に由来 JavaとActionScriptで実装 jarファイルとswcコンポーネント OSS http://www.merapiproject.net/ 以前はソース⾮公開 ユーザ登録後に数⽇間の承認期間 LicenseはLGPL3 第1回 JavaFX勉強会 2009/08/05
  • 6. Merapi 以前と異なる点 spring.jarが追加 内部的にSpringを使⽤ インターフェース変更 以前のプログラムは動作しない 例)Bridge Bridge br = Bridge.getInstance(); br.registerMessageHandler("myType", new MyMessageHandler()); Bridge.open(); 第1回 JavaFX勉強会 2009/08/05
  • 7. Merapi Merapi概要図 第1回 JavaFX勉強会 2009/08/05
  • 8. Merapi Java Message merapi.message.Messageを継承 Handler merapi.handlers.MessageHandlerを継承 handleMessageメソッド作成 引数にmerapi.message.IMessage 第1回 JavaFX勉強会 2009/08/05
  • 9. Merapi public class MerapiMyClass extends MessageHandler { public MerapiMyClass() { super("yone098"); // msgtype } public void handleMessage(IMessage message) { if (message instanceof MyClassMessage) { } } } public class MyClassMessage extends Message { private MyClass myClass; // getter/setter public MyClassMessage() { super(); } } 第1回 JavaFX勉強会 2009/08/05
  • 10. Merapi Adobe AIR Message merapi.message.Messageを継承 Handler merapi.handlers.MessageHandlerを継承 handleMessageメソッド作成 引数にmerapi.message.IMessage 第1回 JavaFX勉強会 2009/08/05
  • 11. Merapi <mx:Script> <![CDATA[ private function handleResult2(e:ResultEvent):void { var msg:Message=Message(e.result); if (msg is MyClassMessage) { } } ]]> </mx:Script> <myclassMsg:MyClassMessage id="myClassMsg"/> <merapiproject:MessageHandler id="myClassHandler" result="handleResult2(event)" type=“yone098" dataField="myClass"/> <mx:Button label="AIR ‐ MyClass ‐ Java" click="myCalcMsg.send()"/> 第1回 JavaFX勉強会 2009/08/05
  • 12. Merapi Demo Java AIR 第1回 JavaFX勉強会 2009/08/05
  • 13. Merapi JavaFXとAdobe AIR連携 第1回 JavaFX勉強会 2009/08/05
  • 14. Merapi JavaFX ライブラリを追加 flex‐messaging‐common.jar flex‐messaging‐core.jar merapi‐core‐0.x.x.jar merapi‐core‐dev.jar spring.jar 第1回 JavaFX勉強会 2009/08/05
  • 15. Merapi Demo JavaFX AIR 第1回 JavaFX勉強会 2009/08/05
  • 16. AMF AMFの概要 第1回 JavaFX勉強会 2009/08/05
  • 17. AMF ActionMessageFormat Flash/FlexのObjectSerialize⽅法 通信フォーマットに利⽤可能 バイナリ形式で⼩さい! JSONの1/4、XMLの1/10 第1回 JavaFX勉強会 2009/08/05
  • 18. AMF 例えば整数 (数値hex)               :(binary) 0x00000000 ‐ 0x0000007F : 0xxxxxxx 0x00000080 ‐ 0x00003FFF : 1xxxxxxx 0xxxxxxx 0x00004000 ‐ 0x001FFFFF : 1xxxxxxx 1xxxxxxx 0xxxxxxx 0x00200000 ‐ 0x3FFFFFFF : 1xxxxxxx 1xxxxxxx 1xxxxxxx xxxxxxxx 0x40000000 ‐ 0xFFFFFFFF : レンジ例外が発⽣ 0‐127までの値なら1byteに変換 例えば⽂字列 ⽂字列の参照テーブルがあるので、同じ⽂字列なら 参照で済ます →サイズを⼩さくする仕掛けがされてます 第1回 JavaFX勉強会 2009/08/05
  • 19. AMF AMFが利⽤できる型の⼀覧 undefined Type         null Type false Type             true Type integer Type           double Type String Type            XMLDocument Type Date Type              Array Type XML Type               ByteArray Type Object Type(型ありObject, 型無しObject) 第1回 JavaFX勉強会 2009/08/05
  • 20. AMF AMF0とAMF3 AMF3:ActionScript3から利⽤可 能(FlashPlayer9以降) Flex2/3ではAMF3を利⽤ format仕様はOpen http://download.macromedia.com/pub/labs/amf/amf3_spec_121207. pdf 第1回 JavaFX勉強会 2009/08/05
  • 21. AMF AMF通信イメージ サーバ クライアント HTTP/HTTPS で転送 AS Object AMF3でJava Objectに Deserialize AMF3でSerialize 第1回 JavaFX勉強会 2009/08/05
  • 22. AMF JavaFX勉強会 第1回 JavaFX勉強会 2009/08/05
  • 23. AMF AMF通信イメージ サーバ クライアント HTTP/HTTPS で転送 Java Object AMF3でJava Objectに Deserialize AMF3でSerialize 第1回 JavaFX勉強会 2009/08/05
  • 24. AMF JavaFX with AMF 既存のFlexからの乗り換え RIAとしてJavaFXを採⽤ Flex時に使⽤していたサーバをそのま ま使⽤可能 新規で作成する場合clientとserver側 で複数の定義をする必要が無い Javaの資産を利⽤出来る 第1回 JavaFX勉強会 2009/08/05
  • 26. AMF JavaFXでAMF通信する⽅法 BlazeDSのAMFConnectionを利⽤ commons‐logging.jar flex‐messaging‐common.jar flex‐messaging‐core.jar flex‐messaging‐remoting.jar T2AMFを利⽤ t2‐amf‐x.x.x.jar 第1回 JavaFX勉強会 2009/08/05
  • 27. AMF 補⾜ BlazeDSのAMFConnection 第1回 JavaFX勉強会 2009/08/05
  • 28. AMF Demo JavaFX AMF Server BlazeDS 第1回 JavaFX勉強会 2009/08/05
  • 29. AMF Demo JavaFX AMF Server T2AMF 第1回 JavaFX勉強会 2009/08/05
  • 30. JavaFX まとめ 第1回 JavaFX勉強会 2009/08/05
  • 31. AMF JavaFXの可能性 Adobe製品と仲良く出来る Adobe AIRとの連携 BlazeDSでの通信 JavaFX with AMF JavaFXは熱い! 第1回 JavaFX勉強会 2009/08/05
  • 32. AMF Demo JavaFXプレゼンツール 第1回 JavaFX勉強会 2009/08/05
  • 33. JavaFX まとめ俳句 第1回 JavaFX勉強会 2009/08/05
  • 35. 謝辞 御清聴 ありがとう ございました 第1回 JavaFX勉強会 2009/08/05