概要
Webサービスは、OEMアプリケーションとYellowfinとの間の通信を管理するために使用されます。Webサービスは、XMLベースであり、OEMアプリケーションを開発するために使用されるプログラミング言語には依存しません。Yellowfin Webサービスのインターフェイスは、Webサービスで広く利用されているプロトコルであるSOAPを使用しています。Yellowfinでは、SOAP Webサービスへ接続するために、Java WebサービスAPIを提供していますが、実際には.NETやRuby、Pythonなど、他のプログラミング言語や環境からも接続することが可能です。
Webサービス使用権の有効化
Webサービスを使用するためには、ユーザーロールで対応する機能を有効化しなくてはいけません。
Webサービスコールの実行には、Webサービス管理ユーザーのログイン情報(ユーザー名とパスワード)が必要です。
Java API
Yellowfin WebサービスAPIには、あらかじめ生成されたスタブが含まれます。これは、Java、またはJava統合をサポートする他の言語(Cold FusionやLotus Scriptなど)で開発されたアプリケーションで、直接使用することができます。大部分のWebサービスが、標準のJava関数によってまとめられているため、各リクエストを手動で生成する必要がなくなることから、統合が若干容易になります。
APIは、Yellowfin Tomcatのもと、JSPを使用することで内部的に呼び出すことができます。サンプルコードは、「yellowfin/development/examples/webservices」フォルダーに格納されています。JSPファイルを「Yellowfin/appserver/webapps/ROOT」フォルダーへコピーし、環境に合わせてJSPファイルのホスト、ポート番号、ユーザー詳細情報を調整します。これを他の言語や環境で複製する前に、こちらの方法を使用して必要なことが実現できるようにすることをお勧めします。
外部的にWebサービスを呼び出すためには、以下が必要です。
- 「development/lib」フォルダー内にある「yfws-<日付>.jar」注意:Yellowfinをアップグレードしたら、最新の「yfws-xxx.jar」を忘れずに取得してください(対応するファイルは、Yellowfinのウェブサイトからダウンロードすることができます)
- Apache Axis:http://axis.apache.org/axis/ja/
完全なオブジェクト定義は、「Yellowfin/development/doc/webservices/Javadoc/index.html」を参照してください。
Java APIの呼び出し方法は、以下の2つがあります。
あらかじめ作成されたJava関数の使用。これは関数により制限されますが、SSOの実行、レポートのレンダリング、フィルターの適用など、基本的な機能すべてに対応しています。
こちら方法に関するサンプルコードは「development/examples/webservices」フォルダーに格納されています。ファイル名に「api」と記載されているjspファイルを参照してください。まずは、「mobile」と記載されているファイルを、「Yellowfin ROOT」フォルダーにコピーして始めることをお勧めします。
- Yellowfin WSDLからJavaで生成されたスタブを使用して直接SOAPを呼び出して実行。詳細な情報は、以下の項目を展開してください。
Webサービスには、以下の2つのグループがあります。
- 管理サービスは、ユーザーとクライアント組織を管理し、シングルサインオンを実行します。これは、任意のYellowfinライセンスで使用することができます。
- レポートサービスは、レポートやダッシュボードの定義を読み込み、インターフェイスにレポートを渡します。これには、サーバーライセンスが必要です。
Java以外の言語
Yellowfin Webサービスを開発する場合、WSDL定義に対して機能的なスタブを生成することができます。これらの定義は、「http://<yellowfin-server>:<port>/services」を参照してください。例:http://localhost:8080/services機能スタブは、Yellowfinが提供するWebサービスと直接通信をするネイティブプログラミング言語で標準の関数を呼び出すことができます。機能スタブを生成するプロセスでは、Webサービスに必要な任意のオブジェクトも生成しなくてはいけません。