30日間の無料評価版をお試しいただけます。

概要

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」と記載されているファイルを、「ROOT」フォルダーにコピーして始めることをお勧めします。

  • Yellowfin WSDLからJavaで生成されたスタブを使用して直接SOAPを呼び出し実行。詳細な情報は、以下の項目を展開してください。

 

管理サービスレポートサービスにあるサンプルコードのすべては、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();

 

場所

パラメーター説明
hostStringYellowfinサーバー
portIntegerYellowfinサーバーへアクセスするためのhttpポート番号
ServicePathString

サービスへのパス

管理サービスパス:/services/AdministartionService

レポートサービスパス:/services/ReportService

sslBooleanSSLが有効化されている場合:true

 

プライマリーオブジェクトには、以下が含まれています。

  • AdministrationServiceRequest:Webサービスに対して実行される呼び出しの型を定義するオブジェクト
  • AdministrationServiceResponse:Webサービスにより返されるオブジェクト

 

Webサービスには、以下の2つのグループがあります。

  • 管理サービスは、ユーザーとクライアント組織を管理し、シングルサインオンを実行します。これは、任意のYellowfinライセンスで使用することができます。
  • レポートサービスは、レポートやダッシュボード定義を読み込み、インターフェイスにレポートを渡します。これには、サーバーライセンスが必要です。

Java以外の言語

Yellowfin Webサービスを開発する場合、WSDL定義に対して機能的なスタブを生成することができます。これらの定義は、「http://<yellowfin-server>:<port>/services」を参照してください。例:http://localhost:8080/services

機能スタブは、Yellowfinが提供するWebサービスと直接通信をするネイティブプログラミング言語で標準の関数を呼び出すことができます。機能スタブを生成するプロセスでは、Webサービスに必要な任意のオブジェクトも生成しなくてはいけません。

 

.NETの場合は、JAX Webサービスからスタブを生成することをお勧めします。JAX Webサービスは、「http://<yellowfin-host>/webservices/Hello」で接続することができます。以下に、一例を示します。

クライアントを一覧化されたWSDL URLへ接続します。

 

Javaと.NET間のデータ型に互換性がない場合もあります。例えば、Integer型はNullではなく0として送信されます。手動でReference.csファイルを変更し、データ型を更新しなくてはいけない可能性があります。

PHPでは、Axis生成WADL(http://<yellowfin-server>:<port>/services)を使用することができます。PHPを使用したSSOの実行は、こちらのを参照してください。

 

より詳細な情報は、管理サービス、またはレポートサービスを参照してください。