狠狠撸

狠狠撸Share a Scribd company logo
齿笔补驳别蝉で搁贰厂罢を使ってみよう
株式会社エフ マネージャー
御代 政彦(みよ まさひこ)
2015年6月
?2015 ef Co., Ltd. All rights Reserved.
e f f e c t f o r c e
免責事項について
?本資料は、個人的な見解によるものです。情報の内容に
ついては万全を期しておりますが、その内容を保証する
ものではありません。
?本資料の情報は、使?先の責任において使?されるべき
ものであることを、あらかじめご了承ください。
?執筆者の承諾なしに、コピー、複製、他のメディアに転
載する事はご遠慮ください。
?当資料に記載された製品名または会社名はそれぞれの各
社の商標または登録商標です。
- 2 -
?2015 ef Co., Ltd. All rights Reserved.
e f f e c t f o r c e
まだまだ認知度が低いので…
御代 政彦(Miyo Masahiko)
2011年12月からIBM Champion for ICSをやってます
Twitter:@guylocke
Facebook:guylocke34
ブログ:http://guylocke.blogspot.jp
- 3 -
ef-info@effect-force.co.jp
自己紹介
のおつ 検索
?2015 ef Co., Ltd. All rights Reserved.
e f f e c t f o r c e
アジェンダ
? RESTとは?
? RESTサービス
? JSONについて
? Dominoアクセスサービス
? Dominoアクセスサービス
? Notes/Dominoの設定
? サンプルURL
? XPagesへの応用
? RESTコントロールを使った例
? OnTime OpenAPIを使った例
? まとめ
? 注意事項、参考情報
- 4 -
?2015 ef Co., Ltd. All rights Reserved.
e f f e c t f o r c e
RESTとは?
? RESTサービス
? 正式名称は、「REpresentational State Transfer」
? 直訳すると、「具象的な状態の転送」(よく分からん…)
? パラメータを指定して特定のURLにHTTPでアクセスすると、
狭義の意味としては、XMLで記述されたメッセージが送られて
くるインターフェースを指す。
? HTTP ベースの軽量なWeb API を提供している
? データにはXML やJSON などの形式を利?
? HTTP のGET/POST/PUT/DELETE メソッドでCRUD 操作を
実現
? CRUD…Create(作成)、 Read(読み込み)、 Update(更
新)、 Delete(削除)のこと
- 5 -
?2015 ef Co., Ltd. All rights Reserved.
e f f e c t f o r c e
RESTとは?
? JSONについて
? 正式名称は、「JavaScript Object Notation」
? JavaScriptにおけるオブジェクトの表記法をベースとした軽
量なデータ記述言語である。
? JavaScript専?ではなく、様々なソフトウェア間でデータの受
け渡しができるように設計されている
? 書式はXMLに比べて、かなり簡略化されている。
? オブジェクトは{}で囲む
? 配列は[]で囲む
? オブジェクトの要素は、:で区切る
- 6 -
?2015 ef Co., Ltd. All rights Reserved.
e f f e c t f o r c e
RESTとは?
? JSONのデータサンプル
{
"name" : "Masahiko Miyo",
"age" : 45,
"male" : true,
"emails" : ["m.miyo@effect-force.co.jp", "guylocke34@gmail.com"],
"address" : {
"street" : "3-13-16 Mita",
"zipCode" : "108-0073",
"city" : "Minato-Ku",
"country" : "Japan",
"country-knj" : "?u65e5?u672c"
}
}
- 7 -
1. 項目名:値という形で記述する
2. 項目名は“”(ダブルクォーテーション)で囲うこと
3. 値は、文字列、数値、日付/時刻、論理値等を記述可能
4. 日本語はUnicodeでエンコードすること
5. 配列は、[]で囲うこと
6. 項目名の大文字小文字は区別されるので注意すること
Unicodeで”日本”と書いてある
数値や論理値も扱える
?2015 ef Co., Ltd. All rights Reserved.
e f f e c t f o r c e
Dominoアクセスサービス
? Dominoアクセスサービス
? Domino 8.5.3 Upgrade Pack1から採?されたDominoの
データにアクセスするためのREST API
? Domino上のNotesアプリケーションへHTTPプロトコルを利?
してアクセスするためのサービス
? Notesアプリケーション、ビュー(フォルダ含む)、文書にア
クセス可能
? データの作成、読込、更新、削除(CRUD)をサポート
? データフォーマットに、JavaScript からの操作が効率的な
JSONを採?
- 8 -
?2015 ef Co., Ltd. All rights Reserved.
e f f e c t f o r c e
Dominoアクセスサービス
? Notes/Dominoの設定(1)
? Dominoディレクトリにあるサーバ文書の[インターネットプ
ロトコル]-[Domino Web Engine]タブを開く。
? 「Domino アクセスサービス」の「有効なサービス」にサー
ビス名を設定する。
? 2015年6月の時点で設定可能なのは「Data, TravelerAdmin,
Calendar, Mail, FreeBusy」。
? サーバ文書の保存後はサーバコンソールで
tell http refresh
と入力する。
?「TravelerAdmin」はIBM Notes Travelerをイン
ストールすると、自動で設定されます。
?IBM Domino 9.0.1以降のみで有効
?「Mail」及び「FreeBusy」サービスの利用は
Extension Library 9.0.1が導入されている必要があ
ります。
- 9 -
?2015 ef Co., Ltd. All rights Reserved.
e f f e c t f o r c e
Dominoアクセスサービス
? Notes/Dominoの設定(2)
? サービスを適?したいNotesアプリケーションの「データ
ベースプロパティ」を開きます。
? 一番右の[詳細]タブを開きます。
? 「IBM Domino データサービス
を許可」の値を「ビューと文書」
に変更します。
- 10 -
?2015 ef Co., Ltd. All rights Reserved.
e f f e c t f o r c e
Dominoアクセスサービス
? Notes/Dominoの設定(3)
? サービスを適?したいNotesアプリケーションの「ビュー」
(もしくはフォルダ)をDomino Designerで開きます。
? ビュープロパティにある右から二番目の[詳細]タブを開きま
す。
? 「IBM Domino データサービスの操作を許可」にチェック
をつけます。
? ビューを保存します。
- 11 -
? 文書情報へとアクセスするのに「フォーム」に対して、Domino
データサービスの設定は必要ない。
→設定する箇所がない
?2015 ef Co., Ltd. All rights Reserved.
e f f e c t f o r c e
Dominoアクセスサービス
? DominoでのJSONのデータサンプル
- 12 -
[
{
"@title":"Administration Requests",
"@filepath":"admin4.nsf",
"@replicaid":"49257B45034CEF77",
"@template":"StdR4AdminRequests",
"@href":"?/admin4.nsf?/api?/data?/collections"
},
{
"@title":"?u30D1?u30B9?u30EF?u30FC?u30C9?u3042?u308A?u306A?u3057?u30C6?u30B9?u3
0C8",
"@filepath":"abcdefg.nsf",
"@replicaid":"492576AF0007568C",
"@template":"",
"@href":"?/abcdefg.nsf?/api?/data?/collections"
}
]
?2015 ef Co., Ltd. All rights Reserved.
e f f e c t f o r c e
Dominoアクセスサービス
? サンプルURL
? Webブラウザで、下記のURLを入力してみよう
? IEの場合、ファイルを保存するかどうか聞かれるので保存する
- 13 -
1. Notesアプリケーションの一覧とは、「タイトル」、「ファイル名」、「レプリカID」等を指す
2. ?page=nは複数ページにまたがる場合に利?可能(表示したいページ数を指定する)
3. RESTアクセスを許可していないビューのUNIDを指定すると、「HTTP403」エラーになる
4. カレンダーのRESTサービスはIBM Domino 9.0.1から利?可能
No. 内容 URL
1
DominoサーバーのNotesアプ
リケーションの一覧
http:// Dominoのホスト名/api/data
2
ノーツDBのRESTサービス
チェック
http://Dominoホスト名/hoge.nsf/api/data/collections?page=n
3 ビューのチェック http:// Dominoのホスト名/hoge.nsf/api/data/collections/unid/ビューUNID
4 文書のチェック http:// Dominoのホスト名/hoge.nsf/api/data/documents/unid/文書UNID
5
指定したユーザのカレンダー
のイベントの一覧
http://Dominoのホスト名/メールDB名/api/calendar/events
6
指定したカレンダー文書の内
容
http://Dominoのホスト名/メールDB名/api/calendar/events/文書UNID-Lotus_Notes_Generated
?2015 ef Co., Ltd. All rights Reserved.
e f f e c t f o r c e
XPagesへの応?
? RESTコントロールを使った例
? XAgentとlivedoor天気情報を使?して、JSONデータを取得
する
? XAgentの内容については下記を参照
http://guylocke.blogspot.jp/2014/12/xagent.html
? RESTコントロールを設置することで、JSONデータを取得する
方法だけ記述すれば良くなる
? 設定方法は次ページ参照
- 14 -
?2015 ef Co., Ltd. All rights Reserved.
e f f e c t f o r c e
XPagesへの応?
? RESTコントロールの設定例
- 15 -
№ カテゴリ名称 項目名称 値
1 基本 id restService1(任意の値)
2 pathInfo restData(任意の値)
3 service xe:customRestService
4 contentType application/json
5 doGet *下図参照
doGetの記述サンプル
?2015 ef Co., Ltd. All rights Reserved.
e f f e c t f o r c e
XPagesへの応?
? JSONへのアクセス方法
- 16 -
下図は、お天気Webサービスにアクセスしたときのレスポンス(JSONで返ってくる)
このページは、前述したRESTコントロールで取得するようにしてある
?2015 ef Co., Ltd. All rights Reserved.
e f f e c t f o r c e
XPagesへの応?
? サンプル画面
? XAgentで取得した天気予報データを利?してXPagesに組み
込んだサンプル
? [天気情報検索]ボタンのプログラムは昨年紹介したCSJSを流?。
- 17 -
【検索プログラムの大まかな流れ】
1. エンドポイント(HTTPアクセスするURL)を設定
? この時、固有なキーなども同時に設定する
2. XMLHttpRequestの定義
3. HTTPリクエストの内容設定
? リクエストヘッダやメソッドの種類、リクエストのJSONなども設定
4. HTTP送信
5. コールバック関数の定義
? HTTP通信の結果によって、実行するロジックを記述
?2015 ef Co., Ltd. All rights Reserved.
e f f e c t f o r c e
XPagesへの応?
? OnTime OpenAPIを使った例
? OnTime Group CalendarにもREST APIが実装されている
? OnTime Group Calendar API Explorer を試すためのサイト
? (Username: demo / Password: demo)
http://demo.ontimesuite.com/apiexplorer
? 自社でOnTimeを導入している場合は以下のURLでテスト可能
http://Dominoのホスト名/OnTimeクライアントDBのパス名
? API Explorerを使うことで、RequestのURLやRequest?の
JSONの書式がわかるようになっている
- 18 -
?2015 ef Co., Ltd. All rights Reserved.
e f f e c t f o r c e
XPagesへの応?
? OnTime OpenAPIを使った例
? OnTime Open APIをXPagesで利?したサンプルプログラム
1. OnTimeのログイン情報を持つTokenの取得
2. OnTimeのUserIDの取得
3. 指定した日付のスケジュール文書のUNIDの取得
4. 指定した文書UNIDのカレンダー情報の取得
5. 設定した内容をスケジュール文書に書き込む
? OnTime 経由(Sync機能)で、ノーツと即時連携可能!
1. OnTime Group Calendarに即時に反映される
2. OnTimeを通じて、ノーツのスケジュール文書に即時に反映さ
れる
? XPagesならCSJSで記述可能!
1. 前述したお天気Webサービスと同様の記述で実行可能!
- 19 -
?2015 ef Co., Ltd. All rights Reserved.
e f f e c t f o r c e
XPagesへの応?
? デモ(動作確認)
? OnTime OpenAPIのサンプルプログラムは、映像で見ま
しょう?
- 20 -
?2015 ef Co., Ltd. All rights Reserved.
e f f e c t f o r c e
まとめ
? Notes/DominoでRESTを利用する
? Notesアプリケーションのデータを他のWebシステムで動的
に再利?することが可能
? 従来は、CSVやExcel等の静的な受け渡しのみだった
? 他のWebシステムのデータをXPages経由で、Dominoで利
?することが可能
? JavaScriptを利?出来るようになったので敷居が少し低くなっ
た
? RESTコントロールを使うことで、JSONの取得が簡単に!
? データ取得の記述のみで良い!
? OnTime OpenAPIは利用方法が簡単!
? API Explorerを利?することで、JSONの取得方法が簡単にわ
かる!
- 21 -
?2015 ef Co., Ltd. All rights Reserved.
e f f e c t f o r c e
まとめ
? RESTを利用する際の注意事項
? 同一オリジンのサイト(プロトコル、ドメイン、ポート番号
が同じである)でないと、リソースへのアクセスができない
? Cross-Origin Resource Sharing(CORS)の有効化が必要
? JSONP(JSON with padding)を利?することでも回避可能
? XAgentを使ってサーバー経由で取得してもよい
? 外部のWebサービスの場合、仕様の確認が大事
? ぐるなびAPIやOnTime OpenAPIでは、アプリケーション?の
キーが必要になるので、別途取得する必要がある。
? APIの仕様が変わることにより、データの取得方法が変わる場
合がある。
- 22 -
?2015 ef Co., Ltd. All rights Reserved.
e f f e c t f o r c e
まとめ
? DAS/REST関連のWebサイト
? IBM Domino Access Services 9.0.1
? IBM Notes and Domino Application Development wiki内のサイト(英語)
http://ibm.co/1wGMxzh
? デモで利用したツール/サービス
? REST Client
? Firefoxのアドオン。Response Headersの詳細も確認できる。日本語はUnicode
をデコード表示してくれるので分かり易い。
http://restclient.net/
? JSON Viewer
? Firefoxのアドオン。JSONドキュメントをブラウザー内で階層化表示してくれる。
ダブルバイトもデコードしてくれるので、とても見やすい。
http://jsonview.com/
? Weather Hacks(お天気Webサービス )
? Livedoorのお天気Webサービス。全国142カ所の今日?明日?あさっての天気予
報?予想気温と都道府県の天気概況情報を提供している。
http://weather.livedoor.com/weather_hacks/webservice
? OnTime Group Calendar API Explorer
? OnTime Group Calendar内にあるOnTime OpenAPIをエミュレートするための
ツール。
http://demo.ontimesuite.com/apiexplorer
- 23 -
?2015 ef Co., Ltd. All rights Reserved.
e f f e c t f o r c e
- 24 -
ご清聴ありがとうございました
REST APIを覚えて使ってね?
Ad

Recommended

XPagesDay2014 [B-3] 齿笔补驳别蝉で搁贰厂罢を使ってみたら、こんなんだったPartⅡ
XPagesDay2014 [B-3] 齿笔补驳别蝉で搁贰厂罢を使ってみたら、こんなんだったPartⅡ
Masahiko Miyo
?
顿辞尘颈苍辞认証局の作成
顿辞尘颈苍辞认証局の作成
Masahiko Miyo
?
三度、おじさんSEはIBM ConnectEDへ行ってきた
三度、おじさんSEはIBM ConnectEDへ行ってきた
Masahiko Miyo
?
サーバー认証
サーバー认証
Masahiko Miyo
?
HCL Domino REST API 利用ガイド
HCL Domino REST API 利用ガイド
Software Info HCL Japan
?
笔翱滨4齿笔补驳别蝉を使った飞辞谤诲-别虫肠别濒への简単エクスポート
笔翱滨4齿笔补驳别蝉を使った飞辞谤诲-别虫肠别濒への简単エクスポート
賢次 海老原
?
メッセージングプラットフォーム Zimbra の紹介とその活用術 - JJUG ナイトセミナー2013/3
メッセージングプラットフォーム Zimbra の紹介とその活用術 - JJUG ナイトセミナー2013/3
日本闯补惫补ユーザーグループ
?
Try! cms2012標準マニュアル2013 03
Try! cms2012標準マニュアル2013 03
博康 三井
?
WordBeach @kurudrive
WordBeach @kurudrive
Hidekazu Ishikawa
?
ヒストリア HelixCore(Perforce) 運用レギュレーションドキュメント
ヒストリア HelixCore(Perforce) 運用レギュレーションドキュメント
historia_Inc
?
初めての REST - Representational State Transfer
初めての REST - Representational State Transfer
Tatsumi Naganuma
?
搁贰厂罢蹿耻濒とは
搁贰厂罢蹿耻濒とは
星影 月夜
?
「Helix Core」導入事例紹介 『小~中規模事例 "Unreal Engine 4 × Helix Core ヒストリア運用レギュレーション紹介"』
「Helix Core」導入事例紹介 『小~中規模事例 "Unreal Engine 4 × Helix Core ヒストリア運用レギュレーション紹介"』
historia_Inc
?
[db tech showcase Tokyo 2016] A35: NVMe徹底検証 by 株式会社インサイトテクノロジー 平間 大輔
[db tech showcase Tokyo 2016] A35: NVMe徹底検証 by 株式会社インサイトテクノロジー 平間 大輔
Insight Technology, Inc.
?
XPagesDay 2015 RESTの総復習
XPagesDay 2015 RESTの総復習
Masahiko Miyo
?
第一回Rest勉強会 ワークショッフ?
第一回Rest勉強会 ワークショッフ?
ksimoji
?
ログについて改めて考えてみた
ログについて改めて考えてみた
株式会社オプト 仙台ラボラトリ
?
笔补测笔补濒アカウントを使った便利で安心なプラットフォーム运用
笔补测笔补濒アカウントを使った便利で安心なプラットフォーム运用
Junichi Okamura
?
碍别测肠濒辞补办拡张入门
碍别测肠濒辞补办拡张入门
Hiroyuki Wada
?
フレームワークも使っていない奥别产アフ?リを尝补谤补惫别濒+笔奥础て?モハ?イルアフ?リっほ?くしてみちゃう
フレームワークも使っていない奥别产アフ?リを尝补谤补惫别濒+笔奥础て?モハ?イルアフ?リっほ?くしてみちゃう
株式会社オプト 仙台ラボラトリ
?
Azure App Service Overview LT
Azure App Service Overview LT
Keiji Kamebuchi
?
【础2颈セミナー】できることからやってみたスマートフォン?罢飞颈迟迟别谤のアクセス解析
【础2颈セミナー】できることからやってみたスマートフォン?罢飞颈迟迟别谤のアクセス解析
Masaki Saito
?
Soycms css nite_lp6_fu_201312
Soycms css nite_lp6_fu_201312
Takashi Furusho
?
IETF96 Update oauth tokbind
IETF96 Update oauth tokbind
Kaoru Maeda
?
JobScheduler ユーザカンファレンス 2016 東京日産コンピュータシステム様 事例紹介
JobScheduler ユーザカンファレンス 2016 東京日産コンピュータシステム様 事例紹介
Daisuke Ikeda
?
运用管理のプロが教える贬颈苍别尘辞蝉活用法词闯叠辞蝉蝉や笔辞蝉迟驳谤别厂蚕尝を対象としたミドルウェア监视オプションやクラウド型贬颈苍别尘辞蝉を使って词
运用管理のプロが教える贬颈苍别尘辞蝉活用法词闯叠辞蝉蝉や笔辞蝉迟驳谤别厂蚕尝を対象としたミドルウェア监视オプションやクラウド型贬颈苍别尘辞蝉を使って词
hinemos_atomitech
?
チラ見せ! マイソースファクトリーて?のAws活用 修正
チラ見せ! マイソースファクトリーて?のAws活用 修正
Yutaka Fujisaki
?
クラウドサービスとの連携で Notes/Domino の新しい活用方法を考えてみませんか
クラウドサービスとの連携で Notes/Domino の新しい活用方法を考えてみませんか
Takeshi Yoshida
?
Openshift 20191219
Openshift 20191219
Yasushi Osonoi
?
Ietf95 http2
Ietf95 http2
Kaoru Maeda
?

More Related Content

What's hot (6)

WordBeach @kurudrive
WordBeach @kurudrive
Hidekazu Ishikawa
?
ヒストリア HelixCore(Perforce) 運用レギュレーションドキュメント
ヒストリア HelixCore(Perforce) 運用レギュレーションドキュメント
historia_Inc
?
初めての REST - Representational State Transfer
初めての REST - Representational State Transfer
Tatsumi Naganuma
?
搁贰厂罢蹿耻濒とは
搁贰厂罢蹿耻濒とは
星影 月夜
?
「Helix Core」導入事例紹介 『小~中規模事例 "Unreal Engine 4 × Helix Core ヒストリア運用レギュレーション紹介"』
「Helix Core」導入事例紹介 『小~中規模事例 "Unreal Engine 4 × Helix Core ヒストリア運用レギュレーション紹介"』
historia_Inc
?
[db tech showcase Tokyo 2016] A35: NVMe徹底検証 by 株式会社インサイトテクノロジー 平間 大輔
[db tech showcase Tokyo 2016] A35: NVMe徹底検証 by 株式会社インサイトテクノロジー 平間 大輔
Insight Technology, Inc.
?
ヒストリア HelixCore(Perforce) 運用レギュレーションドキュメント
ヒストリア HelixCore(Perforce) 運用レギュレーションドキュメント
historia_Inc
?
初めての REST - Representational State Transfer
初めての REST - Representational State Transfer
Tatsumi Naganuma
?
搁贰厂罢蹿耻濒とは
搁贰厂罢蹿耻濒とは
星影 月夜
?
「Helix Core」導入事例紹介 『小~中規模事例 "Unreal Engine 4 × Helix Core ヒストリア運用レギュレーション紹介"』
「Helix Core」導入事例紹介 『小~中規模事例 "Unreal Engine 4 × Helix Core ヒストリア運用レギュレーション紹介"』
historia_Inc
?
[db tech showcase Tokyo 2016] A35: NVMe徹底検証 by 株式会社インサイトテクノロジー 平間 大輔
[db tech showcase Tokyo 2016] A35: NVMe徹底検証 by 株式会社インサイトテクノロジー 平間 大輔
Insight Technology, Inc.
?

Similar to 齿笔补驳别蝉で搁贰厂罢を使ってみよう (20)

XPagesDay 2015 RESTの総復習
XPagesDay 2015 RESTの総復習
Masahiko Miyo
?
第一回Rest勉強会 ワークショッフ?
第一回Rest勉強会 ワークショッフ?
ksimoji
?
ログについて改めて考えてみた
ログについて改めて考えてみた
株式会社オプト 仙台ラボラトリ
?
笔补测笔补濒アカウントを使った便利で安心なプラットフォーム运用
笔补测笔补濒アカウントを使った便利で安心なプラットフォーム运用
Junichi Okamura
?
碍别测肠濒辞补办拡张入门
碍别测肠濒辞补办拡张入门
Hiroyuki Wada
?
フレームワークも使っていない奥别产アフ?リを尝补谤补惫别濒+笔奥础て?モハ?イルアフ?リっほ?くしてみちゃう
フレームワークも使っていない奥别产アフ?リを尝补谤补惫别濒+笔奥础て?モハ?イルアフ?リっほ?くしてみちゃう
株式会社オプト 仙台ラボラトリ
?
Azure App Service Overview LT
Azure App Service Overview LT
Keiji Kamebuchi
?
【础2颈セミナー】できることからやってみたスマートフォン?罢飞颈迟迟别谤のアクセス解析
【础2颈セミナー】できることからやってみたスマートフォン?罢飞颈迟迟别谤のアクセス解析
Masaki Saito
?
Soycms css nite_lp6_fu_201312
Soycms css nite_lp6_fu_201312
Takashi Furusho
?
IETF96 Update oauth tokbind
IETF96 Update oauth tokbind
Kaoru Maeda
?
JobScheduler ユーザカンファレンス 2016 東京日産コンピュータシステム様 事例紹介
JobScheduler ユーザカンファレンス 2016 東京日産コンピュータシステム様 事例紹介
Daisuke Ikeda
?
运用管理のプロが教える贬颈苍别尘辞蝉活用法词闯叠辞蝉蝉や笔辞蝉迟驳谤别厂蚕尝を対象としたミドルウェア监视オプションやクラウド型贬颈苍别尘辞蝉を使って词
运用管理のプロが教える贬颈苍别尘辞蝉活用法词闯叠辞蝉蝉や笔辞蝉迟驳谤别厂蚕尝を対象としたミドルウェア监视オプションやクラウド型贬颈苍别尘辞蝉を使って词
hinemos_atomitech
?
チラ見せ! マイソースファクトリーて?のAws活用 修正
チラ見せ! マイソースファクトリーて?のAws活用 修正
Yutaka Fujisaki
?
クラウドサービスとの連携で Notes/Domino の新しい活用方法を考えてみませんか
クラウドサービスとの連携で Notes/Domino の新しい活用方法を考えてみませんか
Takeshi Yoshida
?
Openshift 20191219
Openshift 20191219
Yasushi Osonoi
?
Ietf95 http2
Ietf95 http2
Kaoru Maeda
?
AI搭載型IP電話 MiiTel を支える組織とアーキテクチャ
AI搭載型IP電話 MiiTel を支える組織とアーキテクチャ
RevComm Inc
?
Node red hands on - public
Node red hands on - public
Takehiko Amano
?
开発プラットフォームとしての厂耻驳补谤颁搁惭
开発プラットフォームとしての厂耻驳补谤颁搁惭
翱厂厂ラボ株式会社
?
あにみた!(笔贬笔カンファレンス用资料)
あにみた!(笔贬笔カンファレンス用资料)
Hiroyuki Ishiyama
?
XPagesDay 2015 RESTの総復習
XPagesDay 2015 RESTの総復習
Masahiko Miyo
?
第一回Rest勉強会 ワークショッフ?
第一回Rest勉強会 ワークショッフ?
ksimoji
?
笔补测笔补濒アカウントを使った便利で安心なプラットフォーム运用
笔补测笔补濒アカウントを使った便利で安心なプラットフォーム运用
Junichi Okamura
?
碍别测肠濒辞补办拡张入门
碍别测肠濒辞补办拡张入门
Hiroyuki Wada
?
フレームワークも使っていない奥别产アフ?リを尝补谤补惫别濒+笔奥础て?モハ?イルアフ?リっほ?くしてみちゃう
フレームワークも使っていない奥别产アフ?リを尝补谤补惫别濒+笔奥础て?モハ?イルアフ?リっほ?くしてみちゃう
株式会社オプト 仙台ラボラトリ
?
Azure App Service Overview LT
Azure App Service Overview LT
Keiji Kamebuchi
?
【础2颈セミナー】できることからやってみたスマートフォン?罢飞颈迟迟别谤のアクセス解析
【础2颈セミナー】できることからやってみたスマートフォン?罢飞颈迟迟别谤のアクセス解析
Masaki Saito
?
Soycms css nite_lp6_fu_201312
Soycms css nite_lp6_fu_201312
Takashi Furusho
?
IETF96 Update oauth tokbind
IETF96 Update oauth tokbind
Kaoru Maeda
?
JobScheduler ユーザカンファレンス 2016 東京日産コンピュータシステム様 事例紹介
JobScheduler ユーザカンファレンス 2016 東京日産コンピュータシステム様 事例紹介
Daisuke Ikeda
?
运用管理のプロが教える贬颈苍别尘辞蝉活用法词闯叠辞蝉蝉や笔辞蝉迟驳谤别厂蚕尝を対象としたミドルウェア监视オプションやクラウド型贬颈苍别尘辞蝉を使って词
运用管理のプロが教える贬颈苍别尘辞蝉活用法词闯叠辞蝉蝉や笔辞蝉迟驳谤别厂蚕尝を対象としたミドルウェア监视オプションやクラウド型贬颈苍别尘辞蝉を使って词
hinemos_atomitech
?
チラ見せ! マイソースファクトリーて?のAws活用 修正
チラ見せ! マイソースファクトリーて?のAws活用 修正
Yutaka Fujisaki
?
クラウドサービスとの連携で Notes/Domino の新しい活用方法を考えてみませんか
クラウドサービスとの連携で Notes/Domino の新しい活用方法を考えてみませんか
Takeshi Yoshida
?
AI搭載型IP電話 MiiTel を支える組織とアーキテクチャ
AI搭載型IP電話 MiiTel を支える組織とアーキテクチャ
RevComm Inc
?
Node red hands on - public
Node red hands on - public
Takehiko Amano
?
开発プラットフォームとしての厂耻驳补谤颁搁惭
开発プラットフォームとしての厂耻驳补谤颁搁惭
翱厂厂ラボ株式会社
?
あにみた!(笔贬笔カンファレンス用资料)
あにみた!(笔贬笔カンファレンス用资料)
Hiroyuki Ishiyama
?
Ad

More from Masahiko Miyo (13)

Notes/Domino 開発tipsサービスについて
Notes/Domino 開発tipsサービスについて
Masahiko Miyo
?
私が作成した痴辞濒迟アプリの绍介
私が作成した痴辞濒迟アプリの绍介
Masahiko Miyo
?
Col113 introducing the hcl domino volt application i created
Col113 introducing the hcl domino volt application i created
Masahiko Miyo
?
痴辞濒迟アプリをバージョンアップ!
痴辞濒迟アプリをバージョンアップ!
Masahiko Miyo
?
初心者向け狈辞迟别蝉/顿辞尘颈苍辞の开発テクニック
初心者向け狈辞迟别蝉/顿辞尘颈苍辞の开発テクニック
Masahiko Miyo
?
Domino Voltアプリケーションを作成してみたよ!
Domino Voltアプリケーションを作成してみたよ!
Masahiko Miyo
?
Nomad アプリも作成してみたよ!
Nomad アプリも作成してみたよ!
Masahiko Miyo
?
formBuilderにより フォームを簡単作成(オープンセミナー版)
formBuilderにより フォームを簡単作成(オープンセミナー版)
Masahiko Miyo
?
対称クラスタの设定と动作确认
対称クラスタの设定と动作确认
Masahiko Miyo
?
蹿辞谤尘叠耻颈濒诲别谤によりフォームを简単作成
蹿辞谤尘叠耻颈濒诲别谤によりフォームを简単作成
Masahiko Miyo
?
HCL Nomad用アプリケーション プレゼント企画
HCL Nomad用アプリケーション プレゼント企画
Masahiko Miyo
?
齿笔补驳别蝉で検索してみよう
齿笔补驳别蝉で検索してみよう
Masahiko Miyo
?
齿笔补驳别蝉で搁贰厂罢を使ってみたら、こんなんだった
齿笔补驳别蝉で搁贰厂罢を使ってみたら、こんなんだった
Masahiko Miyo
?
Notes/Domino 開発tipsサービスについて
Notes/Domino 開発tipsサービスについて
Masahiko Miyo
?
私が作成した痴辞濒迟アプリの绍介
私が作成した痴辞濒迟アプリの绍介
Masahiko Miyo
?
Col113 introducing the hcl domino volt application i created
Col113 introducing the hcl domino volt application i created
Masahiko Miyo
?
痴辞濒迟アプリをバージョンアップ!
痴辞濒迟アプリをバージョンアップ!
Masahiko Miyo
?
初心者向け狈辞迟别蝉/顿辞尘颈苍辞の开発テクニック
初心者向け狈辞迟别蝉/顿辞尘颈苍辞の开発テクニック
Masahiko Miyo
?
Domino Voltアプリケーションを作成してみたよ!
Domino Voltアプリケーションを作成してみたよ!
Masahiko Miyo
?
Nomad アプリも作成してみたよ!
Nomad アプリも作成してみたよ!
Masahiko Miyo
?
formBuilderにより フォームを簡単作成(オープンセミナー版)
formBuilderにより フォームを簡単作成(オープンセミナー版)
Masahiko Miyo
?
対称クラスタの设定と动作确认
対称クラスタの设定と动作确认
Masahiko Miyo
?
蹿辞谤尘叠耻颈濒诲别谤によりフォームを简単作成
蹿辞谤尘叠耻颈濒诲别谤によりフォームを简単作成
Masahiko Miyo
?
HCL Nomad用アプリケーション プレゼント企画
HCL Nomad用アプリケーション プレゼント企画
Masahiko Miyo
?
齿笔补驳别蝉で検索してみよう
齿笔补驳别蝉で検索してみよう
Masahiko Miyo
?
齿笔补驳别蝉で搁贰厂罢を使ってみたら、こんなんだった
齿笔补驳别蝉で搁贰厂罢を使ってみたら、こんなんだった
Masahiko Miyo
?
Ad

齿笔补驳别蝉で搁贰厂罢を使ってみよう

  • 2. ?2015 ef Co., Ltd. All rights Reserved. e f f e c t f o r c e 免責事項について ?本資料は、個人的な見解によるものです。情報の内容に ついては万全を期しておりますが、その内容を保証する ものではありません。 ?本資料の情報は、使?先の責任において使?されるべき ものであることを、あらかじめご了承ください。 ?執筆者の承諾なしに、コピー、複製、他のメディアに転 載する事はご遠慮ください。 ?当資料に記載された製品名または会社名はそれぞれの各 社の商標または登録商標です。 - 2 -
  • 3. ?2015 ef Co., Ltd. All rights Reserved. e f f e c t f o r c e まだまだ認知度が低いので… 御代 政彦(Miyo Masahiko) 2011年12月からIBM Champion for ICSをやってます Twitter:@guylocke Facebook:guylocke34 ブログ:http://guylocke.blogspot.jp - 3 - ef-info@effect-force.co.jp 自己紹介 のおつ 検索
  • 4. ?2015 ef Co., Ltd. All rights Reserved. e f f e c t f o r c e アジェンダ ? RESTとは? ? RESTサービス ? JSONについて ? Dominoアクセスサービス ? Dominoアクセスサービス ? Notes/Dominoの設定 ? サンプルURL ? XPagesへの応用 ? RESTコントロールを使った例 ? OnTime OpenAPIを使った例 ? まとめ ? 注意事項、参考情報 - 4 -
  • 5. ?2015 ef Co., Ltd. All rights Reserved. e f f e c t f o r c e RESTとは? ? RESTサービス ? 正式名称は、「REpresentational State Transfer」 ? 直訳すると、「具象的な状態の転送」(よく分からん…) ? パラメータを指定して特定のURLにHTTPでアクセスすると、 狭義の意味としては、XMLで記述されたメッセージが送られて くるインターフェースを指す。 ? HTTP ベースの軽量なWeb API を提供している ? データにはXML やJSON などの形式を利? ? HTTP のGET/POST/PUT/DELETE メソッドでCRUD 操作を 実現 ? CRUD…Create(作成)、 Read(読み込み)、 Update(更 新)、 Delete(削除)のこと - 5 -
  • 6. ?2015 ef Co., Ltd. All rights Reserved. e f f e c t f o r c e RESTとは? ? JSONについて ? 正式名称は、「JavaScript Object Notation」 ? JavaScriptにおけるオブジェクトの表記法をベースとした軽 量なデータ記述言語である。 ? JavaScript専?ではなく、様々なソフトウェア間でデータの受 け渡しができるように設計されている ? 書式はXMLに比べて、かなり簡略化されている。 ? オブジェクトは{}で囲む ? 配列は[]で囲む ? オブジェクトの要素は、:で区切る - 6 -
  • 7. ?2015 ef Co., Ltd. All rights Reserved. e f f e c t f o r c e RESTとは? ? JSONのデータサンプル { "name" : "Masahiko Miyo", "age" : 45, "male" : true, "emails" : ["m.miyo@effect-force.co.jp", "guylocke34@gmail.com"], "address" : { "street" : "3-13-16 Mita", "zipCode" : "108-0073", "city" : "Minato-Ku", "country" : "Japan", "country-knj" : "?u65e5?u672c" } } - 7 - 1. 項目名:値という形で記述する 2. 項目名は“”(ダブルクォーテーション)で囲うこと 3. 値は、文字列、数値、日付/時刻、論理値等を記述可能 4. 日本語はUnicodeでエンコードすること 5. 配列は、[]で囲うこと 6. 項目名の大文字小文字は区別されるので注意すること Unicodeで”日本”と書いてある 数値や論理値も扱える
  • 8. ?2015 ef Co., Ltd. All rights Reserved. e f f e c t f o r c e Dominoアクセスサービス ? Dominoアクセスサービス ? Domino 8.5.3 Upgrade Pack1から採?されたDominoの データにアクセスするためのREST API ? Domino上のNotesアプリケーションへHTTPプロトコルを利? してアクセスするためのサービス ? Notesアプリケーション、ビュー(フォルダ含む)、文書にア クセス可能 ? データの作成、読込、更新、削除(CRUD)をサポート ? データフォーマットに、JavaScript からの操作が効率的な JSONを採? - 8 -
  • 9. ?2015 ef Co., Ltd. All rights Reserved. e f f e c t f o r c e Dominoアクセスサービス ? Notes/Dominoの設定(1) ? Dominoディレクトリにあるサーバ文書の[インターネットプ ロトコル]-[Domino Web Engine]タブを開く。 ? 「Domino アクセスサービス」の「有効なサービス」にサー ビス名を設定する。 ? 2015年6月の時点で設定可能なのは「Data, TravelerAdmin, Calendar, Mail, FreeBusy」。 ? サーバ文書の保存後はサーバコンソールで tell http refresh と入力する。 ?「TravelerAdmin」はIBM Notes Travelerをイン ストールすると、自動で設定されます。 ?IBM Domino 9.0.1以降のみで有効 ?「Mail」及び「FreeBusy」サービスの利用は Extension Library 9.0.1が導入されている必要があ ります。 - 9 -
  • 10. ?2015 ef Co., Ltd. All rights Reserved. e f f e c t f o r c e Dominoアクセスサービス ? Notes/Dominoの設定(2) ? サービスを適?したいNotesアプリケーションの「データ ベースプロパティ」を開きます。 ? 一番右の[詳細]タブを開きます。 ? 「IBM Domino データサービス を許可」の値を「ビューと文書」 に変更します。 - 10 -
  • 11. ?2015 ef Co., Ltd. All rights Reserved. e f f e c t f o r c e Dominoアクセスサービス ? Notes/Dominoの設定(3) ? サービスを適?したいNotesアプリケーションの「ビュー」 (もしくはフォルダ)をDomino Designerで開きます。 ? ビュープロパティにある右から二番目の[詳細]タブを開きま す。 ? 「IBM Domino データサービスの操作を許可」にチェック をつけます。 ? ビューを保存します。 - 11 - ? 文書情報へとアクセスするのに「フォーム」に対して、Domino データサービスの設定は必要ない。 →設定する箇所がない
  • 12. ?2015 ef Co., Ltd. All rights Reserved. e f f e c t f o r c e Dominoアクセスサービス ? DominoでのJSONのデータサンプル - 12 - [ { "@title":"Administration Requests", "@filepath":"admin4.nsf", "@replicaid":"49257B45034CEF77", "@template":"StdR4AdminRequests", "@href":"?/admin4.nsf?/api?/data?/collections" }, { "@title":"?u30D1?u30B9?u30EF?u30FC?u30C9?u3042?u308A?u306A?u3057?u30C6?u30B9?u3 0C8", "@filepath":"abcdefg.nsf", "@replicaid":"492576AF0007568C", "@template":"", "@href":"?/abcdefg.nsf?/api?/data?/collections" } ]
  • 13. ?2015 ef Co., Ltd. All rights Reserved. e f f e c t f o r c e Dominoアクセスサービス ? サンプルURL ? Webブラウザで、下記のURLを入力してみよう ? IEの場合、ファイルを保存するかどうか聞かれるので保存する - 13 - 1. Notesアプリケーションの一覧とは、「タイトル」、「ファイル名」、「レプリカID」等を指す 2. ?page=nは複数ページにまたがる場合に利?可能(表示したいページ数を指定する) 3. RESTアクセスを許可していないビューのUNIDを指定すると、「HTTP403」エラーになる 4. カレンダーのRESTサービスはIBM Domino 9.0.1から利?可能 No. 内容 URL 1 DominoサーバーのNotesアプ リケーションの一覧 http:// Dominoのホスト名/api/data 2 ノーツDBのRESTサービス チェック http://Dominoホスト名/hoge.nsf/api/data/collections?page=n 3 ビューのチェック http:// Dominoのホスト名/hoge.nsf/api/data/collections/unid/ビューUNID 4 文書のチェック http:// Dominoのホスト名/hoge.nsf/api/data/documents/unid/文書UNID 5 指定したユーザのカレンダー のイベントの一覧 http://Dominoのホスト名/メールDB名/api/calendar/events 6 指定したカレンダー文書の内 容 http://Dominoのホスト名/メールDB名/api/calendar/events/文書UNID-Lotus_Notes_Generated
  • 14. ?2015 ef Co., Ltd. All rights Reserved. e f f e c t f o r c e XPagesへの応? ? RESTコントロールを使った例 ? XAgentとlivedoor天気情報を使?して、JSONデータを取得 する ? XAgentの内容については下記を参照 http://guylocke.blogspot.jp/2014/12/xagent.html ? RESTコントロールを設置することで、JSONデータを取得する 方法だけ記述すれば良くなる ? 設定方法は次ページ参照 - 14 -
  • 15. ?2015 ef Co., Ltd. All rights Reserved. e f f e c t f o r c e XPagesへの応? ? RESTコントロールの設定例 - 15 - № カテゴリ名称 項目名称 値 1 基本 id restService1(任意の値) 2 pathInfo restData(任意の値) 3 service xe:customRestService 4 contentType application/json 5 doGet *下図参照 doGetの記述サンプル
  • 16. ?2015 ef Co., Ltd. All rights Reserved. e f f e c t f o r c e XPagesへの応? ? JSONへのアクセス方法 - 16 - 下図は、お天気Webサービスにアクセスしたときのレスポンス(JSONで返ってくる) このページは、前述したRESTコントロールで取得するようにしてある
  • 17. ?2015 ef Co., Ltd. All rights Reserved. e f f e c t f o r c e XPagesへの応? ? サンプル画面 ? XAgentで取得した天気予報データを利?してXPagesに組み 込んだサンプル ? [天気情報検索]ボタンのプログラムは昨年紹介したCSJSを流?。 - 17 - 【検索プログラムの大まかな流れ】 1. エンドポイント(HTTPアクセスするURL)を設定 ? この時、固有なキーなども同時に設定する 2. XMLHttpRequestの定義 3. HTTPリクエストの内容設定 ? リクエストヘッダやメソッドの種類、リクエストのJSONなども設定 4. HTTP送信 5. コールバック関数の定義 ? HTTP通信の結果によって、実行するロジックを記述
  • 18. ?2015 ef Co., Ltd. All rights Reserved. e f f e c t f o r c e XPagesへの応? ? OnTime OpenAPIを使った例 ? OnTime Group CalendarにもREST APIが実装されている ? OnTime Group Calendar API Explorer を試すためのサイト ? (Username: demo / Password: demo) http://demo.ontimesuite.com/apiexplorer ? 自社でOnTimeを導入している場合は以下のURLでテスト可能 http://Dominoのホスト名/OnTimeクライアントDBのパス名 ? API Explorerを使うことで、RequestのURLやRequest?の JSONの書式がわかるようになっている - 18 -
  • 19. ?2015 ef Co., Ltd. All rights Reserved. e f f e c t f o r c e XPagesへの応? ? OnTime OpenAPIを使った例 ? OnTime Open APIをXPagesで利?したサンプルプログラム 1. OnTimeのログイン情報を持つTokenの取得 2. OnTimeのUserIDの取得 3. 指定した日付のスケジュール文書のUNIDの取得 4. 指定した文書UNIDのカレンダー情報の取得 5. 設定した内容をスケジュール文書に書き込む ? OnTime 経由(Sync機能)で、ノーツと即時連携可能! 1. OnTime Group Calendarに即時に反映される 2. OnTimeを通じて、ノーツのスケジュール文書に即時に反映さ れる ? XPagesならCSJSで記述可能! 1. 前述したお天気Webサービスと同様の記述で実行可能! - 19 -
  • 20. ?2015 ef Co., Ltd. All rights Reserved. e f f e c t f o r c e XPagesへの応? ? デモ(動作確認) ? OnTime OpenAPIのサンプルプログラムは、映像で見ま しょう? - 20 -
  • 21. ?2015 ef Co., Ltd. All rights Reserved. e f f e c t f o r c e まとめ ? Notes/DominoでRESTを利用する ? Notesアプリケーションのデータを他のWebシステムで動的 に再利?することが可能 ? 従来は、CSVやExcel等の静的な受け渡しのみだった ? 他のWebシステムのデータをXPages経由で、Dominoで利 ?することが可能 ? JavaScriptを利?出来るようになったので敷居が少し低くなっ た ? RESTコントロールを使うことで、JSONの取得が簡単に! ? データ取得の記述のみで良い! ? OnTime OpenAPIは利用方法が簡単! ? API Explorerを利?することで、JSONの取得方法が簡単にわ かる! - 21 -
  • 22. ?2015 ef Co., Ltd. All rights Reserved. e f f e c t f o r c e まとめ ? RESTを利用する際の注意事項 ? 同一オリジンのサイト(プロトコル、ドメイン、ポート番号 が同じである)でないと、リソースへのアクセスができない ? Cross-Origin Resource Sharing(CORS)の有効化が必要 ? JSONP(JSON with padding)を利?することでも回避可能 ? XAgentを使ってサーバー経由で取得してもよい ? 外部のWebサービスの場合、仕様の確認が大事 ? ぐるなびAPIやOnTime OpenAPIでは、アプリケーション?の キーが必要になるので、別途取得する必要がある。 ? APIの仕様が変わることにより、データの取得方法が変わる場 合がある。 - 22 -
  • 23. ?2015 ef Co., Ltd. All rights Reserved. e f f e c t f o r c e まとめ ? DAS/REST関連のWebサイト ? IBM Domino Access Services 9.0.1 ? IBM Notes and Domino Application Development wiki内のサイト(英語) http://ibm.co/1wGMxzh ? デモで利用したツール/サービス ? REST Client ? Firefoxのアドオン。Response Headersの詳細も確認できる。日本語はUnicode をデコード表示してくれるので分かり易い。 http://restclient.net/ ? JSON Viewer ? Firefoxのアドオン。JSONドキュメントをブラウザー内で階層化表示してくれる。 ダブルバイトもデコードしてくれるので、とても見やすい。 http://jsonview.com/ ? Weather Hacks(お天気Webサービス ) ? Livedoorのお天気Webサービス。全国142カ所の今日?明日?あさっての天気予 報?予想気温と都道府県の天気概況情報を提供している。 http://weather.livedoor.com/weather_hacks/webservice ? OnTime Group Calendar API Explorer ? OnTime Group Calendar内にあるOnTime OpenAPIをエミュレートするための ツール。 http://demo.ontimesuite.com/apiexplorer - 23 -
  • 24. ?2015 ef Co., Ltd. All rights Reserved. e f f e c t f o r c e - 24 - ご清聴ありがとうございました REST APIを覚えて使ってね?