関西IBMユーザ研究会 IT研究会 H23Z1チーム
Z1チーム
Z1チーム iSUC iSUC ポータル開発 ポータル開発
~H23年度活動報告会~
~H23年度活動報告会~
Z1チーム
Z1チーム iSUC iSUC ポータル開発 ポータル開発
~H23年度活動報告会~
~H23年度活動報告会~
Z1 チームイントロダクション
2Z1 イズム、、、
それは、限りないテクノロジーへの挑
戦
当チームは iSuc ポータルに対し、限り
ない情熱を注ぎ続ける集団である!
Z1 チーム紹介
3当チームはiSUCのWebサイトである「iSUC
ポータル」に対し、
新しいテクノロジーを投入し、
機能の改善・高度化にチャレンジし続けて いま
す!
平成 平成 23 23 年度 年度 関西研Z1チーム 関西研Z1チーム
アジェンダ
41. はじめに
a. 活動背景
b. 活動目的と実績
2.活動内容
a. モバイル開発をする上で調べた事
b. 基本方針
c. システムデザイン
・実装イメージ
・要素技術
d. デモ 開発アプリの紹介
3.振り返りと課題(まとめ)
関西 IBM ユーザ研究会 IT 研究会 H23Z1 チーム
51.はじめに
a. 活動背景
b. 活動目的
1-b.活動背景
6① ① .「デスクトップファースト」から「モバイルファースト」の時代へ .「デスクトップファースト」から「モバイルファースト」の時代へ
① ① .「デスクトップファースト」から「モバイルファースト」の時代へ .「デスクトップファースト」から「モバイルファースト」の時代へ
スマートフォン市場の急成長に伴い、モバイル向けのプロダ
クト開発、サービス開発を第1に考えた、いわゆる「モバイ
ルファースト」が注目されています。
モバイルファーストによる開発で期待される効果
・成長するモバイル市場をターゲットにできる
・モバイル特有の機能を利用することで斬新なサービス開
発が可能
昨今のITトレンド
は・・・
② ② .「クラウド」によるシステム開発の時代へ .「クラウド」によるシステム開発の時代へ
② ② .「クラウド」によるシステム開発の時代へ .「クラウド」によるシステム開発の時代へ
「使いたいときに、使いたい分だけ、すぐに使える」といっ
たメリットを持つクラウド環境でのシステム開発/サービス
提供が注目されています。
1-c.活動目的と目標
7H23 H23 年度 年度 Z1 Z1 チームの目的 チームの目的
H23 H23 年度 年度 Z1 Z1 チームの目的 チームの目的
「モバイルファースト」や「クラウド開発」といっ
たIT業界における重要なトピックに注目し、最終
的にはメンバー全員がISUCポータル開発を通じ
て、学習したスキルを習得・実践できるようになる
2012 年の iSUC 仙台大会をターゲットに、
「 ISUC ポータルのセッションアジェンダをスマート
フォンでも
利用できる」サービスを提供する。
活動目標 活動目標
活動目標 活動目標
関西 IBM ユーザ研究会 IT 研究会 H23Z1 チーム
82.活動内容
a. モバイル開発を進めるうえで調べた事
b. 基本方針
c. システムデザイン
・実装イメージ
・要素技術
モバイル特有機能の活用
モバイル特有機能の活用
2-a.モバイル開発をする上で調べた事(まとめ
)
9
ネイティブアプリ~
ネイティブアプリ~ Web Web アプリまで形態は大きく アプリまで形態は大きく 3 3 種類 種類
ネイティブアプリ~
ネイティブアプリ~ Web Web アプリまで形態は大きく アプリまで形態は大きく 3 3 種類 種類
移植性 移植性
ネイティブ
アプリケーション
ネイティブ
アプリケーション
高
高
低
低
開発言語 開発言語
ハイブリッド
アプリケーション
ハイブリッド
アプリケーション アプリケーション アプリケーション ウェブ ウェブ
開発方法 開発方法
モバイル特有
機能の活用
モバイル特有
機能の活用
移植性 移植性
iPhoneは Objective-C
Android は Java HTML、 JavaScript
スマートフォン向けネイティブ
アプリケーションとして開発UIはWeb技術で開発し、機能 はサードパーティの API を利用
HTML 、 JavaScript
スマートフォン向けウェブ アプリケーションとして開発
全ての機能が利用可能 スマートフォンの種類によって
サポート機能が異なる 利用不可
OS、バージョンによって
モジュールの修正が発生 対応するスマートフォンに
よってモジュールの修正が発生 (画面サイズの変更程度)基本的に不要
開発ツール 主な
開発ツール 主な
iPhone は Mac OS 、 Xcode
Androidは EclipseTitanimu Mobile EclipseなどPhoneGap
セッションアジェンダ ミドルウェア
OS
ハードウェア
2-b.活動方針
10現在のパソコン向け
現在のパソコン向け iSUC iSUC セッションアジェンダをモバイル向けに再構築 セッションアジェンダをモバイル向けに再構築
現在のパソコン向け
現在のパソコン向け iSUC iSUC セッションアジェンダをモバイル向けに再構築 セッションアジェンダをモバイル向けに再構築
開発環境として
開発環境として IBM SmarterCloud Enterprise IBM SmarterCloud Enterprise を利用 を利用
開発環境として
開発環境として IBM SmarterCloud Enterprise IBM SmarterCloud Enterprise を利用 を利用
スマートフォン 対応 スマートフォン
対応
・モバイル端末で見たい
・会場で見たい
・その他便利な機能がほしい
・モバイル端末で見たい
・会場で見たい
・その他便利な機能がほしい
・すぐに開発・テストを始めた
い ・いつでも場所を問わず利用で
きる 開発環境・テスト環境がほし
い
・すぐに開発・テストを始めた
い ・いつでも場所を問わず利用で
きる 開発環境・テスト環境がほし
い
Eclipse
サクラエディタ
jQuery Mobile
11
Windows
Node.js MySQL
2-c.システムデザイン
iSUC ポータル
採用アーキテクチャー
採用アーキテクチャー
採用アーキテクチャー
採用アーキテクチャー
アーキテクチャの選定理由・メリット
アーキテクチャの選定理由・メリット
アーキテクチャの選定理由・メリット
アーキテクチャの選定理由・メリット
HTML5
HTML5 CSS3CSS3 Java Script Java Script
jQuery Mobile
Node.js
IBM クラウド
簡単にモバイル向けの UI を構築できる
HTML と JavaScript だけで開発できるため、学習コストが低くて済む
すぐに開発に着手できる/スマートフォン上でもすぐにテストできる
IBM SmarterCloud Enterprise
2-c .要素技術紹介① -フロント開発技術
• jQuery Mobile とは
– モバイルアプリケーションの外観や動作を実現する
JavaScript ライブラリ
– 開発者はマークアップのみで、ユーザインターフェースを構築できる
•HTML5の新しいタグへの対応( section 、 header 、 footer など)
•CSS3の Transform 機能を用いた画面遷移やダイアログ表示
12
j j Query Mobile Query Mobile
j j Query Mobile Query Mobile
Internet リクエスト
レスポンス
サーバ Webブラウザ
カスタム属性が指定された要素を取り出し、
マークアップ、 CSS クラス、イベントハンドラを追加する
2-c.要素技術紹介② -サーバサイド開発技術
13サーバサイドにおける JavaScript 実行環境。( V8 ( Google 謹製の JavaScript エンジ
ン)上で動作。)
以下の特徴を持ち、 「大量のアクセス」を「簡単かつ高速」に処理することを目指してい
る。
シングルスレッド
イベントループ
⇒イベントが発生するまでループを回り続け、イベントがあれば処理する。
非同期 I / O マルチスレッド
非同 期 I
/ O 他処
理
非同 期
/I O
非同 期 I
/ O
シン グル スレ ッド
マルチスレッド
マルチスレッド
I/O
I/O
I/O
メモリ
の消費が 少なく、大量のアクセ スに強いNode.js
Node.js
Javaアプリケーションの一例
• HaaS (IaaS) 型のパブリッククラウドサービス
– 仮想のサーバー(ハードウェア、OS)を提供
– Windows 、 Linux の技術サポート契約の締結も可能
– IBM 主要ミドルウェアが同梱されているイメージの選択可能
• 従量課金制
– 初期費用不要で OS が稼動している時間だけ課金される。
– CPU スペック・メモリ容量で金額が変わる(最小構成で1時間 10 円~)
2-c.要素技術紹介③ -インフラ技術
14IBM Smart er Cloud Enterprise
IBM Smart er Cloud Enterprise
今回の利用方法
今回の利用方法
今回の利用方法
今回の利用方法
IBMデータセンター
(幕張)
Internet
・開発
○メリット
- 必要な時だけ利用
- 場所、端末を選ばない
- モバイル端末で検証可
能 - 他メンバーへの公開可
○メリット
- 必要な時だけ利用
- 場所、端末を選ばない
- モバイル端末で検証可
能 - 他メンバーへの公開可
2-c.要素技術紹介④ -インフラ技術
15仮想インスタンス作成イメージ
仮想インスタンス作成イメージ ① ①
仮想インスタンス作成イメージ
仮想インスタンス作成イメージ ① ①
② イメージ
選択を ③ インスタンス名
④ マシンス ペックを選択
リ、 CPU 、(メモ ディスク容
量)
① インスタンス の追加
2-c.要素技術紹介⑤ -インフラ技術
16仮想インスタンス作成イメージ
仮想インスタンス作成イメージ ② ②
仮想インスタンス作成イメージ
仮想インスタンス作成イメージ ② ②
インスタンス 名
⑤ 仮想 OS へ ログイン ID 、の
パスワードを 入力
⑥ 確認画面 ⑦ 利用確認
⑧ インスタンス 自動生成の
2-c.要素技術紹介⑥ -インフラ技術
17仮想インスタンスへのログインイメージ
仮想インスタンスへのログインイメージ
仮想インスタンスへのログインイメージ
仮想インスタンスへのログインイメージ
⑨ IP入力
⑩ ログイン
仮想インスタ ンス利用開
始!
関西 IBM ユーザ研究会 IT 研究会 H23Z1 チーム
182.活動内容
d .デモ
・開発アプリの紹介
2- d.Demo
19・ iSUC セッションアジェンダのモバイル版Webア
プリ
IBM Smart Business Cloud +
jQuery + MySQL + Node.js を利用
スマートフォンをお持ちの方は ⇒
( URL : http://170.225.xxx.xx/agenda )
IBM SmarterCloud Enterprise
IBM SmarterCloud Enterprise
WindowsServer2008
node.js MySQL
【環境イメー
ジ】
jQuery
Mobile
関西 IBM ユーザ研究会 IT 研究会 H23Z1 チーム
203.振り返りと課題(まとめ)
a. j Query
b.Node.js
c. クラウドを利用した開発
d. モバイル開発をやってみて
e. 10月の iSUC 大会に向けて
3- a. jQuery
21jQuery Mobile
jQuery Mobile
jQuery Mobile
jQuery Mobile
モバイル開発の経験がなくても、短期間で高
品質・
高機能な画面設計を実現できる。
ページ初期表示時やページ遷移において、
パフォーマンスに問題がある。
パフォーマンスの改善については改善策あり。
大掛かりなデザインの変更は困難。
CSSに関する知識が必要となる。
見た目のバリエーションが少なく、 jQuery
Mobile を
使用した他のサイトと、デザインが似通ってし
まう。
3- b. Node.js
22Node.js
Node.js
Node.js
Node.js
( 良かった事)
1. サーバサイドを JavaScript で作れるため、学習コスト
が低く済む
2. 気軽いに扱える。
( 考慮点 )
3.Java に比べて統合開発環境が整っていない
→ テキストエディタを使用した
⇒ 今後評価します。
4. 非同期処理を考慮しないと、正しく動作しない
5.Web サーバに普通にある機能が自分で用意する
3- c.IBMクラウド
23IBMクラウド
IBMクラウド
IBMクラウド
IBMクラウド
モバイル開発の経験がなくても、ある一定の
品質で 画面設計ができる
画面遷移部分で、パフォーマンスに問題が
あった
→
他のサイトと類似した画面になってしまう
→
( 良かった事)
1. 使いたい時に使え、気軽にアクセス可能、低コスト
2. ロケーションフリー
3. 開発環境の統一が可能
4. 開発環境のメンテナンスが容易
( 考慮点 )
1. パブリッククラウドであるゆえの考慮点
・ネットワーク遅延
・セキュリティ
3- d.モバイル開発をやってみて
24モバイル開発をやってみて
モバイル開発をやってみて
モバイル開発をやってみて
モバイル開発をやってみて
モバイル開発の経験がなくても、ある一定の
品質で 画面設計ができる
画面遷移部分で、パフォーマンスに問題が
あった
→
他のサイトと類似した画面になってしまう
→
・画面サイズが小さい
・ Android,iOS の差異
・開発方式(ネイティブ~ Web 開発か?)
・やっぱり実機での検証は必須
⇒ 画面の描画、
⇒パフォーマンス検証のやりかたをどうするか?
3- e.iSUC大会にむけて
25iSUC iSUC 大会にむけて 大会にむけて
iSUC iSUC 大会にむけて 大会にむけて
(ユーザ視点)
・ユーザフレンドリーな Web サイトの開発
⇒ 会場での利用を意識した機能改善、
・ iOS ヒューマンインターフェースガイドライン等を参考
に UI の改善
(システム視点)
・ iOS の場合、端末を横にすると表示がおかしい
⇒ jQuery のバージョンアップ?
・エラーハンドリング
・PCサイトとの連携
・運用視点での評価について、今回できていない。
⇒今後評価する。
9.まとめ(利用した技術要素の考慮ポイント)
26jQuery Mobile
jQuery Mobile
jQuery Mobile
jQuery Mobile
Node.js
Node.js
Node.js
Node.js
モバイル開発の経験がなくても、ある一定の
品質で 画面設計ができる
画面遷移部分で、パフォーマンスに問題が
あった
→
他のサイトと類似した画面になってしまう
→
サーバサイドを JavaScript で作れるため、
学習コスト
が低く済む
Java に比べて統合開発環境が整っていない