Oracle Service Registryでは、分類または識別子システムに対する検証サービスを定義して使用するいくつかの方法が提供されています。 Oracle Service Registryでの分類の詳細は、「ユーザーズ・ガイド」の「分類: 原則、作成および検証」を参照してください。この項では、次のデプロイ可能なカスタム検証サービスに焦点を当てて説明します。
Oracle Service Registry上でローカルにデプロイ可能なカスタム検証サービス: ローカル検証サービス。
Systinet Server for JavaなどのSOAPサーバーにリモートでデプロイ可能なカスタム検証サービス: 外部検証サービス。
検証サービスでは、3つの異なるJavaインタフェース(主なUDDIデータ構造ごとに1つずつ)があります。これらのインタフェースは、UDDI仕様で定義されている検証サービスのWSDL portTypeに対応しています。
UDDI v3検証サービスでは、org.systinet.uddi.client.valueset.validation.v3.UDDI_ValueSetValidation_PortTypeを実装する必要があります。
UDDI v2検証サービスでは、org.systinet.uddi.client.vv.v2.ValidateValuesを実装する必要があります。
UDDI v1検証サービスでは、org.systinet.uddi.client.vv.v1.ValidateValuesを実装する必要があります。
これらのインタフェースは類似しているため、ここではv3検証のみについて説明します。ご使用の検証サービスでは、インタフェースUDDI_ValueSetValidation_PortTypeを実装する必要があります。このインタフェースには、Validate_valuesという1つのパラメータのみが含まれているvalidate_valuesメソッドのみがあります。このパラメータは、実パラメータのラッパーです。オプションのauthInfoおよびUDDI基本データ構造(businessEntities、businessServices、bindingTemplates、tModelsおよびpublisherAssertions)が検証されます。validate_valuesメソッドは、DispositionReportを戻します。検証が正常に行われると、DispositionReportには、UDDIErrorCodes.E_SUCCESSと同じerrNoを持つResultが1つのみ含まれます。
検証サービスが実装されると、Oracle Service Registryでローカルに検証サービスを実装できます。 Oracle Service Registryに検証サービスをデプロイするには、次の手順を実行します。
REGISTRY_HOME/app/uddi/services/WASP-INFにclassesサブディレクトリを作成し、(パッケージに対応するサブディレクトリを基準にして)このサブディレクトリにクラス・ファイルをコピーします。
Oracle Service Registryを停止し、REGISTRY/workディレクトリを削除して、Oracle Service Registryを再起動します。
詳細は、「デモ」の「Validation(検証)」を参照してください。検証サービスの構成の詳細は、「管理者ガイド」の「分類の管理」を参照してください。
外部検証サービスをデプロイするには、デプロイメント・パッケージを作成する必要があります。
この項では、Systinet Server for Javaにデプロイされる外部検証サービスの実装およびパッケージ化の方法について説明します。「Validation(検証)」で説明されているValidationのデモを使用して、ISBN検証サービスのパッケージ化およびデプロイの方法について説明します。Validationのデモをすでにビルド済であることが前提となります。
![]() | 注意 |
---|---|
Oracle Service RegistryがREGISTRY_HOMEフォルダにインストールされており、http://localhost:8888/registry/で実行されていること、およびSystinet Server for JavaがWASP_HOMEフォルダにインストールされており、http://localhost:6060/で実行されていることも前提となっています。 |
Systinet Server for Javaに対する検証サービスをパッケージ化およびデプロイするには、次の手順を実行します。
デプロイメント・パッケージを作成します。
次の構造を使用して、jarファイルExampleValidation.jarを作成します。
ISBNValidation.classをREGISTRY_HOME/demos/advanced/validation/build/classesからパッケージにコピーします。
wsdlファイルおよびxsdファイルをREGISTRY_HOME/doc/wsdlからパッケージにコピーします。
例12に示すように、package.xmlファイルをパッケージにコピーします。
必要なOracle Service Registryクライアント・パッケージとともに、検証パッケージをSystinet Server for Javaにデプロイします。
copy %REGISTRY_HOME%¥dist¥uddiclient_api_v3.jar %WASP_HOME%¥app¥system¥uddi
copy %REGISTRY_HOME%¥dist¥uddiclient_value_set_validation_v3.jar %WASP_HOME%¥app¥system¥uddi
copy ExampleValidation.jar %WASP_HOME%¥app¥system¥uddi
Systinet Server for Javaを停止し、WASP_HOME/workディレクトリを削除して、Systinet Server for Javaを再起動します。
この時点で、checked分類をREGISTRY/demos/advanced/validation/dataからアップロードすることができます。詳細は、「ユーザーズ・ガイド」の「分類のアップロード」を参照してください。
図10に示すように、検証サービス・エンドポイントを変更します。
「Validation(検証)」で説明されているValidationのデモを使用すると、検証サービスを実行およびテストできます。
例12 package.xml
<?xml version="1.0" encoding="UTF-8"?> <package xmlns="http://systinet.com/wasp/package/1.2" xsi:schemaLocation= "http://systinet.com/wasp/package/1.2 http://systinet.com/wasp/package/1.2" targetNamespace="http://my.org" version="1.0" name="ISBNValidation" client-package="false" library="false" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tns="http://my.org" xmlns:UDDIClient-value-set-validation-v3= "http://systinet.com/uddi/client/value-set-validation/v3/5.0"> <dependency ref="UDDIClient-value-set-validation-v3:UDDIClient-value-set-validation-v3" version="5.0"/> <service-endpoint name="ISBNValidation" path="/ISBNValidation" service-instance="tns:ISBNValidationInstance" processing="UDDIClient-value-set-validation-v3:UDDIClientProcessing"> <wsdl uri="uddi_vs_v3.wsdl" xmlns:wsdl="urn:uddi-org:vs_v3_binding" service="wsdl:UDDI_ValueSetValidation_SoapService"/> </service-endpoint> <service-instance name="ISBNValidationInstance" implementation-class="demo.uddi.validation.ISBNValidation" preload="false" ttl="600" instantiation-method="shared"/> </package>