Configuring Data Services

Platform 4.5+ が必要

データ サービスの構成

データ サービスは、主として nexaweb-data.xml ファイルで構成します。

また、nexaweb-sql.xmlファイルで statementHandlerDefinitions を定義することによって、SQL データ サービスを構成することもできます。

nexaweb-data.xml ファイルの構成


nexaweb-data.xmlファイルには次のセクションが含まれています。
 
コンフィギュレーション セクション
説明
requestProcessorDefinitions
すべてのサービス リクエストでグローバルに使用できる、データ サービス タイプごとに使用できる、あるいは dataRequestDefinitions で使用できるプリプロセッサおよびポストプロセッサを定義します。
globalProcessors
任意のデータ サービス タイプの全サービス リクエストにデータ サービスが適用される、プリプロセッサおよびポストプロセッサを示します。
dataServiceDefinitions
データ サービス プラグインを通じて使用可能なデータ サービス タイプを定義します。また、そのデータ サービス タイプを使用して、サービス リクエストごとにデータ サービス タイプのプリプロセッサおよびポストプロセッサを指定します。
dataRequestDefinitions
外部SQL または Web サービスタイプのデータサービスからデータを取得するための情報をサーバー上で定義します。

requestProcessorDefinitions

プロセッサは、データ リクエストまたはデータ結果を適切な構造にフォーマット設定します。

requestProcessorDefinitionsセクションで、グローバルプロセッサまたはデータサービスタイププロセッサとして、あるいは dataRequestDefinitions で割り当て可能なプリプロセッサおよびポストプロセッサを定義します。

requestProcessorDefinitionsセクションには次の要素が含まれています。
 
要素
説明
preProcessorDefinitions
プリプロセッサの定義を示します。
postProcessorDefinitions
ポストプロセッサの定義を示します。

processorDefinitionタグを使用して、preProcessorDefinition要素または postProcessorDefinition要素でプロセッサを定義します。

次の表に、processorDefinitionタグの属性についての説明を示します。
 
属性
説明
Class
プロセッサの実装クラスを指定します。
ID
プロセッサをグローバル プロセッサまたはデータ サービス タイプ固有のプロセッサとして、あるいは dataRequestDefinition で使用しているときに参照するために、プロセッサを一意に識別するための ID を指定します。

プロセッサでは次の実装クラスが使用されます。
 
プロセッサ タイプ
実装クラス
説明
プリプロセッサ
DataRequestPreProcessor
データ リクエスト情報を変更するためのインターフェイス。データ サービスは、関連付けられているデータ サービスへのデータ サービス リクエストを行う前にプリプロセッサを呼び出します。
ポストプロセッサ
DataRequestPostProcessor
クライアントに送信する途中に生データを変更するためのインターフェイス。データ サービスは、データ サービス結果をリクエスト元のクライアントに戻す前にポストプロセッサを呼び出します。

例:

 

<requestProcessorDefinitions>
  <preProcessorDefinitions>
    <processorDefinition id="a" class="DataRequestPreProcessor"/> 
    <processorDefinition id="b" class="DataRequestPreProcessor"/> 
  </preProcessorDefinitions>
  <postProcessorDefinitions>
    <processorDefinition id="1" class="DataRequestPostProcessor"/> 
    <processorDefinition id="2" class="DataRequestPostProcessor"/> 
  </postProcessorDefinitions>
</requestProcessorDefinitions>

 


さらに、nexaweb-sql.xmlファイルと nexaweb-webservices.xml ファイルで statementHandlerDefinitionsを指定すると、これらのファイルで定義されている SQL 文、REST リクエスト、または SOAP リクエストのデータをフォーマット設定することができます。

globalProcessors


このセクションでは、全データ サービスタイプによってアクセスされる全データを適切な構造にフォーマット設定するために必要なプリプロセッサとポストプロセッサを示します。

globalProcessorsセクションには次の要素が含まれています。
 
要素
説明
preProcessors
グローバル プロセッサとして使用されるプリプロセッサを参照します。
postProcessors
グローバル プロセッサとして使用されるポストプロセッサを参照します。

processorタグを使用して、requestProcessorDefinitions 要素でグローバルに使用するプリプロセッサまたはポストプロセッサとして定義されているプロセッサの ID を指定します。

例:

 

<globalProcessors>
  <preProcessors>
    <processor="a"> </processor>
  </preProcessor>
  <postProcessors>
    <processor="1"> </processors>
  </postProcessors>
</globalProcessors>

 

dataServiceDefinitions


nexaweb-data.xmlファイルの dataServiceDefinitions セクションには、外部データソースにアクセスするために使用可能なデータサービスタイプごとに 1 つのエントリが含まれています。

現在、Nexaweb では次のデータサービスタイプをサポートしています。
 
データ サービス タイプ
説明
SQL
Nexaweb アプリケーションが JDBC (Java Database Connectivity) を通じて外部データベースからデータを取得および更新する方法を提供します。
Web サービス
Nexaweb アプリケーションが REST SOAP を使用して Web サービスからデータを取得および更新する方法を提供します。

また、データ サービス タイプごとにプリプロセッサとポストプロセッサを指定して、そのデータサービス タイプを使用するすべての serviceRequestのデータをフォーマット設定できます。

dataServiceDefinitionsセクションには次の要素が含まれています。
 
要素
説明
processors
このデータ サービス タイプを使用する全リクエストの全プロセッサを示します。
preProcessors
このデータ サービス タイプを使用する全リクエストに使用されるプリプロセッサを参照します。
postProcessors
このデータ サービス タイプを使用する全リクエストに使用されるポストプロセッサを参照します。

processor タグを使用して、requestProcessorDefinitionsセクションSQL またはWeb サービスタイプのデータサービスを使用する全 serviceRequest プリプロセッサまたはポストプロセッサとして定義されているプロセッサの ID を指定します。

例:

 

<dataServiceDefinitions>
  <dataService id="sql" class="com.nexaweb.server.data.services.sqlDataService">
    <processors>
      <preProcessors>
        <processor="b"> </processor>
      </preProcessor>
      <postProcessors>
        <processor="2"> </processors>
      </postProcessors>
    </processors>
 </dataService>
</dataServiceDefinitions>

 

dataRequestDefinitions

要素
説明
必須
ID
この dataRequestDefinition を、serviceRequest での参照用に一意に識別するための ID を指定します。
必須
serviceResourceDefinition
関連付けられているデータ サービスを使用して実行する SQL 文、REST リクエスト、または SOAP リクエストを指定します。
dataRequestDefinition serviceResourceDefinition または serviceResourceReferenceを指定する必要があります。
serviceResourceReference
 
nexaweb-sql.xmlまたは nexaweb-webservices.xml ファイルで定義済みの、実行する SQL 文、REST リクエスト、または SOAP リクエストの ID を指定します。
dataRequestDefinition serviceResourceDefinitionまたはserviceResourceReferenceを指定する必要があります。
parameterMap
この接続の名前付きパラメータ マップを指定します。
省略可能
processors
この定義のデータのフォーマット設定に必要なプリプロセッサまたはポストプロセッサの ID を指定します。
省略可能
要素
説明
processors
この dataRequestDefinitionのすべてのプロセッサを示します。
preProcessors
この dataRequestDefinition 使用されるプリプロセッサを参照します。
postProcessors
この dataRequestDefinition 使用されるポストプロセッサを参照します。

serviceRequestgetDepartmentRequestで、dataRequestIDとしてdataRequestDefinitiongetDepartmentsを参照します。パラメータ deptId を指定し、このパラメータが受け取ったユーザー指定の値を getDepartments dataRequestDefinition で定義された deptID パラメータマッピングに渡します。