この章では、エンティティ・アクセス制御メカニズムについて説明します。このメカニズムでは、ユーザーおよびグループがOracle Service Registryの構造にアクセスするためのパーミッションを定義します。
ユーザー・グループには、パブリックとプライベートの2つのタイプがあります。パブリック・グループおよびプライベート・グループは、いずれもレジストリの全ユーザーから参照できます。つまり、ユーザーは誰でも、どのようなグループが存在しているのかを把握できます。パブリック・グループとプライベート・グループの違いは、パブリック・グループのメンバーがレジストリの全ユーザーから参照可能であるのに対して、プライベート・グループのメンバーはグループの所有者のみから参照可能である点です。
![]() | 注意 |
---|---|
Oracle Service Registryには、別のパーミッションもあり、APIおよびその操作へのアクセスを制御するために使用されます。APIのパーミッションとは、ユーザーまたはグループと操作との関係を示すだけのものです。詳細は、「管理者ガイド」の「パーミッション: 原則」を参照してください。 |
この章で取り上げるパーミッションは、データ・アクセスのパーミッション - ACLパーミッションを対象としています。
ここでは、ACLパーミッションに関して次の用語を使用します。
パーティ ユーザーまたはユーザー・グループ
コア構造 主なUDDIデータ構造の1つ。businessEntity、businessService、bindingTemplateまたはtModel
アクション 操作のこと。エンティティに対する検索、取得、保存、削除の他、サブエンティティを保存する特殊なアクションとして作成があります。(たとえば、businessServiceに対して作成のパーミッションを持つユーザーは、businessServiceの下にbindingTemplatesを新規に保存できますが、businessService全体を更新することはできません。)作成のパーミッションはbusinessEntityおよびbusinessServiceにのみ有効です。これは、bindingTemplatesおよびtModelにはサブエンティティがないためです。
標準UDDIアクセス制御には、UDDIコア構造の所有者のみがその構造を更新または削除できると定義されています。いずれのユーザーもコア構造を検索または取得できます(ただし、削除済/非表示のtModelはfind_tModel操作ではなく、get_tModelDetail操作で参照可能です)。標準アクセス制御では十分ではないケースがあるため、UDDIエンティティにACL(アクセス制御リスト)を追加して、標準UDDIアクセス制御を上書きできます。
例:
Webサービスの作成中は、開発チームのメンバー以外は、そのUDDI表現(businessServiceおよびbindingTemplate)を参照できないようにする必要があります。それ以外のユーザーからは、そのUDDI表現をget_serviceDetail操作またはfind_service操作の結果セットで取得できないようにする必要があります。さらに、get_businessDetailまたはfind_business操作の結果(上位のbusinessEntityが含まれています)に、そのbusinessServiceが存在しないようにする必要があります。
一方、(サービス・プロトタイプが実行されている)サーバーがダウンした場合には、管理者が別のサーバーにWebサービスをデプロイし、bindingTemplate内のaccessPointでサービス・エンドポイントを修復できる必要があります。管理者がそのbindingTemplateの所有者でない場合でもこの操作を実行できるようにします。
明示的なパーミッションにより、指定のエンティティでアクションを処理するパーティにアクセス権を付与(許可のパーミッション)または取り消し(禁止のパーミッション)ます。
明示的なパーミッションは、特殊なkeyedReferenceとしてエンティティとともにcategoryBagに保存されます。詳細は、後述する「UDDI v3構造でのACLの設定」および「UDDI v1およびv2構造でのACLの設定」を参照してください。
エンティティの検索/取得アクションに明示的パーミッションが設定されていない場合は、誰でもそのエンティティを検索/取得できます。エンティティの保存/削除アクションに明示的パーミッションが設定されていない場合は、そのエンティティの所有者のみが保存/削除できます。これは、標準UDDIアクセス制御です。アクションに明示的パーミッションが設定されている場合は、次のルールに示す、別のアクセス制御が使用されます。
所有者は自由に操作を実行できます。所有者は、パーミッションが明示的に取り消されても、所有するエンティティに対しては常に操作を実行できます。
ユーザーに対する禁止のパーミッションは、許可のパーミッションよりも優先されます。例: ユーザーUは、businessEntity BEに対する取得アクションに関して明示的な許可のパーミッションを持っています。ただし、UがBEに対する取得アクションに関して明示的な禁止のパーミッションも持っている場合、ユーザーUがBEに対してget_businessDetailを処理しようとすると失敗します。
グループに対する禁止のパーミッションは、許可のパーミッションよりも優先されます。例: ユーザーUは、グループG1およびG2に所属しています。グループG1は、BEに対する取得アクションに関して明示的な許可のパーミッションを持っています。グループG2は、BEに対する取得アクションに関して明示的な禁止のパーミッションを持っています。この禁止のパーミッションのため、ユーザーUがBEに対してget_businessDetailを処理しようとすると失敗します。
ユーザーのパーミッションの方がグループのパーミッションよりも優先されます。例: ユーザーUは、businessEntity BEに対する取得アクションに関して明示的な許可のパーミッションを持っています。Uが所属するグループGは、BEに対する取得アクションに関して明示的な禁止のパーミッションを持っています。ユーザーUは、グループGに所属していても、BEに対してget_businessDetailを処理できます。
エンティティの所有者は常に、直接のサブエンティティに対してget_XXXを実行できます。例: ユーザーU1はbusinessEntity BEを所有しています。U1(所有者)は、ユーザーU2に作成のパーミッションを付与します。次に、U2はBEの下に新しいbusinessService BSをbindingTemplate BTとともに保存します。ユーザーU1がget_businessDetailを実行すると、BEがBSとともに取得されますが、BTは取得されません。BTはBEの直接のサブ要素ではないためです。
モチベーション: このルールによって、エンティティの所有者は直接のサブエンティティをすべて把握できます。サブエンティティの数は制限されます。デフォルトでは、ユーザーが保持できるbusinessEntityは1つのみで、businessEntityにつき4つのbusinessServices、businessServiceごとに2つのbindingTemplates、および10個のtModelを保存できます。ユーザーU1が、businessEntity BEを持っているとします。ユーザーU2は、BEにbusinessServicesを保存できます(BEに対する作成のパーミッション)。U2がすでにBEに4つのbusinessServicesを保存している場合、ユーザーU1は新規のbusinessServiceを保存できません。このため、businessEntityの所有者は制限値に達した理由を調べる必要があります。
削除および保存の許可パーミッションは、親エンティティから継承され、サブエンティティに対する禁止のパーミッションよりも優先されます。例: ユーザーUは、businessEntity BEに対する削除のパーミッションを持っています。その場合、Uはdelete_business操作を実行し、BEをそのbusinessServiceおよびbindingTemplateとともにすべて削除できます。サブエンティティの中にユーザーUの削除に対する禁止のパーミッションを持つものがある場合も、削除できます。
モチベーション: サブエンティティを親エンティティの削除から除外することはできません。このルールによって、エンティティを保存/削除できるユーザーは、サブエンティティに対する十分な権限がなくても、この操作を実行できます。
save_XXX操作による更新を実行するには、保存と取得の両方のパーミッションが必要です。例: ユーザーU1は、businessEntity BEに対する保存および取得のパーミッションを持っていますが、所有者ではありません。ユーザーU2はBEを所有し、U1に対する取得パーミッションがあるbusinessService BS1および何のパーミッションもないbusinessService BS2を保存しています。BS1とBS2の両方が、BEの下に作成されます。U1は、BS1のみがあるBEを取得し、BEを更新(カテゴリを追加し、BS1を含めずに再度BEを保存できます)します。実際は、BEを更新すると、BS1は削除されますが、BS2は残ります。
例:
ユーザーU1は、businessEntity BEを所有しています。ユーザーU1は、ユーザー・グループG1に対して明示的な取得許可パーミッションを定義します。BEに対する検索は、誰でも実行できます。検索に対する明示的パーミッションがなく、標準UDDIアクセス制御が使用されるためです。ただし、BEを取得できるのは、ユーザーU1(所有者)およびグループG1のユーザーのみです。
businessService BSは、businessEntity BE1からbusinessEntity BE2に移動できます。BS上でsave_service操作を実行すると、BSのbusinessKeyはBE2を指すように更新されます。このアクションを実行するには、パーティがBE1、BE2およびBSを保存するパーミッションを持っている必要があります。このいずれのエンティティも変更されるためです。
bindingTemplate BTも同じく、businessService BS1からbusinessService BS2に移動できます。この移動を行うパーティは、BS1、BS2およびBTに対する保存パーミッションを持っている必要があります。
businessEntity BE1に保存されているbusinessService BSを、businessEntity BE2に移動することができます。BSを移動するパーティは、BE2に対する保存パーミッションを持っている必要があります。
ACLのロジックでは、パーミッションの評価時に、あらかじめ作成されている特殊な抽象グループが考慮されます。 これらの抽象グループを使用すると、パブリッシャは特定のOracle Service Registryユーザー群にパーミッションを付与できます。
Oracle Service Registryの全ユーザーが含まれます(Oracle Service Registryアカウントを持つかどうか、認証されたかどうかにかかわらず、すべてのユーザー)。このグループを使用すると、ユーザー全員が常に関連データに対して指定のパーミッションを持ちます。
認証されたOracle Service Registryユーザー全員が含まれます。認証されたユーザー(つまり、アカウントを持ち、Oracle Service Registryにログインしたユーザー)全員がこのグループのメンバーになります。このグループを使用すると、認証されたユーザー全員が常に関連データに対して指定のパーミッションを持ちます。
ローカル・イントラネット経由でOracle Service Registryにアクセスするユーザーが含まれます。(このグループは将来のリリース用です。 Oracle Service Registry10.3現在、このグループは使用されません)。
ACLパーミッションは、tModelに指定します。詳細は次のとおりです。
ACLパーミッション | v3 tModelKey | v2 tModelKey |
---|---|---|
検索許可 | uddi:systinet.com:acl:find-allowed | uuid:aacfc8e0-dcf5-11d5-b238-cbbeaea0a8d4 |
検索禁止 | uddi:systinet.com:acl:find-denied | uuid:ced3c160-dcf5-11d5-b238-cbbeaea0a8d4 |
取得許可 | uddi:systinet.com:acl:get-allowed | uuid:f9977a90-dcf5-11d5-b238-cbbeaea0a8d4 |
取得禁止 | uddi:systinet.com:acl:get-denied | uuid:09e202d0-dcf6-11d5-b238-cbbeaea0a8d4 |
保存許可 | uddi:systinet.com:acl:save-allowed | uuid:19885bd0-dcf6-11d5-b239-cbbeaea0a8d4 |
保存禁止 | uddi:systinet.com:acl:save-denied | uuid:2a25e610-dcf6-11d5-b239-cbbeaea0a8d4 |
削除許可 | uddi:systinet.com:acl:delete-allowed | uuid:37f44ac0-dcf6-11d5-b239-cbbeaea0a8d4 |
削除禁止 | uddi:systinet.com:acl:delete-denied | uuid:4e51d8f0-dcf6-11d5-b239-cbbeaea0a8d4 |
作成許可 | uddi:systinet.com:acl:create-allowed | uuid:5bc32980-dcf6-11d5-b239-cbbeaea0a8d4 |
作成禁止 | uddi:systinet.com:acl:create-denied | uuid:6d0be7e0-dcf6-11d5-b239-cbbeaea0a8d4 |
UDDI v3では、明示的なACLパーミッションは、専用のkeyedReferenceGroupに、tModelKey uddi:systinet.com:aclとともに指定します。このkeyedReferenceGroupには、ACL tModelへのkeyedReferenceのみを含めることができます。これに含まれるkeyNameにのみ「user」および「group」を指定でき、keyValueには(keyName値に従って)ユーザーまたはグループの名前を含める必要があります。
たとえば、ユーザーdemo_johnは、次のbusinessEntityをその所有者でなくても保存(更新)できます。
UDDIのバージョン1および2では、明示的なACLパーミッションをcategoryBagの専用のkeyedReferenceに指定します。このkeyedReferenceは、ACLパーミッションを表しているtModelの1つを参照します。これに含まれるkeyNameには、「user」および「group」のみを指定でき、keyValueには(keyName値に従って)ユーザーまたはグループの名前を含める必要があります。
たとえば、ユーザーdemo_johnは、次のbusinessEntityをその所有者でなくても保存(更新)できます。
<businessEntity ...> ... <categoryBag> <keyedReference tModelKey="uuid:19885bd0-dcf6-11d5-b239-cbbeaea0a8d4" keyName="user" keyValue="demo_john"/> ... </categoryBag> </businessEntity>
![]() | 注意 |
---|---|
bindingTemplate構造には、UDDI v1/v2のcategoryBagがないため、ACLパーミッションを設定できません。 |
UDDI v1およびv2では、構造を公開すると、自動的にキーが生成されます。これらのバージョンで生成されるキーは、(uuid:)8-4-4-4-12という形式です。いずれの数字も、16進値の数を示します。たとえば、uuid:327A56F0-3299-4461-BC23-5CD513E95C55のようになります。接頭辞uuid:はtModelKeyでのみ使用されていたという点に注意してください。
UDDI v3では、最初に構造を保存するときに、ユーザーがキーを割り当てることができます。キーの長さは最大255文字で、数字とアルファベットを使用できるため、キー自体にUDDI構造の意味を記述します。たとえば、キーuddi:systinet.com:uddiRegistry:demo:businessServiceには次の要素が含まれています。
接頭辞uddi:は、http:またはftp:とよく似たスキーマであり、必須の要素です。
systinet.comは、任意のホスト名です。
要素uddiRegistry、demoおよびbusinessServiceは、ドメインの階層を表します。ドメインdemoは、uddiRegistryのサブドメインです。
ここでは、以上の内容を理解しておいてください。キーに関するより詳細な説明については、『UDDI v3 Specification』を参照してください。
キー・ジェネレータtModelは、domain:keygenerator形式のキーがあるtModelです。このtModelを使用すると、その所有者はdomain:string形式のキーで、構造を保存できます。たとえば、tModel uddi:systinet.com:uddiRegistry:demo:keygeneratorにより、キーを使用して次のように構造を公開できます。
uddi:systinet.com:uddiRegistry:demo:businessService
uddi:systinet.com:uddiRegistry:demo:b52
いずれも、uddi:systinet.com:uddiRegistry:demoドメインの派生キーです。
例外として、キー・ジェネレータtModelではuddi:systinet.com:uddiRegistry:demo:businessService:exchangeRateなどサブドメインに基づくキー(つまり、uddi:systinet.com:uddiRegistry:demo:businessServiceの派生キー)を保存できません。
ただし、キー・ジェネレータtModelでは、直接のサブドメインごとにキー・ジェネレータを保存できます。たとえば、ユーザーはuddi:systinet.com:uddiRegistry:demo:businessService:keygeneratorを保存できます。この2つ目のキー・ジェネレータを作成した後に、ユーザーはuddi:systinet.com:uddiRegistry:demo:businessService:exchangeRateなどのuddi:systinet.com:uddiRegistry:demo:businessServiceドメインのキーで構造を保存できます。
![]() | 重要 |
---|---|
ドメインのキーを生成するには、ユーザーはそのドメインのキー・ジェネレータtModelを所有している必要があります。キー・ジェネレータtModelがなくても、割り当てたキーを使用して構造を保存できるのは、管理者のみです。管理者以外のユーザーにもこの処理を実行できるようにするには、管理者がドメインのtModelを保存し、管理転送によってその所有権を目的のユーザーに変更する必要があります。詳細は、「管理転送の公開」を参照してください。 |
前述のルールにより、同じキーを持つ構造を2人のユーザーが作成することはできません。1人のユーザーがキーを保持したままUDDI構造をレジストリ間でコピーしようとすると、複雑な状況が発生します。次の2つの問題があります。
コピー元の構造のキーが、コピー先のレジストリに存在しないようにする必要があります。キーは一意である必要があります。このことは、UDDI仕様で規定されています。
ユーザーは、コピー先のレジストリに、自分でキーを指定した構造を保存することを許可されている必要があります。
アフィリエート・レジストリのメカニズムによって、両方の問題が解決されます。アフィリエーションとは、2つのレジストリ間の関係です。コピー元のレジストリはあるドメインのキーの生成を断念し、この権限をコピー先のレジストリに移管します。これで、両レジストリのキーが一意になります。
![]() | 注意 |
---|---|
この後の例では、2つのレジストリをマスター(master)とスレーブ(slave)とします。また、3人のユーザーがいます。
|
アフィリエーションを設定するには、次の手順を実行します。
スレーブ・レジストリの管理者(slave-admin)は、マスター・レジストリ(master-user2)にユーザー・アカウントを登録します。
master-user2は、マスター・レジストリの管理者にキー・ジェネレータtModelを要求します。
この管理者(master-admin)は、キー・ジェネレータtModelを作成し、管理転送を使用してそのtModelをmaster-user2アカウントに転送します。
ユーザー2は、スレーブ・レジストリ(slave-adminアカウントにはキーを割り当てるパーミッションがあります)に手動でキー・ジェネレータtModelをコピーし、このキー・ジェネレータに基づいてすべてのキーを生成するようにスレーブ・レジストリを設定します。詳細は、「管理者ガイド」の「Node」を参照してください。
スレーブ・レジストリまたはそのユーザーが生成するキーはすべて、キー・ジェネレータによって定義されたドメインまたはサブドメインに基づきます。
キーは、構造が属しているレジストリには関係なく、同一の構造を参照する必要があります。
slave-adminがslave-user3のキー・ジェネレータtModelを作成し、slave-user3がそのキー・ジェネレータを使用してスレーブ・レジストリに構造のキーを生成するとします。その構造をマスター・レジストリにコピーするには、このキー・ジェネレータtModelが両方のレジストリに存在する必要があります。
スレーブからマスター・レジストリに構造をコピーするには、次の手順を実行します。
slave-user3は、生成したキー・ジェネレータをコピーするようにユーザー2(slave-admin)に依頼する必要があります。アカウントmaster-user2の保有者(コピー元のキー・ジェネレータの所有者)のみが、マスター・レジストリに対してこのコピーを実行できるためです。
次に、master-user2はマスター・レジストリにコピーしたキー・ジェネレータの所有権をmaster-user3に転送します。これで、master-user3は生成されたキーを保持したまま構造をコピーできます。
Oracle Service Registryの範囲問合せ機能を使用すると、比較演算子(>、<)が使用可能なUDDIエンティティを検索して、keyedReferenceのkeyValueを照合できます。分類には、順序付けを決めるkeyValueのタイプが定義されています。順序付けのタイプには、文字列、数値およびカスタムがサポートされています。find_XXX問合せのkeyedReferenceは、検索修飾子リストで拡張されます。問合せ全体の検索修飾子と混同しないでください。検索修飾子は、比較演算子を指定するために使用します。
レジストリ・コントロールと範囲問合せを併用してUDDIデータ構造を検索する方法については、「カテゴリによるビジネスの検索」を参照してください。
![]() | 注意 |
---|---|
Oracle Service Registryに実装されている範囲問合せは、現在のUDDI v3仕様には定義されていないため、仕様を越えています。 |
次の検索修飾子がサポートされています。
equal - デフォルトの検索修飾子です。equal、greaterThan、lesserThan修飾子のいずれも指定されていない場合に使用されます。これは、標準UDDIとの下位互換性のために行われます。この修飾子を使用すると、リクエストのkeyedReferenceを、同じtModelKeyと同じkeyValueを使用して、データベースのすべてのkeyedReferenceと照合します。
greaterThan - この修飾子を使用すると、リクエストのkeyedReferenceを、同じtModelKeyとより大きいkeyValueを使用して、データベースのすべてのkeyedReferenceと照合します。
lesserThan - この修飾子を使用すると、リクエストのkeyedReferenceを、同じtModelKeyとより小さいkeyValueを使用して、データベースのすべてのkeyedReferenceと照合します。
notExists - この検索修飾子は、(keyValueだけでなく)すべてのkeyedReferenceに対して機能します。指定のkeyedReferenceがそのcategoryBagに存在しない場合にかぎり、エンティティはnotExists検索修飾子の検索結果と照合します。この検索修飾子は、必要に応じてgreaterThan、lesserThanおよびequal検索修飾子と併用できます。notExists検索修飾子を単独で使用すると、equal検索修飾子が自動的に考慮されます。
コンパレータと組み合わせて次のように使用できます。
検索修飾子のgreaterThanとequalをkeyedReferenceと併用し、同じtModelKeyで、そのkeyValue以上(>=)のすべてのkeyedReferenceとの照合に使用できます。
検索修飾子lesserThanとequalをkeyedReferenceと併用し、同じtModelKeyかつそのkeyValue以下(<=)のすべてのkeyedReferenceとの照合に使用できます。
検索修飾子lesserThanとgreaterThanをkeyedReferenceと併用し、同じtModelKeyかつそのkeyValueと等しくない(<>)すべてのkeyedReferenceとの照合に使用できます。
lesserThan、greaterThanおよびequalは併用できません。
次の例では、範囲問合せの使用法を示します。find_businessリクエストのcategoryBagに記述するkeyedReferenceについて考えてみます。
greaterThan categoryBagでtModelKeyがtmKeyと等しく、かつkeyValueがkvよりも大きいkeyedReferenceを持つビジネス・エンティティのみが返されます。
<keyedReference tModelKey="tmKey" keyValue="kv" keyName="kn"> <findQualifiers> <findQualifier>greaterThan</findQualifier> </findQualifiers> </keyedReference>
greaterThanおよびlesserThan categoryBagで、tModelKeyがtmKeyと等しく、かつkeyValueがkvと等しくないkeyedReferenceを持つビジネス・エンティティのみが返されます。
<keyedReference tModelKey="tmKey" keyValue="kv" keyName="kn"> <findQualifiers> <findQualifier>greaterThan</findQualifier> <findQualifier>lesserThan</findQualifier> </findQualifiers> </keyedReference>
notExists categoryBagでtModelKeyがtmKeyと等しくなく、かつkeyValueがkvと等しくないkeyedReferenceを持つビジネス・エンティティのみが返されます。
<keyedReference tModelKey="tmKey" keyValue="kv" keyName="kn"> <findQualifiers> <findQualifier>notExists</findQualifier> </findQualifiers> </keyedReference>
notExistsおよびgreaterThan categoryBagでtModelKeyがtmKeyと等しくなく、かつkeyValueがkv以下であるkeyedReferenceを持つビジネス・エンティティのみが返されます。
<keyedReference tModelKey="tmKey" keyValue="kv" keyName="kn"> <findQualifiers> <findQualifier>notExists</findQualifier> <findQualifier>greaterThan</findQualifier> </findQualifiers> </keyedReference>
notExists、greaterThan、およびequal categoryBagでtModelKeyがtmKeyと等しくなく、かつkeyValueがkv未満であるkeyedReferenceを持つビジネス・エンティティのみが返されます。
<keyedReference tModelKey="tmKey" keyValue="kv" keyName="kn"> <findQualifiers> <findQualifier>notExists</findQualifier> <findQualifier>greaterThan</findQualifier> <findQualifier>equal</findQualifier> </findQualifiers> </keyedReference>
デモ、「高度な照会 - 範囲問合せ」を参照してください。
『UDDI Version 3 Specification』には、businessEntity、businessService、bindingTemplateおよびtModelの4つの主なUDDI構造にコンテキストを設定するツールが用意されています。このドキュメントでは、この機能の基本原則および管理(分類)を取り上げます。
分類(値セット。UDDI仕様の用語)とは、categoryBag、identifierbagsまたはpublisherAssertionsで使用できるtModelのことです。 このtModelは、特定の形式に従っている必要があります。これによってOracle Service Registryが分類として認識することができます。tModelは、分類のタイプでカテゴリ化する必要があります。また、必要に応じてkeyedReferenceの値を検証するかどうか、検証する場合は検証方法についての情報で分類することもできます。
UDDIの仕様では、分類のタイプがカテゴリ化、categorizationGroup、識別子およびリレーションシップの4つに分けられています。
カテゴリ化は、4つの主なUDDI構造のいずれでも使用できます。カテゴリ化は、識別情報、場所、分類の説明など追加情報でタグ付けするのに使用します。
UDDI Version 3の新機能categorizationGroupは、複数のカテゴリ化を1つの論理的なカテゴリ化にグループ化します。たとえば、地理的な位置は経度と緯度という2つのカテゴリ化で構成されています。
識別子は、businessEntityおよびtModelで使用され、公開された情報を参照します。
リレーションシップは、publisherAssertionsでのみ使用され、2つのbusinessEntity間のリレーションを定義します。
分類のパブリッシャは、分類内でkeyedReferenceの値をチェックするかどうかを設定できます。
Oracle Service Registryでは、unchecked分類のkeyedReferenceに使用した値に対してはチェックが実行されません。unchecked分類は、uncheckedとマークされた分類またはchecked分類としてマークされていない分類です。この2つの状態は同じです。
分類がchecked分類である場合は、その分類を使用するすべてのkeyedReferenceにOracle Service Registryの検証サービスが実行されます。検証サービスでは、クレジット・カードやISBN番号の形式など、値に使用される確率が高い構文をチェックできます。既存国のみを許可するISO3166地理的分類のような分類では、リストと照らし合わせて値の存在がチェックされます。検証サービスでは、使用されているコンテキストに応じて値を許可または禁止することもできます。
Oracle Service Registryは、テクニカル・ノート『Providing A Value Set For Use In UDDI Version 3』に準拠しています。checked分類を作成するには、次の処理を実行する必要があります。
Valueset_validation APIを実装する検証サービスを準備およびデプロイします。
checked分類にカテゴリ化されるtModelを公開し、「unvalidatable」とマークします。
Valueset_validation APIおよび分類のtModelを実装するbindingTemplateを公開します。
「unvalidatable」のカテゴリ化を付けずに、そのbindingTemplateを指すカテゴリ化uddi-org:validatedByを含めてtModelを再公開します。
Oracle Service Registryでは、操作可能なビジネス・エンティティのbusinessServiceにbindingTemplateを公開する必要があります。このbusinessServiceが操作可能なビジネス・エンティティの一部でない場合は、checked分類が検証可能ではないため、keyedReferenceで使用できなくなることがあります。 このことは、Oracle Service Registry管理者のみがchecked分類を公開できることを意味します。
bindingTemplateには、useType属性をendPointに設定したaccessPointを含める必要があります。
accessPointが接頭辞class:で始まる場合、残りの部分にはインタフェースorg.systinet.uddi.client.valueset.validation.v3.UDDI_ValueSetValidation_PortTypeを実装し、かつOracle Service Registryクラス・ローダーからアクセスできるクラスの完全修飾名が含まれているとみなされます。
accessPointが接頭辞class:で始まらない場合、そのaccessPointはValueset_validation APIを実装するWebサービスのURLであるとみなされ、そのWebサービス用にスタブが作成されます。
Oracle Service Registryには、内部検証サービスと呼ばれる特殊な検証サービスが含まれています。このサービスは、分類APIを使用して公開された使用可能な値のリストを宣言するchecked分類で使用されます。
分類の作成者は、UDDIエンティティのカテゴリ化に使用するカテゴリ化分類にsystinet-com:isOrderedBy分類の適切なコンパレータ参照(コンパレータtModel)を割り当てることによって、keyValueの型を指定する必要があります。次のkeyValue型がサポートされています。
string: keyValueは文字列値として処理されます。keyValueのタイプが不明な場合、keyValueは文字列として処理されます。最大長は255文字です。
numeric: keyValueは小数として処理されます。整数部分の最大桁数は19で、小数点以下の最大桁数は6です。
custom - keyValueは、変換サービスを使用して、文字列または数値に変換する必要があります。詳細は、「カスタム序数タイプ」を参照してください。
たとえば、数値型のkeyValueを設定したカテゴリ化分類のtModelでは、そのcategoryBagに次のkeyedReferenceを指定する必要があります。
<keyedReference tModelKey="uddi:systinet.com:isOrderedBy" keyValue="uddi:systinet.com:comparator:numeric"/>
図42に、デモ・データのdemo:location:floor分類に数値型のkeyValueを割り当てる方法を示します。
![]() | 重要 |
---|---|
ユーザーが分類のkeyValue型を変更した際、Oracle Service Registryにその分類ですでにカテゴリ化されたエンティティがある場合には、Oracle Service Registry管理者はTransform keyed references(キー参照の変換)作業を行う必要があります。この作業を行うボタンは、「Registry management」リンクの「Manage」タブの下のレジストリ・コントロールにあります。「管理者ガイド」の「レジストリ管理へのアクセス」を参照してください。 |
カスタム序数タイプを定義できます。 使用可能な拡張を示すため、Oracle Service Registryには次の2つのデモ・コンパレータが含まれています。
systinet-com:comparator:date
systinet-com:comparator:stringToLowerCase
keyValueに日付値を指定して分類を作成する場合を考えてみます。分類のtModelに、<keyedReference tModelKey="uddi:systinet.com:isOrderedBy" keyValue="uddi:systinet.com:comparator:date"/>を指定する必要があります(つまり、このkeyedReferenceをcategoryBagに追加します)。この処理は、レジストリに日付のデモ・コンパレータがあるため非常に簡単です。この日付コンパレータがない場合を考えてみます。日付コンパレータをレジストリに作成するには、次の手順を実行します。
日付値を文字列値または数値に変換する変換サービスを作成します。 変換サービスには、TransformerKeyedReferenceApiを実装し、このクラスをOracle Service Registryクラス・パスに追加します。
日付のコンパレータtModelを新規に作成します。このtModelは、systinet-com:comparator分類を使用してコンパレータとしてカテゴリ化します。そのコンパレータで、変換サービスを参照します。この参照は、分類IsTransformedByで指定します(ここでは、"uddi:cba104c0-fb5c-11d8-8761-eb2505508761"が、変換サービスが指定されているbindingTemplateのキーです)。
![]() | 重要 |
---|---|
分類の変換サービスの実装を変更したときに、Oracle Service Registryにその分類ですでにカテゴリ化されたエンティティがある場合、Oracle Service Registry管理者はTransform keyed references(キー参照の変換)作業を行う必要があります。この作業を行うボタンは、「Registry management」リンクの「Manage」タブの下のレジストリ・コントロールにあります。「管理者ガイド」の「レジストリ管理へのアクセス」を参照してください。 |
図43に、日付のカテゴリ化を順序付けするtModel参照を示します。 この図では、XML-to-UDDI機能によってOracle Service Registryにマップされ、その後acceptancedate分類でカテゴリ化された注文伝票を示しています。そのカテゴリ化分類は、日付変換サービスの場所が指定されたbindingTemplateを参照するコンパレータtModel uddi:systinet.com:comparator:dateを参照する必要があります。
該当するkeyedReferenceが処理されるときに、変換サービスが呼び出されます。カスタム・タイプの分類tModelを使用したkeyedReferenceがエンティティに含まれている場合は、そのkeyedReferenceの正しい(変換後の)keyValueを検出するために、変換サービスが呼び出されます。このような変換後の値がデータベースに保存されます。このkeyedReference(同じ分類tModelのkeyedReference)でエンティティを検索すると、再度サービスが呼び出されて変換後の値が取得されます。変換後の値は、keyedReferenceの保存および検索に使用されます。
分類タイプを編集する方法については、「管理者ガイド」の「分類の編集」を参照してください。
この項では、分類APIおよび分類の永続形式に関する基本事項を示します。分類APIの包括的な説明は、「開発者ガイド」の「分類」を参照してください。
![]() | 注意 |
---|---|
わかりやすくするため、ここではXML表現を使用しますが、Javaオブジェクトでも同じ結果が得られます。 |
<taxonomy xmlns="http://systinet.com/uddi/taxonomy/v3/5.0" xmlns:uddi="urn:uddi-org:api_v3" check="false"> <tModel tModelKey="uddi:systinet.com:demo:myTaxonomy"> <uddi:name>My taxonomy</uddi:name> <uddi:description>Category system</uddi:description> </tModel> <compatibilityBag> <compatibility>businessEntity</compatibility> </compatibilityBag> <categorizationBag> <categorization>categorization</categorization> </categorizationBag> </taxonomy>
各分類を保存できるようにするには、有効なtModelが必要です。tModelには、tModelKeyと名前を含める必要がありますが、categoryBagの内容を設定する必要はありません。
分類属性checkによって、分類がチェックされるかどうかが決まります。
compatibilityBagは、Systinetのuddi:systinet.com:taxonomy:categorization分類に対するインタフェースであり、これを使用して、選択した分類の用途を4つの主なUDDI構造タイプだけにします。このようにすると、分類を選択したUDDI構造内でのみ使用し、それ以外の構造では使用できないようにすることができます。
categorizationBagでは、分類のタイプ(カテゴリ化、categorizationGroup、識別子またはリレーションシップ)を宣言します。
複数の値を組み合わせることもできます。
前述の例を使用して、unchecked分類をchecked分類に変換してみます。checked分類には、検証を含める必要があります。この例では、http://www.foo.com/MyValidationService.wsdlにあるカスタム検証Webサービスで分類をチェックしています。
<taxonomy xmlns="http://systinet.com/uddi/taxonomy/v3/5.0" xmlns:uddi="urn:uddi-org:api_v3" check="true"> <tModel tModelKey="uddi:foo.com:demo:myTaxonomy"> <uddi:name>My taxonomy</uddi:name> <uddi:description>Category system</uddi:description> </tModel> <compatibilityBag> <compatibility>businessEntity</compatibility> </compatibilityBag> <categorizationBag> <categorization>categorization</categorization> </categorizationBag> <validation> <bindingTemplate bindingKey="" serviceKey="" xmlns="urn:uddi-org:api_v3"> <accessPoint useType="endPoint"> http://www.foo.com/MyValidationService.wsdl </accessPoint> <tModelInstanceDetails> <tModelInstanceInfo tModelKey="uddi:uddi.org:v3_valueSetValidation"/> <tModelInstanceInfo tModelKey="uddi:systinet.com:demo:myTaxonomy"/> </tModelInstanceDetails> </bindingTemplate> </validation> </taxonomy>
validation要素には、検証Webサービスまたはカテゴリの構造を指定したbindingTemplateを含める必要があります。この例では、すでにbindingTemplateが選択されています。そのbindingTemplateには完全なaccessPointを含める必要があり、tModelInstanceDetailでは保存済分類のValueset_validation APIおよびtModelKeyを保持する必要があります。serviceKeyを指定し、かつbusinessServiceがすでに存在する場合、そのbusinessServiceは操作可能なビジネス・エンティティの一部である必要があります。
![]() | 重要 |
---|---|
このサービスは、save_taxonomyの実行時に置き換えられます。 |
許可された値を指定できる場合は、独自の検証Webサービスを実装する必要はありません。次のように、categories構造に許可された値を指定するだけです。後は内部検証サービスがkeyedReferenceの検証を実施します。
<taxonomy xmlns="http://systinet.com/uddi/taxonomy/v3/5.0" xmlns:uddi="urn:uddi-org:api_v3" check="true"> <tModel tModelKey="uddi:foo.com:demo:myTaxonomy"> <uddi:name>My taxonomy</uddi:name> <uddi:description>Category system</uddi:description> </tModel> <compatibilityBag> <compatibility>businessEntity</compatibility> </compatibilityBag> <categorizationBag> <categorization>categorization</categorization> </categorizationBag> <validation> <categories> <category keyName="Value A" keyValue="A"/> <category keyName="Value B" keyValue="B"> <category keyName="Value B1" keyValue="B1"/> <category keyName="Value B3" keyValue="B3" disabled="true" /> </category> <category keyName="Value C" keyValue="C"/> </categories> </validation> </taxonomy>
ここに示すとおり、階層的に値を配置できます。これは、ドリルダウン・パターンを実装するレジストリ・コントロールで有効です。必要な場合は、bindingTemplateにcategories構造を指定することもできますが、accessPointに内部検証サービスを指定する必要があります。
Oracle Service Registryには、次の分類があらかじめ用意されています。
uddi-org:typesはUDDIタイプ・カテゴリ・システムです。
v3 UDDIキー | uddi:uddi.org:categorization:types |
v2 UUIDキー | uuid:c1acf26d-9672-4404-9d70-39b756e62ab4 |
Categorization | categorization |
Compatibility | tModel |
checked | オン、内部検証サービス |
uddi-org:general_keywordsは、名前空間識別子およびその名前空間に関連するキーワードで構成されるカテゴリ・システムです。
v3 UDDIキー | uddi:uddi.org:categorization:general_keywords |
v2 UUIDキー | uuid:A035A07C-F362-44dd-8F95-E2B134BF43B4 |
Categorization | categorization |
Compatibility | tModel、businessEntity、businessService、bindingTemplate |
checked | オン |
uddi-org:entityKeyValuesは、ある値セットが、エンティティ・キーを有効な値として使用することを宣言するために使用するカテゴリ・システムです。
v3 UDDIキー | uddi:uddi.org:categorization:entitykeyvalues |
v2 UUIDキー | uuid:916b87bf-0756-3919-8eae-97dfa325e5a4 |
Categorization | categorization |
Compatibility | tModel |
checked | オン、内部検証サービス |
uddi-org:isreplacedbyは、UDDIキーを使用してUDDIエンティティを指す場合に使用する識別子システムで、isReplacedByが使用されたUDDIエンティティに対するいわゆる置換です。
v3 UDDIキー | uddi:uddi.org:identifier:isReplacedBy |
v2 UUIDキー | uuid:e59ae320-77a5-11d5-b898-0004ac49cc1e |
Categorization | identifier |
Compatibility | tModel、businessEntity |
checked | オン |
uddi-org:nodesは、レジストリのノードを指定するためのカテゴリ・システムです。
v3 UDDIキー | uddi:uddi.org:categorization:nodes |
v2 UUIDキー | uuid:327A56F0-3299-4461-BC23-5CD513E95C55 |
Categorization | categorization |
Compatibility | businessEntity |
checked | オン |
uddi-org:owningBusiness_v3は、tModelのパブリッシャに関するbusinessEntityを指すために使用するカテゴリ・システムです。
v3 UDDIキー | uddi:uddi.org:categorization:owningbusiness |
v2 UUIDキー | uuid:4064c064-6d14-4f35-8953-9652106476a9 |
Categorization | categorization |
Compatibility | tModel |
checked | オン |
uddi-org:validatedByは、関連する値セットのWebサービス実装に対して、値セットまたはカテゴリ・グループ・システムのtModelを指すために使用するカテゴリ・システムです。
v3 UDDIキー | uddi:uddi.org:categorization:validatedby |
v2 UUIDキー | uuid:25b22e3e-3dfa-3024-b02a-3438b9050b59 |
Categorization | categorization |
Compatibility | tModel |
checked | オン |
uddi-org:wsdl:typesは、WSDLタイプ・カテゴリ・システムです。
v3 UDDIキー | uddi:uddi.org:wsdl:types |
v2 UUIDキー | uuid:6e090afa-33e5-36eb-81b7-1ca18373f457 |
Categorization | categorization |
Compatibility | tModel、businessEntity、businessService、bindingTemplate |
checked | オン、内部検証サービス |
uddi-org:wsdl:categorization:protocol
v3 UDDIキー | uddi:uddi.org:wsdl:categorization:protocol |
v2 UUIDキー | uuid:4dc74177-7806-34d9-aecd-33c57dc3a865 |
Categorization | categorization |
Compatibility | tModel |
checked | オン |
uddi-org:wsdl:categorization:transport
v3 UDDIキー | uddi:uddi.org:wsdl:categorization:transport |
v2 UUIDキー | uuid:e5c43936-86e4-37bf-8196-1d04b35c0099 |
Categorization | categorization |
Compatibility | tModel |
checked | オン |
uddi-org:wsdl:portTypeReferenceは、portType tModelへのリレーションシップを特定するために使用できるカテゴリ・システムのtModelです。
v3 UDDIキー | uddi:uddi.org:wsdl:portTypeReference |
v2 UUIDキー | uuid:082b0851-25d8-303c-b332-f24a6d53e38e |
Categorization | categorization |
Compatibility | tModel |
checked | オン |
systinet-com:taxonomy:compatibilityによって、分類tModelにその他の情報を追加します。追加された構造でも、同じ分類を使用できます。
v3 UDDIキー | uddi:systinet.com:taxonomy:compatibility |
v2 UUIDキー | uuid:cf68c700-f93d-11d6-8cfc-b8a03c50a862 |
Categorization | categorization |
Compatibility | tModel |
checked | オン、内部検証サービス |
systinet-com:dependencyは、2つの構造(タイプが同一である必要はありません)の間にリンクを作成します。keyNameとkeyValueの両方を指定する必要があります。keyNameは、businessEntity、businessService、bindingTemplateおよびtModelのいずれかである必要があります。keyValueは、指定した構造の既存のUDDIキーである必要があります。
v3 UDDIキー | uddi:systinet.com:dependency |
v2 UUIDキー | uuid:179e5540-f27b-11d6-9738-b8a03c50a862 |
Categorization | categorization |
Compatibility | tModel、businessEntity、businessService、bindingTemplate |
checked | オン |
dnb-com:D-U-N-S - Thomas Registry Suppliers
v3 UDDIキー | uddi:uddi.org:ubr:identifier:dnb.com:d-u-n-s |
v2 UUIDキー | uuid:8609c81e-ee1f-4d5a-b202-3eb13ad01823 |
Categorization | identifier |
Compatibility | tModel、businessEntity、businessService、bindingTemplate |
checked | オフ |
microsoft-com:geoweb:2000 - Geographic Taxonomy: GeoWeb(2000 Release)
v3 UDDIキー | uddi:297aaa47-2de3-4454-a04a-cf38e889d0c4 |
v2 UUIDキー | uuid:297aaa47-2de3-4454-a04a-cf38e889d0c4 |
Categorization | categorization |
Compatibility | tModel、businessEntity、businessService、bindingTemplate |
checked | オフ |
ntis-gov:naics:1997 - Business Taxonomy: NAICS(1997 Release)
v3 UDDIキー | uddi:uddi.org:ubr:categorization:naics:1997 |
v2 UUIDキー | uuid:c0b9fe13-179f-413d-8a5b-5004db8e5bb2 |
Categorization | categorization |
Compatibility | tModel、businessEntity、businessService、bindingTemplate |
checked | オン、内部検証サービス |
ntis-gov:sic:1997 - Business Taxonomy: SIC(1997 Release)
v3 UDDIキー | uddi:70a80f61-77bc-4821-a5e2-2a406acc35dd |
v2 UUIDキー | uuid:70a80f61-77bc-4821-a5e2-2a406acc35dd |
Categorization | categorization |
Compatibility | tModel、businessEntity、businessService、bindingTemplate |
checked | オン、内部検証サービス |
ntis-gov:naics:2002 - Business Taxonomy: Business Taxonomy: NAICS(2002 Release)
v3 UDDIキー | uddi:uddi.org:ubr:categorization:naics:2002 |
v2 UUIDキー | uuid:1ff729f2-1948-46cf-b660-31ec107f1663 |
Categorization | categorization |
Compatibility | tModel、businessEntity、businessService、bindingTemplate |
checked | オン、内部検証サービス |
unspsc-org:unspsc:3-1 - Product Taxonomy: UNSPSC (Version 3.1)
v3 UDDIキー | uddi:db77450d-9fa8-45d4-a7bc-04411d14e384 |
v2 UUIDキー | uuid:db77450d-9fa8-45d4-a7bc-04411d14e384 |
Categorization | categorization |
Compatibility | tModel、businessEntity、businessService、bindingTemplate |
checked | オフ |
unspsc-org:unspsc - Product Taxonomy: UNSPSC(Version 7.3)
v3 UDDIキー | uddi:unspsc-org:unspsc |
v2 UUIDキー | uuid:cd153257-086a-4237-b336-6bdcbdcc6634 |
Categorization | categorization |
Compatibility | tModel、businessEntity、businessService、bindingTemplate |
checked | オン、内部検証サービス |
unspsc-org:unspsc:v6.0501 - Product and Service Category System: United Nations Standard Products and Services Code(UNSPSC)
v3 UDDIキー | uddi:uddi.org:ubr:categorization:unspsc |
v2 UUIDキー | uuid:4614C240-B483-11D7-8BE8-000629DC0A53 |
Categorization | categorization |
Compatibility | tModel、businessEntity、businessService、bindingTemplate |
checked | オン、内部検証サービス |
ws-i-org:conformsTo:2002_12は、準拠するWS-Iの概念を指すUDDIエンティティに使用するカテゴリ・システムです。
v3 UDDIキー | uddi:65719168-72c6-3f29-8c20-62defb0961c0 |
v2 UUIDキー | uuid:65719168-72c6-3f29-8c20-62defb0961c0 |
Categorization | categorization |
Compatibility | tModel |
checked | オフ |
次の分類は、Webサービス管理システムとの統合に使用します。
受信メッセージおよび送信メッセージの長さの平均合計
v3 UDDIキー | uddi:systinet.com:management:metrics:avg-byte |
v2 UUIDキー | uuid:3c13a2e2-dfd0-30a2-bd58-c5de8c2ae3bb |
Categorization | categorization |
Compatibility | tModel |
checked | オフ |
1時間当たりの平均入力メッセージ長
v3 UDDIキー | uddi:systinet.com:management:metrics:avg-byte-input |
v2 UUIDキー | uuid:f18a50ad-ddb2-392a-b97c-1181c67b2817 |
Categorization | categorization |
Compatibility | tModel |
checked | オフ |
平均出力メッセージ長
v3 UDDIキー | uddi:systinet.com:management:metrics:avg-byte-output |
v2 UUIDキー | uuid:7664723d-896a-3ed2-b7e9-46c9f38e7681 |
Categorization | categorization |
Compatibility | tModel |
checked | オフ |
1時間当たりの平均メッセージ・ヒット
v3 UDDIキー | uddi:systinet.com:management:metrics:avg-hits |
v2 UUIDキー | uuid:bf010bf9-cafa-3f68-bf51-3cde3bd0f483 |
Categorization | categorization |
Compatibility | tModel |
checked | オフ |
平均レスポンス時間(ミリ秒)
v3 UDDIキー | uddi:systinet.com:management:metrics:avg-response-time |
v2 UUIDキー | uuid:099d67a9-eae6-3c30-8be9-48b44c5d9728 |
Categorization | categorization |
Compatibility | tModel |
checked | オフ |
過去1時間のアプリケーション・エラーの数
v3 UDDIキー | uddi:systinet.com:management:metrics:errors |
v2 UUIDキー | uuid:b074de10-e781-383a-bd00-248a1c42f0fa |
Categorization | categorization |
Compatibility | tModel |
checked | オフ |
過去1時間のヒット数
v3 UDDIキー | uddi:systinet.com:management:metrics:hits |
v2 UUIDキー | uuid:720689a4-dce4-398c-adba-e5c0f50d1eb2 |
Categorization | categorization |
Compatibility | tModel |
checked | オフ |
受信メッセージおよび送信メッセージの長さの合計の中間値
v3 UDDIキー | uddi:systinet.com:management:metrics:median-byte |
v2 UUIDキー | uuid:0adefd4c-7624-3973-91a5-ea4971d6b0ef |
Categorization | categorization |
Compatibility | tModel |
checked | オフ |
受信メッセージ長の中間値
v3 UDDIキー | uddi:systinet.com:management:metrics:median-byte-input |
v2 UUIDキー | uuid:c9c2fd87-f806-3ca0-819e-3f788cc8fd95 |
Categorization | categorization |
Compatibility | tModel |
checked | オフ |
出力メッセージ長の中間値
v3 UDDIキー | uddi:systinet.com:management:metrics:median-byte-output |
v2 UUIDキー | uuid:bdb4e8f8-1aba-3558-b1f5-cf89b5455529 |
Categorization | categorization |
Compatibility | tModel |
checked | オフ |
レスポンス時間(ミリ秒)の中間値
v3 UDDIキー | uddi:systinet.com:management:metrics:median-response-time |
v2 UUIDキー | uuid:62f08146-1d3f-30e3-8c6a-1f2062c332d4 |
Categorization | categorization |
Compatibility | tModel |
checked | オフ |
過去1時間のポリシー違反の数
v3 UDDIキー | uddi:systinet.com:management:metrics:policy-violations |
v2 UUIDキー | uuid:be42511a-3c68-34d2-b137-d00e56bb4de4 |
Categorization | categorization |
Compatibility | tModel |
checked | オフ |
サービスに関するメトリックがすべて含まれているtModelへの参照。このtModelを参照するkeyedReferenceのkeyValueは、メトリックtModelのtModelKeyである必要があります。
v3 UDDIキー | uddi:systinet.com:management:metrics:reference |
v2 UUIDキー | uuid:0d709256-b9f3-30a3-9aa1-51a1adb11324 |
Categorization | categorization |
Compatibility | bindingTemplate |
checked | オン |
WSMプロキシ参照分類
v3 UDDIキー | uddi:systinet.com:management:proxy-reference |
v2 UUIDキー | uuid:79bf6f6d-b0b7-3f08-b45e-9893b525de9b |
Categorization | categorization |
Compatibility | bindingTemplate |
checked | オン |
WSMサーバー参照分類
v3 UDDIキー | uddi:systinet.com:management:server-reference |
v2 UUIDキー | uuid:1583604a-57a2-3887-9b1d-2549e270390c |
Categorization | categorization |
Compatibility | bindingTemplate |
checked | オン |
WSM状態分類
v3 UDDIキー | uddi:systinet.com:management:state |
v2 UUIDキー | uuid:73c7ef28-6150-36a0-ba82-414424ede582 |
Categorization | categorization |
Compatibility | bindingTemplate |
checked | オン |
WSM状態変更リクエスト分類
v3 UDDIキー | uddi:systinet.com:management:state-change-request-type |
v2 UUIDキー | uuid:64473cda-4a78-3ddb-b0c6-801533ce1943 |
Categorization | categorization |
Compatibility | bindingTemplate |
checked | オン |
WS管理システム分類
v3 UDDIキー | uddi:systinet.com:management:system |
v2 UUIDキー | uuid:e148d85e-cc08-32f6-8f00-db85e258e511 |
Categorization | categorization |
Compatibility | bindingTemplate |
checked | オフ |
WSMタイプ分類
v3 UDDIキー | uddi:systinet.com:management:type |
v2 UUIDキー | uuid:5d14645d-66ea-39ac-8122-49d06b09b492 |
Categorization | categorization |
Compatibility | bindingTemplate |
checked | オン |
エンドポイントURL分類
v3 UDDIキー | uddi:systinet.com:management:url |
v2 UUIDキー | uuid:4897f99b-bd23-3889-af37-b80351cf8b52 |
Categorization | categorization |
Compatibility | bindingTemplate |
checked | オフ |
レジストリにデータを公開するには、Oracle Service Registryアカウントが必要です。アカウントはWebインタフェースで作成できます。
ユーザー・アカウントを登録するには、次の手順を実行します。
レジストリ・コントロールのメイン・ページで「Register」リンクをクリックします。「Create account」ページが表示されます。
すべてのフィールドに値を入力します。アスタリスク(*)の付いたフィールドは必須です。電子メール・アドレスは、アカウントを有効にするために後で使用する場合があります。
「Create account」ボタンをクリックします。
新しいアカウントはこの時点で有効になります。
![]() | 注意 |
---|---|
ユーザー・アカウントを有効にするために電子メール確認を必要とするように、Oracle Service Registryを構成できます。この場合、Oracle Service Registryによって電子メール確認が送信されます。アカウントを有効にするには、この電子メールの指示に従います。 |
ログオンするには、レジストリ・コントロールの上部にある「Login」リンクをクリックし、ユーザー名およびパスワードを入力します。
レジストリにログインすると、様々なUDDI構造を公開、削除および更新できます。ユーザーはそれぞれ独自のアカウント情報にアクセスします。管理者はアカウント管理を利用できます。つまり、アカウントを削除および編集し、アカウント監査レポートを作成できます。
レジストリ・コントロールは、次のオブジェクトで構成されています。
A: メイン・メニュー・タブ
このタブでは、分類を使用してUDDIエンティティをブラウズできます。
このタブでは、レジストリを検索できます。UDDIエンティティに対して照会を実行し、ビジネス・エンティティ、サービス、バインディング、tModelおよび関連ビジネスを検索できます。 UDDIデータ・タイプ(ビジネス、サービス、バインディングおよびtModel)のキーがわかっているときには、メニュー・オプションを使用して、分類をブラウズし、Oracle Service Registryから直接情報を入手できます。
このタブでは、UDDI構造(businessEntity、businessService、bindingTemplateおよびtModel)を公開できます。また、このタブでは、ビジネス・エンティティ間のリレーションシップのアサート、レジストリに加えられた変更に関する情報の受信のサブスクライブ、選択したUDDI構造の所有権の転送(管理転送)、およびレジストリへのWSDLの公開を行えます。
ここでは、ユーザー・アカウント・プロパティ、アカウント・グループおよびお気に入りの分類を管理できます。
このタブは、Oracle Service Registry管理者が管理タスクを実行するのに使用します。詳細は、「管理者ガイド」を参照してください。
B: メニュー・バー ここにはサブメニュー・オプションがあります。
C: 履歴パス(ブレッドクラム) この領域には、最近実行したアクションのログが表示されます。ハイパーリンクをクリックすると、この以前のアクションのいずれにも戻ることができます。
D: ユーザー・アクション この領域にはコントロール要素がいくつか含まれており、ユーザーは次の操作を実行できます。
アカウントの作成
ログオン
ログアウト
E: ツリー表示領域 利用可能なオブジェクトのツリーが適宜表示されます。このツリーは、ビジネス・エンティティおよびその子オブジェクトを表示する場合、およびユーザーがUDDIワークスペースの階層概要を必要とする場合(公開する場合など)に表示されます。
F: メイン表示領域 タブおよびツリー表示から選択した情報が使用可能になります。
G: 表示タブ これらのタブでは、ユーザーが情報タイプに基づいてメイン領域の表示を制御できます。プレーンなリストにビジネス・プロパティをすべて掲載しようとすると、長すぎて読みづらくなります。ビジネス・プロパティをいくつかのタブに分けると、情報量が減り、読みやすくなります。表示される情報はコンテキストによって変化します。
H: アクション・ボタン メイン表示の内容に対して操作を実行できます。
I: 「Show/Hide」ボタン ツリー表示領域の非表示と表示を切り替えることができます。
J: アクション・アイコン この領域にはアイコンが2つあります。1つ目のアイコンはページ内容をリフレッシュし、もう1つのアイコンは製品ドキュメント・ページを開くことができます。
K: アクション・アイコン この領域のアイコンでは、表示タブのオン/オフを切り替えたり、現在のページをプリンタ優先モードで開くことができます。
L: コンテキスト・メニュー 図48に示すコンテキスト・メニューは、ツリー表示領域でノードのアイコンを右クリックすると表示されます。
詳細は、図47を参照してください。
「Profile」メニュー・タブでは、ユーザー・アカウント、ユーザー・グループおよびお気に入りの分類を管理できます。
アカウント・プロパティを更新するには、「My account」を選択し、「Edit account」ボタンをクリックします。
フィールドの説明(説明がなくてもわかるようなフィールドは省略)
デフォルトの言語コードを設定します。フィールドに必要な言語コードが指定されていないとき、公開時に使用されます。
Profile preference - このドロップダウン・リストから、優先する事前定義ユーザー・プロファイルを選択します。
ユーザー・グループをメンテナンスするには、「Groups」リンクをクリックします。「Groups」画面から、次の処理を実行できます。
独自のグループの作成および管理
グループ・メンバーシップの管理
新しいグループを作成するには、次の手順を実行します。
「Profile」メニュー・タブをクリックし、「Groups」リンクを選択します。これにより、図51に示すグループ・リストが表示されます。
「Add Group」ボタンをクリックします。
「Group name」編集ボックスに、グループの名前を入力します。
「public」および「private」の各ラジオ・ボタンを使用して、そのグループが全メンバーから参照可能であるか(パブリック)、グループの所有者のみから参照可能であるか(プライベート)を設定します。
「Filter」をクリックして、レジストリのユーザーのリストを表示します。
リストに含めるすべてのメンバーのボックスを選択し、右向きの矢印をクリックしてこれらのメンバーを「Group members」表に移動します。
ユーザーを追加した後、「Save Group」をクリックしてOracle Service Registryを更新します。
メンバーをグループに追加するか、またはグループから削除するには、次の手順を実行します。
「Profile」タブでは、お気に入りの分類を管理できます。お気に入りの分類のリストに含める分類を定義できます。お気に入りの分類を使用すると、UDDIエンティティを検索およびカテゴリ化するのが容易になります。
お気に入りの分類のリストを管理するには、次の手順を実行します。
「Profile」メニュー・タブをクリックします。「favorite taxonomies」リンクをクリックします。図53に示すように、お気に入りの分類のリストが表示されます。
分類を名前で検索するには、「Filter」をクリックします。
リストに含めるすべての分類のボックスを選択し、右向きの矢印をクリックしてこれらの分類をお気に入りの分類の表にコピーします。
分類を追加した後、「Save」ボタンをクリックしてレジストリを更新します。
この項では、分類構造をブラウズして、分類でカテゴリ化または識別されるUDDIエンティティを検出する方法について説明します。また、分類フィルタを定義し、問合せに検索基準を設定できます。 Oracle Service Registryには、あらかじめデモ・データ・セットがインストールされています。このデモ・セットは、レジストリの理解に役立つように作られています。
分類およびUDDIエンティティをブラウズするには、次の手順を実行します。
「Browse」メイン・メニュー・タブの下の「Taxonomies」リンクをクリックします。
図54に示すページが表示されます。
このページでは、ドロップダウン・リストを使用して、分類リストを「favorite taxonomies」、「enterprise taxonomies」および定義済の「filter」に切り替えることができます。
![]() | 注意 |
---|---|
「favorite taxonomies」オプションは、お気に入りの分類のリストが空でない場合にかぎり、ドロップダウン・リストに表示されます。お気に入りに分類を追加するには、お気に入りの分類の指示に従ってください。エンタープライズ分類のリストは管理者が定義します。詳細は、「管理者ガイド」の「分類管理」を参照してください。 |
最初「filter」には、システム分類以外の分類がすべて含まれています。ドロップダウン・リストの横のアイコンは、カテゴリ化されたエンティティの表示/非表示および空のカテゴリのすべて表示/非表示に使用します。
分類カテゴリをすべて表示するには、分類ツリーをドリルダウンします。サブカテゴリがある分類カテゴリは展開および縮小できます。
内部checked分類をブラウズすると、その値セットを表示して、それぞれのキー値でカテゴリ化されたUDDIエンティティを参照できます。unchecked分類または外部checked分類については、キー値でUDDIエンティティを検索できます。デモ・データからunchecked分類をブラウズする方法を次に示します。
demo:location:floor分類を使用してデモ・データをブラウズするには、次の手順を実行します。
また、問合せにこの検索基準を追加することもできます。
分類フィルタを定義すると、分類リストの分類の数を削減できます。分類ブラウズからフィルタ定義に切り替えるには、左下隅の「filter」リンクをクリックします。図56に示すページが表示されます。
ワイルド・カード文字%および_を使用して、名前で分類をフィルタ処理できます。分類タイプ、互換性および検証タイプを指定できます。フィルタ基準を定義した後、「Apply filter」をクリックします。「browse taxonomy」ページに戻ります。
検索基準を問合せに結合することもできます。検索基準を問合せに追加するには、図55に示すように「Add to query」ボタンを使用します。続いて、別の分類を展開し、新しい基準を指定できます。図57に示すページには、本部を上層部門として持ち(demo:hierarchy taxonomy)、5階にある(demo:location:floor taxonomy)ビジネス・エンティティを戻す問合せが表示されています。
問合せからカテゴリを削除するには、問合せを右クリックし、コンテキスト・メニューから「remove from query」を選択します。
![]() | 注意 |
---|---|
問合せ定義は永続的ではありません。「Browse」メニュー・タブを終了するとただちに、問合せは表示されなくなります。 |
Oracle Service Registryの検索機能では、次の検索を実行できます。
範囲問合せなどの検索修飾子を名前およびカテゴリと組み合せて、ビジネス・エンティティ、サービス、バインディングおよびtModelを検索できます。
取得するUDDIエンティティのキーがわかっている場合には、Oracle Service Registryからデータを取得できます。
次のリソースを検索できます。
「検索」の項では、あらかじめOracle Service Registryにインストールされているデモ・データ・セットを使用します。このデモ・セットは、レジストリの理解に役立つように作られています。
![]() | 注意 |
---|---|
Oracle Service Registryでは、ワイルド・カード文字がサポートされています。%と_の両方を使用できます。 %は、任意の数の文字および空白のかわりに使用します。たとえば、Aで始まるビジネスをすべて検索する場合は、A%と入力します。アンダースコア・ワイルド・カード(_)は、任意の1文字のかわりに使用します。たとえば、DanまたはDaneを検索するには、Dan_と入力します。 |
範囲問合せ機能の使用方法については、カテゴリによるビジネスの検索を参照してください。
この項では、様々な方法を使用してビジネス・エンティティを検索する方法を説明します。ビジネス・エンティティは、次の項目で検索できます。
名前
カテゴリ
識別子
検出URL
tModel
どの検索方法でも、「Search」パネルの「Find Qualifiers」タブにある修飾子を指定できます。
ビジネスを名前で検索するには、次の手順を実行します。
メインの「Search」タブで、「Businesses」リンクをクリックします。
「Search」パネルの「Add Name」ボタンをクリックします。
ビジネス名を入力します。インストールされているデモ・データではITとなっています。次に、右下隅の「Find」タブをクリックします。
ビジネスをすべて表示するには、ワイルド・カード%を入力し、「Find」をクリックします。
検索結果が、「Results」パネルに表示されます。ビジネス名のリンクをクリックすると、図59に示すページが開きます。
この項では、カテゴリでビジネス・エンティティを検索する方法について説明します。デモ・データを使用して、特定の階にある部門をすべて検索する方法について説明します。また、範囲問合せの使用例も示します。
カテゴリでビジネスを検索するには、次の手順を実行します。
メインの「Search」タブで、「Businesses」リンクをクリックします。
「Categories」タブをクリックし、「Add category」ボタンをクリックします。利用可能な分類のリストが表示されます。
「all taxonomies」を表示するには、「Show」ドロップダウン・リストで「favorite taxonomies」から切り替えます。「favorite taxonomies」を管理するには、ユーザー・プロファイルを参照してください。
目的の分類をクリックします。
分類はツリーとして表示され、そのサブブランチにはカテゴリが含まれています。
デモ・データからdemo:location:floorを選択します。
「Key name」および「Key value」を入力できるようになりました。
「Key value」ボックスに1と入力し、「Add category」アイコンをクリックします。
カテゴリを検索基準として追加した後、「Find」をクリックします。
1階にある部門が表示されます。2階以上の部門をすべて検索する場合は、範囲問合せ機能を使用する必要があります。前の検索を続行します。
「Search」タブをクリックして、「Find business by categories」ページに戻ります。
「Edit category」アイコンをクリックします。図61に示すページが表示されます。
「Operator」ドロップダウン・リストから、>演算子を選択し、「Update」アイコンをクリックします。
「Find」をクリックします。2階以上の部門がすべて表示されます。
この項では、識別子でビジネス・エンティティを検索する方法について説明します。デモ・データを使用して、部門番号識別子で部門を検索する方法について説明します。
識別子でビジネスを検索するには、次の手順を実行します。
メインの「Search」タブで、「Businesses」リンクをクリックします。
「Identifiers」タブをクリックします。次に、「Add identifier」ボタンをクリックします。利用可能な分類のリストが表示されます。
目的の分類をクリックします。
分類はツリーとして表示され、そのサブブランチにはカテゴリが含まれています。
デモ・データからdemo:departmentIDを選択します。
「Key name」および「Key value」を入力できるようになりました。
「Key value」ボックスに002と入力し、「Add identifier」をクリックします。
識別子を検索基準として追加した後、「Find」をクリックします。
検出URLでビジネス・エンティティを検索するには、次の手順を実行します。
メインの「Search」タブで、「Businesses」リンクをクリックします。
「Discovery URLs」タブを選択します。
検出URLに値を入力し、「Find」をクリックします。
次のように、様々な方法でバインディングを検索できます。
親サービス
カテゴリ
tModel
バインディングの検索に関する原則は、ビジネス・エンティティの検索に使用される原則と同様です。
検索するUDDI構造のキーがわかっている場合には、「Search」メニュー・タブの「Direct get」を使用して、Oracle Service Registryからデータを取得することもできます。 Oracle Service Registryでは、UDDI Version 2とUDDI Version 3のいずれのキーも指定できます。UDDI v2キーを使用して検索する場合は、「Find by v2」タブをクリックします。
URIに構造のキーを入力することで、自動処理に使用されるXML形式のビジネス、サービス、バインディングおよびtModelを取得することもできます。
URIの形式は、次のとおりです。
http://<hostname>:<port>/<context>/uddi/web/directGetXml?<structureKey>=<key>
URIの例 デフォルトではUDDI v3とみなされます。
http://localhost:8888/registry/uddi/web/directGetXml?businessKey=uddi:systinet.com:uddinodebusinessKey
http://localhost:8888/registry/uddi/web/directGetXml?serviceKey=...
http://localhost:8888/registry/uddi/web/directGetXml?bindingKey=...
http://localhost:8888/registry/uddi/web/directGetXml?tModelKey=...
ログインの例 このURIには、ユーザー名およびパスワードが含まれています。
https://localhost:8888/registry/uddi/web/directGetXml?businessKey=uddi:systinet.com:uddinodebusinessKey&userName=admin&password=changeit
UDDI Version仕様を使用した例 この形式は、v1およびv2の構造に関する情報を取得する場合に使用します。
http://localhost:8888/registry/uddi/web/directGetXml?businessKey=8f3033d0-c22f-11d5-b84b-cc663ab09294&version=2
Oracle Service Registryに公開されたWSDLドキュメントをすべて検索できます。 WSDLの場所へのURIを指定すると、WSDLドキュメントのアーティファクトがOracle Service Registryにどのように公開されているかを確認できます。WSDLドキュメントの場所、tModelキー、ビジネス・サービス・キーおよびバインディング・テンプレート・キーを、基準として使用できます。 Oracle Service RegistryのWSDLドキュメントを検索するには、次の手順を実行します。
「Search」メニュー・タブを選択し、「WSDL」リンクをクリックします。図64に示すページが表示されます。
「Find all published WSDLs」をクリックします。あるいは、
「WSDL location URI」に値を入力し、「Examine this WSDL」ボタンをクリックします。
XML文書の場所へのURIによって、Oracle Service RegistryでXML文書を検索できます。
XML文書を検索するには、次の手順を実行します。
「Search」メニュー・タブを選択し、「XML」リンクをクリックします。図65に示すページが表示されます。
場所を入力し、「Find」をクリックします。
XML文書の場所へのURIによって、Oracle Service RegistryでXMLスキーマを検索できます。
XML文書を検索するには、次の手順を実行します。
「Search」メニュー・タブを選択し、「XSD」リンクをクリックします。図66に示すページが表示されます。
XMLスキーマ文書の場所、名前空間、XMLスキーマ文書に定義されているxsd:elementsおよびxsd:typesで検索できます。検索基準を指定した後、「Find」をクリックします。
XSLTを検索するには、次の手順を実行します。
「Publish」メニュー・タブを選択し、「XML」リンクをクリックします。図67に示すページが表示されます。
XSLTの場所を入力できます。また、入力および出力XMLスキーマに従って検索することもできます。XMLスキーマの検索基準は、tModelキーまたは名前空間で指定できます。「Select XML Schema」をクリックすると、XMLスキーマに対してさらに基準を指定して、XMLスキーマ・リストからXMLスキーマを選択できます。
XMLスキーマに従って検索するように指定した場合には、「Find」をクリックする前に、「Update」アイコンをクリックします。
Oracle Service Registryへの公開は、いくつかの構成要素からなります。
次のUDDIコア構造を公開します。
アサーションの公開 - ビジネス・エンティティ間へのリレーションシップのアサート
サブスクリプションの公開 - レジストリに加えられた変更に関するアラートの受信のサブスクライブ
管理転送の公開 - 選択したUDDI構造の所有権の転送
リソースの公開
WSDLドキュメントの公開 - Oracle Service RegistryへのWSDL(Web Services Description Language)ドキュメントの公開
XMLの公開 - XML文書の公開
XSDの公開 - XMLスキーマ定義(XSD)ドキュメントの公開
XSLTの公開 - XSLT(eXtensible Stylesheet Language Transformation)ドキュメントの公開
![]() | 注意 |
---|---|
公開するには、Oracle Service Registryにログインする必要があります。ユーザーが保存できるUDDI構造の数には制限があります。「管理者ガイド」の「アカウント制限」を参照してください。 |
メイン公開ページは、2つのパネルに分かれています。左側のパネルには、ログインしたユーザーに所属するUDDIデータ構造か、またはそのユーザーがアクセス権限を持つUDDIデータ構造が表示されます。右側のパネルには、左側のパネルで選択したデータ構造の詳細が表示されます。構造を選択しない場合は、図に示すように、ビジネスおよびtModelを追加するためのボタンが表示されます。
この項では、businessEntityを公開し、businessEntity関連の構造を編集する方法について説明します。
ビジネス名および説明の追加
連絡先の追加
検出URLの追加
カテゴリの追加
識別子の追加
ビジネス・サービスの追加
計画されたサービスの追加
ビジネス・リレーションシップのアサート
ビジネスを公開するには、次の手順を実行します。
公開ページの右側のパネルで「Add Business」ボタンをクリックするか、または「Business Entities」ノードを右クリックすると表示されるコンテキスト・メニューから「Add Business」を選択します。
ビジネス名および説明を入力し、「Add Business」をクリックします。
ビジネスが、左側のツリー・パネルの「Business entities」ノードの下に表示されます。
ビジネス・エンティティを編集するには、次の手順を実行します。
「Publish」メニュー・タブを選択します。
「Publish」リンクをクリックします。
左側のツリー・パネルで、編集するビジネス・エンティティ・ノードをクリックします。
ビジネス・エンティティを変更した後、「Save changes」ボタンをクリックします。
連絡先構造には、ビジネス・エンティティに関連する人物を一覧表示できる領域があります。この領域には、名前、電話、電子メール、住所、説明および使用タイプの6つのプロパティがあります。
説明フィールドには、連絡先の使用方法に関する簡単な説明を記載しておくことをお薦めします。
使用タイプには、その連絡先をどのような目的で使用するかを示すことができます。たとえば、新規フランチャイズ、営業先、技術的な質問などです。
連絡先を追加するには、次の手順を実行します。
「Edit business」ページまたは「View business」ページの「Contacts」タブで、「Add contact」ボタンをクリックします。図71に示すように、連絡先の名前および使用タイプを指定できる「Add contact」ページが表示されます。
「Add contact」をクリックします。
説明、電話番号および住所の情報リストを作成します。住所収集以外の各収集ページは、いずれも同じように機能します。追加する要素の「Add」ボタンをクリックします。2つ以上の編集フィールドが作成されます。
![]() | 重要 |
---|---|
フィールドを編集した後、右側の「Update」アイコンをクリックする必要があります。 |
住所の場合は、「Addresses」タブをクリックします。このタブでは、該当するボタンをクリックすることによって、既存の住所構造を追加、編集または削除します。
住所を追加または編集するときは、目的のフィールドにデータを入力し、リストにデータを追加します。終了するときは、「Update」をクリックします。
連絡先の情報をすべて更新した後、「Edit contact」ページの最下部の「Save changes」をクリックします。新しい連絡先エントリの名前および使用タイプが連絡先リストに表示されます。
検出URLを追加するには、次の手順を実行します。
「Edit business」ページで、「Discovery URLs」タブの最下部の「Add discovery URL」ボタンをクリックします。
「Discovery URL」および「Use Type」編集フィールドに適切なデータを入力します。
フィールドへの入力が完了した後、右側の「Update」をクリックしてこの情報をリストに追加します。
「Save changes」をクリックします
広く使用されている多くの分類とビジネスを、カテゴリで関連付けすることにより、ビジネスの検索結果がより見やすくなります。このような分類カテゴリでは、ビジネスおよびそのサービスを、場所、製品、サービス・ラインおよび業種によって特定します。
Oracle Service Registryには、デフォルトで3つの基本的なchecked分類のキーが用意されています。ISO3166の地理的分類システム、NAICSおよびSICの業種製品分類です。
また、Microsoft GeoWeb2000にもキーが用意されていますが、unchecked分類であるため、キー名およびキー値を手入力する必要があります。
リストにカテゴリを追加するには、次の手順を実行します。
「Edit business」ページの「Categories」タブで、「Edit」ボタンをクリックします。すでにこのビジネス・エンティティに関連付けられたカテゴリがある場合は、そのリストと「Add category」ボタンが表示されます。それ以外の場合は、このボタンのみが表示されます。
「Categories」タブの下の「Add category」ボタンをクリックします。利用可能な分類のリストが表示され、その中からリストに追加するカテゴリを選択できます。
使用可能な分類をクリックします。checked分類が、そのモデルに有効なカテゴリのツリーに展開されます。検索ボックスに既知のキー名を入力すると、データをより高速に取得できます。ブランチが大きい場合には、項目の数が1ページ当たり10個に制限されます。
また、分類フォームの最上部にある検索ボックスで分類の名前を検索することもできます。必要に応じて、「starts with」、「contains」および「exact match」の各ラジオ・ボタンを使用してください。いずれのボタンでも、標準のワイルド・カードと同様に、指定したとおりに入力文字列が検索されます。たとえば、パターンCanaを「starts with」ボタンおよび地理的分類と併用した場合、セット{"Canada" "Canarias"}が返されます。結果セットは、最大250項目に制限されます。
![]() | 注意 |
---|---|
検索パターンを広くしすぎると、結果リストが100項目で切り捨てられます。 |
unchecked分類(たとえば、MicrosoftのGeoWeb分類)では、編集フィールドを使用してキー名およびキー値を指定できます。
uddi-org:iso-ch:3166:1999分類から複数のカテゴリ(たとえば、AlbaniaおよびArmenia)を追加するには、それぞれのキー名の右側のボックスを選択し、「Add category」をクリックします。別のページのカテゴリを追加する場合は、最初のページで「Add category」をクリックしてから、次の選択項目が含まれているページに進む必要があります。たとえば、AlbaniaおよびKazakhstanを選択するには、次の手順を実行します。
Albaniaを選択し、「Add category」をクリックします。
「Find service」ページで「Add category」をクリックします。
展開された「Find service」ページで、8ページへのリンクをクリックします。
Kazakhstanの横のボックスを選択し、「Add category」をクリックします。
目的の分類種別が見つかったら、checked分類の場合は「Add category」ボタンをクリックします。unchecked分類の場合は、編集フィールドに値を入力してから「Add category」をクリックします。
パブリックまたはプライベートの識別子(D-U-N-S、タックスナンバー、または地理ロケータ番号など)をレジストリに指定して、自分の組織を参照しやすくすることもできます。UDDI識別子構造は、次の要素で構成されています。
名前空間またはサービスを指定します。キー名およびキー値が重要です。
使用されるキーの名前または説明。
キーの値。
リストに識別子を追加するには、次の手順を実行します。
「Edit business」ページで、「Identifiers」タブに切り替えます。
識別子リストの最下部にある「Add identifier」ボタンをクリックします。
表示された分類tModelのリストから識別子タイプを選択します。キー名およびキー値を入力するフィールドが表示されます。
そのフィールドにデータを入力した後、右側の「Add identifier」ボタンをクリックして、この新しい識別子をリストに追加します。
![]() | 重要 |
---|---|
checked識別子のtModelを使用する場合は、キー値が識別可能な形式および値である必要があります。たとえば、uddi-org:isReplacedByキーを使用する場合は、keyValueフィールドに有効なビジネス・エンティティUUIDキーを指定する必要があります。指定しないと、データベースにビジネス・データを送信しようとしたときにエラーが発生します。 |
サービスを公開するには、次の手順を実行します。
ビジネス・サービスを宣言および定義したら、今後のビジネス・パートナが、そのサービスにアクセス方法、検索できる場所を含めた、そのサービスの技術的な説明を用意する必要があります。これには、bindingTemplateを使用します。
bindingTemplateはWebサービス・インスタンスであり、ここから主に親ビジネス・サービスのインスタンスのアクセス・ポイントを取得することになります。どのbindingTemplateにも、識別に使用される一意のbindingKeyがあります。(アクセス・ポイントには、URL、電子メール・アドレス、電話番号など、サービスの場所を特定するために使用する連絡先情報が含まれています)。
bindingTemplate構造のaccessPointには、WebサービスのエンドポイントのURLを含めます。同じビジネス・サービスを提供するbusinessEntityが複数ある場合は、bindingTemplateのこの情報を再利用することをお薦めします。businessServiceにbindingTemplateを作成し、技術情報を保存します。それ以外のbusinessServiceには、技術情報を保存した1つ目のbindingTemplateのキーをaccessPointに含めたbindingTemplateを作成します。それぞれのaccessPointには、値hostingRedirectorを設定したuseTypesも含めてください。
![]() | 注意 |
---|---|
また、別のbindingTemplateへの参照をaccessPointではなくhostingRedirector構造に保存することもできます。ただし、hostingRedirector構造(useTypeのhostingRedirector値ではない)は、UDDI v2での構造であり、UDDI v3では非推奨になっています。 |
bindingTemplateを追加するには、次の手順を実行します。
tModelは、メタデータ(データに関するデータ)にキーを指定する形式の構造です。 一般的な意味では、Oracle Service Registry内でのtModelの目的は、抽象に基づく参照システムを提供することです。UDDIでtModelが果たす役割には、仕様または概念に準拠できるようにし、これを分類に記述することなどがあります。
tModelを公開するには、次の手順を実行します。
「Publish」タブを選択し、「Publish」リンクをクリックします。
右側の「Publish」パネルで、「Add tModel」ボタンをクリックします。
また、左側のパネルのtModelノードを右クリックし、コンテキスト・メニューから「Add tModel」を選択することもできます。
tModel名および説明を入力し、「Add tModel」ボタンをクリックします。
![]() | 注意 |
---|---|
使用されていないtModelを削除すると、そのtModelはデータベースから削除されます。 この動作を、tModelに削除済とマーク付けするだけの動作に変更することもできます。 「管理者ガイド」の「Node」を参照してください。 |
この項では、図42のように、demo:location:floor分類に数値の順序を指定する方法について説明します。
demo_johnユーザーとしてログオンします。(パスワードはユーザー名と同じです)。
メイン・メニューの「Publish」タブをクリックします。ページ左側のツリーで、tModel demo:location:floor項目をクリックします。「Edit tModel 'demo:location:floor'」ページが表示されます。
「Add category」ボタンをクリックします。分類リストが表示されます。
分類systinet-com:isOrderedByを選択し、「Key value」にuddi:systinet.com:comparator:numericと入力します。
「Add category」ボタンをクリックし、「Save changes」ボタンをクリックします。
Oracle Service Registryの管理下にあるビジネスが、同じ管理下の他のビジネスまたは同じオペレータ・ノードに登録された別のユーザーの管理下のビジネスとの間に持つリレーションシップをアサートできます。後者のアサーションの成否は、アサーションの対象となるユーザーの承認次第です。
アサーションの作成時には、次の項目を指定する必要があります。
アサーションの作成元となるビジネスの識別情報
アサーションが要求を行うビジネスの識別情報。 Oracle Service Registryでは、このようなビジネス識別情報をUUIDキーで指定します。
リレーションシップの性質を説明する参照。アサートされるリレーションシップの性質に関する参照は、使用しているtModelまたはuddi-org:relationships tModelから生成されます。
新しいアサーションを追加するには、次の手順を実行します。
「Edit business」パネルで、「Relationships」タブに切り替えます。「Relationship assertions」ページが表示されます。すでにアサーションを設定したことがある場合は、その公開済のアサーションのリストが表示されます。それ以外の場合は、メッセージ「No assertions found」が表示されます。
「Add new assertion」ボタンをクリックして、図76に示す「Add assertion」ページを表示します。
アサーションの対象となるビジネスを「To」に指定するには、「Change Direction」ボタンをクリックします。
UDDIの照会と同様にして、リレーションシップをアサートするビジネスを検索します。ただし、ビジネス名の他に、検索結果のレコード・セットについてビジネスの説明が表示され、各レコードの横に「Select business key」アイコンが表示される点が異なります。
レコードの中に目的のビジネスがあった場合は、対応する「Select business key」アイコンをクリックします。「Add assertion」ページの「To」に、選択したビジネスのUUIDキーが示されます。
![]() | 重要 |
---|---|
アサーションを有効にするには、keyedReferenceが必要です。keyedReference行の右側にある「Set」ボタンをクリックします。「Set keyed reference」ページが表示されます。 |
UDDIの照会と同様にして、参照するtModelを検索します。ただし、tModel名の横にキー名およびキー値の編集フィールドがあり、各行の末尾に「Set」ボタンがある点が異なります。該当するtModelには、uddi-orgs:relationshipおよびこれまでに自身が公開したtModelがあります。
キー値の他、キー名または説明を入力します。uddi-orgs:relationshipの場合、キー値はparent-child、peer-peer、identityのいずれかになります。
「Set」値をクリックします。「Add assertion」ページに戻ります。keyedReferenceレコードに追加されたtModel、キー名およびキー値が表示されます。
「Add assertion」ボタンをクリックします。
自分の管理下にあるビジネスへのアサーションは、アサーションは自動的に完了します。別のユーザーの管理下にあるビジネスへのアサーションについては、そのユーザーがアサーションを確認し、そのユーザーのアカウントでアサーションを完了する必要があります。次に、このプロセスについて説明します。
親会社、子会社、同業者または協力会社から、リレーションシップをアサートしたとの通知があったとします。このとき、そのアサーションを確認し、同意する場合は完了する必要があります。
アサーションを受け入れるには、次の手順を実行します。
「Edit business」ページで、「Relationships」タブに切り替えます。
「Requested assertions」リストで、自分のビジネスを対象とする未完了のアサーションを表示します。各アサーションには、対応するステータス・メッセージの横に「Complete assertion」ボタンがあります。
アサーションを受け入れるには、「Complete assertion」ボタンをクリックします。
アサーションを拒否する場合は、手順3を省略してアサーションを未完了のままにしておきます。ページの最上部にあるリンクをクリックして、「Publisher assertions」ページに戻ります。リレーションシップの詳細を解決するには、アサーションを実施しているビジネスに問い合せてください。ユーザーが関連ビジネスに問い合せるとき、未完了のアサーションは表示されません。
サブスクリプションを設定すると、Oracle Service Registryの変更に関する情報を通知するサービスに登録できます。サブスクリプションによって、UDDI構造の新規作成、変更および削除を監視できます。各サブスクリプションには、サブスクリプション有効範囲をレジストリ・エンティティのサブセットに制限するフィルタがあります。
特定の問合せまたは関係するエンティティのセットに基づいて、サブスクリプションを設定できます。問合せベースのサブスクリプションは、所定の期間内に結果セットが変更された場合にユーザーに通知します。エンティティ・ベースのサブスクリプションは、指定したエンティティの内容が変更された場合にユーザーに通知します。
サブスクリプションを設定すると、次の操作が可能になります。
新しいビジネスまたはサービスの登録の通知
既存のビジネスまたはサービスの監視
プライベート・レジストリで使用するためのレジストリ情報の取得
マーケットプレイスまたはポータル・レジストリで使用するためのデータの取得
このフィルタは、次の標準UDDI照会のいずれかを実行します。
find_business
find_relatedBusinesses
find_service
find_binding
find_tModel
get_businessDetail
get_serviceDetail
get_bindingDetail
get_tModelDetail
新しいサブスクリプションを追加するには、次の手順を実行します。
「Publish」メニュー・タブの下の「Subscriptions」リンクをクリックして、「Subscriptions」ページを表示します。
「Add subscription」ボタンをクリックして、図77に示す「Add subscription」ページを表示します。
「Change filter」をクリックして、サブスクリプションのフィルタを指定します。「Subscription filter type」ページが表示されます。
「Subscription filter type」ドロップダウン・リストからフィルタ・タイプを選択します。
「Select filter」をクリックします。
通常の検索実行と同様に、フィルタ・プロパティを設定します。
「Preview results」ボタンをクリックして、フィルタ結果を確認します。
「Save filter」をクリックして、図77に示すフィルタ設定のページに戻ります。
必要に応じて他のサブスクリプション・フィールドに値を入力します。次に、各フィールドについて説明します。
Subscription filter - どのUDDI構造の変更について通知するかを指定します。
Notification listener type - 通知のリスナー・タイプを選択します。
電子メール・アドレス
サービス・エンドポイント
バインディング・テンプレート
Email address - 通知を送信する電子メール・アドレス。
XSLT transformer tModel - XSLTを参照するtModel。
Business serviceおよびBusiness entity - 通知リスナー・サービスを表すbindingTemplateが保存されるビジネス・サービスおよびビジネス・エンティティ。これらのドロップダウン・リストには、バインディング・テンプレートを作成するパーミッションをユーザーが持っているビジネス・エンティティおよびビジネス・サービスのみが一覧表示されます。
Notification interval - サブスクライバに変更を通知する頻度を指定します。非同期通知にのみ必要です。
Expires after - 管理者がサブスクリプションを存続させる期間を指定します。
Max entities - サブスクリプション・リスナー宛の通知に含めるエンティティの最大数です。
Brief - サブスクリプション・リスナーに返される詳細レベルを制御します。
Subscription filter - どのUDDI構造の変更について通知するかを指定します。
Notification listener type - 通知のリスナー・タイプを選択します。
電子メール・アドレス
サービス・エンドポイント
バインディング・テンプレート
Notification listener endpoint - 通知が送信されるURL
Business serviceおよびBusiness entity - 通知リスナー・サービスを表すbindingTemplateが保存されるビジネス・サービスおよびビジネス・エンティティ。これらのドロップダウン・リストには、バインディング・テンプレートを作成するパーミッションをユーザーが持っているビジネス・エンティティおよびビジネス・サービスのみが一覧表示されます。
Notification interval - サブスクライバに変更を通知する頻度を指定します。非同期通知にのみ必要です。
Expires after - 管理者がサブスクリプションを存続させる期間を指定します。
Max entities - サブスクリプション・リスナー宛の通知に含めるエンティティの最大数です。
Brief - サブスクリプション・リスナーに返される詳細レベルを制御します。
Subscription filter - どのUDDI構造の変更について通知するかを指定します。
Notification listener type - 通知のリスナー・タイプを選択します。
電子メール・アドレス
サービス・エンドポイント
バインディング・テンプレート
Binding Template - 通知リスナー・サービスを表すbindingTemplate。
Notification interval - サブスクライバに変更を通知する頻度を指定します。非同期通知にのみ必要です。
Expires after - 管理者がサブスクリプションを存続させる期間を指定します。
Max entities - サブスクリプション・リスナー宛の通知に含めるエンティティの最大数です。
Brief - サブスクリプション・リスナーに返される詳細レベルを制御します。
既存のサブスクリプションを編集するには、次の手順を実行します。
「Publish」メニュー・タブの下の「Subscriptions」リンクをクリックして、「Subscriptions」ページを表示します。
編集するサブスクリプションの横の「Edit」ボタンをクリックします。「Edit subscription」ページが表示されます。ここでは、サブスクリプション・フィルタ以外のサブスクリプション引数を編集できます。
サブスクリプションを削除するには、次の手順を実行します。
「Publish」メニュー・タブの下の「Subscriptions」リンクをクリックして、「Subscriptions」ページを表示します。
削除するサブスクリプションの横のボックスを選択します。
「Delete selected」ボタンをクリックします。確認ページが表示されます。
確認ページには、削除対象としてマークされたサブスクリプションのリストが含まれています。リストが正しい場合は、「Yes」ボタンを押してサブスクリプションを完全に削除します。
管理転送は、選択した構造(ビジネス・エンティティ、ビジネス・サービス、バインディング・テンプレートまたはtModel)の所有権をユーザー間で転送する場合に使用するサービスです。管理転送には、2つの手順があります。転送する構造の選択と管理転送トークンの生成です。新たな所有者となり得るユーザーが(暗号化電子メールなどセキュアなトランスポートで)管理転送トークンを受信すると、そのユーザーは管理転送を受け入れるか、または拒否します。
![]() | 重要 |
---|---|
このトークンは、機密事項です。知られると、その構造の管理を誰でも転送できるためです。 |
リクエストを取消す場合(たとえば、転送トークンの安全性が損なわれた場合)は、「Discard transfer token」ボタンを使用します。
管理転送をリクエストするには、次の手順を実行します。
「Publish」メニュー・タブの下の「Custody」リンクをクリックして、「Custody transfer」ページを表示します。
「Request transfer token」リンクをクリックします。所有するUDDIデータ構造のリストが表示されます。
転送するUDDI構造の横のボックスを選択し、「Request transfer token」をクリックします。
次ページで、転送トークンを生成します。転送トークンのテキストをファイルにコピーし、選択した構造の新しい所有者となるユーザーにそのファイルを送信します。トークンは機密事項です。知られると、誰でもそのトークンを使用して構造の管理を転送できるためです。たとえば、暗号化されていない電子メールは、データ転送には適していません。
管理転送を受け入れるには、次の手順を実行します。
「Publish」メニュー・タブの下の「Custody」リンクをクリックして、「Custody transfer」ページを表示します。
「Transfer custody」リンクをクリックします。
転送トークンが記載されたファイルを開き、その内容をクリップボードにコピーし、「Transfer structures」ページの編集領域に貼り付けます。
「Transfer」ボタンをクリックします。
Oracle Service Registry WSDLからUDDI(WSDL2UDDI)へのマッピングは、OASISのテクニカル・ノート『Using WSDL in a UDDI registry Version 2.0』に準拠しています。これにより、WSDLドキュメントをUDDIに自動的に公開し、特定のWSDLアーティファクトおよびメタデータに基づいて正確かつ柔軟なUDDI問合せを可能にし、UDDI v2の一貫したマッピングを実現できます。
WSDLドキュメントを公開するには、次の手順を実行します。
「Publish」メイン・メニュー・タブの下の「WSDL」リンクをクリックします。
図81に示すページが表示されます。
WSDLドキュメントでサービスを公開するビジネスの「Business key」を入力します。「Find business key」ボタンをクリックして、ビジネス・キーを検索できます。
「WSDL location」を入力します。 REGISTRY_HOME/demos/conf/employeeList.wsdlからOracle Service RegistryデモのWSDLドキュメントを使用してみることができます。
「Advanced mode」チェック・ボックスは選択しないで、「Publish」ボタンをクリックします。
WSDLドキュメントが、Oracle Service Registryに公開されます。 図82で、ドキュメントのWSDLアーティファクトがOracle Service Registryにどのようにマップされるかを確認できます。
拡張モードで公開すると、WSDLドキュメントをUDDIレジストリにどのようにマップするかを詳細に指定できます。このモードで公開するには、前項の手順を実行します。ただし、「Advanced mode」チェック・ボックスを選択します。「Publish」ボタンをクリックすると、図83に示す「Advanced Mode Publish」ページが表示されます。
左側のツリー・パネルでは、WSDLドキュメントのアーティファクトがどのように公開されるかを参照できます。 WSDLアーティファクトをOracle Service Registryにマップする方法を編集するには、ツリーのブランチをクリックします。右側のパネルにマッピング・オプションの詳しい説明が表示されます。WSDLドキュメントの各部がレジストリにどのようにマップされるかを参照するには、「Preview」をクリックします。「Preview」ページから、WSDLマッピングの調整に戻ることができます。
図83に示すウィザードのデフォルトの選択内容は、次のルールに基づいています。
WSDLアーティファクトの有効なマッピングがすでにレジストリに存在し、ユーザーがこのUDDI構造を所有している場合は、レジストリのそのマッピングを再書き込みすることを薦められます。
WSDLアーティファクトの有効なマッピングがすでにレジストリに存在し、ユーザーがこのUDDI構造を所有していない場合は、そのUDDIエンティティを再利用することを薦められます。
WSDLアーティファクトのマッピングがレジストリに存在しない場合は、マッピングを表すUDDIエンティティを新規に作成することを薦められます。
Oracle Service Registryでは、「Advanced mode」オプションを選択しないでWSDLドキュメントを公開すると、自動的にこれらのルールが適用されます。
![]() | 注意 |
---|---|
WSDLの公開と操作およびWSDLメッセージは、今回のリリースのOracle Service Registryには実装していません。 |
WSDL定義を非公開にするには、次の手順を実行します。
レジストリでWSDLドキュメントを検索します。
結果ビューで、ビジネス・サービスをクリックします。
ビジネス・サービスの詳細が記載されたページが表示されます。このページの「Unpublish」ボタンをクリックします。
「Unpublish WSDL document」ウィザードが表示されます。
Oracle Service Registry XMLからUDDI(XML2UDDI)へのマッピングを有効にすると、XML文書をUDDIに自動的に公開し、特定のXMLアーティファクトおよびメタデータに基づいて正確かつ柔軟なUDDI問合せを実現できます。
XML文書を非公開にする場合は、「Find XML」ボタンを使用し、検索結果ページの「Unpublish」ボタンをクリックします。
XML文書を公開するには、次の手順を実行します。
「Publish」メイン・メニュー・タブの下の「XML」リンクをクリックします。
図84に示すページが表示されます。
「XML location」を入力します。 デモを実行するには、Oracle Service RegistryデモのREGISTRY_HOME/demos/conf/employees.xmlファイルを選択します。
「Advanced mode」チェック・ボックスを選択しないままにしておき、「Publish」ボタンをクリックします。
XML文書がOracle Service Registryに公開されます。図85で、XML文書がOracle Service Registryにどのようにマップされたかを確認できます。
![]() | 注意 |
---|---|
XML文書の内容はレジストリにコピーされません。 |
拡張モードで公開すると、XML文書をUDDIレジストリにどのようにマップするかを詳細に指定できます。このモードで公開するには、前項の手順を実行します。ただし、「Advanced mode」チェック・ボックスを選択し、「Publish」をクリックします。図86に示す「Advanced Mode Publish」ページが表示されます。
左側のツリー・パネルでは、XML文書の名前空間がどのように公開されるかを参照できます。 名前空間をOracle Service Registryにマップする方法を編集するには、その名前空間をクリックします。右側のパネルにマッピング・オプションの詳しい説明が表示されます。 XML文書およびその名前空間がOracle Service Registryにどのようにマップされるかを参照するには、「Preview」をクリックします。「Preview」ページから、XMLマッピングの編集に戻ることができます。
XMLの非公開により、Oracle Service RegistryからXMLマッピングを削除できます。XML文書を非公開にするには、まずそのXML文書を検索する必要があります。
Oracle Service Registry XSDからUDDI(XSD2UDDI)へのマッピングを有効にすると、XMLスキーマ文書をUDDIに自動的に公開し、特定のXMLスキーマ・アーティファクトおよびメタデータに基づいて正確かつ柔軟なUDDI問合せを実現できます。
XMLスキーマ文書を非公開にするには、「Find XSD」ボタンを使用し、検索結果ページの「Unpublish」ボタンをクリックします。
拡張モードで公開すると、XMLスキーマ文書をUDDIレジストリにどのようにマップするかを詳細に指定できます。このモードで公開するには、次の手順を実行します。
前項の手順を実行します。ただし、「Advanced mode」チェック・ボックスを選択します。
「Publish」をクリックします。図90に示す「Advanced Mode Publish」ページが表示されます。
左側のツリー・パネルでは、XMLスキーマおよびその有効なXMLスキーマ・インポートがどのように公開されるかを参照できます。 XMLスキーマの各部をOracle Service Registryにマップする方法を編集するには、そのXMLスキーマ・モデル・ノードをクリックします。右側のパネルにマッピング・オプションの詳しい説明が表示されます。
XMLスキーマ文書がOracle Service Registryにどのようにマップされるかを参照するには、「Preview」をクリックします。「Preview」ページから、XMLスキーマ・マッピングの編集に戻ることができます。
XMLの非公開を行うと、Oracle Service RegistryからXMLスキーマ・マッピングを削除できます。XMLスキーマ文書を非公開にするには、まずそのXMLスキーマ文書を検索する必要があります。
Oracle Service Registry XSLTからUDDI(XSLT2UDDI)へのマッピングを有効にすると、XSLTをUDDIに自動的に公開し、特定のXSLTアーティファクトおよびメタデータに基づいて正確かつ柔軟なUDDI問合せを実現できます。
XSLTを非公開にする場合は、「Find XSLT」ボタンをクリックし、検索結果ページの「Unpublish」ボタンをクリックします。
XSLTを公開するには、次の手順を実行します。
「Publish」メイン・メニュー・タブの下の「XSLT」リンクをクリックします。
図91に示すページが表示されます。
「XSLT location」を入力します。 デモを実行するには、Oracle Service RegistryデモのREGISTRY_HOME/demos/conf/employeesToDepartments.xslファイルを選択します。
「Advanced mode」チェック・ボックスを選択しないままにしておき、「Publish」ボタンをクリックします。
XSLTが、Oracle Service Registryに公開されます。 図92で、XSLTアーティファクトがOracle Service Registryにどのようにマップされたかを確認できます。
拡張モードで公開すると、XSLTをUDDIレジストリにどのようにマップするかを詳細に指定できます。このモードで公開するには、次の手順を実行します。
前項の手順を実行します。ただし、「Advanced mode」チェック・ボックスを選択します。
「Publish」をクリックします。図86に示す「Advanced Mode Publish」ページが表示されます。
左側のツリー・パネルでは、XSLTおよびその入出力スキーマがどのように公開されるかを参照できます。
これらのアーティファクトをOracle Service Registryにどのようにマップするかを編集するには、XSLTノード自体、その入力XMLスキーマおよびXSLT出力のタイプをクリックします。右側のパネルにマッピング・オプションの詳しい説明が表示されます。
XSLTがOracle Service Registryにどのようにマップされるかを参照するには、「Preview」をクリックします。「Preview」ページから、マッピングの編集に戻ることができます。
UDDI Version 3の最も重要な利点の1つが、デジタル署名に対するサポートです。署名がないと、ビジネス・エンティティのパブリッシャが実際にそのパブリッシャ本人であるかどうかを確認できません。ただし、パブリッシャがUDDI構造に署名していれば、その情報がどのような手段(UDDIレジストリ演算子など)によっても改変されていないことが誰からも検証でき、パブリッシャの識別情報を確認できます。
Oracle Service RegistryのSignerツールを使用すると、署名操作が容易になります。 このツールのスクリプトは、Oracle Service Registryインストレーションのbinディレクトリにあります。 Signerはグラフィカルなアプリケーションで、公開したUDDI構造の署名を追加、削除および確認できます。
![]() | 注意 |
---|---|
IBM Javaを使用している場合は、Bouncy Castleセキュリティ・プロバイダをインストールする必要があります。「インストレーション・ガイド」の「システム要件」を参照してください。 |
Signerツールを起動するには、まずOracle Service Registryが実行されていることを確認し、次に、Oracle Service Registryインストレーションのbinサブディレクトリから次のスクリプトを実行します。
Windows: | signer.bat |
UNIX: | ./signer.sh |
Signerを起動したら、最初に、選択したUDDI Version 3レジストリに対して自分自身を認証する必要があります。ユーザー名およびパスワードを指定するのみです。レジストリをローカル・マシンで実行している場合は、そのエンドポイントを構成する必要があります。このためには、「Configure UDDI」ボタンを使用します。
表示された画面で、セキュリティ、照会およびWebサービス公開のエンドポイントを設定します。詳細は、レジストリの管理者にお問い合せください。
ユーザー名およびパスワードを入力した後、「Login」ボタンをクリックします。Signerツールによって、選択したレジストリでのユーザーの認証が試行されます。認証が失敗した場合は、ログイン情報を修正します。 認証が成功すると、「Login dialog」が閉じ、SignerツールによってOracle Service Registryに対して該当ユーザーの登録情報(公開済のbusinessEntityおよびtModel)が要求されます。
Signerツールのインタフェースでは、メイン画面の左側に、businessEntityおよびtModelをすべて含むツリーが表示されます。デジタル署名を追加または削除する場合は、このツリーから、署名の構造を選択します。レジストリからその構造がフェッチされます。構造がフェッチされると、そのXML表現が右側のパネルに表示されます。「Sign」ボタンがブロック解除されます。構造にすでに署名がある場合は、「Remove signatures」ボタンもブロック解除されます。
Signerの最下部にあるステータス・バーには、現在のアクションの進行状況および結果が通知されます。
UDDI構造に署名するには、Javaキーストアを設定する必要があります。キーストアを生成するには、JDKツールkeytoolを使用します。keytoolの使用方法の詳細は、JDKのドキュメントを参照してください。Signerツールは、JKSおよびPKCS12形式のキーストアを使用したテストが完了しています。
![]() | 注意 |
---|---|
証明書を生成するには、次のコマンドを発行します。 keytool -genkey -keyalg RSA -storetype JKS -alias demo_john -keystore test_certificate.jks ダイアログの例を次に示します。 Enter keystore password: changeit What is your first and last name? [Unknown]: John Johnson What is the name of your organizational unit? [Unknown]: UDDI What is the name of your organization? [Unknown]: Myorg What is the name of your City or Locality? [Unknown]: San Diego What is the name of your State or Province? [Unknown]: California What is the two-letter country code for this unit? [Unknown]: CA Is CN=John Johnson, OU=UDDI, O=Myorg, L=San Diego, ST=California, C=CA correct? [no]: yes Enter key password for <demo_john> (RETURN if same as keystore password): |
UDDI構造に署名するには、次のように、Javaキーストア・ファイル、エイリアスおよびパスワードを設定する必要があります。
「Sign」ボタンをクリックします。「Select identity」ダイアログが表示されます。
「Select identity」ボックスに、Javaキーストアが記載されたファイルへのパスを入力します。
「Alias」ボックスに、識別情報があるエイリアスを入力します。
「Password」ボックスに、秘密鍵の暗号化に使用するパスワードを入力します。
![]() | 重要 |
---|---|
エイリアスまたはパスワードに誤った値を入力した場合、識別情報は開かれません。 ![]() |
キーストアがSun JKS形式である場合は、「Choose format」ボタンをクリックする必要はありません。デフォルト値のままにします。キーストアがSun JKS形式でない場合は、「Choose format」ボタンをクリックして、形式を指定できます。表示されたダイアログ・ウィンドウで、キーストア形式およびそのプロバイダを設定します。たとえば、PKCS12形式を使用するには、形式をPKCS12に、プロバイダをSunJSSEに設定します。
署名操作が成功すると、選択したUDDI構造にデジタル署名が設定され、そのXML表現が更新されます。セキュリティ上の理由により、署名プロセスは秘密鍵の安全性が損なわれないようにユーザーのコンピュータ上で行なわれます。
最後に、「Publish changes」ボタンおよび「Remove signatures」ボタンが使用可能になります。
「Validate」ボタンは、XMLデジタル署名が含まれているUDDI構造の妥当性チェックに使用します。この操作の結果は、ステータス・バーに表示されます。
「Remove signatures」ボタンは、選択したUDDI構造からデジタル署名をすべて削除するために使用します。この操作が完了すると、UDDI構造のXML表現が更新されます。「Publish changes」ボタンが無効化されていた場合は、有効になります。
選択したUDDI構造に署名するか、またはそのUDDI構造からデジタル署名を削除した場合は、「Publish changes」ボタンを選択して変更内容をレジストリに公開できます。そのボタンを選択すると、標準のUDDI公開メソッド(save_tModelなど)でレジストリの該当するUDDI構造が更新されます。この操作には秘密鍵は使用されません。
Signerツールでは、レジストリ・エンドポイント、キーストアの場所と形式など実際の構成が自動的に記憶されます。構成ファイルは、signer.confという名前でユーザーのホーム・ディレクトリに保存されています。Signerスクリプトの-cオプションを使用して、場所(およびファイル名)を変更できます。この機能が必要ない場合は、-nを使用します。有効なオプションのリストは、-hオプションで表示できます。
Signerツールでは、XMLデジタル・セキュリティ・プロバイダによって署名および検証が実行されます。Signerツールには、あらかじめデジタル署名プロバイダが2つ用意されています。
Systinet Server for JavaのXMLデジタル・セキュリティ実装を使用します。
Oracle XMLデジタル・セキュリティ実装を使用します。
デフォルトはssjです。oracleに切り替える場合は、該当するスクリプトで、Signerツールを実行するコマンドを修正します。
システム・プロパティ-Dregistry.xml.dsig.providerName=oracleを追加します。
クラスパスの先頭にOracle XMLセキュリティ・ライブラリを追加します。