Adobe Flex オープンソースで構築するリッチクライアント

Slides:



Advertisements
Similar presentations
セッション管理 ソフトウェア特論 第 8 回. ここでの内容 セッション管理の基本を知る。 HttpSession の使い方を知る。
Advertisements

Adobe Flex オープンソースで構築する リッチクライアント 株式会社フラッグシステムズ. 目次 概要 Flex とは? Flex の開発 Flex の周辺技術 BlazeDS の通信技術 セッション情報 システム構成案 まとめ.
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 アプリをユーザー毎に カスタマイズ可能にする AOP フレームワーク
Curlの特徴.
IIS 4.0で開発をするコツ Webアプリケーション構築.
Global Ring Technologies
ZKプラグインで、Grailsの Viewをリッチに楽しく
情報基礎A 情報科学研究科 徳山 豪.
難しいことは置いといて、 取り合えず 「BlazeDS」 を使って、 Flash、AIRアプリから Javaオブジェクトのメソッドを呼び出すための 手順書(Windows版) 2008年2月 Lecce.
Webサービスに関する基本用語 Masatoshi Ohishi / NAOJ & Sokendai
JPAを利用した RESTful Webサービスの開発
Flashプレイヤーを使った動画配信 情報工学科 宮本 崇也.
Ad / Press Release Plan (Draft)
はじめての CMS シニアSOHO横浜・神奈川 大和田 健一 2009年02月18日 シニアSOHO横浜・神奈川.
名古屋大学大学院人間情報学研究科 物質生命情報学専攻 情報処理論講座 原 崇
REST型Webサービスによる 楽曲検索システムの開発
第6回 Flashによるゲームの作成 04A2029           古賀慎也.
電子社会設計論 第11回 Electronic social design theory
「絵葉書を通じてのハルビンの 街の印象調査」システムUIの iPadアプリ化 谷研究室  飯 祐貴.
上藤紳也 5月間報告.
エンタープライズアプリケーション II 第10回 / 2006年7月23日
早稲田大学大学院理工学研究科 情報科学専攻修士2年 後藤滋樹研究室 坂本義裕
ケータイキット for Smarty のご紹介
Microsoft Office 2010 クイックガイド ~ファイルの互換性編~
既存のBPOS のお客様のBPOS から Office 365 への切替
情報工学部 情報工学科 05A1304 鈴木 浩高 種田研究室
稚内北星学園大学 情報メディア学部 助教授 安藤 友晴
第4回 個人の動画配信補足のためのWeb構築
「まめだくん Ver.1.0」 特徴と利用方法.
ユーリテクノスのFlashテクノロジーを 利用した様々なサービスのご提案
Outlook で送信したメールの 添付ファイルが消える
CHAPTER1 UMLとオブジェクト指向の基本概念(2)
共同ローカリゼーション フレームワーク 井上 謙次.
セッション管理 J2EE I 第9回 /
インターネット活用法 ~ブラウザ編~ 09016 上野喬.
Webを利用した授業支援システムの開発 北海道工業大学 電気電子工学科 H 渋谷 俊彦.
Curlの仕組み.
リファクタリングのための 変更波及解析を利用した テスト支援ツールの提案
サーバ構成と運用 ここから私林がサーバ構成と運用について話します.
Javaによる Webアプリケーション入門 第9回
インターネットビジネスと クリアリングハウス
基礎プログラミング演習 第1回.
第8章 Web技術とセキュリティ   岡本 好未.
2004年度 サマースクール in 稚内 JavaによるWebアプリケーション入門
2003年度 データベース論 安藤 友晴.
理学部 情報科学科 指導教官 千葉 滋 助教授 学籍番号 03_03686 内河 綾
.NET Framework 3.0 概要 (旧称 : WinFX)
事務所における情報化の問題点 データが所内で共有されていない、各課ごとに個別に利用されている
Microsoft BizTalk Server & SAP PP モジュール 連携検証レポート概要
売れるためのWEBサイト構築.
SOA基盤製品 「見る、聞く、体験する SOAノウハウツアー」
Internet広域分散協調サーチロボット の研究開発
ゲーム開発モデルの基礎.
ミドルウェア”TSUNAGI”を 用いたWEBアプリケーションの構築
JAVAについて 高橋 雅哉.
Javaの有償化と各社の対応 ITソリューション塾・第29期 2018年11月21日 株式会社アプライド・マーケティング 大越 章司
ファイルのアップロード HTMLファイルをWebサーバにアップロード 名商大のWebサーバ(opinion.nucba.ac.jp)
データベース設計 第7回 実用データベースの運用例 クライアント=サーバシステム(1)
個人の動画配信のためのWebサーバ構築 06A1058 古江 和栄.
Webアプリケーションと JSPの基本 ソフトウェア特論 第4回.
稚内北星学園大学 情報メディア学部 安藤 友晴
プログラム分散化のための アスペクト指向言語
Microsoft Office 2010 クイックガイド ~ファイルの互換性編~
第2回 Webサーバ.
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サイトのように、ブラウザでアクセスして使うア プリケーション 例)ヤフオク、楽天など →UIが貧弱! →実行環境によって見た目や動きが違うことも…。 ファット クライアント リッチ クライアント ユーザビリティ HTML クライアント コストパフォーマンス

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

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

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

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

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

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

Flexの開発 開発環境 FlexSDK FlexBuilder 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 クライアント サーバ 社員番号003 の人は? (getEmployee呼出) BlazeDS ①リクエスト SWF ②呼出 ③レスポンス 検索 SearchService#getEmployee 山本さんです 設定ファイル(WEB-INF/flex/remoting-config.xml) getEmployee = SearchServiceクラスのgetEmployeeメソッドです S2BlazeDSは、↑この設定を不要にできる。

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

BlazeDSの通信技術 AMF(Action Message Format)1 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 AMF(バイナリ通信) SWF BlazeDS S2Container MXML S2Blaze S2Dao or S2JDBC DTO(Java) Action Script DTO(Java) DTO(AS) Service Dao DB

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

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

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

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

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

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