当ブログに掲載しているサンプルは、すべて利用者の自己責任という形でお願いします。
ただし、明らかな不具合がある場合、ご連絡いただければ、訂正記事を出します。
また、こちらのサンプルは、別のサイト等への公開、転載は一切禁止しています。
どうしてもと言う場合は、筆者にあらかじめご連絡ください。

テクてく Lotus 技術者 Slack に参加しよう!

2017年1月25日水曜日

IBM Watson Work ServicesでGraphQLを使ってみよう

皆さん、こんにちは。
いよいよ来月は、IBM Connect 2017が開催されます。気が付いたら1か月切ってたんですね。
準備を始めないと!


さて、今回もIBM Watson Workspaceについてのお話です。
第2回目の今日は、IBM Watson Work Servicesについてです。


前回も書いたように、まだ(2017年1月25日現在)、Preview版となっています。
その関係なのか、IBM Watson Workspaceを利用できるユーザであれば、だれでもIBM Watson Work Servicesを利用することができるようになっています。

そして、それを利用するためのドキュメントも用意されています。


IBM Watson Work Servicesを使うと何ができるのか?は、
ヘルプによると、
With Watson Work Services, you get a platform that delivers cognitive services that understand conversations and context.
These services are built to be consumed in other business tools such as social networks, voice and video, email, and more.


IBM Watson Work Servicesを使用すると、会話やそのコンテキストを理解するコグニティブサービスを提供してもらえます。

これらのサービスは、ソーシャルネットワーク、音声、ビデオ、e-mailなど、他のビジネスツールで利用できるように構築されています。
IBM Watson Work Services ドキュメントより抜粋(和訳は筆者)


では、そのIBM Watson Work Servicesとは?
ヘルプによると、
A set of cognitive collaboration services that you can use to inject new transformative capabilities into existing business applications or to create new apps that you build on top of the platform, accelerating your development time while adding a powerful cognitive differentiation from competitors.

既存のビジネスアプリに新たな変換機能を組み込んだり、
競合他社との間に、強力なコグニティブな差別化を追加しながら、
プラットフォーム上の新しいアプリの開発時間を短縮したりできる
コグニティブコラボレーションサービスのセットです。
IBM Watson Work Services ドキュメントより抜粋(和訳は筆者)

とあります。すみません、こっちの訳はホントに適当です(Google翻訳の結果を見ても意味が分からなかった…)。


この辺りは、あまり拘らずにドキュメントを見ていただいた方がいいでしょう(汗)

ちなみに、
IBM Watson Work Services Tour
のビデオで、IBM Watson Work Servicesのドキュメントをもとに説明が行われていますので、これから勉強したい。という方は必ず見ておきましょう(4分29秒と短いです)。



そして、ビデオを見てから、一通り、ヘルプを読んだら(理解できなくても、目を通すことをお勧めします!)、
こちらのリンク先にあるスライドを読みましょう。
Introduction to IBM Watson Work Services Development

IBM Watson Work Servicesの開発についての基礎情報が書かれています。
開発環境の準備(Eclipseを使うといいよ。と書いてあります)についてや、IBM Bluemix上で動かすためのサンプルコードについても載っていたりします。



上のビデオの中やスライドの中でもIBM Watson Work Servicesのプラットフォームについて述べていますが、図が出ています。
IBM Watson Work Services Platform

前回の記事でも少し述べましたが、上の図にあるように、APIは「REST API」「Webhook API」「GraphQL API」の3種類が用意されています。


これらのうち、GraphQLについては、デモツールが用意されています。

自分(IBM Watson Work Servicesにログインしているユーザ)の情報を取得するというコードを実行したのが下図です。
GraphQLの実行結果
リクエストパラメータを作成して、実行すると、結果がJSON形式のデータで返ってきます。
それだとREST APIと同じじゃないか!?と思われるかもしれません。

はい。その通りです。
GraphQLはREST APIの悪いところや苦手なところを改修するために作成されたもののようで、
使い方はあまり変わりません(細かく言えば違うのですが、ここでは触れません)。

大きな違いとしてはREST APIの場合、返ってくる結果の項目は、REST APIで用意している全項目とその値ですが、
GraphQLの場合、リクエストパラメータで指定した項目だけが返ってきます。
GraphQLの実行サンプルをもう一つ見てください。
GraphQLの実行結果2

さきほど実行したものとほぼ同じですが、リクエストパラメータに「created」「updated」「photoUrl」を追加しています。
そのため、実行結果にもその3つの項目と値が返ってきています。

このGraphQLを使うと、IBM Watson Workspace上に新しいスペースを作ったり、スペースにメッセージを投稿したり、会話の情報を取得したりすることもできます。



IBM Watson Workspaceでチャットを楽しんで機能を理解した後に、このGraphQLのツール(GraphiQLと呼ぶようです)を使って、IBM Watson Work Servicesの機能を理解してみるとわかりやすいでしょう。

どのようなコードがかけるかは、IBM Watson Work Servicesのドキュメントにサンプルとともに書いてありますので、それらを実行して試してみるとよく理解できますよ。



次回ですが、GraphQLをツールではなく、プログラムで実行する方法について探ってみたいと思います(でっきるかなぁ???)



それでは今日はこの辺で・・・





Notes/Dominoで困ったことがあれば、弊社にお問い合わせください。
IBM Championの私が承ります!
お問い合わせはこちらから→Lotus Notes/Domino カスタマイズとセキュリティ強化 - 株式会社エフ

0 件のコメント: