Más contenido relacionado
La actualidad más candente (7)
Similar a Mobile Application Development by XPages (20)
Mobile Application Development by XPages
- 1. TC-3
XPages を利用して
モバイルアプリケーションを作ろう!
日本アイ・ビー・エム株式会社
ソフトウェア開発研究所 Lotus テクノロジー開発
ソフトウェアエンジニア
佐藤 淳 (acchan@jp.ibm.com)
© 2012 IBM Corporation
- 2. 本日の内容
• なぜモバイルアプリケーションなのか?
• モバイルアプリケーション開発のアプローチ
• Lotus Notes/Domino モバイルアプリケーション開発
- モバイルコントロール
- Domino データサービス
• Lotus モバイル戦略
• まとめ
• Q&A
1 | © 2012 IBM Corporation
- 3. 本日の内容
• なぜモバイルアプリケーションなのか?
• モバイルアプリケーション開発のアプローチ
• Lotus Notes/Domino モバイルアプリケーション開発
- モバイルコントロール
- Domino データサービス
• Lotus モバイル戦略
• まとめ
• Q&A
2 | © 2012 IBM Corporation
- 4. モバイル端末の爆発的な普及
• スマートフォンの出荷台数が PC の出荷台数を大きく
上回ってきている
• 日本国内に置いても契約数が「1人1台」を
超えてきている
- http://www.asahi.com/national/update/0221/TKY201
202210659.html
Sources of market data, IDC:
PC market - Modest PC Growth Meets Expectations
with Little Change for 2011 Before Recovering in
2012, IDC, Sept 13, 2011
Smartphone market - Worldwide Smartphone Market
Expected to Grow 55% in 2011 and Approach
Shipments of One Billion in 2015, IDC, June 9, 2011
3 | © 2012 IBM Corporation
- 5. ワークスタイルの多様化
いつでも、どこでも、なにからでも
すぐに業務アプリケーションに
アクセスできることが求められてきている
4 | © 2012 IBM Corporation
- 7. 本日の内容
• なぜモバイルアプリケーションなのか?
• モバイルアプリケーション開発のアプローチ
• Lotus Notes/Domino モバイルアプリケーション開発
- モバイルコントロール
- Domino データサービス
• Lotus モバイル戦略
• まとめ
• Q&A
6 | © 2012 IBM Corporation
- 10. モバイルアプリケーションのタイプ
モバイル Web アプリケーション (Web)
• HTML/JavaScript などの Web 技術で作られたアプリケーション
• モバイル端末上の Web ブラウザから利用
ネイティブアプリケーション (ネイティブ)
• モバイル端末の OS が提供する SDK を利用して
作られた専用のアプリケーション
• パッケージをモバイル端末にインストールして利用する
ハイブリッドアプリケーション (ハイブリッド)
• WebView コンテナなどのアプリケーションの実行環境を用いて、
Web の技術を中心に作られたアプリケーション
• カメラなどのモバイル端末特有の機能を利用することが可能
• HTML5 を利用したハイブリッドアプリが注目されている
• パッケージをモバイル端末にインストールして利用する
9 | © 2012 IBM Corporation
- 11. モバイルアプリ開発手法の比較
Web ハイブリッド ネイティブ
技術の習得 ◎ ◎ ×
パフォーマンス × ○ ◎
デバイスへの依存性 ◎ ○ ×
開発時間 ◎ ○ ×
開発ライフサイクル ◎ ◎ ×
可搬性 ◎ ○ ×
デバイス機能の利用 × ○ ◎
パッケージング × ◎ ◎
拡張性 × ◎ ◎
10 | © 2012 IBM Corporation
- 12. 本日の内容
• なぜモバイルアプリケーションなのか?
• モバイルアプリケーション開発のアプローチ
• Lotus Notes/Domino モバイルアプリケーション開発
- モバイルコントロール
- Domino データサービス
• Lotus モバイル戦略
• まとめ
• Q&A
11 | © 2012 IBM Corporation
- 13. Lotus Notes/Domino モバイルアプリ
ネイティブ / ハイブリッド
アプリケーション
専用
アプリ
Domino
データサービス
XPages
Web
ブラウザ
Lotus Domino 8.5.3 Lotus Notes
Upgrade Pack 1 アプリケーション
Web アプリケーション
12 | © 2012 IBM Corporation
- 14. Lotus Notes/Domino Upgrade Pack
• OpenNTF.org で公開している Extension Library
プロジェクトの一部を Lotus Notes/Domino 製品の
アドオンモジュールとして提供
- Extension Library のモジュールを製品化
- サポート対象
• Upgrade Pack で提供したモジュールは次期リリース版製品に搭載
13 | © 2012 IBM Corporation
- 15. XPages - モバイルコントロール
• シングルページアプリケーションモデルを実現する
モバイル Web アプリケーション用のコントロール
シングルページアプリ
ページ 1
ページ 1
(メインメニュー)
ページ 2
ページ 2
(一覧画面)
ページ 3
ページ 3
(詳細画面)
14 | © 2012 IBM Corporation
- 16. モバイルコントロールの構成
XPages (XSP) Page Heading
アプリケーション (Single Page Application)
ページ 1 (Mobile Page)
Tab Bar & Button
ページヘッダー (Page Heading) Static Line Item
タブ バー (Tab Bar)
ボタン (Tab Bar Button) Rounded List
行表示項目 (Static Line Item)
角丸リスト (Rounded List)
行表示項目 (Static Line Item)
スイッチ (Mobile Switch)
Mobile Switch
ページ 2 (Mobile Page)
…
15 | © 2012 IBM Corporation
- 18. Domino データサービス
• Lotus Domino 上のアプリケーションへ、安全かつ軽量に HTTP(S)
プロトコルを利用してアクセス可能
- アプリケーションへアクセスするための REST API を提供
- Lotus Notes/Domino アプリケーション、ビュー、フォルダ、
ドキュメントにアクセス可能
- 作成、読み込み、更新、削除をサポート
- データフォーマットに JSON を採用
- JavaScript からの操作が効率的
• Domino データサービスは Domino OSGi 上に搭載されている
Apache Wink を利用して実装
- http://incubator.apache.org/wink/
- 開発者によって拡張することが可能
17 | © 2012 IBM Corporation
- 19. REST API とは
• REST = REpresentational State Transfer
• HTTP ベースの軽量な Web API
• データには XML や JSON などの形式を利用
• HTTP の GET/POST/PUT/DELETE メソッドで CRUD 操作を実現
- Create(作成), Read(読み込み), Update(更新), Delete(削除)
例: アプリケーションのリストを取得
GET /api/data
[
{
"@title":"Administration Requests", Domino
"@filepath":"admin4.nsf",
"@replicaid":"852573910361A2F4", データサービス
"@template":"StdR4AdminRequests",
"@href":"http://zealand.xyz.com:80/admin4.nsf/api/data/collectio
ns"
}, 200
… 18 | © 2012 IBM Corporation
]
- 20. Domino データサービスの有効化
• Lotus Domino ごとに Domino データサービスの有効または無効を
設定可能
- サーバー文書またはインターネットサイト文書
• アプリケーション(NSF ファイル)ごとに Domino データサービスか
らのアクセスを制限可能
- アプリケーションのプロパティで設定可能
- アクセスを許可しない、ビューのみ許可、
ビューと文書の両方を許可
- ACL でアクセスできるユーザーを制限可能
• ビューごとに Domino Domino データサービスからの
アクセスを制限可能
- ビューのプロパティで設定可能
19 | © 2012 IBM Corporation
- 21. Domino データサービスの例
• アプリケーションのリストを取得
- GET http://{host}/api/data
• ビューやフォルダのコレクションを取得
- GET http://{host}/{database}/api/data/collections
• ビューやフォルダのエントリを取得
- GET
http://{host}/{database}/api/data/collections/name/{viewname}
• 文書を取得
- GET http://{host}/{database}/api/data/documents/unid/{docunid}
• 文書の作成
- POST
http://{host}/{database}/api/data/documents?form={formname}&
computewithform=true
• 文書の削除
- DELETE
http://{host}/{database}/api/data/documents/unid/{docunid} IBM Corporation
20 | © 2012
- 23. 本日の内容
• なぜモバイルアプリケーションなのか?
• モバイルアプリケーション開発のアプローチ
• Lotus Notes/Domino モバイルアプリケーション開発
- モバイルコントロール
- Domino データサービス
• Lotus モバイル戦略
• まとめ
• Q&A
22 | © 2012 IBM Corporation
- 25. IBM モバイルアプリ開発フレームワーク
モバイル用 IBM Social Business Toolkit によって
Lotus モバイルアプリケーションとの統合が実現される予定
24 | © 2012 IBM Corporation
- 26. 本日の内容
• なぜモバイルアプリケーションなのか?
• モバイルアプリケーション開発のアプローチ
• Lotus Notes/Domino モバイルアプリケーション開発
- モバイルコントロール
- Domino データサービス
• Lotus モバイル戦略
• まとめ
• Q&A
25 | © 2012 IBM Corporation
- 27. まとめ
モバイル市場の拡大によって Lotus Notes/Domino
アプリケーションのモバイル対応のニーズが高まっている
モバイル Web、ネイティブ、ハイブリッドの
3 パターンのモバイル対応の手段が存在
XPages や Domino データサービスを利用することで
効率的にモバイル対応を行うことができる
26 | © 2012 IBM Corporation
- 28. 参考資料
• Lotus Notes/Domino 8.5.3 Upgrade Pack 1
- http://ibm.co/AoQa9h
• Lotus Notes and Domino Application Development Wiki
- http://bit.ly/yMKSx2
• モバイルコントロールのチュートリアル
- http://bit.ly/xnWdbG
• Domino データサービスのリファレンス
- http://bit.ly/zkSca1
• ICS BPTE Japan Team Blog
- http://ibm.co/BPTEBLOG
• ICS BPTE Japan Team Twitter
- https://twitter.com/#!/Lotus_BPTE
27 | © 2012 IBM Corporation
- 29. XPages モバイルアプリケーション開発
http://seminar.jp/ICJ2012/technicalworkshop/index.html 28 | © 2012 IBM Corporation
- 30. XPages 技術者コミュニティ
• XPages に興味のある方なら参加OK!
• XPages に関する情報・リンクを集約!
• コミュニティー内メンバーと気軽に交流!
• サンプル・アプリケーションを多数掲載!
どうやって設
計
すればいい
の?
XPages の情報は
どこにあるの?
http://XPag.es/?XPagesJapan
29 | © 2012 IBM Corporation
- 31. パートナー様向け – 技術支援プログラム
Lotus BP/ISV Technical Enablement Program
• Lotus 製品を利用した連携アプリケーションの開発を行う
パートナー様向けの無償技術支援プログラム
• 主なサービス内容
- 開発に必要なソフトウェアの貸し出し
- オンサイトでの開発環境の構築支援
- 仕様策定のための技術ディスカッション
- API の使用方法などの技術情報の提供
- Etc…
• お問い合わせ先:
- 佐藤 淳 (acchan@jp.ibm.com)
30 | © 2012 IBM Corporation
- 33. © IBM Corporation 2011. All Rights Reserved.
ワークショップ、セッション、および資料は、IBMまたはセッション発表者によって準備され、それぞれ独自の見解を反映したものです。それらは情報提供の目的のみ
で提供されており、いかなる参加者に対しても法律的またはその他の指導や助言を意図したものではなく、またそのような結果を生むものでもありません。本プレゼン
テーションに含まれている情報については、完全性と正確性を帰するよう努力しましたが、「現状のまま」提供され、明示または暗示にかかわらずいかなる保証も伴わ
ないものとします。本プレゼンテーションまたはその他の資料の使用によって、あるいはその他の関連によって、いかなる損害が生じた場合も、IBMは責任を負わない
ものとします。 本プレゼンテーションに含まれている内容は、IBMまたはそのサプライヤーやライセンス交付者からいかなる保証または表明を引きだすことを意図した
ものでも、IBMソフトウェアの使用を規定する適用ライセンス契約の条項を変更することを意図したものでもなく、またそのような結果を生むものでもありません。
本プレゼンテーションでIBM製品、プログラム、またはサービスに言及していても、IBMが営業活動を行っているすべての国でそれらが使用可能であることを暗示する
ものではありません。本プレゼンテーションで言及している製品リリース日付や製品機能は、市場機会またはその他の要因に基づいてIBM独自の決定権をもっていつで
も変更できるものとし、いかなる方法においても将来の製品または機能が使用可能になると確約することを意図したものではありません。本資料に含まれている内容は、
参加者が開始する活動によって特定の販売、売上高の向上、またはその他の結果が生じると述べる、または暗示することを意図したものでも、またそのような結果を生
むものでもありません。
パフォーマンスは、管理された環境において標準的なIBMベンチマークを使用した測定と予測に基づいています。ユーザーが経験する実際のスループットやパフォーマ
ンスは、ユーザーのジョブ・ストリームにおけるマルチプログラミングの量、入出力構成、ストレージ構成、および処理されるワークロードなどの考慮事項を含む、数
多くの要因に応じて変化します。したがって、個々のユーザーがここで述べられているものと同様の結果を得られると確約するものではありません。
記述されているすべてのお客様事例は、それらのお客様がどのようにIBM製品を使用したか、またそれらのお客様が達成した結果の実例として示されたものです。実際
の環境コストおよびパフォーマンス特性は、お客様ごとに異なる場合があります。
IBM、IBM ロゴ、ibm.com、は、世界の多くの国で登録されたInternational Business Machines Corporationの商標です。
他の製品名およびサービス名等は、それぞれIBMまたは各社の商標である場合があります。
現時点での IBM の商標リストについては、www.ibm.com/legal/copytrade.shtmlをご覧ください。
Adobe, Adobeロゴ, PostScript, PostScriptロゴは、Adobe Systems Incorporatedの米国およびその他の国における登録商標または商標です。
IT Infrastructure Libraryは英国Office of Government Commerceの一部であるthe Central Computer and Telecommunications Agencyの登録商標です。
インテル, Intel, Intelロゴ, Intel Inside, Intel Insideロゴ, Intel Centrino, Intel Centrinoロゴ, Celeron, Intel Xeon, Intel SpeedStep, Itanium, およびPentium は Intel
Corporationまたは子会社の米国およびその他の国における商標または登録商標です。
Linuxは、Linus Torvaldsの米国およびその他の国における登録商標です。
Microsoft, Windows, Windows NT および Windowsロゴは Microsoft Corporationの米国およびその他の国における商標です。
ITILは英国Office of Government Commerceの登録商標および共同体登録商標であって、米国特許商標庁にて登録されています。
UNIXはThe Open Groupの米国およびその他の国における登録商標です。
Cell Broadband Engineは、Sony Computer Entertainment, Inc.の米国およびその他の国における商標であり、同社の許諾を受けて使用しています。
JavaおよびすべてのJava関連の商標およびロゴは Oracleやその関連会社の米国およびその他の国における商標または登録商標です。
Linear Tape-Open, LTO, LTOロゴ, UltriumおよびUltriumロゴは、HP, IBM Corp.およびQuantumの米国およびその他の国における商標です。
他の会社名、製品名およびサービス名等はそれぞれ各社の商標。
32 | © 2012 IBM Corporation