Yellowfin Webサービスのインターフェイスは、Webサービスで広く利用されているプロトコルであるSOAPを使用しています。Yellowfinでは、SOAP Webサービスへ接続するために、Java WebサービスAPIを提供していますが、実際には.NETやRuby、Pythonなど、他のプログラミング言語や環境からも接続することが可能です。
Webサービスを使用するためには、ユーザーロールで対応する機能を有効化しなくてはいけません。
Webサービス呼び出しの実行には、Webサービス管理ユーザーのログイン情報(ユーザー名とパスワード)が必要です。
APIは、Yellowfin Tomcatのもと、JSPを使用することで内部的に呼び出すことができます。サンプルコードは、「yellowfin/development/examples/webservices」フォルダーに格納されています。JSPファイルを「Yellowfin/appserver/webapps/ROOT」フォルダーへコピーし、環境に合わせてJSPファイルのホスト、ポート番号、ユーザー詳細情報を調整します。これを他の言語や環境で複製する前に、まずはこちらの方法を使用して必要なことが実現できるようにすることをお勧めします。
外部的にWebサービスを呼び出すためには、以下が必要です。
完全なオブジェクト定義は、「Yellowfin/development/doc/webservices/Javadoc/index.html」を参照してください。
Java APIの呼び出し方法には、以下の2つがあります。
あらかじめ作成されたJava関数の使用。これは関数により制限されますが、SSOの実行、レポートのレンダリング、フィルターの適用など、基本的な機能すべてに対応しています。
こちら方法に関するサンプルコードは「development/examples/webservices」フォルダーに格納されています。ファイル名に「api」と記載されているjspファイルを参照してください。まずは、「mobile」と記載されているファイルを、「ROOT」フォルダーにコピーして始めることをお勧めします。 |
管理サービスやレポートサービスにあるサンプルコードのすべては、JavaでのSOAP呼び出しを使用して説明しています。
管理サービスの初期化: AdministrationServiceService s_adm = new AdministrationServiceServiceLocator(<host>,<port>, <ServicePath>, <ssl>) ; AdministrationServiceSoapBindingStub rssbs_admin = (AdministrationServiceSoapBindingStub) s_adm.getAdminService();
レポートサービスの初期化: ReportServiceService s_rpt = new ReportServiceServiceLocator(<host>, <port>, <ServicePath>, <ssl>); ReportServiceSoapBindingStub rssbs_report = (ReportServiceSoapBindingStub) s_rpt.getReportService();
場所
プライマリーオブジェクトには、以下が含まれています。
|
Webサービスには、以下の2つのグループがあります。
機能スタブは、Yellowfinが提供するWebサービスと直接通信をするネイティブプログラミング言語で標準の関数を呼び出すことができます。機能スタブを生成するプロセスでは、Webサービスに必要な任意のオブジェクトも生成しなくてはいけません。
.NETの場合は、JAX Webサービスからスタブを生成することをお勧めします。JAX Webサービスは、「http://<yellowfin-host>/webservices/Hello」で接続することができます。以下に、一例を示します。 クライアントを一覧化されたWSDL URLへ接続します。
|
PHPでは、Axis生成WADL(http://<yellowfin-server>:<port>/services)を使用することができます。PHPを使用したSSOの実行は、こちらの例を参照してください。 |