関西IBMユーザ研究会 IT研究会 H23Z1チーム
Z1チーム
Z1チーム iSUC iSUC ポータル開発 ポータル開発
~H23年度活動報告~
~H23年度活動報告~
Z1チーム
Z1チーム iSUC iSUC ポータル開発 ポータル開発
~H23年度活動報告~
~H23年度活動報告~
Z1 チームイントロダクション
2Z1 Z1 イズム・・・ イズム・・・
それは、限りないテクノロジーへの挑
それは、限りないテクノロジーへの挑
戦 戦
当チームは
当チームは iSUC 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- a .活動背景
6①① .「デスクトップファースト」から「モバイルファースト」の時代へ.「デスクトップファースト」から「モバイルファースト」の時代へ
①① .「デスクトップファースト」から「モバイルファースト」の時代へ.「デスクトップファースト」から「モバイルファースト」の時代へ
スマートフォン市場の急成長に伴い、モバイル向けのプロダ
クト開発、サービス開発を第1に考えた、いわゆる「モバイ
ルファースト」が注目されています。
モバイルファーストによる開発で期待される効果
・成長するモバイル市場をターゲットにできる
・モバイル特有の機能を利用することで斬新なサービス開
発が可能
昨今のITトレンド
は・・・
②② .「クラウド」によるシステム開発の時代へ.「クラウド」によるシステム開発の時代へ
②② .「クラウド」によるシステム開発の時代へ.「クラウド」によるシステム開発の時代へ
「使いたいときに、使いたい分だけ、すぐに使える」といっ
たメリットを持つクラウド環境でのシステム開発/サービス
提供が注目されています。
1-b.活動目的と目標
7H23H23 年度年度Z1Z1チームの目的チームの目的 H23H23 年度年度 Z1Z1 チームの目的チームの目的
「モバイルファースト」や「クラウド開発」といっ
たIT業界における重要なトピックに注目し、最終
的にはメンバー全員が iSUCポータル開発を通じ
て、学習したスキルを習得・実践できるようになる
2012 年の iSUC 仙台大会をターゲットに、
「 iSUC ポータルのセッションアジェンダをスマート
フォンでも
利用できる」サービスを提供する。
活動目標活動目標 活動目標活動目標
関西 IBM ユーザ研究会 IT 研究会 H23Z1 チーム
82.活動内容
a. モバイルアプリの開発形態の比較
b. 基本方針
c. システムデザイン
・実装イメージ
・要素技術
モバイル特有機能の活用 モバイル特有機能の活用
2-a.モバイルアプリの開発形態の比較 ~検討
~
9
ネイティブアプリ~
ネイティブアプリ~ WebWeb アプリまで形態は大きくアプリまで形態は大きく 33 種類種類 ネイティブアプリ~
ネイティブアプリ~ WebWeb アプリまで形態は大きくアプリまで形態は大きく 33 種類種類
移植性移植性
ネイティブ アプリケーション
ネイティブ アプリケーション
高 高
低
低
開発言語開発言語
ハイブリッド アプリケーション
ハイブリッド
アプリケーション アプリケーションアプリケーションウェブウェブ
開発方法開発方法
モバイル特有 機能の活用 モバイル特有
機能の活用
移植性移植性
iPhoneは Objective-C
Android は Java HTML、 JavaScript
スマートフォン向けネイティブ
アプリケーションとして開発UIはWeb技術で開発し、機能 はサードパーティの API を利用
HTML 、 JavaScript
スマートフォン向けウェブ アプリケーションとして開発
全ての機能が利用可能 スマートフォンの種類によって
サポート機能が異なる 利用不可
OS、バージョンによって
モジュールの修正が発生 対応するスマートフォンに
よってモジュールの修正が発生 (画面サイズの変更程度)基本的に不要
開発ツール主な
開発ツール主な
iPhone は Mac OS 、 Xcode
Androidは EclipseTitanimu Mobile EclipseなどPhoneGap
モバイル特有機能の活用 モバイル特有機能の活用
2-a.モバイルアプリの開発形態の比較 ~方式
~
10
ネイティブアプリ~
ネイティブアプリ~ WebWeb アプリまで形態は大きくアプリまで形態は大きく 33 種類種類 ネイティブアプリ~
ネイティブアプリ~ WebWeb アプリまで形態は大きくアプリまで形態は大きく 33 種類種類
移植性移植性
ネイティブ アプリケーション
ネイティブ アプリケーション
高 高
低
低
開発言語開発言語
ハイブリッド アプリケーション
ハイブリッド
アプリケーション アプリケーションアプリケーションウェブウェブ
開発方法開発方法
モバイル特有 機能の活用 モバイル特有
機能の活用
移植性移植性
iPhoneは Objective-C
Android は Java HTML、 JavaScript
スマートフォン向けネイティブ
アプリケーションとして開発UIはWeb技術で開発し、機能 はサードパーティの API を利用
HTML 、 JavaScript
スマートフォン向けウェブ アプリケーションとして開発
全ての機能が利用可能 スマートフォンの種類によって
サポート機能が異なる 利用不可
OS、バージョンによって
モジュールの修正が発生 対応するスマートフォンに
よってモジュールの修正が発生 (画面サイズの変更程度)基本的に不要
開発ツール主な
開発ツール主な
iPhone は Mac OS 、 Xcode
Androidは EclipseTitanimu Mobile EclipseなどPhoneGap
採用
2-b.活動方針① ~機能方針~
11現在のパソコン向け
現在のパソコン向け iSUCiSUC セッションアジェンダをモバイル向けに新規構セッションアジェンダをモバイル向けに新規構 築築
現在のパソコン向け
現在のパソコン向け iSUCiSUC セッションアジェンダをモバイル向けに新規構セッションアジェンダをモバイル向けに新規構 築築
具体的な実装機能 具体的な実装機能 具体的な実装機能 具体的な実装機能
スマートフォン 対応 スマートフォン
対応
・モバイル端末で見たい
・会場で見たい
・その他便利な機能がほしい
・モバイル端末で見たい
・会場で見たい
・その他便利な機能がほしい
• セッションアジェンダの閲覧機能
• お気に入り機能
• レコメンド機能(おすすめセッション)
• 検索機能
2-b.活動方針② ~開発方針~
12開発環境として
開発環境として IBM SmarterCloud Enterprise IBM SmarterCloud Enterprise を利用を利用 開発環境として
開発環境として IBM SmarterCloud Enterprise IBM SmarterCloud Enterprise を利用を利用
•場所・端末を問わず利用できる環境
•必要な時にすぐ環境を準備可能
•モバイル端末からの検証環境
セッションアジェンダ ミドルウェア
OS
ハードウェア
Eclipse
サクラエディタ
Internet
jQuery Mobile
13
Windows
Node.js MySQL
2-c.システムデザイン
iSUC ポータル
採用アーキテクチャ 採用アーキテクチャ 採用アーキテクチャ 採用アーキテクチャ
アーキテクチャの選定理由・メリット アーキテクチャの選定理由・メリット アーキテクチャの選定理由・メリット アーキテクチャの選定理由・メリット
HTML5
HTML5 CSS3CSS3 Java Script Java Script
jQuery Mobile Node.js IBM クラウド
モバイル向けユーザインターフェースの提供が可能
JavaScript ベースのサーバサイドスクリプトとして注目
すぐに開発に着手できる/スマートフォン上でもすぐにテストできる IBM SmarterCloud Enterprise
2-c .要素技術紹介① ~フロント開発技術~
•jQuery Mobile とは
– モバイルアプリケーションの外観や動作を実現する JavaScript ライブラリ
– 開発者はマークアップのみで、ユーザインターフェースを構築できる
•HTML5の新しいタグへの対応( section 、 header 、 footer など)
•CSS3の Transform 機能を用いた画面遷移やダイアログ表示
14
jj Query MobileQuery Mobile jj Query MobileQuery Mobile
Internet リクエスト
レスポンス
サーバ Webブラウザ
カスタム属性が指定された要素を取り出し、
マークアップ、 CSS クラス、イベントハンドラを追加する
2-c.要素技術紹介② ~サーバサイド開発技術
~
15
サーバサイドにおける 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.要素技術紹介③ ~インフラ技術~
16IBM SmarterCloud Enterprise IBM SmarterCloud Enterprise
利用イメージ 利用イメージ 利用イメージ 利用イメージ
IBMデータセンター
(幕張)
仮想サーバ
Internet
・開発
2-c.要素技術紹介④ ~インフラ技術~
17仮想インスタンス作成イメージ 仮想インスタンス作成イメージ ①① 仮想インスタンス作成イメージ 仮想インスタンス作成イメージ ①①
② イメージ
選択を ③ インスタンス名
④ マシンス ペックを選択
リ、 CPU 、(メモ ディスク容
量)
① インスタンス の追加
2-c.要素技術紹介⑤ ~インフラ技術~
18仮想インスタンス作成イメージ 仮想インスタンス作成イメージ ②② 仮想インスタンス作成イメージ 仮想インスタンス作成イメージ ②②
インスタンス 名
⑤ 仮想 OS へ ログイン ID 、の
パスワードを 入力
⑥ 確認画面 ⑦ 利用確認
⑧ インスタンス 自動生成の
2-c.要素技術紹介⑥ ~インフラ技術~
19仮想インスタンスへのログインイメージ 仮想インスタンスへのログインイメージ 仮想インスタンスへのログインイメージ 仮想インスタンスへのログインイメージ
⑨ IP入力
⑩ ログイン
仮想インスタ ンス利用開
始!
関西 IBM ユーザ研究会 IT 研究会 H23Z1 チーム
202.活動内容
d .デモ
・開発アプリの紹介
2- d.Demo
21・ iSUC セッションアジェンダのモバイル版Webア
プリ
IBM SmarterCloud +
jQuery + MySQL + Node.js を利用
スマートフォンをお持ちの方は ⇒
(
URL : http://170.225.184.143/agenda)IBM SmarterCloud Enterprise IBM SmarterCloud Enterprise
WindowsServer2008 node.js MySQL
【環境イメー ジ】
jQuery Mobile
関西 IBM ユーザ研究会 IT 研究会 H23Z1 チーム
223.振り返りと課題(まとめ)
a. j Query
b.Node.js
c. クラウド開発をやってみて
d. モバイル開発をやってみて
e. 11月の iSUC 大会に行く事が出来れ
ば・・・
3- a.j Query Mobile
23利点利点 利点利点
パフォーマンスの改善については改善策あり。 大掛かりなデザインの変更は困難。
CSSに関する知識が必要となる。
モバイル開発の経験がなくても、短期間で高 品質・
高機能な画面設計を実現できる。
ページ初期表示時やページ遷移において、
パフォーマンスに問題がある。
見た目のバリエーションが少なく、 jQuery Mobile を
使用した他のサイトと、デザインが似通ってし まう。
考慮点考慮点 考慮点考慮点
3- b. Node.js
24利点利点 利点利点
サーバサイドを JavaScript で作れるため、 学習コストが低く済む
気軽に扱える。
※ ソースのビルド不要、実行モジュールも軽い
考慮点考慮点 考慮点考慮点
Java に比べて統合開発環境が整っていない
⇒ 今回はテキストエディタを使用しての開発実施。
( Eclipse プラグインで開発する方法もありそうだが、未検証) 非同期処理を考慮しないと、正しく動作しない
Web サーバに普通にある機能を自分で用意する必要がある。 ⇒ ログ出力やエラーハンドリングなど
3- c.クラウド開発をやってみて
25利点利点 利点利点
使いたいときに使え、低コストでの開発が可能 ロケーションフリーによるアクセス
開発環境の統一が可能
開発環境のメンテナンスが容易
考慮点考慮点 考慮点考慮点
パブリッククラウドの考慮点について意識する必要あり
⇒ネットワーク遅延
⇒セキュリティ対策
⇒コスト
3- d.モバイル開発をやってみて
26開発のとっつきやすさは◎
⇒今までにモバイル開発の経験がなくても、ある一定の品質で画面 設計ができる。( JqueryMobile や HTML5 などのおかげ) 搭載する機能は取捨選択する必要あり
⇒そもそもの画面サイズが小さいため、実現出来ることに限りがある
。
実機での動作確認は必須
⇒OSやバージョンの違いによって画面描画に微妙な差異があるため
、 シミュレータでの確認は限界がある。
スマートフォン 対応 スマートフォン
対応
気づき気づき 気づき気づき
クラウド環境
仮想サーバ
Interne t
・開発
・実機検証
27
ユーザ視点 ユーザ視点 ユーザ視点 ユーザ視点
ユーザフレンドリーな Web サイトの開発
⇒ 会場での利用を意識した機能改善
「 iOS ヒューマンインターフェースガイドライン」等を参考 に UI の改善
システム視点 システム視点 システム視点 システム視点
3- e.iSUC大会に行くことが出来れば・・・
iOS 端末を横に傾けた際の表示の最適化
⇒ jQuery Mobile のバージョンアップを検討
エラーハンドリング
PC 版セッションアジェンダとの連携
運用視点での評価
ご清聴ありがとうございました!
28活動メンバー
•小池 岳春 株式会社ブレーンスタッフコンサルタンツ
•塩見 登志和 マツ六株式会社
•藤原 匠子 コベルコシステム株式会社
•丸橋 弘明 SCSK 株式会社
•水内 一九昌 オルタネート
•柳井 弘嗣 株式会社 JIEC
•吉田 圭佑 スミセイ情報システム株式会社
•和田 夏帆 スミセイ情報システム株式会社
アドバイザー
•幸田 健 コベルコシステム株式会社
•田村 晋一 日本アイ・ビー・エム株式会社
•師井 学 日本アイ・ビー・エム株式会社
(五十音順、敬称略)