これからのNotesモバイルアプリはこう作れ

2,286 views

Published on

2013年6月25日、28日 他社はもう実践している!「Lotus Notes/Domino」資産のスマートデバイス活用

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,286
On SlideShare
0
From Embeds
0
Number of Embeds
817
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

これからのNotesモバイルアプリはこう作れ

  1. 1. これからのNOTESモバイル アプリはこう作れ 後悔しない技術の選択とその開発方法 チームスタジオジャパン株式会社 Technical Director 加藤満 (mitsuru_katoh@teamstudio.com) @katoman
  2. 2. 前置き • 「モバイルアプリケーション」はスマートフォン、タブ レット上で動作する業務アプリケーションの意味として • 業務アプリケーションは IBM Notes/Domino のデータ ベースをもとにしたカスタム「nsf」アプリケーション (Traveler、iNotesといったメール/カレンダーのような標準機能のお 話ではありません)
  3. 3. AGENDA • 自分にあった最適なモバイルアプリ開発手法を探る • Teamstudio Unplugged について
  4. 4. モバイルアプリの2つのタイプ
  5. 5. モバイルアプリ開発の3つのタイプ • モバイルWebアプリケーション • HTML + JavaScript + CSS • モバイルアプリ用にユーザーインターフェースを整形するフレー ムワーク利用 • ハイブリッド(Hybrid) • HTML + JavaScript + CSS でコーディング • ファクトリーツールを使って、ネイティブアプリを生成 • ネイティブ(Native) • ハイブリッドとネイティブの違いは開発方法(言語)とそれぞれ のデバイスへの最適化具合 • 例)2012年暮れまで「Facebook」アプリはハイブリッド型で作成され ていました。
  6. 6. 開発手法選択の際の比較検討要因 • 開発技術の習得難易度 • パフォーマンス • アプリ配布の容易性 • 開発ライフサイクル • 開発時間(コスト) • デバイス機能へのアクセス • オフライン機能
  7. 7. 開発技術の習得 • モバイルWeb • Domino を Webサーバーとした Web アプリケーション • UIコンポーネントはCSSやJavaScriptを使用 • XPages - Domino Designer 8.5.x/9.0 • 既知の技術で開発できるという大きなメリット • ハイブリッド/ネイティブ • ハイブリッドの雄としてPhoneGapやTitanium。 • HTML5+CSS+JavaScript → ネイティブアプリ • Objective CやJava言語によるネイティブアプリ作成 • REST API を使ってドミノにアクセス、情報のやり取り。難しい。 • 専用の言語や開発環境の習得が必須 モバイルWeb ハイブリッド ネイティブ 容易 容易 難しい
  8. 8. パフォーマンス • モバイルWeb • 常にサーバーとトラフィックのラウンドトリップが発生 • デザイン(HTML、スクリプト、スタイル)とデータの両方を常にやり 取り • ハイブリッド/ネイティブ • アプリケーションのデザインはネイティブ、既にインストールされ ているので残りのデータのやり取り発生。 モバイルWeb ハイブリッド ネイティブ 悪い 普通 良い
  9. 9. アプリ配布 • モバイルWeb • 作成してすぐ公開できる • Dominoサーバーへのアクセス、Domino Designer で開発 • ハイブリッド/ネイティブ • ストア(Apple/iOSの場合、Enterprise ストアなど)へのアプリ配布 • Androidの場合は独自で配布の仕組みを • お客様のスキルによっては、ストアもSIerがお客様にかわって面倒 見ないといけない モバイルWeb ハイブリッド ネイティブ 容易 難しい 難しい
  10. 10. 開発 ライフサイクル • モバイルWeb • 作成してすぐテスト、公開できる • Dominoサーバーへのアクセス、Domino Designer で開発 • ハイブリッド/ネイティブ • テストにせよ煩わしい。 • 問題が発生してもすぐには解決できない モバイルWeb ハイブリッド ネイティブ 短期間 長期間 長期間
  11. 11. 開発時間(コスト) • モバイルWeb • モバイル用のフレームワークをマスターすれば(XPagesはもちろ ん)、わずか数日 • iOS、Androidでも同じアプリが使える • ハイブリッド/ネイティブ • 前出の新たな開発技術の習得にかかる時間/コスト • それぞれのデバイス用に作成する必要あり • Notes/Domino以外でもモバイル分野に本格参入したいのであれば モバイルWeb ハイブリッド ネイティブ 短く安価 長期で高額 長期で高額
  12. 12. デバイス機能への アクセス • モバイルWeb • (ほとんど)できない • 写真などのアップロードもダメ • ハイブリッド/ネイティブ • ネイティブアプリであればデバイスの機能にアクセスできるが、 Dominoアプリのモバイル化でその必要性がある? モバイルWeb ハイブリッド ネイティブ 難しい 普通 普通
  13. 13. オフライン機能 • モバイルWeb • 最近ではHTML5対応で対応可能と言われている • でも実際はキャッシュ程度と考えたほうがよい • 基本的に苦労すれど身にならない • ハイブリッド/ネイティブ • アプリに別のデータベースあるいはストレージを持つ • デバイス上のデータベースの設計や管理がまた必要 • スペシャリスト以外には敷居が高い モバイルWeb ハイブリッド ネイティブ なし 可能、でも難しい 可能、でも難しい
  14. 14. タイプ別モバイルアプリ比較サマリー モバイルWeb ハイブリッド ネイティブ 開発技術の習得難 易度 容易 容易 難しい パフォーマンス 悪い 普通 良い アプリ配布が容易 か? 容易 難しい 難しい 開発ライフサイク ル 短期間 長期間 長期間 開発時間(コスト) 短く安価 長期で高額 長期で高額 デバイス機能への アクセス 難しい 普通 普通 オフライン機能 なし 可能、でも難しい 可能、でも難しい
  15. 15. 開発プロジェクトでのその他考慮事項 • 一次的要因 • デバイスの特別な機能(カメラ、フラッシュ、アクセロメーター etc...)を使う必要があるか? • 二次的要因 • 予算 • すべてのモバイルデバイスをターゲットにする必要があるか? • 電波状況によってデバイスが使えない場合の機会損失は? • スピードやパフォーマンスはどれぐらい重要な要素か? • 自分が扱えるプログラミング言語は?
  16. 16. アプリの利用形態の側面から考えてみよう 利用形態 ユーザー 端末 技術 BYOD 一般 スマートフォン Webモバイル + セキュ リティ 会社支給 幹部 スマートフォン Webモバイル + セキュ リティ + MDM 会社支給 特別な業 務で使用 iPad、タブレット データ同期 + MDM 導入事例から学ぶ典型的な利用形態
  17. 17. Responsive Web Design • PC、スマートフォン、タブレットそれぞれの画面サイズ に合うレイアウトを自動生成 • Write once, run anywhere • 2013年はResponsive Web Design 元年 • 有名なフレームワークはすでに対応 jQuery Mobile、Twitter Bootstrapなど • 対応している身近なサイトの例 • http://view.jquerymobile.com/1.3.1/dist/demos/ • http://mashable.com/ • http://ja.collaborationtoday.info/
  18. 18. 結論 Notes/Domino アプリケーションのモバイル化はどうした らいい? • まずは XPages による Web モバイルアプリケーションを 作成 • Responsive Web Design 対応のフレームワークを使う なぜ? • 一言で言えば、「後でつぶしが効く」 いつ作るか? • 「...でしょ!」
  19. 19. ところでIBMモバイル戦略と言えば... • IBM MobileFirst – アプリ開発は IBM Worklight を中核 IBM Worklight を簡単に言うと、IBM製PhoneGap! • Domino + Worklight のシームレスな連携はプラン中??? • 2012年5月 Ed Brill のプレゼンでは... • http://www.slideshare.net/edbrill/ibm-mobile-strategy-for-social-business-may-2012 • “IBM Lotus Domino and IBM Worklight used together will allow you to reuse parts of your Domino XPages mobile application investment with the on-device experience” 現在はというと • RESTサービス(XPages Extension Libraryのコントロールのひとつ) を使ってDominoデータをJSON形式でアプリで扱える(8.5.3 UP1 あるいは9.0が必要) • 現時点では Domino Designer/XPages との統合の具体的な話は聞 こえてこない。(私見では、REST連携でごまかし、Dominoとの シームレスな連携はないとみています。しかもWebsphereブラン ド)
  20. 20. 2013 IBM Collaboration Solutions for Mobile Device Award WINNER 受賞
  21. 21. タイプ別モバイルアプリ比較 モバイルWeb ハイブリッド/ ネイティブ Teamstudio Unplugged 開発技術の習得難 易度 ○ × パフォーマンス × ○ アプリ配布が容易 か? ○ × 開発ライフサイク ル ○ × 開発時間(コスト) ○ × デバイス機能への アクセス × ○ オフライン機能 × ○
  22. 22. Teamstudio Unpluggedは 各ストアからダウンロード可能
  23. 23. Teamstudio Unpluggedの3つの特徴 • オフライン機能 • XPagesアプリケーション • 簡単な導入
  24. 24. オフライン機能 • ノーツデータ、XPages設計、リソースファイルを端末に 同期 • ユーザー識別(ノーツアカウントとHTTPパスワード)はデ バイス上に • 「まるで、ノーツクライアントの複製のよう!!!」
  25. 25. XPagesアプリケーション • 余分な投資が不要 • 自由なアプリケーションUI • フレームワーク利用で開発工数省力化
  26. 26. XPagesアプリケーション • 余分な投資が不要 • Domino Designerで開発、他の余分なSDKは一切必要なし • 自由なアプリケーションUI • フレームワーク利用で開発工数省力化
  27. 27. カメラサポート(iOS) XPagesの ファイルアップロード コントロールで実現
  28. 28. XPagesアプリケーション • 余分な投資が不要 • 自由なアプリケーションUI • フィールドマッピング型の簡易ソリューションではないのでフ レームワーク利用でこんな特殊なことも実現可能 • フレームワーク利用で開発工数省力化
  29. 29. XPagesアプリケーション • 余分な投資が不要 • 自由なアプリケーションUI • フレームワーク利用で開発工数省力化 • jQuery MobileなどJavaScript+CSSで構成されるフレームワーク
  30. 30. Unplugged XPages Mobile Controls
  31. 31. 簡単な導入 システム構成 • Domino 8.5.1以降(8.5.3以降を推奨) • Domino Designer 8.5.1以降(8.5.3以降を推奨) • 対応OSプラットフォームはNotes/Dominoに準拠 • Dominoサーバーに2つのデータベース(設定とログ)
  32. 32. Unpluggedのセキュリティ iOSデバイス上 • Unplugged Engine のデータストアはハードウェアベース の AES 256bit/3DES で暗号化 (AppleがiOS上のメールの 暗号化に使用しているものと同じ仕組みでiOS上でパス コード設定すると同時に暗号化) • 完璧を期すなら、[設定] – [一般] – [パスコード]の「簡単 なパスコード」(4桁の数字)をオフ、続いて8文字以上のパ スコード(文字数字)を設定 話が脱線しますが、HTML5でモバイルWebでは、データストアにSQL Lite が使用されますが、現在ではこのSQL Lite に同等の暗号化を施す ことはできません。
  33. 33. DEMO
  34. 34. ご覧いただいたとおり... • Unplugged アプリケーションは XPages で作成 • XPages でWeb モバイルアプリがあれば、簡単に「Unplugged 化」 • オフライン機能のメリット • 機敏な動作 • ユーザー識別の保持 • 簡単な導入 • 設定データベースで使用ユーザー/アプリケーション配布の管理
  35. 35. 参考URL • Teamstudio Unplugged 公式サイト • http://unplugged.teamstudio.com • YouTube TSUnpluggedJapan チャンネル • http://www.youtube.com/user/TSUnpluggedJapan • Unplugged かんたんスタートガイド • https://teamstudio.box.com/unpluggedstartguidejp • notes/domino liaison • http://notesdominoliaison.blogspot.jp • OpenNTF Unplugged XPages Mobile Controls • http://unplugged.openntf.org

×