ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Enterprise Repository構成ガイド
11g リリース1 (11.1.1.7)
E59381-01
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

10 Oracle Service Registryとメタデータを交換するためのOracle Enterprise Repositoryの構成

この章では、Oracle Service Registryとメタデータを交換するためにOracle Enterprise Repositoryを構成する方法について説明します。

この章には、次のセクションがあります。

10.1 Oracle Registry Repository Exchange Utilityを使用する前に

この項では、Oracle Registry Repository Exchange Utilityの使用を開始する方法と、このユーティリティを使用したユースケース例について説明します。

この項には次のトピックが含まれます:

10.1.1 Oracle Registry Repository Exchange Utilityとは

Oracle Registry Repository Exchange Utilityでは、Oracle Enterprise RepositoryとOracle Service Registryを双方向に同期し、これらの両方の製品のメタデータがこのユーティリティを介してどちらかの方向に流れることができるようにします。このユーティリティで処理されるメタデータ・エンティティを次に示します。

Oracle Registry Repository Exchange Utilityで可能な処理は次のとおりです。

  • UDDIを使用して、設計時環境から実行時環境にサービスとエンドポイントを公開します。

  • 新しく検出された実行時サービスとエンドポイントをリポジトリに発行し、それらを管理および制御できるようにします。

  • UDDIレジストリに格納されたサービス・パフォーマンス情報をリポジトリに戻し、予期されるサービス・コンシューマとポートフォリオ・マネージャにより適切に通知します。

  • Oracle Business Process Managementワークフローによってトリガーされることにより、Oracle Service Registryにアセットを自動的に公開します。

10.1.1.1 有効なメタデータ・エンティティ

Oracle Registry Repository Exchange Utilityでは、次のメタデータ・エンティティが処理されます。

  • すべてのUDDI対応サービスとSCAサービス・タイプ、およびエンド・ユーザーが開発するOracle Enterprise Repositoryアセット・タイプのカスタム・サービス。

  • ビジネス・サービスを提供するビジネス・エンティティ。

    Oracle Registry Repository Exchange Utilityがビジネス・エンティティに到達する方法の詳細は、10.3.2.1項「Oracle Enterprise RepositoryからOracle Service Registryに公開されるメタデータの同期」および10.3.2.2項「Oracle Service RegistryからOracle Enterprise Repositoryに移動するメタデータの同期」を参照してください。

  • サービスへのアクセス・ポイントを提供するサービスにリンクされるエンドポイント・アセット。たとえば、ステージングまたは本番としてタグ付けされ、UDDIバインディング・テンプレートに適切にマップされる複数のエンドポイントが存在する可能性があります。

  • Oracle Enterprise Repositoryのカテゴリ分けは、UDDIのt-modelにマップされます。カテゴリ分けがサービス・アセットに適用される場合は、適切なエントリがUDDIカテゴリ・バッグに追加され、適切な分類t-modelにリンクされます。これらのt-modelは初回の検出時に自動的にOracle Service Registryにロードされるか、またはOracle Enterprise Repository Exchange Utilityによって手動でロードできます。

    詳細は、表10-4-publish_tmodelを参照してください。

  • サービスがOracle Service Registryにプッシュされるときに、サービス登録ステータスと「アクティブ・ステータス」がOracle Service Registryのビジネス・サービスのカテゴリ・バッグに項目として追加されます。

  • 非WSDLベースのサービスはUDDIレジストリに公開されます。

  • HTTPトランスポートのないサービスはUDDIレジストリに公開されません。

  • サービス・キー - Oracle Enterprise Repositoryによってサービスが複数のサービス・レジストリに昇格される場合、サービス・キーの一貫性が保たれ、同じサービス・キーが各サービス・レジストリに表示されます。サービスがOracle Service RegistryからOracle Enterprise Repositoryに公開される場合、Oracle Enterprise Repositoryでは常にこのサービス・キーを使用してサービスを他のサービス・レジストリに昇格します。

10.1.1.2 前提条件

Oracle Registry Repository Exchange Utilityを使用する前に、次の前提条件を満たす必要があります。

  • Oracle Registry Repository Exchange Utilityには、Java SDKバージョン6以上が必要です。

10.1.2 ユースケース例

Oracle Registry Repository Exchange Utilityは双方向であるため、次のユースケースをサポートできます。

  • Oracle Service Registry内のサービスが変更される(たとえば、ステージング環境や本番環境でエンドポイントが追加される)場合、Oracle Registry Repository Exchange Utilityでは、そのサービスをOracle Enterprise Repository内の1つ以上のエンドポイントに関連付けることができます。サービスおよびアセットが複数のUDDIレジストリ環境に公開される場合、単一のUDDIサービス・キーが各レジストリ内に保持されます。

  • アセットのリレーションシップを使用してビジネス・サービスがOracle Enterprise Repository内の別のビジネス・エンティティに移動される場合、サービスが再同期されると、新しいリレーションシップがOracle Service Registryにも反映されます。

  • Oracle Enterprise RepositoryメタデータをOracle Service Registryと同期する場合、Oracle Registry Repository Exchange Utilityでは、すべての変更をマージしてエンドポイントの変更が保持されるようにします。

  • Exchange Utilityでは、特定の種類の非WSDLサービスをOracle Enterprise RepositoryからOracle Service Registryに公開します。これらのサービスは双方向ではありません。つまり、Exchange Utilityでは、Oracle Service RegistryからOracle Enterprise Repositoryに公開し戻すことはできません。

  • エンドポイントの指定されたアセット・ライフサイクルに基づいて、一致するサービスのエンドポイントをフィルタ処理できるため、一致するエンドポイントのみがリポジトリに公開されます。この問合せは、ステージングされたエンドポイントをリストするレジストリと本番エンドポイントをリストするレジストリという2つのレジストリが存在する場合に役立ちます。


    注意:

    Oracle Registry Repository Exchange UtilityはOracle Enterprise Repositoryワークフローで呼び出すことができます。たとえば、アセット・ライフサイクル・ステージの変更または他のイベント・トリガーによってOracle Enterprise RepositoryとOracle Service Registryとの同期をトリガーできる場合などです。

    詳細は、A.2.2項「自動ワークフロー」を参照してください。


  • Exchange Utilityは、SAPなどのサード・パーティのUDDIレジストリからサービスを導入できます。SAPとの統合の詳細は、『Oracle Fusion Middleware Oracle Enterprise Repository統合ガイド』の「SAPとの統合」を参照してください。

  • Exchange Utilityはまた、Oracle Service Registryからメトリックを受け取ることもでき、これらのメトリックはOracle Service RegistryからOracle Business Transaction Management 10gに公開されます。詳細は、『Oracle Fusion Middleware Oracle Enterprise Repository統合ガイド』の「Amberpointとの統合」を参照してください。

10.2 Oracle Registry Repository Exchange Utilityの構成

この項では、Oracle Registry Repository Exchange Utilityをインストールおよび構成する方法について説明します。

この項には次のトピックが含まれます:

10.2.1 Oracle Registry Repository Exchange Utilityのインストールおよび構成

Oracle Registry Repository Exchange Utilityを使用してOracle Enterprise RepositoryメタデータをOracle Service Registryとの間で公開したり受け取る前に、次に示す構成の手順を完了しておく必要があります。

10.2.1.1 Oracle Registry Repository Exchange Utilityのインストール

デフォルトでは、Oracle Enterprise Repositoryをインストールすると、Oracle Registry Repository Exchange Utilityファイルは次の場所にあります。

<Oracle_HOME>\repositoryXXX\core\tools\solutions

Oracle Enterprise Repository 11g用のOracle Registry Repository Exchange Utilityファイルは、次のとおりです。

  • 11.1.1.x.x-RR-ExchangeUtility.zip: Exchange Utilityのパッケージが含まれています。

11.1.1.x.x-RR-ExchangeUtility.zipファイルは、Oracle Enterprise Repositoryをインストールしたファイル・システム上のディレクトリ(通常は、Oracle_HOME\repositoryXXX)に解凍できます。Oracle Registry Repository Exchange Utilityが含まれるzipファイルをファイル・システムに解凍すると、次の構造が作成されます。

  orrxu  <ExchangeUtility Tool Home>
    |      lib

<ExchangeUtility Tool Home>ディレクトリ内には、Oracle Registry Repository Exchange Utilityファイル(orrxu.xmlUDDIMappings.xmlorrxu.propertiesorrxu.batおよびencrypt.batファイルなど)があります。

10.2.1.2 アセット・タイプ名を使用した構成

ソリューション・パックとは異なるUUIDを持つ既存のアセット・タイプが含まれるシステムにソリューション・パックをインポートすると、これらのアセット・タイプが作成され、バージョニングされます。orrxu.propertiesファイルでは、名前別にアセット・タイプが指定されますが、この結果、処理結果が不正確になります。これは、新しいソリューション・パックに含まれていたアセット・タイプではなく、すでに存在していたアセット・タイプを使用しようとすることが原因です。

Oracle Enterprise Repositoryの以前のバージョンでは、一部のアセット・タイプはソリューション・パックによってではなく、手動で作成されており、この結果、ランダムなUUIDが生成されました。

データパックと同じ名前を持つ既存のアセットが存在する場合の回避策としては、新しいデータパックをインポートする前に、システム内のアセットの名前を変更します。

10.2.2 Oracle Service Registryのインストール

Oracle Service Registryをインストールし、UDDI問合せURL (http://host:port/registry/uddi/inquiryなど)を取得できます。

Oracle Service Registryのインストールの詳細は、http://download.oracle.com/otndocs/tech/soa/OSR11gR1ProductDocumentation.pdfを参照してください。

10.2.3 Oracle Registry Repository Exchange Utilityの構成ファイルの構成

この項では、Oracle Registry Repository Exchange Utilityの構成ファイルを環境にあわせて構成する方法について説明します。内容は次のとおりです。

10.2.3.1 リポジトリ接続情報の設定

<ExchangeUtility Tool Home>にあるorrxu.xmlファイルを開き、次のXMLセクションを変更して、適切な資格証明でOracle Enterprise Repositoryインスタンスを参照するようにします。

<repository>
    <uri>http://localhost:7101/oer</uri> 
  <credentials>
    <user>admin</user> 
    <password>*****</password> 
     //To ensure security, the password must be encrypted.
     //The password encryption tool (encrypt.bat/encrypt.sh), which is located in
<Oracle_home>/repositoryXXX/core/tools/solutions/11.1.1.x.x-OER-PasswordTools.zip,
allows you to encrypt
// the passwords that are stored in the Oracle Registry Repository Exchange Utility configuration (orrxu.xml) file.
  </credentials>
</repository>

ここで、URIにはOracle Enterprise Repository URIを次の形式で指定します。

http://<host>:<port>/<Oracle Enterprise Repository web app name>


注意:

アセットの表示、編集、受入れおよび登録を行うための基本的なアクセス権が設定されたユーザーとしてExchange Utilityを実行することをお薦めします。


パスワードの暗号化の詳細は、第5章「診断およびパスワードの暗号化」を参照してください。

10.2.3.2 レジストリ接続情報の設定

Oracle Registry Repository Exchange Utilityでは、1つ以上のレジストリに公開したり、複数のレジストリから読み取ることができます(各レジストリからの読取りには個別のトランザクションが必要です)。最初の手順は、次に示すように、接続情報を格納する<registry>ノードを1つ以上作成することです。

<registries>
    <registry name="osr">
      <inquiryURI>http://localhost:7001/registry/uddi/inquiry</inquiryURI>
      <publishURI>http://localhost:7001/registry/uddi/publishing</publishURI>
      <securityURI>http://localhost:7001/registry/uddi/security</securityURI>
      <credentials>
        <user>admin</user> 
        <password>*****</password> 
     //To ensure security, the password must be encrypted.
     //The password encryption tool (encrypt.bat/encrypt.sh), which is located in
<Oracle_home>/repositoryXXX/core/tools/solutions/11.1.1.x.x-OER-PasswordTools.zip,
allows you to encrypt
// the passwords that are stored in the Oracle Registry Repository Exchange Utility configuration (orrxu.xml) file.
    </credentials>
    </registry>
    <registry name="osr2">
      <inquiryURI>http://localhost:7201/registry/uddi/inquiry</inquiryURI>
      <publishURI>http://localhost:7201/registry/uddi/publishing</publishURI>
      <securityURI>http://localhost:7201/registry/uddi/security</securityURI>
      <credentials>
        <user>admin</user> 
        <password>*****</password> 
     //To ensure security, the password must be encrypted.
     //The password encryption tool (encrypt.bat/encrypt.sh), which is located in
<Oracle_home>/repositoryXXX/core/tools/solutions/11.1.1.x.x-OER-PasswordTools.zip,
allows you to encrypt
// the passwords that are stored in the Oracle Registry Repository Exchange Utility configuration (orrxu.xml) file.
      </credentials>
    </registry>
  </registries>

10.2.3.3 リポジトリ問合せの設定

次の構成スニペットは、Oracle Enterprise Repositoryに対して実行する問合せを作成し、Oracle Service Registryに公開する必要のあるサービスのリストを受け取る方法を示しています。これにより、Oracle Service Registryにプッシュされるサービスが問合せの形式でフィルタ処理されます。サービスに対して問合せを実行する方法はいくつか存在するため、1つ以上の問合せを作成できます。サービスに対して問合せを実行する方法をいくつか次に示します。

10.2.3.3.1 名前による問合せ

<services>要素を構成すると、指定されたサービス名がOracle Service Registryに公開されます。ただし、Oracle Enterprise Repository REX APIでの制限により、追加できる<services>要素は1つのみです。

<query>
    <repositoryQuery>
      <services>
        <service name="HelloWorld" /> 
      </services>
      <registrationStatus></registrationStatus>
      <serviceCategorizations type="AssetLifecycleStage" value=""/> 

名前による問合せはまた、一致するサービス名を検索するワイルドカード文字%もサポートしています。たとえば、問合せに<Service name="Hello%">が含まれる場合、名前の先頭が「Hello」であるすべてのサービスが検索されます。また、<Service name="%">の場合は、OER内のすべてのサービスが返されます。

10.2.3.3.2 登録ステータスによる問合せ

<registrationStatus>要素を構成すると、指定された登録ステータスのサービスのみ公開されます。たとえば、このフィールドをRegisteredに設定すると、登録済のサービスのみがOracle Service Registryに公開されます。一致するその他のサービスのうち、それ以外の状態のものはすべて無視されます。

  <registrationStatus>Registered</registrationStatus>

登録ステータスで許容される値(大/小文字は区別されません)は、次のとおりです。

  • registered

  • rejected

  • under_review

  • pending_review

  • submitted

  • unsubmitted

  • undefined

10.2.3.3.3 カテゴリ分けによる問合せ

<serviceCategorizations>要素を構成すると、指定されたカテゴリ分けのサービスのみ公開されます。たとえば、次のカテゴリ分けを使用すると、リリース済サービスのみがOracle Service Registryに公開されます。

  <serviceCategorizations type="AssetLifecycleStage" value="Stage 4 - Release"/>

注意:

serviceCategorizationタイプは、サービス・アセットの分類で見つかったすべてのカテゴリ分けがサポートされます。次に例を示します。

<serviceCategorizations type="Classification" value="Approved"/> 
<serviceCategorizations type="AssetFuntion" value="Governance"/>

10.2.3.3.4 フィルタによる問合せ

Oracle Enterprise RepositoryからUDDIレジストリに昇格されるサービスの種類を制限できます。フィルタ要素を使用すると、サービスのタイプの他に、登録ステータス、サービス・カテゴリ分け、およびエンドポイント・アセット・ライフサイクルに基づいて選択内容を絞り込むことができます。構成した場合、指定した基準を満たすサービスのみが公開されます。各<filter>要素には、type、excludeおよびvalueという3つの属性があります。

  • type (必須フィールド): metadataとwsdllocationという2つのタイプのフィルタがあります。

    • metadata: Oracle Enterprise Repositoryでは、サービス・アセットには複数のタイプのメタデータがあります。このデータは、メタデータ・タイプ名とフィールドのXPathに基づいてフィルタ処理できます。

      1つの例としてサービス・タイプがあります。これは、ハーベスタによって作成されるすべてのサービスに適用されるメタデータの一部です。メタデータ・タイプはinternal.introspectorであり、フィールドのXPathは/sync/Service_Typeです。

      フィルタのフォーマットは、次のとおりです(先頭に"metadata"が付いています)。

      <filter type="metadata.internal.introspector.store/sync/Service_Type" value="Proxy Service" />

    • wsdllocation: サービスをOracle Enterprise Repositoryに収集する場合、WSDLの場所はリモート・サーバーに格納することも、ローカル・ファイル情報としてOracle Enterprise Repositoryに格納することもできます。


    注意:

    ローカル・ファイル情報を持つサービスが公開された場合、このWSDLに関する情報はOracle Service Registryに追加されず、サービスのメタデータのみが追加されます。


  • value (必須フィールド): 各タイプには独自の使用可能な値セットがあります。この値が、フィルタ処理するサービスを決定するために使用されます。

    • metadata値: 許容値は、フィルタ処理するメタデータ・タイプによって異なります。次に例を示します。

      Service_Type: Proxy ServiceまたはSplit-Join Service

      <filter type="metadata.internal.introspector.store/sync/Service_Type" value="Proxy Service" />

      Scope: globalまたはlocal

      <filter type="metadata.internal.introspector.store/sync/Scope" value="global" />

      localは、使用不可能なサービスを示します。

      Deployment_Status: run-timeまたはdesign-time

      <filter type="metadata.internal.introspector.store/sync/Deployment_Status" value="run-time" />

    • wsdllocation values: remote、local。次の場合、リモートWSDLを持つサービスが公開されます。

      <filter type="wsdllocation" value="remote" />

  • exclude (オプションのフィールド): excludeフラグの値をtrueに設定すると、フィルタの基準を満たすサービスを除くすべてのサービスが公開されます。次の場合、ローカル・ファイル情報に格納されているWSDLを持つサービスを除くすべてのサービスが公開されます。

    <filter exclude="true" type="wsdllocation" value="local" />

excludeフラグが設定されている場合、同じタイプのフィルタが複数存在できます。つまり、サービスのタイプがBusiness ServiceまたはSplit-Join Serviceである場合に検索を実行できます。ただし、excludeフラグが設定されていない場合、同じタイプの複数のフィルタが機能しません。つまり、サービスのタイプがBusiness ServiceまたはSplit-Join Serviceである場合に検索を実行することはできません。

複数のFILTER基準を結合できるのは、検索結果から基準を除外する場合のみです。EXCLUDE Business ServiceとEXCLUDE Proxy Serviceは機能します。ただし、INCLUDE Business ServiceとINCLUDE Proxy Serviceは機能しません。

<filter type="metadata.internal.introspector.store/sync/Service_Type" value="Business Service" />
or
<filter exclude="true" type="metadata.internal.introspector.store/sync/Service_Type" value="Business Service" />
<filter exclude="true" type="metadata.internal.introspector.store/sync/Service_Type" value="Proxy Service" />  

次の例は機能しません。

<filter type="metadata.internal.introspector.store/sync/Service_Type" value="Business Service" />
<filter type="metadata.internal.introspector.store/sync/Service_Type" value="Proxy Service" />

例1

次の例は、Exchange Utilityのデフォルトの構成です。この場合、サービス・タイプがProxy Serviceでないサービス、およびリモートWSDLを持つサービスのみがOracle Service Busから公開されます。

<repositoryQuery>
  <services>
  <service name=" "/>
  </services>
  <!--Search criteria for the registration status of the service in
 Oracle Enterprise Repository -->
   <registrationStatus></registrationStatus>
   !--Search criteria for a categorization assigned to the service in
 Oracle Enterprise Repository -->           
   <serviceCategorizations type="AssetLifecycleStage" value=""/>
   <!--Name of UDDI Registries to publish to.  This name corresponds with
 UDDI Registry definitions -->
   <!--below under the <registries> section -->
   <destinationRegistries>
   <destinationRegistry name="TEST_UDDI">
   <endpointAssetLifecycleStatus></endpointAssetLifecycleStatus>
   </destinationRegistry>
   </destinationRegistries>
   <!--Filter: identify metadata to apply filter on services to
 publish-->
   <filters>
   <filter type="wsdllocation" value="remote" />
   <filter type="metadata.internal.introspector.store/sync/Scope"
 value="global" />
   <filter exclude="true"
 type="metadata.internal.introspector.store/sync/Service_Type" value="Proxy
 Service" />
     </filters>
</repositoryQuery>

例2

次の例では、リモートおよびローカルの両方で格納されたWSDLを持つサービス、およびProxy Serviceタイプのサービスのみが公開されます。

<filters>
<filter type="metadata.internal.introspector.store/sync/Service_Type" value="Proxy Service" />
</filters>

例3

次の場合、Webサービスのみが公開され、Business Service、Proxy ServiceおよびSplit-Join Serviceは除外されます。

<filters>
<filter type="metadata.internal.introspector.store/sync/Service_Type" value="Web Service" />
</filters>

10.2.3.4 宛先レジストリの設定

次の構成スニペットは、<destinationRegistries>要素を使用して、一致するOracle Enterprise Repositoryサービスを格納する1つ以上の宛先レジストリを構成する方法を示しています。各宛先レジストリには、endpointAssetLifecycleStatusプロパティが含まれる場合があります。これには、このレジストリに公開される特定のアセット・ライフサイクル・ステージ・カテゴリ分けタイプのサービス・エンドポイントをフィルタ処理する機能があります。つまり、特定のアセット・ライフサイクル・ステージ・カテゴリ分けを持つエンドポイントのみが、そのように定義されたレジストリに公開されます。endpointAssetLifecycleStatusプロパティは、オプションのプロパティです。

これらのレジストリは、Oracle Enterprise Repositoryからサービスが選択されてOracle Service Registryに移動されるとき(たとえば、Oracle Enterprise Repository > Oracle Service Registry)に使用されます。

<services>
    <service name="%"/>
</services>
<destinationRegistries>
<destinationRegistry name="DEV"> 
<endpointAssetLifecycleStatus>Stage3- Build</endpointAssetLifecycleStatus>
</destinationRegistry>
<destinationRegistry name="PROD"> 
<endpointAssetLifecycleStatus>Stage4-Release</endpointAssetLifecycleStatus>
</destinationRegistry>
</destinationRegistries>

宛先レジストリを変更し、これらにendpointLifecycleStatus要素を追加します。

10.2.3.5 レジストリ問合せの設定

次の構成スニペットは、<registryQuery>要素を使用して、Oracle Service Registryに対して実行する問合せを作成し、Oracle Service RegistryからフェッチしてOracle Enterprise Repositoryに配置する必要のあるサービスのリストを受け取る方法を示しています。

<registryQuery>
    <businessEntities> 
      <businessEntity name="Account Services"/>
    </businessEntities> 
    <services>
      <service name="AddCustomerService%" /> 
    </services>
    <qualifiers>
      <qualifier>approximateMatch</qualifier> 
    </qualifiers>
  <sourceRegistry>osr</sourceRegistry> 
  </registryQuery>

次の構成のガイドラインに従ってください。

  • businessEntities nameまたはservice nameの値が空でないことを確認します。

  • businessEntities nameには、正確な名前を指定する必要があります。

  • service nameには、少なくとも1つのワイルドカード文字を使用する必要があります。たとえば、すべてのサービスを取得するには、「%」を指定します。

  • Oracle Service Registry問合せの検索基準では大/小文字が区別されます。

サービスは、次の方法で検索できます。

  • 1つ以上のサービス名で検索します。修飾子が不確定な場合は、サービス名をワイルドカードにすることができます。たとえば、サービス名が「Google%」の場合は、名前が「Google」で始まるサービスがフェッチされ、Oracle Enterprise Repositoryに配置されます。

  • 1つ以上のビジネス・エンティティを選択します。これにより、これらのビジネス・エンティティ内のすべてのサービスがフェッチされ、Oracle Enterprise Repositoryに配置されます。ビジネス・エンティティ名には正確な名前を指定する必要があります。ワイルドカードがサポートされるのはサービスの場合のみです。ビジネス・エンティティの場合はサポートされません。


    警告:

    ビジネス・エンティティ問合せとサービス問合せの両方が指定される場合は、ビジネス・エンティティ問合せによってサービス問合せがオーバーライドされます。


10.2.3.6 ソース・レジストリの設定

<sourceRegistry>要素は、Oracle Enterprise Repositoryに配置するサービスの選択元のレジストリを示します。このレジストリは、Oracle Service Registryからサービスが選択されてOracle Enterprise Repositoryに移動されるとき(たとえば、Oracle Service Registry > Oracle Enterprise Repository)に使用されます。

<sourceRegistry>osr</sourceRegistry> 

10.2.4 UDDIマッピング・ファイル内のOracle Enterprise Repositoryカテゴリ分けの構成

次のXMLスニペットに示すように、アセットをOracle Service Registryに公開する前に、<ExchangeUtility Tool Home>ディレクトリに格納されているUDDIマッピング・ファイル(UDDIMappings.xml)にOracle Enterprise Repositoryのカテゴリ分けがマップされます。

<uddi:uddiSettings xmlns:uddi="http://www.bea.com/aler/integration/config/uddi">
  <categorizationMappings>
    <categorizationType alerCategorizationTypeName="AssetLifecycleStage"
 alerCategorizationTypeId="112"
 uddiCategoryTModelKey="uddi:bea.com:aler:categorization:AssetLifecycleStage">
      <categorization alerCategorization="Stage 1 - Propose" uddiKeyName="Stage 1
 - Propose" uddiKeyValue="Stage 1 - Propose" /> 
      <categorization alerCategorization="Stage 2 - Plan" uddiKeyName="Stage 2 -
 Plan" uddiKeyValue="Stage 2 - Plan" /> 
      <categorization alerCategorization="Stage 3 - Build" uddiKeyName="Stage 3 -
 Build" uddiKeyValue="Stage 3 - Build" /> 
      <categorization alerCategorization="Stage 4 - Release" uddiKeyName="Stage 4
 - Release" uddiKeyValue="Stage 4 - Release" /> 
      <categorization alerCategorization="Stage 5 - Target For Retirement"
 uddiKeyName="Stage 5 - Target For Retirement" uddiKeyValue="Stage 5 - Target For
 Retirement" /> 
      <categorization alerCategorization="Stage 6 - Retirement" uddiKeyName="Stage
 6 - Retirement" uddiKeyValue="Stage 6 - Retirement" />

Oracle Enterprise Repositoryのカテゴリ分けは、対応するマッピングがUDDIマッピング・ファイルに存在する場合にのみOracle Service Registryで受け付けられます。それ以外の場合、カテゴリ分けは単純に無視されます。そのため、Oracle Enterprise Repositoryで新しいアセット・カテゴリ分けが作成される場合は、UDDIマッピング・ファイルを再生成して、そのカテゴリ分けがOracle Service Registryで受け付けられるようにする必要があります。

10.2.5 tModelKey UDDI設定の構成

この項では、Oracle Enterprise Repositoryで新しいカテゴリ分けタイプを作成する際にtModelKey UDDI設定を構成する手順について説明します。

Oracle Service Registryによって公開された一部のサービスには、Oracle Enterprise Repositoryにプルする必要があるカテゴリ分けの形式の追加メタデータが含まれます。これにより、Oracle Enterprise Repositoryでカスタム・カテゴリ分けタイプを作成し、これらをこれらのカスタム・カテゴリ分けにバインドできます。

現在、Oracle Registry Repository Exchange Utilityでは、図10-1に示すように、Oracle Enterprise Repositoryでカテゴリ分けタイプを作成する際にtModelキーv3オプションを使用して、Oracle Service Registryのカスタム・カテゴリ分けをOracle Enterprise Repositoryのカスタム・カテゴリ分けにバインドできます。このフィールドに入力するキーは、関連するOracle Service Registryカテゴリ分けのtModelキーである必要があります。

図10-1 「カテゴリ分けの編集」ダイアログ

図10-1の説明が続きます
「図10-1 「カテゴリ分けの編集」ダイアログ」の説明

tModelKey UDDI設定の構成手順は、次のとおりです。

  1. アセット・エディタ・ウィンドウで、「アクション」カテゴリ分けの構成の順に選択します。「カテゴリ分けの構成」ダイアログが表示されます。これにより、Oracle Service Registryカテゴリ分けをミラー化するカスタム・カテゴリ分けタイプを作成します。


    注意:

    tModelキーv3フィールドはuddi:oracle.com:aia:service:lifecyclestatusに設定されます。これは、Oracle Service Registryサービス・カテゴリのtModelキー内にあるものと正確に同じものです。


  2. 「追加」をクリックし、カテゴリ分けを追加します。「カテゴリ分けの追加」ダイアログが表示されます。たとえば、AIA-LifeCylceStatusカテゴリ分け設定を追加します。

  3. 図10-2に示すように、「カテゴリ分けの追加」ダイアログに値を入力します。

    図10-2 「カテゴリ分けの追加」ダイアログ

    図10-2の説明が続きます
    「図10-2 「カテゴリ分けの追加」ダイアログ」の説明

  4. tModelキーv3フィールドの下のペインで「AIA-LifeCycleStatus」を選択し、「追加」をクリックします。「カテゴリ分けの追加」ダイアログが表示されます。

  5. 図10-3に示すように、「名前」フィールドに「Active」と入力します。

    図10-3 「カテゴリ分けの追加」ダイアログ

    図10-3の説明が続きます
    「図10-3 「カテゴリ分けの追加」ダイアログ」の説明

  6. 「OK」をクリックします。

  7. 同様に、図10-4に示すように、カテゴリ分けとして「非推奨」、「不要」および「計画済」の各値を追加します。

    図10-4 「カテゴリ分けの追加」ダイアログ

    図10-4の説明が続きます
    「図10-4 「カテゴリ分けの追加」ダイアログ」の説明

  8. 「OK」をクリックします。

  9. アセット・エディタ・ウィンドウで、「アクション」「タイプの管理」の順にクリックします。タイプ・マネージャ・ウィンドウが表示されます。

  10. 「サービス」アセット・タイプを選択します。右側のペインに、「サービス」アセット・タイプの詳細が表示されます。

  11. 「タブ」ペインで、分類を選択します。分類に対応する要素が「要素」ペインに表示されます。

  12. 「要素」ペインに隣接する「追加」ボタンをクリックします。「追加する要素タイプの選択」ダイアログが表示されます。

  13. 図10-5に示すように、「要素タイプ」リストから「カテゴリ分け: AIA-LifeCycleStatus」を選択します。

    図10-5 「追加する要素タイプの選択」ダイアログ

    図10-5の説明が続きます
    「図10-5 「追加する要素タイプの選択」ダイアログ」の説明

  14. 「OK」をクリックします。「カテゴリ分けの編集: AIA-LifeCycleStatus」ダイアログが表示されます。

  15. 「OK」をクリックします。

  16. 「ビューア」タブをクリックします。

  17. 非表示要素ペインで、「AIA-LifeCycleStatus」を選択し、グループで表示を選択します。「要素の移動」ダイアログが表示されます。

  18. 図10-6に示すように、「AIA-LifeCycleStatusの移動先」フィールドで分類を選択します。

    図10-6 「要素の移動」ダイアログ

    図10-6の説明が続きます
    「図10-6 「要素の移動」ダイアログ」の説明

  19. Exchange Utilityツールで、UDDIMappings.xmlファイルを生成します。orrxu.xmlファイルでOracle Enterprise Repositoryインスタンスへの接続情報を指定します。

  20. Exchange Utilityツールから、orrxu.bat -mapをインストールします。

  21. 新しく作成したOracle Enterprise Repositoryカテゴリ分けがUDDIMappings.xmlファイルに含まれることを確認します。

    図10-7 UDDIMappings.xmlファイル

    図10-7の説明が続きます
    「図10-7 UDDIMappings.xmlファイル」の説明

    Oracle Service RegistryサービスがOracle Enterprise Repositoryで受け取られたら、Oracle Enterprise Repositoryサービス・アセットは、このカテゴリ分け値が設定され、Oracle Enterprise RepositoryのWeb UIに表示されるようになります。

10.2.6 Oracle Registry Repository Exchange Utilityのプロパティ・ファイルの理解

この項では、<ExchangeUtility Tool Home>ディレクトリに格納されているファイルである、プロパティ・ファイルorrxu.properties内のプロパティについて説明します。一部のプロパティはすでにOracle Enterprise Repositoryの「システム設定」に存在します。また、Oracle Registry Repository Exchange Utility用の新しいプロパティもあります。

  • cmee.uddi.service.endpoint.relationship=Deployment-Deployed - サービスとエンドポイントのリレーションシップ。

  • cmee.import.uddi.business.assettype=SOA - Business Entity - ビジネス・エンティティのアセット・タイプ。

  • cmee.import.uddi.accesspoint.assettype=Endpoint - エンドポイントのアセット・タイプ。

  • cmee.import.uddi.artifactwsdl.relationship=Sync-Defines - サービスとWSDLアーティファクトのリレーションシップ。

  • cmee.import.uddi.receiver.batch.size=100 - Oracle Service Registryから受け取る場合のみ、これによってバッチ・サイズが決まります。

  • cmee.import.uddi.publish.ifendpointmissing: デフォルトでは、Oracle Enterprise Repository内のサービスに1つ以上のエンドポイントがないか、既存のエンドポイントにアクセス・ポイントが無効である場合、このサービスは公開されません。この設定がtrueに設定されている場合、エンドポイントのないサービスはOracle Service Registryに公開されます。


    注意:

    次のプロパティは、対応するプロパティがOracle Enterprise Repositoryの「システム設定」で設定されていない場合にのみ使用されます。Oracle Enterprise Repositoryの「システム設定」プロパティが構成されている場合、その設定によってorrxu.propertiesファイルのプロパティがオーバーライドされます。


  • cmee.uddi.business.service.relationship=BusinessService - サービスのアセット・タイプとビジネス・エンティティのアセット・タイプのリレーションシップ。

  • cmee.import.uddi.service.assettype=Service - サービスのアセット・タイプ。

  • cmee.uddi.default.business=A UDDI Node - アセットがビジネス・エンティティにリンクされず、Oracle Service Registryにサービスを公開する場合のみ。

Oracle Enterprise Repositoryのその他の「システム設定」の詳細は、『Oracle Fusion Middleware Oracle Enterprise Repositoryユーザーズ・ガイド』を参照してください。

10.2.7 XUのサポート

デフォルトでは、XUは、ハーベスタ・ソリューション・パックに用意されているアセット・タイプを使用した操作の収集によってOERで生成されたWSDLベースのHTTPサービスをOSRに公開することをサポートしています。これらのサービスはインタフェース、アーティファクト、エンドポイントおよびシステム提供のリレーションシップとともに、OSRに統合されているツール(Oracle Service Busコンソールを含む)で使用できる方法でOSRでレンダリングされます。


注意:

すべてのサービスは、特に断りのないかぎり、Oracle Service RegistryでOracle Service Busによる使用が可能です。


表10-1 収集したWSDLサービスに対するXUのサポート

サービス・タイプ/元 OER内のサービス・モデルに含まれる内容 XUによってOERからOSRに対して公開されるかどうか 注意

WSDLアタッチメントとともに収集されたWSDLベースのHTTPサービス

インタフェースにアタッチされたArtifact:WSDL

はい(WSDLにリモートURIが含まれる場合)

サービスを発行するためにエンドポイントは必要ありませんが、OSBで使用する場合はエンドポイントが必要です。


10.2.7.1 手動で作成されたサービスに対するXUのサポート

XUは、別の方法で構成すると、異なるモデルを使用して異なるソースから生成された様々な非WSDL HTTPサービス・タイプもOERでサポートできます。

表10-2 手動で作成された*サービスに対するXUのサポート

サービス・タイプ/元 OER内のサービス・モデルに含まれる内容 XUによってOERからOSRに対して公開されるかどうか 注意

アタッチメントとともに手動で作成されたWSDLベースのHTTPサービス(収集なし)

インタフェースに手動でアタッチされたArtifact:WSDL

はい(WSDLにリモートURIが含まれる場合)

サービス、インタフェース、エンドポイント、Artifact:WSDLを持つSOAモデルとこのモデルの間に一貫性がある場合、異なるアセットおよびリレーションシップをXUマッピング・ファイルで使用およびマップできます。

XSDアタッチメントとともに手動で作成された非WSDLベースのHTTPサービス

XUでマップされているリレーションシップを介してインタフェースに手動でアタッチされたArtifact:XSDまたは同様のアーティファクト。インタフェース・タイプは定義されていません。

はい(XSDにリモートURIがある場合。XSDはtModel: uddi-org:resource:type with value=xsdとして公開されます)

  • OSBではXSDは使用されません。

  • 入力XML/出力XMLとともにメッセージング・サービス・タイプとして公開されます。

アーティファクト(WADLを持つRESTなど)とともに手動で作成された非WSDL HTTPサービス

XUでマップされているリレーションシップを介してインタフェースにアタッチされた様々なタイプのアーティファクト(非XSD、WADLなど)

はい(アーティファクトにリモートURIがあるかぎり。アーティファクトはtModel: uddi-org:resource:type with value=xmlとして公開されます)

  • OSBではXSDは使用されません。

  • 入力XML/出力XMLとともにメッセージング・サービス・タイプとして公開されます。

アーティファクト(RESTなど)なしで手動で作成された非WSDL HTTPサービス

アタッチされたXSDまたは同様のアーティファクトなし

はい

入力XML/出力XMLとともにメッセージング・サービス・タイプとして公開されます。



注意:

OERで(収集なしで)手動で作成されたサービスを、Oracle Service Busで使用可能な形式でOSRに公開できるようにするには、少なくとも1つのエンドポイントおよび1つのインタフェースが必要です。

*REX APIを使用して作成されたサービスにも適用されます。


10.2.7.2 Oracle Service Busから収集された非WSDLサービスに対するXUのサポート

XUは、別の方法で構成すると、異なるモデルを使用して異なるソースから生成された様々な非WSDL HTTPサービス・タイプもOERでサポートできます。

表10-3 Oracle Service Busから収集された非WSDLサービスに対するXUのサポート

サービス・タイプ/元 OER内のサービス・モデルに含まれる内容 XUによってOERからOSRに対して公開されるかどうか 注意

WSDLアタッチメントとともにOSBで収集されたWSDLベースのHTTPサービス

インタフェースにアタッチされたArtifact:WSDL

はい(WSDLにリモートURIが含まれる場合)

OERハーベスタによって収集されたWSDLサービスと同じです。

OSBで収集された非WSDLベースのHTTPサービス

任意のXML (REST以外)

はい


OSBで収集された非WSDLベースのHTTPサービス

任意のSOAP (REST以外)

はい


OSBで収集された非WSDLベースのHTTPサービス

MFLを使用したメッセージングのみ(Artifact:MFLアタッチ済)

いいえ

  • OSRでOSBによる使用は不可能です。

  • MFLアーティファクトには、OERにリモートURIはありません。

OSBで収集された非WSDLベースのHTTPサービス(RESTプロキシ・サービスを含む)

MFLを除くすべてのメッセージング(Artifact:XSDを持つ場合と持たない場合あり)

はい。ただし、XSDアーティファクトはリモートURIなしでは公開されません。


OSBで収集されたREST HTTPビジネス・サービス

インタフェースにアタッチされたArtifact:XSDまたは同様のアーティファクトなし


OSRでOSBによる使用は不可能です。



注意:

サービスをOracle Service Busで使用可能な形式でOSRに公開できるようにするには、少なくとも1つのエンドポイントおよび1つのインタフェースが必要です。


XUでマップされたリレーションシップ(たとえば、インタフェースとアーティファクト間)のうち、特定のXUセッションで非WSDLサービスまたは手動で作成されたサービスの公開時に使用できるのは1つのタイプのみです。これは同時に、収集されたWSDLベースのサービスでもサポートされます。XUでは、単一指定されたシステムで提供(システム提供または手動提供)されるリレーションシップを持つ非WSDLサービスを公開できますが、一度に複数のタイプを公開することはできません。

10.2.7.3 非収集またはカスタム・アセット・タイプおよびリレーションシップを公開するためのXUの構成

XUでは、サービスおよびそのエンドポイントを構成するアセット・タイプおよびリレーションシップを定義します。たとえば、OERサービスのアセット・タイプにより、UDDIビジネス・サービスが定義されます。エンドポイント・アセットにより、アクセス・ポイントとリレーションシップDeployed-Toが定義され、2つのアセット・タイプが関連付けられます。これらのデフォルト設定を使用して、ハーベスタによって作成されたサービスがOSRに公開されます。

ただし、ハーベスタなしでサービスを作成するか、デフォルトの構成とは異なる独自のアセット・タイプおよびリレーションシップを使用する場合、OSBから収集した非WSDLベースのHTTPサービスなどのサービスをOSRに公開するには、次の構成手順に従う必要があります。

一度に公開できるサービス・アセット・タイプは1つのみです。デフォルトで定義されているものとは異なる独自のアセット・タイプおよびリレーションシップを使用する場合:

  • OERでシステム設定のcmee.import.uddi.service.assettypeを変更し、カスタム・アセット・タイプを指すようにします。デフォルトでは、サービスを指していますが、目的のアセット・タイプを指すことができます。

  • orrxu.propertiesを変更します。

    • cmee.import.uddi.accesspoint.assettype=<custom endpoint asset type>

WSDLサービスの場合

  • cmee.import.uddi.artifactwsdl.assettype=<custom artifact WSDL asset type>


注意:

このカスタム・アーティファクトWSDLタイプのNAMEは、先頭がArtifactである必要があります。


非WSDLサービスの場合

  • cmee.import.uddi.definingartifact.relationship=<custom artifact asset type>

  • cmee.import.uddi.artifactwsdl.relationship=<custom relationship between endpoint/interface and artifact asset>

  • cmee.import.uddi.interface.service.relationship=<custom relationship between service and interface assets>

  • cmee.uddi.service.endpoint.relationship=<custom relationship between service and endpoint>

収集されていないサービス

  • タイプ・マネージャで、アクセス・ポイントを定義するために使用されているアセット・タイプ(即時利用可能なエンドポイント)を選択し、カスタム・データURL要素endpoint-uriを追加します。

  • このendpoint-uriフィールドには、UDDIレジストリに公開するサービスのアクセス・ポイントを手動で移入する必要があります。

例10-1 WSDL内のサービス定義

<service name=”OERSearchService”>
                        <port name=”OERSearchPort” binding=”typens:OERSearchBinding”>                              <soap:address location=”http://api.oracle.com/search/oer”/>                     </port>      </service>

10.3 Oracle Enterprise Repository Exchange Utilityの使用

この項では、Oracle Registry Repository Exchange Utilityを使用してメタデータを同期し、Oracle Enterprise Repository内で交換されるメタデータを検索する方法について説明します。

この項には次のトピックが含まれます:

10.3.1 Oracle Registry Repository Exchange Utilityの実行

Oracle Registry Repository Exchange Utilityは、次の構文を使用してコマンド・プロンプトから実行されます。

  > orrxu.bat <options> 

表10-4では、Oracle Registry Repository Exchange Utilityの実行時に使用できる構成オプションを定義しています。

表10-4 Oracle Registry Repository Exchange Utilityのコマンド行オプション

オプション 必須 動作

-mode <mode>

はい

publishまたはreceiveモードで実行するようにユーティリティを構成します。

  • サービスをOracle Enterprise RepositoryからOracle Service Registryに公開するには、次を使用します。

    orrxu.bat -mode publish

  • Oracle Service RegistryのサービスをOracle Enterprise Repositoryで受け取るには、次を使用します。

    orrxu.bat -mode receive

-config <File Name>

オプション

orrxu.xmlファイルをパラメータとして渡します。

使用例:

orrxu.bat -mode publish -config C:\rm\uddi\orrxu.xml

このパラメータを省略すると、orrxu.batファイルが保存されている現在のディレクトリから、システムのクラスパスを使用して構成XMLファイルがロードされます。

-map <Dir Name>

オプション

UDDIMappings.xmlファイルを生成します。これを行うには、Oracle Enterprise Repositoryに接続し、構成済のカテゴリ分けに基づいてこのファイルにt-modelを移入します。また、ここでは、-configパラメータを使用して、デフォルトの場所からOracle Registry Repository Exchange Utilityの構成をロードします。Oracle Service Registryにt-modelがすでに存在する場合は、このファイルをカスタマイズして、Oracle Enterprise Repositoryのカテゴリ分けをt-modelにマップできます。

使用例: orrxu.bat -map c:/rm/uddi

UDDIMappings.xmlファイルの詳細は、10.2.4項「UDDIマッピング・ファイル内のOracle Enterprise Repositoryカテゴリ分けの構成」を参照してください。

-publish_tmodel <File Name>

オプション

UDDIMappings.xmlファイルで構成されているすべてのt-modelをOracle Service Registryに公開します。Oracle Service Registryにt-modelがすでに存在する場合、そのt-modelはスキップされます。Oracle Registry Repository Exchange Utilityを使用してこれらのt-modelを移入する場合は、既存のt-modelを手動で削除する必要があります。また、ここでは、-configパラメータを使用して、デフォルトの場所からOracle Registry Repository Exchange Utilityの構成をロードします。

使用例: orrxu.bat - publish_tmodel c:/rm/UDDIMappings.xml

UDDIMappings.xmlファイルの詳細は、10.2.4項「UDDIマッピング・ファイル内のOracle Enterprise Repositoryカテゴリ分けの構成」を参照してください。


10.3.1.1 ワークフローを使用したOracle Registry Repository Exchange Utilityの起動

ワークフローを使用してOracle Registry Repository Exchange Utilityを起動すると、Oracle Enterprise RepositoryとOracle Service Registryの同期を自動化できます。

この項には次のトピックが含まれます:

workflow.xmlファイルおよびワークフローの構成の詳細は、第A章「Oracle Enterprise Repositoryワークフローの構成」を参照してください。

10.3.1.1.1 前提条件

この項では、Oracle Registry Repository Exchange Utilityワークフローを実行する前に必要な前提条件の構成手順について説明します。

  1. Oracle Registry Repository Exchange Utilityのソリューション・パック11.1.1.x.x-RR-ExchangeUtility.zip<Oracle_HOME>\repository111\core\tools\solutionsからダウンロードします。

  2. zipファイルを抽出し、ここから次のファイルを<Oracle_Home>\obpm\enterprise\server\aler_engineディレクトリにコピーします。

    • plugins

    • orrxu.properties

    • orrxu.xml

    • log4fl.properties

    • types.properties

    • UDDIMappings.xml

    これらのファイルは、Oracle Registry Repository Exchange UtilityワークフローをOracle BPMから実行する際に必要です。

  3. Oracle Service Registryインスタンスからイベントを生成したりOracle Service Registryインスタンス用のイベントを生成するOracle Enterprise Repositoryインスタンスの接続情報について、およびアセットの公開または受取りのためにorrxu.xmlを構成します。

  4. ファイル内のパスワードが暗号化ツールを使用して暗号化されていることを確認します。

10.3.1.1.2 タイマー・ベースのワークフローを使用した同期

タイマー・ベースのワークフローを使用すると、Oracle Service RegistryからOracle Enterprise Repositoryへの同期、またはOracle Enterprise RepositoryからOracle Service Registryへの同期が可能になります。

表10-5は、タイマー・ベースのワークフローの名前と説明を示しています。

表10-5 タイマー・ベースのワークフロー

ワークフロー名 説明

autoSyncAlerToUddi

サービスをOracle Enterprise RepositoryからOracle Service Registryに移動します。

autoSyncUddiToAler

サービスをOracle Service RegistryからOracle Enterprise Repositoryに移動します。


タイマーは、workflow.xmlファイルのtimerIntervalの設定に基づいて起動するように構成できます。次の例は、workflow.xmlファイルで構成されているautoSyncAlerToUddiおよびautoSyncUddiToAlerワークフローを示しています。

<automation>
    <autoSyncAlerToUddi configFilename="AlerToUddiSyncOrrxuConfig.xml"
    mappingFileName="AlerToUddiSyncOrrxuMapping.xml" timerInterval="2d"/>
    <autoSyncUddiToAler configFileName="UddiToAlerSyncOrrxuConfig.xml"
    mappingFileName="UddiToAlerSyncOrrxuMapping.xml" timerInterval="3d"/>
</automation>
10.3.1.1.3 イベントのトリガー時の同期

個々のサービスとそのメタデータは、これらのサービスが登録された場合やサービスのライフサイクルが変更された場合にトリガーされるイベントをワイヤリングすることにより、Oracle Service Registryに移動できます。

サービスの移動には、PublishAssetToUDDIワークフローを使用できます。PublishAssetToUDDIワークフローは、要件に応じて任意のイベント・トリガーにワイヤリングできます。

たとえば、次の構成では、アセット・ライフサイクル・ステージがQAである場合にサービスを移動します。

<state name="urn:com:bea:aler:events:type:CategorizationChanged:AssetLifecycleStage" value ="QA">
<action>PublishAssetToUddi</action>
<alrrxConfigFileName>my_orrxu.xml</alrrxConfigFileName>
<alrrxMappingFileName>my_uddiMappings.xml</alrrxMappingFileName>
</state>

また、レジストリの実行場所に関連する構成はalrrxConfigFileNameの設定を使用して構成され、カテゴリ分けに関連するマッピング・ファイルはalrrxMappingFileNameの設定を使用して構成されます。


注意:

<alrrxConfigFileName>および<alrrxMappingFileName>に指定されているファイルは、obpm内のaler_engineフォルダ内に存在します。


異なるレジストリを指すように構成された複数の構成ファイルを使用できます。ライフサイクルによっては、アセット・ライフサイクルのトリガーに基づいて別のレジストリにサービスを移動できます。

10.3.1.1.4 ユースケース例

Oracle Enterprise Repositoryでは、自動ワークフローに対して次のユースケースをサポートします。

  • 自動ワークフローでは、構成されているタイマー間隔に基づいてOracle Enterprise RepositoryとOracle Service Registryの同期を自動化できます。

  • ライフサイクルに基づいてサービスを分類するために異なるレジストリが実行される場合は、公開するアセット・ライフサイクル・イベン・トリガーを適切なレジストリにワイヤリングすることで、これらのレジストリにサービスを自動的に公開できます。

  • サービスがOracle Enterprise Repositoryに発行される場合は、サービスをOracle Service Registryに自動的に公開できます。サービスがOracle Enterprise Repositoryに発行されると、ワークフローによって処理されるイベントがトリガーされます。ワークフローでは、このサービスをOracle Service Registryに自動的に移動します(そのように構成されている場合)。

10.3.2 交換されるメタデータの同期方法

この項では、Oracle Enterprise RepositoryとOracle Service Registryの間でアセットが交換される場合のメタデータの同期方法について説明します。この項には次のトピックが含まれます:

10.3.2.1 Oracle Enterprise RepositoryからOracle Service Registryに公開されるメタデータの同期

この項では、Oracle Enterprise RepositoryからOracle Service Registryにアセットを公開する場合のメタデータの同期方法について説明します。内容は次のとおりです。


注意:

以前に同期されたサービスをOracle Service Registryと同期するときに、Oracle Service Registryブラウザ・インスタンスがすでに開いている場合、Oracle Service Registryでは更新された値が表示されません。そのため、更新された値を参照するには、すべてのOracle Service Registryブラウザ・インスタンスを再起動する必要があります。

詳細は、10.3.5項「既知の問題」を参照してください。


10.3.2.1.1 ビジネス・エンティティ

公開されるサービス・アセットに、関連する(構成されたリレーションで指定されている)ビジネス・エンティティ・アセットがあるかどうかを確認します。

  • 該当する場合は、構成されているリレーションを使用して、既存のビジネス・エンティティ・アセットを使用して、新しく作成されるサービス・アセットに関連付けます。

  • 該当しない場合は、次に示すように、デフォルトのビジネス・エンティティ名を構成から取得します。

    • デフォルトのビジネス・エンティティ・アセットがOracle Enterprise Repositoryの「システム設定」で構成されているかどうかを確認します。

    • 該当する場合は、それをデフォルトのビジネス・エンティティとして使用します。

    • 該当しない場合は、orrxu.propertiesファイルのデフォルトのビジネス・エンティティ名を使用します。

10.3.2.1.2 サービス・キー

Oracle Service Registryにサービスを公開すると、新しいサービス・キーが自動的に生成され、Oracle Enterprise RepositoryおよびOracle Service Registry内のサービスに割り当てられます。また、アセット・エディタを介してサービスに独自のサービス・キーを指定することもできます。


注意:

独自のサービス・キーを指定する場合、英数字および':'、'.'、'%'、'_'および'-'のみを含める必要があります。サービスがUDDIレジストリに公開されると、サービス・キーがorg.apache.axis.types.URIオブジェクトに変換されます。したがって、これはURI構文に従う必要があります。


UDDIプラグインが適用されているタイプの場合、UDDIサービス・セクションの下の「技術的」タブにある「サービス・キー」フィールドを使用できます。このフィールドに移入されている場合、サービス・キーはOracle Service Registryに同期されます。ただし、このサービスが公開された場合、このフィールドは編集できなくなります。

Oracle Enterprise Repositoryでは、サービスの公開先であるUDDIレジストリの存在により、公開済ステータスを確認します。


注意:

UDDIレジストリ表が削除機能を使用してすべてのエンドポイントまたはサービスから除去されると、サービス・キーは書込み可能になります。ただし、サービス・キーを変更し、UDDIレジストリに再公開すると、サービス・キーが同期しなくなります。これはサポートされていません。サービス・キーを変更する場合は、UDDIレジストリ内の対応するサービスを削除して再公開する必要があります。


これを確認するために、サービスに属するエンドポイント用として、UDDIレジストリが表示される表が用意されています。この表は、「技術的」タブにあります。ただし、Oracle Enterprise Repository内にローカルに格納されているWSDLによってサービスが定義される場合、エンドポイントはUDDIレジストリに公開されません。このため、この表は、「技術的」タブ内のサービス・アセットにあります。

Exchange Utility構成でエンドポイント・アセット・タイプが使用されていない場合は、UDDIレジストリ・プラグインを手動で追加する必要があります。これを行うには、タイプ・マネージャに移動し、使用されているアセット・タイプを選択します。目的のタブを選択し、「要素」の下の「追加」を選択します。リストから、「UDDIレジストリ」を選択します。また、このプラグインは必ず「ビューア」タブに追加してください。

アセット・タイプの変更の詳細は、『Oracle Fusion Middleware Oracle Enterprise Repositoryユーザーズ・ガイド』を参照してください。

10.3.2.1.3 エンドポイント

次に示すように、公開されるサービス・アセットに、1つ以上の関連するエンドポイント・アセットがあるかどうかを確認します。

  • 該当する場合は、UDDIバインディング・テンプレートを作成します(初回のみ)。以前に同期されている場合は、既存のバインディング・テンプレートを更新します。UDDIアクセス・ポイントに到達するには、エンドポイント・アセットでエンドポイントURIを使用します。エンドポイント・アセットのファイル情報にアタッチされるWSDLからポートを導出します。WSDLがOracle Enterprise Repositoryにローカルで格納されている場合、Oracle Service Registry内の既存のバインディング・テンプレートは更新されません。

  • 該当しない場合は、サービス・アセットのファイル情報にアタッチされるWSDLに基づいてバインディング・テンプレートを作成します(WSDLにポート情報が含まれる場合)。バインディング・テンプレートは、リモート(http://)に位置するWSDLに対してのみ作成されます。Oracle Enterprise Repositoryにローカルで格納されるWSDLは含まれません。

  • アセット・ライフサイクルがエンドポイントにアタッチされる場合や、エンドポイント・アセット・ライフサイクル問合せが使用される場合は、アセット・ライフサイクルに基づいてエンドポイントをフィルタ処理します。たとえば、ステージング・エンドポイントをステージング・レジストリに公開し、本番エンドポイントを本番レジストリに公開できます。

10.3.2.1.4 カテゴリ分け

次に示すように、カテゴリ分けがサービス・アセットとエンドポイント・アセットに適用されるかどうかを確認します。

  • 該当する場合は、適用される各カテゴリ分け用のカテゴリ分けマッピングをUDDIMappings.xmlファイルからロードします。

    • マッピングが見つかった場合は、カテゴリ・バッグへのエントリをビジネス・サービスまたはバインディング・テンプレートに追加します。

    • t-modelがOracle Service Registryに見つからない場合は、t-modelを自動的に作成します。

  • 該当しない場合、カテゴリ分けはOracle Service Registryのサービスに適用されません。

10.3.2.1.5 登録およびアクティブ・ステータス

登録およびアクティブ・ステータスは、カテゴリ・バッグに追加されます。図10-8は、Oracle Service Registryで参照がどのように表示されるかを示しています。

図10-8 Oracle Service RegistryのWSDLサービスのt-modelカテゴリ

図10-8の説明が続きます
「図10-8 Oracle Service RegistryのWSDLサービスのt-modelカテゴリ」の説明

図10-9は、Oracle Enterprise Repositoryのサービスにリンクされる2つのエンドポイントがOracle Service Registryでどのように表示されるかを示しています。

図10-9 Oracle Service RegistryでのWSDLバインディング

図10-9の説明が続きます
「図10-9 Oracle Service RegistryでのWSDLバインディング」の説明

図10-10および図10-11は、異なるエンティティとそれらのリレーションシップがOracle Enterprise Repository Navigatorでどのように表示されるかを示しています。

図10-10 Oracle Enterprise Repository Navigatorでのエンティティのリレーションシップ

図10-10の説明が続きます
「図10-10 Oracle Enterprise Repository Navigatorでのエンティティのリレーションシップ」の説明

図10-11 Oracle Enterprise Repository Navigatorでの別のエンティティのリレーションシップ

図10-11の説明が続きます
「図10-11 Oracle Enterprise Repository Navigatorでの別のエンティティのリレーションシップ」の説明

10.3.2.1.6 Oracle Enterprise RepositoryからOracle Service Registryへのメタデータのフロー例

図10-12は、この項で説明した、Oracle Enterprise RepositoryからOracle Service Registryへのメタデータの同期を示しています。

図10-12 Oracle Enterprise RepositoryからOracle Service Registryに公開されるメタデータのフロー

図10-12の説明が続きます
「図10-12 Oracle Enterprise RepositoryからOracle Service Registryに公開されるメタデータのフロー」の説明

10.3.2.2 Oracle Service RegistryからOracle Enterprise Repositoryに移動するメタデータの同期

この項では、Oracle Service Registryからアセットを受け取ってリポジトリに格納する場合のメタデータの同期方法について説明します。内容は次のとおりです。

10.3.2.2.1 ビジネス・エンティティ

次に示すように、受け取るサービス・アセットが存在し、そのアセットがビジネス・エンティティ・アセットに関連付けられているかどうかを確認します。

  • 該当する場合は、同じビジネス・エンティティのリレーションシップが使用されます。

  • 該当しない場合は、Oracle Service Registry側のビジネス・エンティティが使用されます。Oracle Enterprise Repositoryにビジネス・エンティティが存在しない場合は、作成されます。

サービス・アセットが新しく作成される場合は、UDDIビジネス用のデフォルトのビジネス・エンティティのアセット・タイプをOracle Enterprise Repositoryの構成から取得します。

  • 見つかる場合は、システム設定から

  • 見つからない場合は、orrxu.propertiesファイルから

次に示すように、その名前とタイプのアセットが存在するかどうかを確認します。

  • 該当する場合は、構成済のリレーションシップを使用して、その既存のアセットを新しく作成されるサービス・アセットに関連付けます。

  • 該当しない場合は、新しいアセットを作成し、構成済のリレーションシップを使用して、そのアセットを新しく作成されるサービス・アセットに関連付けます。

10.3.2.2.2 エンドポイント

次に示すように、受け取るサービス・アセットに、1つ以上の関連するエンドポイント・アセットがあるかどうかを確認します。

  • 該当する場合は、UUIDを使用して、エンドポイント・アセットが既存のバインディング・テンプレートと同じであるかどうかを確認します。同じ場合は、エンドポイントを更新します。

  • 該当しない場合は、各バインディング・テンプレート用のエンドポイントを作成し、それらをサービス・アセットに関連付けます。

10.3.2.2.3 カテゴリ分け

次に示すように、カテゴリ分けがカテゴリ・バッグに存在するかどうかを確認します。

  • 該当する場合は、適用される各カテゴリ分け用のカテゴリ分けマッピングをUDDIMappings.xmlファイルからロードします。

  • マッピングが見つかった場合は、サービス・アセットのカテゴリ分けを設定します。

10.3.2.2.4 Oracle Service RegistryからOracle Enterprise Repositoryへのメタデータのフロー例

図10-13は、この項で説明した、Oracle Service RegistryからOracle Enterprise Repositoryへのメタデータの同期を示しています。

図10-13 Oracle Service Registryから受け取ったメタデータのフロー

図10-13の説明が続きます
「図10-13 Oracle Service Registryから受け取ったメタデータのフロー」の説明

10.3.3 Oracle Enterprise Repository内のOracle Service Registryの交換されるメタデータの検索

Oracle Registry Repository Exchange Utilityでは、公開されたサービスおよび受け取ったサービスごとに、問合せに使用できる次のような情報がタグ付けされます。

  • 公開または受取りの日時

  • ソースと宛先のレジストリ

公開されたサービスまたは受け取ったサービスの情報に対する問合せを実行するには、次の手順に従って、Oracle Enterprise Repositoryの「詳細な検索オプション」機能を使用します。

  1. Oracle Enterprise Repository Webコンソールで、「アセット」ページを開きます。

  2. サイドバーにある「検索」ボックスで、「詳細な検索オプション」リンクをクリックします。「詳細な検索オプション」ダイアログが表示されます。

  3. 追加基準によるフィルタ・オプションを選択して、フィルタ処理基準の追加のオプションを表示します。

  4. 「フィールドの選択」リストで、「internal.alrr.exchange.store」オプションを選択します。

  5. 図10-14に示すように、「追加」ボタンの横にあるフィールドに、メタデータが交換された日付を入力します。

    図10-14 「詳細な検索オプション」ダイアログ

    図10-14の説明が続きます
    「図10-14 「詳細な検索オプション」ダイアログ」の説明

  6. ダイアログの一番下にある「検索」ボタンをクリックします。

    Oracle Enterprise Repositoryの検索オプションの使用の詳細は、『Oracle Fusion Middleware Oracle Enterprise Repositoryユーザーズ・ガイド』を参照してください。

10.3.4 Oracle Registry Repository Exchange Utilityのログ・ファイルの確認

Oracle Registry Repository Exchange Utilityでは、実行される詳細なタスクのロギングにlog4jを使用します。ログ・ファイルは、<ExhangeUtility Tool Home>ディレクトリに格納されます。ロギング・オプションの変更は、<ExhangeUtility Tool Home>ディレクトリにあるlog4fl.propertiesファイルを更新して行うことができます。

10.3.5 既知の問題

この項では、Oracle Registry Repository Exchange Utilityの使用時の既知の問題について説明します。内容は次のとおりです。

10.3.5.1 Oracle Service Registryサービスの再同期

以前に同期されたサービスをOracle Service Registryと同期するときに、Oracle Service Registryブラウザ・インスタンスがすでに開いている場合、Oracle Service Registryでは更新された値が表示されないという既知の問題があります。そのため、更新された値を参照するには、すべてのOracle Service Registryブラウザ・インスタンスを閉じてから再起動する必要があります。

10.3.5.2 サービスのOracle Service Registryへの公開

  1. サービスがOracle Enterprise RepositoryからOracle Service Registryに公開されると、Oracle Service RegistryでサービスのWSDLの場所を示すURLを開こうとするときにエラーが発生する可能性があります。

    回避策:

    Oracle Enterprise Repositoryコンソールのログイン先の同じブラウザ・インスタンスに、WSDLの場所を示すURLをコピー・アンド・ペーストします。

  2. Oracle Enterprise Repository Registry Exchange Utilityを使用してサービスをOracle Service Registryに公開した場合、サービス・レジストリでこのサービスに対して新しいサービス・キーが生成されます。サービス・キーはすべて、サービス・アセットとすべてのサービス・レジストリ・インスタンス間で一貫性のある状態で保持されています。Oracle Enterprise Repository Exchange Utilityでは複数のレジストリに対するサービス・エンドポイントの同時公開がサポートされるため、このサービス・キーはすべてのレジストリにわたるサービスに対して一貫性のある状態で保持されます。

    回避策:

    ありません。

  3. サービス・キーが含まれないOracle Enterprise RepositoryサービスがOracle Service Registryに発行されると、サービス・アセットのUUIDからサービス・キーが作成されます。このサービスが複数のレジストリに発行されると、このサービス・キーがすべてのレジストリにわたって保持されます。

    回避策:

    ありません。

10.3.5.3 不適切なバージョンのJavaの実行

Oracle Enterprise Repository Registry Exchange Utilityを実行するときに、最小限必要なJDK 1.6バージョンを使用していない場合、次のエラー・メッセージが表示されます。

Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad
version number in .class file
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
        at
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
@         at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
@         at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
@         at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
        at java.security.AccessController.doPrivileged(Native Method)