Submit Search
Upload
Android T2 on cloud
•
1 like
•
1,435 views
Masaaki Yonebayashi
Follow
Java Cloud Meeting Tokyo 2010 x Seasar Conference 2010
Read less
Read more
Technology
Slideshow view
Report
Share
Slideshow view
Report
Share
1 of 63
Download now
Download to read offline
Recommended
第10回Mozilla拡張機能勉強会-FireMobileSimulatorについて
第10回Mozilla拡張機能勉強会-FireMobileSimulatorについて
Takahiro (Poly) Horikawa
AWS Simple Email Service詳細 -ほぼ週刊AWSマイスターシリーズ第11回-
AWS Simple Email Service詳細 -ほぼ週刊AWSマイスターシリーズ第11回-
SORACOM, INC
やや関数型を意識した風Elixir/Phoenixご紹介
やや関数型を意識した風Elixir/Phoenixご紹介
fukuoka.ex
mSpoke Overview
mSpoke Overview
Sean Ammirati
T2 in Action
T2 in Action
Masaaki Yonebayashi
guice-servlet
guice-servlet
Masaaki Yonebayashi
Five Misunderstandings about MVPs
Five Misunderstandings about MVPs
Sean Ammirati
Minimally Awesome Products - Lean Entrepreneurship Carnegie Mellon
Minimally Awesome Products - Lean Entrepreneurship Carnegie Mellon
Sean Ammirati
Recommended
第10回Mozilla拡張機能勉強会-FireMobileSimulatorについて
第10回Mozilla拡張機能勉強会-FireMobileSimulatorについて
Takahiro (Poly) Horikawa
AWS Simple Email Service詳細 -ほぼ週刊AWSマイスターシリーズ第11回-
AWS Simple Email Service詳細 -ほぼ週刊AWSマイスターシリーズ第11回-
SORACOM, INC
やや関数型を意識した風Elixir/Phoenixご紹介
やや関数型を意識した風Elixir/Phoenixご紹介
fukuoka.ex
mSpoke Overview
mSpoke Overview
Sean Ammirati
T2 in Action
T2 in Action
Masaaki Yonebayashi
guice-servlet
guice-servlet
Masaaki Yonebayashi
Five Misunderstandings about MVPs
Five Misunderstandings about MVPs
Sean Ammirati
Minimally Awesome Products - Lean Entrepreneurship Carnegie Mellon
Minimally Awesome Products - Lean Entrepreneurship Carnegie Mellon
Sean Ammirati
Programming AWS with Perl at YAPC::Asia 2013
Programming AWS with Perl at YAPC::Asia 2013
Yasuhiro Horiuchi
JavaScript.Next Returns
JavaScript.Next Returns
dynamis
ホット・トピック・セミナー「Metro」
ホット・トピック・セミナー「Metro」
Kohsuke Kawaguchi
20120303 jaws summit-meister-04_cloud_formation
20120303 jaws summit-meister-04_cloud_formation
Amazon Web Services Japan
Aws meister-cloud formation-summit2012
Aws meister-cloud formation-summit2012
Akio Katayama
[CB16] Electron - Build cross platform desktop XSS, it’s easier than you thin...
[CB16] Electron - Build cross platform desktop XSS, it’s easier than you thin...
CODE BLUE
PHP on Cloud
PHP on Cloud
Akio Katayama
JavaScript.Next
JavaScript.Next
dynamis
AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Deploy with EB CLI編~
AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Deploy with EB CLI編~
Amazon Web Services Japan
アマゾンクラウドの真価
アマゾンクラウドの真価
kaminashi
Google App Engine Java 入門
Google App Engine Java 入門
tantack
Running Java Apps with Amazon EC2, AWS Elastic Beanstalk or Serverless
Running Java Apps with Amazon EC2, AWS Elastic Beanstalk or Serverless
Keisuke Nishitani
AWSマイスターシリーズReloaded(AWS Beanstalk)
AWSマイスターシリーズReloaded(AWS Beanstalk)
Akio Katayama
20120416 aws meister-reloaded-aws-elasticbeanstalk-public
20120416 aws meister-reloaded-aws-elasticbeanstalk-public
Amazon Web Services Japan
Node handson
Node handson
Makoto Kishimoto
13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs
Takayoshi Tanaka
WowzaMediaServer for EC2 導入編
WowzaMediaServer for EC2 導入編
BeMarble
CloudFormation/SAMのススメ
CloudFormation/SAMのススメ
Eiji KOMINAMI
Seasarプロジェクト徹底攻略
Seasarプロジェクト徹底攻略
takezoe
モバイル開発を支えるAWS Mobile Services
モバイル開発を支えるAWS Mobile Services
Keisuke Nishitani
Go guide for Java programmer
Go guide for Java programmer
Masaaki Yonebayashi
HHVM Hack
HHVM Hack
Masaaki Yonebayashi
More Related Content
Similar to Android T2 on cloud
Programming AWS with Perl at YAPC::Asia 2013
Programming AWS with Perl at YAPC::Asia 2013
Yasuhiro Horiuchi
JavaScript.Next Returns
JavaScript.Next Returns
dynamis
ホット・トピック・セミナー「Metro」
ホット・トピック・セミナー「Metro」
Kohsuke Kawaguchi
20120303 jaws summit-meister-04_cloud_formation
20120303 jaws summit-meister-04_cloud_formation
Amazon Web Services Japan
Aws meister-cloud formation-summit2012
Aws meister-cloud formation-summit2012
Akio Katayama
[CB16] Electron - Build cross platform desktop XSS, it’s easier than you thin...
[CB16] Electron - Build cross platform desktop XSS, it’s easier than you thin...
CODE BLUE
PHP on Cloud
PHP on Cloud
Akio Katayama
JavaScript.Next
JavaScript.Next
dynamis
AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Deploy with EB CLI編~
AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Deploy with EB CLI編~
Amazon Web Services Japan
アマゾンクラウドの真価
アマゾンクラウドの真価
kaminashi
Google App Engine Java 入門
Google App Engine Java 入門
tantack
Running Java Apps with Amazon EC2, AWS Elastic Beanstalk or Serverless
Running Java Apps with Amazon EC2, AWS Elastic Beanstalk or Serverless
Keisuke Nishitani
AWSマイスターシリーズReloaded(AWS Beanstalk)
AWSマイスターシリーズReloaded(AWS Beanstalk)
Akio Katayama
20120416 aws meister-reloaded-aws-elasticbeanstalk-public
20120416 aws meister-reloaded-aws-elasticbeanstalk-public
Amazon Web Services Japan
Node handson
Node handson
Makoto Kishimoto
13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs
Takayoshi Tanaka
WowzaMediaServer for EC2 導入編
WowzaMediaServer for EC2 導入編
BeMarble
CloudFormation/SAMのススメ
CloudFormation/SAMのススメ
Eiji KOMINAMI
Seasarプロジェクト徹底攻略
Seasarプロジェクト徹底攻略
takezoe
モバイル開発を支えるAWS Mobile Services
モバイル開発を支えるAWS Mobile Services
Keisuke Nishitani
Similar to Android T2 on cloud
(20)
Programming AWS with Perl at YAPC::Asia 2013
Programming AWS with Perl at YAPC::Asia 2013
JavaScript.Next Returns
JavaScript.Next Returns
ホット・トピック・セミナー「Metro」
ホット・トピック・セミナー「Metro」
20120303 jaws summit-meister-04_cloud_formation
20120303 jaws summit-meister-04_cloud_formation
Aws meister-cloud formation-summit2012
Aws meister-cloud formation-summit2012
[CB16] Electron - Build cross platform desktop XSS, it’s easier than you thin...
[CB16] Electron - Build cross platform desktop XSS, it’s easier than you thin...
PHP on Cloud
PHP on Cloud
JavaScript.Next
JavaScript.Next
AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Deploy with EB CLI編~
AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Deploy with EB CLI編~
アマゾンクラウドの真価
アマゾンクラウドの真価
Google App Engine Java 入門
Google App Engine Java 入門
Running Java Apps with Amazon EC2, AWS Elastic Beanstalk or Serverless
Running Java Apps with Amazon EC2, AWS Elastic Beanstalk or Serverless
AWSマイスターシリーズReloaded(AWS Beanstalk)
AWSマイスターシリーズReloaded(AWS Beanstalk)
20120416 aws meister-reloaded-aws-elasticbeanstalk-public
20120416 aws meister-reloaded-aws-elasticbeanstalk-public
Node handson
Node handson
13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs
WowzaMediaServer for EC2 導入編
WowzaMediaServer for EC2 導入編
CloudFormation/SAMのススメ
CloudFormation/SAMのススメ
Seasarプロジェクト徹底攻略
Seasarプロジェクト徹底攻略
モバイル開発を支えるAWS Mobile Services
モバイル開発を支えるAWS Mobile Services
More from Masaaki Yonebayashi
Go guide for Java programmer
Go guide for Java programmer
Masaaki Yonebayashi
HHVM Hack
HHVM Hack
Masaaki Yonebayashi
JavaFX-with-Adobe
JavaFX-with-Adobe
Masaaki Yonebayashi
Guice2.0
Guice2.0
Masaaki Yonebayashi
Flex's DI Container
Flex's DI Container
Masaaki Yonebayashi
T2@java-ja#toyama
T2@java-ja#toyama
Masaaki Yonebayashi
Merapi -Adobe Air<=>Java-
Merapi -Adobe Air<=>Java-
Masaaki Yonebayashi
sc2009white_T2
sc2009white_T2
Masaaki Yonebayashi
sc2009white_Teeda
sc2009white_Teeda
Masaaki Yonebayashi
yonex
yonex
Masaaki Yonebayashi
S2Flex2
S2Flex2
Masaaki Yonebayashi
Teeda
Teeda
Masaaki Yonebayashi
Wankumatoyama#01
Wankumatoyama#01
Masaaki Yonebayashi
More from Masaaki Yonebayashi
(13)
Go guide for Java programmer
Go guide for Java programmer
HHVM Hack
HHVM Hack
JavaFX-with-Adobe
JavaFX-with-Adobe
Guice2.0
Guice2.0
Flex's DI Container
Flex's DI Container
T2@java-ja#toyama
T2@java-ja#toyama
Merapi -Adobe Air<=>Java-
Merapi -Adobe Air<=>Java-
sc2009white_T2
sc2009white_T2
sc2009white_Teeda
sc2009white_Teeda
yonex
yonex
S2Flex2
S2Flex2
Teeda
Teeda
Wankumatoyama#01
Wankumatoyama#01
Recently uploaded
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
sugiuralab
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
Hiroshi Tomioka
Recently uploaded
(9)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
Android T2 on cloud
1.
Androidから
T2 on Cloud Team T2Framework 2010/06/13
2.
Agenda 自己紹介 T2 on Cloud T2Frameworkとは
GAEとEC2 GAE用Eclipse Plugin Vili AMF3 vs JSON Androidからの AndroidでのJSON処理 DEMO
3.
自己紹介
4.
自己紹介 名前
米林 正明 ID yone098(はてな,Twitter,mixi,…) 所属 株式会社Abby 代表取締役社長 社員募集中 ⼀緒に働きませんか? T2 Project
5.
自己紹介 名前
片山 暁雄 ID c9katayama (はてな,Twitter) 所属 株式会社キャピタル・アセット・プランニング T2 Project
6.
T2 on Cloud
7.
T2Frameworkとは
8.
T2 on Cloud T2とは シンプルなWebフレームワーク
フィルタ指向 アノテーションベース ⾊々なリクエストに対応 テーマ「つなぐ・つながる」 ユーザと開発者を 案件と楽しさを あらゆるクライアントとサーバアプリを クライアントとユーザーコードの仲介役 仲介役に徹します!
9.
T2 on Cloud クライアント
HTML Ajax Flex3 Param XML AMF3 T2! サーバ
10.
T2 on Cloud
ところで、GAEとか Androidとか、最近の トレンドとかに対応し てんの?
11.
T2 on Cloud GAE うごきます! EC2
うごきます! Android 通信できます!
12.
GAEとEC2
13.
T2 on Cloud GAE Google先生提供のクラウド環境
JavaとPythonが動く環境を提供 JettyベースのJavaEE環境 EJBないよ 制約厳しめ EC2 Amazon先生提供のクラウド環境 OSも選べる root権もある TomcatでもWebSphereでもなんでもござれ
14.
Project生成Plugin Vili
15.
Vili Vili 汎用のプロジェクト生成支援Eclipseプラグイン
Eclipse3.3以上で動作 http://code.google.com/p/t‐2/wiki/Vili 読み方は「ヴィリ」 北欧神話の神様の名前。オーディンの兄弟 プロジェクトの雛形(スケルトン)を用意することで様々なプロジェクトを 生成可能 T2プロジェクト、Ymirプロジェクト、Cubbyプロジェクト、… プログラム部品(フラグメント)を用意することでプロジェクトに簡単に機 能を追加可能 データベースアクセス機能、メール送信機能、統合テスト環境、ログイン機能、…
16.
Vili T2用のスケルトン T2+Seasar2+S2Daoプロジェクト T2プロジェクト
for GAE/J スケルトン、フラグメントは今後増やしていく 予定です Slim3 いきます
17.
setup
18.
Vili Eclipse3.5.1の場合 Help → Install New Software…
Addボタンを押して http://eclipse.t2framework.org/updates/3.3/ を追加
19.
20.
使い方
21.
22.
23.
24.
25.
Vili ドキュメントがほとんどないので今後公開して いく予定です T2用のスケルトン、フラグメントも今後増やし ていく予定です Viliを使えば5分あればT2をGAE上で動かす アプリが作れ公開出来ます
26.
AMF3 vs JSON
27.
AMF
28.
AMFとは AMF ActionMessageFormat Flash/FlexのObject Serialize方法
通信フォーマットに利用可能 バイナリ形式で小さい! JSONの1/4、XMLの1/10
29.
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に変換! 例えば文字列 ⽂字列の参照テーブルがあるので、同じ⽂字列なら 参照で済ます →サイズを⼩さくする仕掛けがされてます
30.
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)
31.
AMFとは AMF0とAMF3 AMF3:ActionScript3から利用可能
(FlashPlayer9以降) Flex2/3ではAMF3を利用 format仕様はOpen http://download.macromedia.com/pub/labs/amf/amf3_spec_121207.pdf
32.
AMFとは AMF利用イメージ
サーバ クライアント HTTP/HTTPS で転送 ASオブジェクト AMF3でJavaオブジェクトに デシリアライズ AMF3でシリアライズ
33.
JSON
34.
JSONとは JSON JavaScript Object Notation テキストベースのデータフォーマット
2006年に RFC4627 として公開 XMLより簡潔 記述が容易、理解し易い
35.
JSONとは JSONが利⽤できる型の⼀覧 数値 ⽂字列 真偽値(true, false) 配列 オブジェクト null
36.
JSONとは JSON記法 {
"employeeId":"0001", "department":"⼈事部", "name":"⼭⽥ 太郎" } 配列 [ “りんご”, “みかん”, “桃” ] オブジェクトと配列のネスト { “お菓⼦” : [ “チョコレート”, “ビスケット” ] }
37.
AMFとは JSON利用イメージ
サーバ クライアント HTTP/HTTPS で転送 JSオブジェクト JSONでJavaオブジェクトに デシリアライズ JSONでシリアライズ
38.
JSONとは AMF3 vs JSON AMF3はFlash,Flex JSONはJavaScript
オブジェクトを送受信する機能は似た感じ どちらもフォーマットはオープン
39.
JSONとは 昨年まではFlexが流行ってたの で、T2はAMF3対応してました!
40.
JSONとは でも最近Androidとか 流行ってるやん!
41.
Androidからの
42.
AndroidからCloudへ AndroidからCloud通信 通常のHTTP
GET/POST JSON デフォルトでAPI提供されてる(org.json) AMF3 T2のクライアント⽤AMF(API1.6対応) SOAP デフォルトで利⽤不可 kSOAPのようなライブラリもあるがまだ微妙 標準ライブラリHttpClientは遅い
43.
AndroidでのJSON処理
44.
AndroidでのJSON AndroidでのJSON処理 オリジナルパッケージ
org.json google‐gson これいいよ Jar1つのみでサイズも⼩さい •Google同⼠で相性も良い
45.
AndroidでのJSON
org.jsonの使い⽅ public class Sample { private List<String> test; private int num; public List<String> getTest() { return test; } public void setTest(List<String> test) { this.test = test; } public int getNum() { return num; } public void setNum(int num) { this.num = num; } }
46.
AndroidでのJSON org.jsonの使い⽅ String json
= "{" + "¥"test¥" : [ ¥"aa¥", ¥"bb¥" ]," + "¥"num¥" : 1000" + "}"; JSONObject jsonObj = new JSONObject(json); JSONArray test = jsonObj.getJSONArray("test"); String aa = test.getString(0); String bb = test.getString(1); int num = jsonObj.getInt("num"); // Sampleクラスに変換 Sample sample = new Sample(); List<String> tmpList = new ArrayList<String>(); tmpList.add(aa); tmpList.add(bb); sample.setNum(num); sample.setTest(tmpList);
47.
AndroidでのJSON org.jsonの使い⽅ // SampleクラスからJSON文字列作成 JSONObject jsonObj2 = new JSONObject(); JSONArray array = new JSONArray(); array.put("aa"); array.put("bb"); jsonObj2.put("test", array); jsonObj2.put("num", 100); String jsonStr
= jsonObj2.toString(); Log.i(“Log", "jsonStr[" + jsonStr + "]");
48.
AndroidでのJSON google‐gson使い⽅ String json = "{" +
"¥"test¥" : [ ¥"aa¥", ¥"bb¥" ]," + "¥"num¥" : 1000" + "}"; Sample sample1 = new Gson().fromJson(json, Sample.class);
49.
AndroidでのJSON google‐gson使い⽅
String json = "{" + "¥"test¥" : [ ¥"aa¥", ¥"bb¥" ]," + "¥"num¥" : 1000" + "}"; Sample sample1 = new Gson().fromJson(json, Sample.class); String sampleJson = new Gson().toJson(sample1);
50.
AndroidでのJSON google‐gson使い⽅ Type listType
= new TypeToken<List<Tweet>>() { }.getType(); List<Tweet> items = new Gson().fromJson(timelineJson, listType);
51.
Demo
52.
Twitter
53.
⾊T2witter
54.
DEMO Google App Engine
Amazon EC2 MQ MQ JSON JSON AMF3 AMF3 タッチすると、つぶやき ⾊でつぶやく がサーバに保存される
55.
DEMO
56.
DEMO Google App Engine
Amazon EC2 MQ MQ JSON+HTMLなので JSON iPadでもOK! つぶやきを⾒る
57.
DEMO
58.
AndroidでのJSON コードの説明 Eclipseで!
59.
Demo 伝えたかったこと いろいろなクライアントからサーバへ 新クライアントから構築済みのサービスへ
Android to FlexServer サーバからサーバへ OAuth JavaからJavaへ Web to Android
60.
まとめ
61.
まとめ クラウド化でさまざまな環境が登場 何がどこで動くかの把握重要 クライアントもさまざま プロトコルを押さえればつながる Java書けるならAndroidやってみよう T2とつないでみよう
62.
まとめ T2のロードマップ より⼩さくしていこう=Micro webframework
現在のコアも、さらに分割していく コアは、各機能をフックするポイントを提供する 次世代デバイス、RIA対応 HTML5 クライアント側のつなぎポイントの強化 AMF3、JSON Scalaベースのt2を出したい(shot6)
63.
ご成⻑ありがとうございました
Download now