SOA とデータサービス

Platform 4.5 以上が必要

データサービス - SOA (サービス指向アーキテクチャ) の概要

Nexaweb Platform 4.5 では、アプリケーションが企業データにアクセスするための新しいサービスが 2 つ導入されました。これにより、Nexaweb Platform では、既存のデータフレームワークプラグインに加え、Web サービスと、JDBC (Java Database Connectivity) に基づく SQL データソースを使用して、開発されたアプリケーションが Nexaweb サーバーを通じて企業データにアクセスするための完全なオプションが提供されるようになりました。

次の表では、これらすべてのデータサービスについて説明します。
 
データサービス
説明
データフレームワーク プラグイン
クライアント UI ファイルにタグを入力するか、MCO やマクロを使用してプログラムで宣言することにより、サーバーや URL からドキュメントおよびオブジェクト データソースへのアクセスを提供します。
SQL
サーバーサイドでの SQL ソースを設定します。クライアント UI ファイルにタグを入力するか、MCO やマクロを使用してプログラムで宣言することにより、SQL ソースからアプリケーションにデータを提供できます。
Web サービス
REST (Representational State Transfer) と SOAP (Simple Object Access Protocol) を使用して、サーバーサイドでの Web サービス リクエストを設定します。クライアント UI ファイルにタグを入力するか、MCO やマクロを使用してプログラムで宣言することにより、Web サービス ソースからアプリケーションにデータを提供できます。

データサービスの使用

データサー ビスフレームワークを使用すると、アプリケーションにサービスリクエストを定義して、Web サービスおよびSQL タイプデータサービスで使用可能な企業データを操作することができます。データリクエストを定義するだけでなく、データリクエストに使用されるプロセッサ の複数のレベルを定義することもできます。

サービスリクエスト

データサービスフレームワークでは、次のコンフィギュレーションファイルが使用されます。
 
コンフィギュレーションファイル
説明
nexaweb-data.xml
定義の内容:
  • データ サービス タイプ
  • データ サービス タイプのプロセッサ
  • すべてのデータ サービス リクエストに使用されるプロセッサ
  • データ リクエストの定義
nexaweb-sql.xml
定義の内容:
  • データベースへの SQL 接続
  • SQL 文のプロセッサ
  • SQL 文
nexaweb-webservices.xml
定義の内容:
  • Web サービス リクエストのプロセッサ
  • REST (Representational State Transfer) リクエスト
  • SOAP (Simple Object Access Protocol) リクエスト

次の場所で定義されるサービスリクエストのリソースを、組み合わせて作成することができます。
 
データリクエストの場所
使用目的
nexaweb-data.xml
  • サービス リクエストで使用する、サーバーサイドの dataRequestDefinitions を定義する
  • サービス リクエストで変数を使用する
nexaweb-sql.xml
  • dataRequestDefinitions で参照する、サーバーサイドの SQL 文を定義する
nexaweb-webservices.xml
  • dataRequestDefinitions で参照する、サーバーサイドの REST または SOAP リクエストを定義する
クライアント UI ファイル
  • 変数を使用しない、インラインの (埋め込みの) SQL または Web サービス (REST および SOAP) のサービス リクエストを定義する
  • ショートカット シンタックスを使用してインラインの SQL 文を定義する
  • サーバーで定義された dataRequestDefinitions を参照する

このように、使用するリソースに応じてさまざまな方法で企業データにアクセスすることができます。

サービスリクエストの主なコンポーネントには次のものがあります。
  • SQL 文、または REST または SOAP リクエスト
  • サービス リクエストのイベント ハンドラ
  • リクエストのいずれかの側でデータの書式設定を行うプロセッサ
また、serviceRequestdataRequestDefinitionを使用する場合は、その serviceRequestの引数を指定できます。

プロセッサ


データ サービスフレームワークを使用すると、サービスリクエストによって送信されたデータまたはサービスリクエストの結果としてのデータを、一般的なデータサー ビスのコンフィギュレーションファイルおよびデータサービスタイプのコンフィギュレーションファイルで、適切な構造に書式設定するようにプロセッサで指定 できます。その後でプロセッサの複数層を指定して、さまざまな組み合わせでサービスリクエストに適用することができます。

nexaweb-data.xmlファイルの requestprocessorDefinitions セクションで、プロセッサをプリプロセッサまたはポストプロセッサとして定義します。次に、プロセッサを次のように指定します。 
 
プロセッサ
適用先
場所
globalProcessors
デフォルトで、すべてのサービスリクエストに使用されるプリプロセッサとポストプロセッサを、SQL および Web サービスタイプデータサービスに指定します。
nexaweb-data.xml
dataServiceDefinitions
プリプロセッサとポストプロセッサを、特定のデータ サービス タイプ、SQL、または Web サービスに指定します。
nexaweb-data.xml
dataRequestDefinition
プリプロセッサとポストプロセッサを、nexaweb-data.xml ファイルで定義されているサービス リクエストごとに指定します。
nexaweb-data.xml
statementHandlerDefinitions
プリプロセッサとポストプロセッサを、nexaweb-sql.xml ファイルで定義されている SQL 文ごとに指定します。
nexaweb-sql.xml

データサービスは、次の順序でプロセッサを実行します。
  • グローバルに定義されたプロセッサ
  • データ サービス特有のプロセッサ
  • リクエスト特有のプロセッサ

データサービスのセットアップ

データサービスを使用するには、次の作業を行う必要があります。
  • nexaweb-data.xmlコンフィギュレーション ファイルの requestProcessorDefinitions セクションでプロセッサを定義します。詳細については、「データ サービスとハンドラの設定」を参照してください。
  • また、nexaweb-data.xml コンフィギュレーション ファイルの dataServiceDefinition セクションで、データ サービス タイプにプロセッサを指定します。詳細については、「データ サービスとハンドラの設定」を参照してください。
  • また、サーバーサイドの serviceRequest コンポーネントを次のように定義します。
  • データ サービス プラグインをクライアント アプリケーションに追加します。
  • serviceRequests または embeddedServiceRequests をクライアント UI ファイルに追加します。詳細については、「サービス リクエストの作成」を参照してください。