Adobe Flex オープンソースで構築する リッチクライアント 株式会社フラッグシステムズ. 目次 概要 Flex とは? Flex の開発 Flex の周辺技術 BlazeDS の通信技術 セッション情報 システム構成案 まとめ.

Slides:



Advertisements
Similar presentations
ユーザ認証を考慮した 情報コンセントの活用 明治大学 情報システム管理課 服部裕之 ( ) ’ 99私情協 学内 LAN 運用管理講習会.
Advertisements

セッション管理 ソフトウェア特論 第 8 回. ここでの内容 セッション管理の基本を知る。 HttpSession の使い方を知る。
All Rights Reserved, Copyright © 2001 GeoBasic® & IIMS® Networking GIS データ共有型 GIS 2001年2月 ジーイーネット 株式会社.
TCP/IP によるチャットプログラ ム 薄井 秀晃. 基礎知識編 TCP/IP とは? IP とは・・・ Internet Protocol の略称であり通信方法の技術的なルールで あり、実際にデータを送受信する前にデータを小さなデータ に分割し、それに発信元と受信先の IP アドレスを付加させて.
Integrated Personal Page C05823 森本万里子 C05829 西山礼恵 C05899 高木華子.
XML ゼミ 独習 XML ~ 第 6 章 XHTML~ 6.1 XHTML の概要 6.2 XHTML の構造 谷津 哲平.
Internet Explorer 障害解析 最初の一歩 - IE のトラブルを理解する -. 概要 Internet Explorer を使用中に発生するトラブルの 種類と、調査のための切り分け方法を紹介します! (以降は IE と略称で表記します) よくあるお問い合わせ Web ページの表示が白画面のまま完了しない.
1 安全性の高いセッション管理方 式 の Servlet への導入 東京工業大学 理学部 千葉研究室所属 99-2270-6 松沼 正浩.
1 なんとなく Ajax ~新しくて古い XMLHttp 川合孝典 (Kansai.pm) 2005/5/22.
Web パブリッシング 1. この授業について. この授業の目標 Web サイトの構築とその維持管理の技 能を身につける –HTML 、 CSS 、( JavaScript ) Web サイトの構築とは –HTML 文書をインターネットに公開するこ と= Web パブリッシング.
Web アプリをユーザー毎に カスタマイズ可能にする AOP フレームワーク
Curlの特徴.
IIS 4.0で開発をするコツ Webアプリケーション構築.
ZKプラグインで、Grailsの Viewをリッチに楽しく
情報基礎A 情報科学研究科 徳山 豪.
難しいことは置いといて、 取り合えず 「BlazeDS」 を使って、 Flash、AIRアプリから Javaオブジェクトのメソッドを呼び出すための 手順書(Windows版) 2008年2月 Lecce.
Adobe Flex オープンソースで構築するリッチクライアント
Webサービスに関する基本用語 Masatoshi Ohishi / NAOJ & Sokendai
JPAを利用した RESTful Webサービスの開発
業務システム開発用フレームワーク TERASOLUNA Framework for .NET
Flashプレイヤーを使った動画配信 情報工学科 宮本 崇也.
Ad / Press Release Plan (Draft)
WebDAVでOpenOffice.org の文章を共有する
REST型Webサービスによる 楽曲検索システムの開発
IE5でアプリケーション開発 東日本計算センター 小野 修司.
電子社会設計論 第11回 Electronic social design theory
「絵葉書を通じてのハルビンの 街の印象調査」システムUIの iPadアプリ化 谷研究室  飯 祐貴.
上藤紳也 5月間報告.
エンタープライズアプリケーション II 第10回 / 2006年7月23日
早稲田大学大学院理工学研究科 情報科学専攻修士2年 後藤滋樹研究室 坂本義裕
Microsoft Office 2010 クイックガイド ~ファイルの互換性編~
既存のBPOS のお客様のBPOS から Office 365 への切替
情報工学部 情報工学科 05A1304 鈴木 浩高 種田研究室
稚内北星学園大学 情報メディア学部 助教授 安藤 友晴
「まめだくん Ver.1.0」 特徴と利用方法.
ユーリテクノスのFlashテクノロジーを 利用した様々なサービスのご提案
Outlook で送信したメールの 添付ファイルが消える
CHAPTER1 UMLとオブジェクト指向の基本概念(2)
業務システム開発用フレームワーク TERASOLUNA Framework for .NET
セッション管理 J2EE I 第9回 /
インターネット活用法 ~ブラウザ編~ 09016 上野喬.
Curlの仕組み.
サーバ構成と運用 ここから私林がサーバ構成と運用について話します.
Javaによる Webアプリケーション入門 第9回
インターネットビジネスと クリアリングハウス
基礎プログラミング演習 第1回.
第8章 Web技術とセキュリティ   岡本 好未.
2004年度 サマースクール in 稚内 JavaによるWebアプリケーション入門
2003年度 データベース論 安藤 友晴.
ウインドウズ・ライブ・メッセンジャー (Windows Live Messenger)を用いた情報共有
理学部 情報科学科 指導教官 千葉 滋 助教授 学籍番号 03_03686 内河 綾
.NET Framework 3.0 概要 (旧称 : WinFX)
SOA基盤製品 「見る、聞く、体験する SOAノウハウツアー」
Internet広域分散協調サーチロボット の研究開発
ゲーム開発モデルの基礎.
ミドルウェア”TSUNAGI”を 用いたWEBアプリケーションの構築
JAVAについて 高橋 雅哉.
Web - 01 IIS を インストールしよう.
日本郵便 「Web-EDI」利用ガイド (JP EDIシステム)
データベース設計 第7回 実用データベースの運用例 クライアント=サーバシステム(1)
北海道情報大学 情報メディア学部 情報メディア学科 新井山ゼミ 金子拓磨
Webアプリケーションと JSPの基本 ソフトウェア特論 第4回.
Flashを用いたゲーム制作 05A1304 鈴木 浩高.
稚内北星学園大学 情報メディア学部 安藤 友晴
物理的側面を表現する図 石原研 古賀浩之.
プログラム分散化のための アスペクト指向言語
Microsoft Office 2010 クイックガイド ~ファイルの互換性編~
第2回 Webサーバ.
知識ベースの試作計画 ●●●研究所 ●●●技術部 稲本□□ 1997年1月.
GluonJ を用いたビジネスロジックからのデータベースアクセスの分離
Presentation transcript:

Adobe Flex オープンソースで構築する リッチクライアント 株式会社フラッグシステムズ

目次 概要 Flex とは? Flex の開発 Flex の周辺技術 BlazeDS の通信技術 セッション情報 システム構成案 まとめ

概要 Flex とは? 利用者的観点 ①利用者はブラウザ( IE とか Firefox とか)で利用しま す。 ② HTML じゃありません。 Flash (ベース)です。 ③いわゆるリッチクライアントと呼ばれるもので、主 に利用者のパソコンで動くアプリケーションです。 → 表現豊か。ユーザビリティ向上。 → 通常の Web と同じ感覚。 → 最初にアプリケーションを落としたり、データ通信を 行うときにサーバと接続。

概要 Flex とは? 提供者(技術者)的観点 ①オープンソースです。タダです。 ② HTML,JavaScript は使いません。 代わりに MXML,ActionScript を使います。 ③ Java,PHP,ASP.net,RUBY といった既存の Web 技術との親和性が 高いです。 ④ Adobe 製品です。 → 似たような技術ですが、覚える必要はアリ。 → 昔は商用利用に関してはお金が掛かった … 。 → 画面は Flex 、裏は Java 、といった使い方になります。 → だから何ということはありません。

概要 Flex とは? リッチクライアントとは何か。1 ファット クライアント リッチ クライアント HTML クライアント コストパフォーマンス

概要 Flex とは? リッチクライアントとは何か。2 ファットクライアント CD-ROM 等で配布して導入するアプリケーション。 例) Excel 、 Photshop など ファット クライアント リッチ クライアント HTML クライアント コストパフォーマンス → 導入が面倒!

概要 Flex とは? リッチクライアントとは何か。3 HTML クライアント Web サイトのように、ブラウザでアクセスして使うア プリケーション 例)ヤフオク、楽天など ファット クライアント リッチ クライアント HTML クライアント コストパフォーマンス →UI が貧弱! → 実行環境によって見た目や動きが違 うことも … 。

概要 Flex とは? リッチクライアントとは何か。4 リッチクライアント 必要に応じてダウンロードして実行するアプリケーシ ョン。データを取得する場合にサーバにアクセスす る。 ファット クライアント リッチ クライアント HTML クライアント コストパフォーマンス → 導入が簡単! →UI がリッチ! → 実行環境に 依存しない!

概要 Flex とは? リッチクライアントとは何か。補足 補足) 昔は、クライアントの PC の能力が低かったため、サーバにお金を掛け て、サーバが頑張る HTML クライアントは有用性がありました。 近年、 PC の能力向上に合わせ、サーバの負荷を下げてクライアントの リソースを有効活用するという考え方に変わりつつあります。 参考)リッチクライアント技術 Flex … Adobe Silverlight … Microsoft JavaFX … Sun その他、 Curl 、 BizBrowser など。

概要 Flex とは? まとめ Flex は Flash ベースのリッチクライア ントです。 表現豊かな Web アプリケーションが 構築できます。 しかも、タダ!!

Flex の開発 構成要素1 クライアントサーバ ブラウザ FlashPlayer MXML Action Script SWF ①作成 ②コンパイル ③配備 SWF ①アクセス ②ダウンロード ③実行 2回目以降は データのやり取り ※ひとつの SWF フ ァイルに複数の画 面を持つことがで きます。 DB

Flex の開発 構成要素2 MXML ここにテキストボックスを配置して、ボタンを配置して・・・という情報を XML で記述しま す。 HTML とは結構違いがあるので注意が必要です。 コンテナ、 DataGrid ( Table というのはない)などの独自の概念があります。 swing などを利用したことがある人にはとっつきやすいかもしれません。 ActionScript 画面上の動きを記述する言語です。 データグリッドをクリックしたらその内容がテキストボックスに反映されて・・・など。 Flash で使われてきた ActionScriipt と同じです。 JavaScript と酷似しているので、習得は楽だと思います。 ただし、 ActionScript のバージョンが 3.0 になってからオブジェクト指向が導入されました。

Flex の開発 構成要素3 SWF ファイル サーバに置いておきます。 利用者は、ブラウザでこいつにアクセスすると、ダウンロードをすることになります。 ダウンロードし終えると、 FlashPlayer の上で SWF ファイルが動きだします。 ( HTML と同様の)マークアップ言語です。 FlashPlayer 環境ごとのテストも不要になる。 通常の Web アプリケーションでは、各環境ごとのテストが必要であったり、 IE でしか動かない、等の制約をつける必要もない。 ※ FlashPlayer は常に最新版が自動でダウンロードされる。 インターネット環境につながっていないシステムは何らかの考慮が必要になる。

Flex の開発 開発環境 FlexSDK MXML 、 ActionScript をコンパイルして SWF ファイルを生成する。 ただです! FlexBuilder Adobe 純正の Flex (及び Air )専用開発環境。 ・ SWF ファイルの生成 ・ WYSIWYG (ウィジウィグ) ※ Eclipse ベースなので、 Eclipse 愛用者はすぐ使えるはず。 製品版 31,500 円(税込) アドビストア価格

Flex の周辺技術 表(プレゼンテーション) ILOG Elixir コンポーネント製品。「高度なグラフィック機能とインタラクティブな 操作性により、生データをクリアで実用的な情報に変換できます。」 (有償です。) 3Dチャート 組織図 ゲージ

Flex の周辺技術 裏(通信技術)1 BlazeDS クライアントの Flex ( FlashPlayer で動いている SWF ファイル)と、サ ーバの Java ロジックをつなぐもの。 設定ファイルに記述することで、 MXML から Java のメソッドを直接呼ぶ ように記述することができます。 LCDS ES(LiveCycle DataServices Enterprise Suite) の一機能をオープンソース化したもの ( ※ LCDS ES は有料です。 ) ◎ Java オブジェクトを直接呼び出すことが出来る(リモーティング機 能) ◎サーバーからメッセージをプッシュすることが出来る( Web メッセー ジング機能)

Flex の周辺技術 裏(通信技術)2 S2BlazeDS DI コンテナ Seasar2 の関連プロダクトのひとつ。 BlazeDS の「 Java との連携」部分をさらに一歩押し進 めて、設定ファイルへの記述を最小限にとどめて、 もっと簡単に呼び出すことができるようにしたも の。

Flex の周辺技術 裏(通信技術)3 クライアントサーバ SWF ①リクエスト ③レスポンス BlazeDS 社員番号 003 の人は? ( getEmployee 呼出 ) 山本さんです 検索 SearchService#getEmployee 設定ファイル (WEB-INF/flex/remoting-config.xml) getEmployee = SearchService クラスの getEmployee メソッドです ②呼出 S2BlazeDS は、 ↑ この設定を不要にできる。

BlazeDS の通信技術 (前提知識) Flex 3つの通信方式 ( 前提知識 )Flex がサポートする 3 つの通信方式 HTTP (GET/POST) [text] Web サービス [text] AMF ( マクロメディア独自テクノロジー) [binary] ※これらはいずれも HTTP プロトコルを使って通信します。 ( HTTPS も利用可能) → 通常の HTML で行っている( Web サイトを閲覧する)通信方式。 →XML 形式のプロトコルを用いメッセージの送受信を行う技術。 →Flash 独自の通信方式。

BlazeDS の通信技術 AMF(Action Message Format) 1 AMF とは? Flash のトランスポートプロトコル。 ( 2007/12 に仕様を公開し、 BlazeDS をリリースしています。) ◎バイナリ形式で効率的に通信を行うことが出来る! バイナリ⇔テキ スト変換が不要になる。 ◎テキスト形式ならではの余分なデータ(例えば「 」)が不 要になる。 Adobe の人曰く 「 BlazeDS の RemoteObject は Ajax+JSON の 4 倍早い!!」

BlazeDS の通信技術 AMF(Action Message Format) 2 クライアントサーバ SWF デシリアライズ バイナ リ テキス ト バイナ リ シリアライズ XML バイナ リ シリアライズ AMF

セッション情報 ユーザー情報の保持 従来の Web アプリケーションであれば、利用ユーザ ーの情報を保持するために、セッション情報に保 存、 HTML の hidden に埋め込んで常に送る、 Cookie などの工夫が必要でした。 Flex なら ActionScript の変数にてクライアントで保持 することができます。(ちなみに、 Flex でもセッシ ョン情報は利用できます。)

システム構成案 システム構成案1 クライアントサーバ Flex SWF MXML Action Script S2Container S2Blaze BlazeDS S2Dao or S2JDBC DB DTO( AS) DTO(Ja va) ServiceDao AMF( バイナリ通信 )

システム構成案 システム構成案2 クライアントサーバ ( 基幹 ) Flex DB HTML REST Service サーバ ( プレゼン ) REST ServiceStruts XML HTM L

システム構成案 システム構成案 考察 Flex のみの利用が決まっている場合は AMF 通信を積 極的に利用する。 Web サービスをデータアクセスのためのビジネスロ ジックと位置づける(ストアドプロシージャのよう なイメージ)ことで、 Flex 以外のアプリケーション と共存を図ることができる。 例) ・モバイルで HTML を、 PC で Flex を利用する。 ・単純に両方使いたい。

まとめ 課題(デメリット) MXML 、 ActionScript を理解している技術者が少な い。 その分コストが掛かります。 FlexBuilder が高い! モバイル対応が困難 デザインをアウトソーシングしにくい 世の中にある Web デザイン会社は基本的に HTML しか出来ない。

まとめ 効果(メリット) クロスブラウザ対策が不要 ブラウザで利用するため配信の心配が無用 ( AMF 通信を行えば)早い。 デフォルトのデザイン、動きが良い。 複雑な動きをするアプリケーションを作り込める。

まとめ 参考資料 対象シス テム(会 社名) 効果(メリット) 課題(デメリッ ト) ファットクライ アントからリッ チクライアント へ移行した事例 学校会計シス テム(会社 A ) 利用者に対するユーザビ リティ ( 生産性 ) の維持 プログラム配布の容易性 による導入と運用の効率 化 リッチクライアント動 作環境自体のバージョ ンアップへの対応 販売統計シス テム(会社 B ) 利用者に対するユーザビ リティ ( 生産性 ) の維持 プログラム配布の効率化 リッチクライアント動 作環境自体のバージョ ンアップへの対応 クライアント側の環境 設定 社内総合調達 システム(会 社 C ) 利用者に対するユーザビ リティ ( 生産性 ) の維持 開発コスト 人材不足 ライセンスコスト HTML クライア ントからリッチ クライアントへ 移行した事例 業務アプリケ ーション(会 社 D ) ユーザビリティの向上 プレゼンテーション層と ビジネスロジック層の分 離開発による保守 ( コン テンツ管理 ) 費の削減 開発生産性の低下 設計方式の欠如 人材不足 出典

ご清聴ありがとうございました。