Oracle® Fusion Middleware Oracle Enterprise Repository構成ガイド 11g リリース1 (11.1.1.7) E59381-01 |
|
![]() 前 |
![]() 次 |
この章では、ハーベスタの使用を開始する方法について説明します。Oracle Enterprise Repositoryへの移入に使用されるツールは、ハーベスタと呼ばれます。ハーベスタは、Oracle製品および標準ベースのファイルからメタデータを読み取ります。これには、Oracle SOA Suite、Oracle Service Bus、Oracle BPAによって生成されたコンポジット、および標準のBPEL、WSDL、XSD、XSLT、BPMN 2.0、WS-Policyファイルが含まれます。
ハーベスタによって、アセットの作成、アセット・メタデータの移入、およびアーティファクト・ファイルの情報に基づいたリレーション・リンクの生成が自動的に実行されます。これらのファイルは、設計時に開発環境から直接収集できます。
また、これらのファイルは、実行時環境にデプロイされるときに収集することもできます。ハーベスタは、Oracle JDeveloperを含むIDE内や、AntおよびWeblogic Scripting Tool (WLST)内で、コマンド行から使用できます。詳細は、10.2項「Oracle Registry Repository Exchange Utilityの構成」を参照してください。
この章は次の項で構成されています。
この項では、ハーベスタの使用を開始する方法、および高度な各種ユースケースにおけるその使用について説明します。
この項には次のトピックが含まれます:
ハーベスタを使用する前に、次の前提条件を実行する必要があります。
必要なアセット・タイプおよびリレーションシップが含まれるハーベスタ・ソリューション・パックをOracle Enterprise Repositoryにインポートします。Oracle Enterprise Repositoryのインストール・ホームからrepositoryxxx/core/tools/solutions/11.1.1.x.x-OER-Harvester-Solution-Pack.zip
ファイルをインポートします。
Oracle Enterprise Repositoryソリューション・パックのインポートの詳細は、『Oracle Fusion Middleware Oracle Enterprise Repositoryインストレーション・ガイド』を参照してください。
ハーベスタ・ソリューション・パックのアセット・タイプ・インベントリの詳細は、B.8項「アセット・タイプのインベントリ」を参照してください。
Oracle Service Busから収集する場合、Oracle Service Busサーバー(バージョン10.3.1.0)をハーベスタと同じマシン、またはハーベスタからアクセスできる共有ファイル・システムにインストールします。
注意: Oracle Service Bus 11gより後のバージョンから収集する場合、Oracle Service Bus 11gより後のバージョン専用として開発され、Oracle Service Bus 11g製品インストールの一部として使用できる、対応するOracle Service Busのハーベスタ・バージョンを使用する必要があります。 |
Oracle SOA SuiteやOracle Service Busなどのデプロイされたアプリケーション、またはWebサービスからアセットを収集する場合、アプリケーションはWebLogic 10.3.1以上にデプロイする必要があります。
Oracle Application Integration Architectureからの収集の詳細は、Oracle Fusion Middleware Oracle Application Integration Architecture Foundation Pack開発者ガイドのOracle AIAコンテンツ収集の設定方法に関する項を参照してください。
ハーベスタでは、Java SDKバージョン6以上が必要です。
ハーベスタを使用すると、次の作業が可能になります。
SCAコンポジット、BPEL、WSDL、XSD、XSLT、BPMN 2.0およびWS-Policyなどの標準SOAアーティファクト(Oracleや他のベンダーのもの)をOracle Enterprise Repositoryに公開します。
影響分析を目的としてアーティファクト間の依存関係を取得します。
ネストしたWSDLおよびXSDファイルを処理します。
抽象インタフェース・アセットおよび具象デプロイメント/エンドポイントを作成します。
BPELパートナ・リンクの依存関係を取得し、これらをインタフェースに関連付けます。
変換に対するBPEL PMの依存関係を取得します。
再利用を目的としてOracle Enterprise Repository内でアーティファクト・コンテンツを格納または参照します。
重複を検出するためにアーティファクトのソフトウェア・ファイルID (SFID)を計算します。
ネストしたディレクトリ、リモート・サーバー、zipファイル、jarファイル、SOAコンポジットまたはOracle BPELスーツケースからアーティファクトを公開します。
トランザクション方式でアーティファクトを公開します。
アーティファクトは、コマンド行から、およびハーベスタのAntタスクを使用して自動Antビルド・プロセスから公開します。
プロキシ・サービス、ビジネス・サービス、XQuery、MFL、XSLT、WS-PolicyなどのOracle Service Busプロジェクト・アーティファクトを公開します。
収集プロセスをWLSTデプロイメント・スクリプトの一部として統合します。
SSL対応SOAサーバーに収集します。SOAサーバーでSSLを有効化する方法や、証明書をクライアントにエクスポートおよびインポートする方法の詳細は、Oracle Fusion Middlewareセキュリティ・ガイドを参照してください。
注意: 証明書のインポート/エクスポートの詳細は、次の場所にある「セキュリティ・ガイド」を参照してください。 |
表6-1に、ハーベスタでサポートされるアーティファクト/製品のバージョン・マトリクスを示します。
この項では、ハーベスタを構成して、統合開発環境で使用する方法について説明します。
この項には次のトピックが含まれます:
ハーベスタは11.1.1.x.x-OER-Harvester.zip
に含まれていますが、これはOracle Enterprise Repository 11gインストールとバンドルされており、次の場所にあります。
<ORACLE_HOME>/repositoryXXX/core/tools/solutions/11.1.1.x.x-OER-Harvester.zip
このマニュアルでは、11.1.1.x.x-OER-Harvester.zip
ファイルの抽出先のディレクトリのことを<Harvester Home>
ディレクトリと呼びます。
表6-2に、製品と対応するバージョンのリレーションシップのマトリクスを示します。
表6-2 ハーベスタの製品とバージョンのマトリクス
製品とバージョン | 収集 | IDEの検索、参照および使用 | |
---|---|---|---|
コマンド行 | IDE | ||
11g OSB |
OSB 11g |
はい |
はい |
10.3.1 OSB |
OER 11g |
はい |
Oracle Enterprise Repository 11gハーベスタをEclipse IDEに追加します。詳細は、『Oracle Fusion Middleware Oracle Enterprise Repository統合ガイド』を参照してください。 |
SOA Suite 11g |
OER 11g |
はい |
はい |
SOA Suite 10g |
OER 11g |
はい |
いいえ |
AIA Foundation Pack 11g |
AIA |
いいえ |
いいえ |
標準ベースのアーティファクト(WSDL 1.1、XSD、BPEL、XSLT、BPMN 2.0) |
OER 11g |
状況により異なる |
状況により異なる |
ハーベスタ・ソリューション・パックによって使用されるparameter.properties
parameter.propertiesファイルにより、Oracle Enterprise Repositoryへのインポート操作時のハーベスタ・ソリューション・パックの動作が決まります。このファイルは一切変更しないでください。ソリューション・パック内のオブジェクトは、リストに記載されている動作に応じてインポートされます。
ハーベスタ・ソリューション・パックの/META-INF/parameter.properties
PreserveUUIDs=true Standard.saver.assettype.props.duplicate.handling=Merge Standard.saver.assettype.props.duplicate.matching=UUID Standard.saver.relationshiptype.props.duplicate.handling=Overwrite Standard.saver.metadata.props.duplicate.handling=ignore Standard.saver.metadataentrytype.props.duplicate.handling=ignore
ハーベスタ・ソリューション・パックの動作のサマリー
アセット
Oracle Enterprise Repository内にすでに存在するアセット(同じUUID)はマージされます。
アセットは、インポート・バンドルに指定されているUUIDとともに追加されます。
アセット・タイプ
アセット・タイプは、UUIDがOracle Enterprise Repository内にすでに存在する場合は重複しているとみなされます。
ソリューション・パック内のアセット・タイプに新しい要素またはタブ(あるいはその両方)が追加されている場合、これらの要素およびタブはOracle Enterprise Repository内の既存のアセット・タイプに追加されます。
インポート・バンドル内の新しいアセット・タイプはOracle Enterprise Repositoryに追加されます。
リレーションシップ・タイプ
同じ名前および方向を持つリレーションシップ・タイプは、Oracle Enterprise Repository内でインポート・バンドル内の情報に置き換えられます。
カテゴリ分けタイプ
Oracle Enterprise Repository内のカテゴリ分けタイプと同じ名前を持つカテゴリ分けタイプ内の新しいカテゴリ分けエントリは、インポート・バンドル内の情報を使用してそのタイプに追加されます。
新しいカテゴリ分けタイプはOracle Enterprise Repositoryに追加されます。
許容値リスト(AVL)
Oracle Enterprise Repository内のAVLと同じ名前を持つAVL内の新しい値は、インポート・バンドル内の情報を使用してそのAVLに追加されます。
新しいAVLはOracle Enterprise Repositoryに追加されます。
CMFメタデータ・エントリ・タイプ
重複するメタデータ・エントリ・タイプ(同じUUID)は無視されます。(ソリューション・パック内のエントリは無視されます。)
新しいメタデータ・エントリ・タイプはOracle Enterprise Repositoryに追加されます。
CMFメタデータ・エントリ
重複するメタデータ・エントリ(同じUUID)は無視されます。(ソリューション・パック内のエントリは無視されます。)
新しいメタデータ・エントリはOracle Enterprise Repositoryに追加されます。
parameter.propertiesの詳細は、『Oracle Fusion Middleware Oracle Enterprise Repositoryユーザーズ・ガイド』のparameter.propertiesファイルに関する項を参照してください。
コマンド行からハーベスタを構成できます。Enterprise Repositoryは、コマンド行からハーベスタを使用して簡単にブートストラップできます。コマンド行を使用した収集により、組織では次を収集できます。
個々のファイル
ファイルのディレクトリ
リモート・ファイル
アーティファクト・ストア内のファイル
Oracle MetaData Store (MDS)内のファイル
この項では、コマンド行用としてハーベスタを構成するために実行する必要があるタスクについて説明します。
<Harvester Home>
にあるXMLファイルHarvesterSettings.xml
ファイルを開き、ハーベスタが適切な資格証明を使用してOracle Enterprise Repositoryインスタンスを参照するように次のXMLを変更します。
<repository> <uri>http://localhost:7101/oer</uri> <credentials> <user>smith</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 Harvester configuration // (HarvesterSettings.xml) file. </credentials> <timeout>30000</timeout> </repository>
注意: アセットの表示、編集、承認および登録を行うための基本的なアクセス権が設定されたユーザーとしてハーベスタを実行することをお薦めします。 |
また、次のようにリポジトリ接続情報をコマンド行ユーティリティにパラメータとして渡すこともできます。
C:\test\harvester> harvest -url http://localhost:7101/oer -user admin -password <password> -file c:\test\samples
ハーベスタは、harvest.bat
ユーティリティを使用してコマンド行から実行できます。harvest.batまたはharvest.shを実行する前に、表6-3で示された環境変数が設定されていることを確認してください。Windowsでは、コマンド・ウィンドウから「set X」と入力すると、変数Xの値を表示でき、「set X=abc」と入力すると、Xの値を「abc」に設定できます。
表6-3 コマンド行スクリプト
環境変数 | 説明 |
---|---|
|
|
|
Oracle Service Busからプロジェクトを収集する場合のみ、Oracle Service Busサーバーが含まれるインストール・ディレクトリを |
|
オプションで、JAVA_OPTSパラメータを設定し、別の必要なjavaパラメータを追加します。たとえば、HTTPプロキシ・サーバーを使用する必要がある場合、値を-Dhttp.proxyHost=www-proxy.yourhost.com -Dhttp.nonProxyHosts= "*.yourhost.com |localhost"に設定します。 関連項目: http://java.sun.com/javase/6/docs/technotes/guides/net/proxies.html |
表6-4に、ハーベスタ・コマンド行ユーティリティを使用して指定できるオプションを示します。
ハーベスタのオプション | 説明 |
---|---|
|
構成設定のXMLファイルを指定します。 |
|
MDSを初期化するための |
|
Oracle Enterprise RepositoryのURLを指定します。 |
|
Oracle Enterprise Repositoryユーザーのユーザー名を指定します。 |
|
Oracle Enterprise Repositoryユーザーのパスワードを指定します。 セキュリティを確実にするために、パスワードを暗号化する必要があります。 Oracle Enterprise Repository Webコンソールには、パスワードを暗号化するためのツールがあります。 http://<host>:<port>/<domain>/diag/encryptstrings.jsp 関連項目: パスワードの暗号化の詳細は、第5章「診断およびパスワードの暗号化」を参照してください。 |
|
参照するOracle Enterprise Repositoryアーティファクト・ストアの名前を指定します。アーティファクト・ストアは、Oracle Enterprise Repositoryのアセット・エディタで事前に作成する必要があります。指定した場合、 アーティファクト・ストアを基準にURIを指定する場合、URIは.wsdlファイルまたは.zipファイルなどのファイルに解決される必要があります。 アーティファクト・ストアの詳細は、6.2.4.2項「ネストした要素としてのパラメータの指定」を参照してください。 |
|
収集するファイルまたはディレクトリを指定します。これは、ファイル名またはファイルのURLに設定できます。 |
|
収集するファイルのファイル・タイプを指定します。指定しない場合、タイプはファイルの拡張子から導出されます。これは、config/pluginsフォルダ内のファイル・タイプの1つと一致する必要があります。デフォルトでは、.bpel、.mfl、.policy、.wsdl、.xsd、.xquery、.xsltがサポートされます。 |
|
リモート・プロジェクトの収集元として、ファイルではなく、実行中のサーバーを指定します。 |
|
リモート・サーバーに接続するためのユーザー名を指定します。 |
|
リモート・サーバーに接続するためのパスワードを指定します。 セキュリティを確実にするために、パスワードを暗号化する必要があります。 Oracle Enterprise Repository Webコンソールには、パスワードを暗号化するためのツールがあります。 http://<host>:<port>/<domain>/diag/encryptstrings.jsp |
|
リモート・サーバーのタイプを指定します。リモート・サーバーには、SOASuite、OSB、WLSのいずれかを含めることができます。 |
|
ファイルではなく、収集するリモート・プロジェクトの名前を指定します。省略した場合、サーバー上のすべてのプロジェクトが収集されます。Oracle SOA Suiteの場合、これは、コンポジットの名前にリビジョンを付けた名前(たとえば、 |
|
作成したアセットに設定されるデプロイメント・ステータスを指定します。これは、設計時の値またはランタイム値をとります。 |
|
出力のバージョン情報を指定します。 |
|
Oracle SOA Suiteのパーティションの名前を指定します。デフォルトでは、SOAの"default"パーティションが使用されます。 |
|
収集をプレビュー・モードで実行できるかどうかを指定します。trueに設定した場合、ハーベスタはプレビュー・モードで実行されます。成功および失敗に関する詳細情報が記録され、変更はOracle Enterprise Repositoryにコミットされません。 falseに設定したか、値が指定されていない場合、ハーベスタは本番モードで実行されます。成功および失敗に関する詳細情報が記録され、変更はOracle Enterprise Repositoryにコミットされます。 |
|
収集から作成されたすべてのアセットがこのプロジェクトの作成に適用されます。 プロジェクトはOER内にすでに存在する必要があります。 |
|
ハーベスタのコマンド行ユーティリティのオンライン・ヘルプが表示されます。 |
リモート収集の例は、次のとおりです。
harvest.bat -remote_url mysoasuiteserver:8001 -remote_username weblogic -remote_password ****** -remote_server_type SOASuite -remote_project MyComposite_rev1.0 -soa_partition department1
セキュリティを確実にするために、パスワードを暗号化する必要があります。Oracle Enterprise Repository Webコンソールには、パスワードを暗号化するためのツールがあります。
http://<host>:<port>/<domain>/diag/encryptstrings.jsp
図6-1に、harvest.bat -help
コマンドで表示されたコマンド行ユーティリティのオプションとオンライン・ヘルプを示します。
コマンド行のオプションはどれも必須ではありません。これらは省略できます。
オプションが省略された場合、ハーベスタはharvest.bat
が存在する<Harvester Home>
ディレクトリのHarvesterSettings.xml
ファイルにある情報を使用します。コマンド行でオプションを指定した場合、これらにより、HarvesterSettings.xml
の設定がオーバーライドされます。
<Harvester Home>
内のHarvesterSettings.xml
ファイルを使用して収集されるアーティファクトを参照するには、次のXMLを変更します。
<query> <fileQuery> <rootDir>C:\samples</rootDir> <files>BPEL</files> </fileQuery> </query>
または
<query> <fileQuery> <files>http://remote/server/my_generated_wsdl</files> <fileType>.wsdl</fileType> </fileQuery> </query>
ハーベスタは、Oracle JDeveloper、EclipseおよびVisual Studio .NETなどの統合開発環境(IDE)と統合できます。
注意: Oracle Enterprise Repositoryは、エンドポイントおよびホストされているWSDLを持つサービスのみをOracle Service Registryに昇格します。また、具体的なWSDLを持つサービスのみをJDeveloperを介して使用できます。エンドポイントおよびWSDLの場所を取得するために実行時環境から収集することをお薦めします。 |
ハーベスタとIDEの統合の詳細は、『Oracle Fusion Middleware Oracle Enterprise Repository統合ガイド』を参照してください。
ハーベスタをAntタスクとして呼び出すと、デプロイメント時にすべてのデプロイメント情報がOracle Enterprise Repositoryに格納されます。ハーベスタが提供するrepository.submit
Antタスクを使用して、メタデータを収集してOracle Enterprise Repositoryにインポートできます。このタスクは、<Harvester Home>
ディレクトリ(11.1.1.x.x-OER-Harvester.zip
を解凍したディレクトリ)にあるharvest-tasks.xml
ファイルで定義できます。
この項には次のトピックが含まれます:
表6-5に、harvest-tasks.xml
ファイル内のrepository.submit
Antタスクに指定できるパラメータを示します。
表6-5 repository.submit Antタスクのパラメータ
属性 | 説明 | 必須 |
---|---|---|
|
接続先のリポジトリ・インスタンス。 |
はい(プロパティによって指定されていない場合)。 |
|
Oracle Enterprise Repositoryにログインするためのユーザー名。 |
はい(プロパティによって指定されていない場合)。 |
|
Oracle Enterprise Repositoryにログインするためのパスワード。 セキュリティを確実にするために、パスワードを暗号化する必要があります。 Oracle Enterprise Repository Webコンソールには、パスワードを暗号化するためのツールがあります。 http://<host>:<port>/<domain>/diag/encryptstrings.jsp |
はい(プロパティによって指定されていない場合)。 |
|
Oracle Enterprise Repositoryに対する呼出しがタイムアウトするまでの秒数。 |
いいえ。デフォルト値は300 (5分)です。 |
|
Oracle Enterprise Repositoryの操作の結果としてエラーになった場合、ビルド・スクリプト全体が失敗します。 |
いいえ。デフォルト値はtrueです。 |
|
リポジトリの操作の結果としてエラーになった場合に設定するAntプロパティの名前。これは |
いいえ。 |
|
Antの |
いいえ。デフォルト値はtrueです。 |
|
Oracle Enterprise Repositoryで作成された各アセットに関連付けるハーベスタの説明。これは、ハーベスタ・プロパティに表示されます。ハーベスタ・プロパティの詳細は、B.10項「ハーベスタのプロパティ」を参照してください。 |
いいえ。 |
|
Oracle Enterprise Repositoryで作成された各アセットに接頭辞を付けるためのネームスペース。 |
いいえ。 |
|
Oracle Enterprise Repositoryで作成された各アセットに関連付けるハーベスタ・バージョン。これは、ハーベスタ・プロパティに表示されます。 |
いいえ。 |
|
インストールされているOracle Service Busサーバーの |
はい(Oracle Service Busプロジェクトのjarを収集する場合)。 |
|
設定XMLファイルの場所。 |
いいえ。Antタスクにバンドルされた設定XMLにデフォルト設定されます。 |
|
設定XMLファイルの場所。 |
いいえ。Antタスクにバンドルされた設定XMLにデフォルト設定されます。 |
|
このオプションにより、ハーベスタをプレビュー・モードに設定します。ハーベスタには、作成または変更するすべてのアセットが表示されますが、トランザクションはコミットされません。有効にするには、値をtrueに設定します。 |
いいえ。デフォルト値はfalseです。 |
fileSetは、収集する一連のファイルを選択するために使用されます。1つ以上のfileSetを指定する必要があります。ハーベスタにより、fileSetによって選択されたすべてのファイルが調査されます。これには、.zip形式(.zip、.jarおよび.earファイルなどを含む)が含まれます。例6-1に示すAnt repository.submitタスクでは、fileSetディレクトリ(/tmp/components
ディレクトリ)の下のすべてのファイルおよびディレクトリが調査され、これらがOracle Enterprise Repositoryにインポートされています。
URIは、イントロスペクトするファイルを識別します。1つ以上のURIを指定できます。これには、リモート・ファイルを指す"http:" URL、ローカル・ファイルを指す"file:" URL、またはJavaでサポートされる他の任意のURLを指定できます。これは、単一のファイル、またはzip、jar、earなどを含むzip形式のファイルを指すことができます。これには、エクスポートされたOracle Service Busプロジェクトのjarが含まれる場合があります。Oracle Service Busプロジェクトは、Export|Oracle Service Bus|Configuration Jar
コマンドをOracle Service Bus Workshopからエクスポートできます。artifactStore
属性は、参照するOracle Enterprise Repositoryアーティファクト・ストアの名前です。アーティファクト・ストアは、Oracle Enterprise Repositoryのアセット・エディタで事前に作成する必要があります。指定した場合、URIはアーティファクト・ストアのURLを基準に解決されます。アーティファクト・ストアを基準にURIを指定する場合、URIは.wsdl
ファイルまたは.zip
ファイルなどのファイルに解決される必要があります。ディレクトリを指すURIはサポートされません。fileType
属性は、収集するファイルのファイル・タイプを示します。指定しない場合、タイプはファイルの拡張子から導出されます。これは、config/plugins
フォルダ内のファイル・タイプの1つと一致する必要があります。デフォルトでは、.bpel
、.mfl
、.policy
、.wsdl
、.xsd
、.xquery
、.xslt
がサポートされます。
例6-1 Ant repository.submitタスクを使用した収集対象ファイルの指定
<repository.submit repositoryurl="http://server.example.com:8080/oer" repositoryusername="myuser" registrypassword="*****" registrationStatus="Registered" applyRegistrationStatusToExistingAssets="true" //To ensure security, the password must be encrypted. //The password encryption tool (encrypt.bat/encrypt.sh) allows you to encrypt // the passwords that are stored in the Harvester configuration // (HarvesterSettings.xml) file. settingsFile="../MyCustomSettings.xml"> <fileset dir="/tmp/components/"> <include name="**/*"/> </fileset> <applyCategorization type="Classification" value="Raw" applyToExistingAssets="false" /> <applyCategorization type="AssetFunction" value="XML Standards" applyToExistingAssets="true" /> <uri filetype=".wsdl">http://remote/server/my_generated_wsdl</uri> </repository.submit>
ハーベスタから作成されるアセットの登録ステータスを指定できます。使用できる値は次のとおりです。
未発行
発行済 - レビュー保留中
発行済 - レビュー中
登録済
デフォルトでは、新しく作成されたアセットに登録ステータスが適用されます。また、同じアーティファクトの以前の収集から作成されるアセットの登録ステータスを指定することもできます。有効にするには、例6-1に示すように、applyRegistrationStatusToExistingAssets
をtrueに設定します。
収集から作成されるアセットにカテゴリ分けを適用できます。これには、アセット・エディタの「カテゴリ分けの構成」タブに表示される、カテゴリ分けタイプの内部名が判明していることが必要です。必要な値は、Element Name
です。
アセット・エディタを開きます。
「アクション」→カテゴリ分けの構成を選択します。
カテゴリ分けタイプを選択し、「編集」を選択します。「要素名」フィールドに、値が表示されます。例6-2を参照してください。
「要素名」は、アセット・エディタの「カテゴリ分けの構成」ウィンドウのフィールドを参照しています。このフィールドの値をHarvesterSettings.xml
で使用します。
remoteProjectにより、ハーベスタがファイルからではなくリモート・サーバーからプロジェクトを読み込むよう指定します。uri
属性は、リモート・プロジェクトの読込み元の実行中のサーバーを示します。usernameおよびpassword属性は、リモート・サーバーのログイン情報を示します。
serverType
属性は、リモート・サーバーのタイプを示し、これには、SOASuite、Oracle Service BusまたはWebLogic Serverなどがあります。projectName
要素は、ファイルではなく、収集するリモート・プロジェクトの名前を示します。省略した場合、サーバー上のすべてのプロジェクトが収集されます。Oracle SOA Suiteの場合、これは、コンポジットの名前にリビジョンを付けた名前(たとえば、MyComposite_rev1
など)にする必要があります。WLSの場合、これは、WebLogic管理コンソールおよびEnterprise Managerで見られるようなアプリケーション名にする必要があります。
例6-2 ネストした要素としてのパラメータの指定 - remoteProject
<repository.submit repositoryurl="http://server.example.com:8080/oer" repositoryusername="myuser" registrypassword="*****" //To ensure security, the password must be encrypted. //The password encryption tool (encrypt.bat/encrypt.sh) allows you to encrypt // the passwords that are stored in the Harvester configuration // (HarvesterSettings.xml) file. settingsFile="../MyCustomSettings.xml"> <remoteProjects uri="http://mywlsserver:7001" username="admin" password="*****" serverType="SOASuite" soaPartition="${partiton}"> //To ensure security, the password must be encrypted. //The password encryption tool (encrypt.bat/encrypt.sh) allows you to encrypt // the passwords that are stored in the Harvester configuration // (HarvesterSettings.xml) file. <projectName>MySOAComposite1_rev1.0</projectName> <projectName>MySOAComposite3_rev2.0</projectName> </remoteProjects> </repository.submit>
収集から作成されたすべてのアセットに対するプロジェクトの作成としてタグ付けされた複数のプロジェクトを指定できます。プロジェクトはOER内にすでに存在する必要があります。
<repository.submit>要素内に、次を追加します。
<producingProject name="MyProjectName"/>
<producingProject name="MyOtherProjectName"/>
プロジェクトの作成は、同じ方法で、HarvesterSettings.xml
ファイル内に設定することもできます。
ハーベスタのAntタスクをインポートするには、Ant XML内に次の行を追加します。
<taskdef file=${harvester.dir}/harvest-tasks.xml/>
ここで、harvester.dir
は11.1.1.x.x-OER-Harvester.zip
を解凍した<harvester home>ディレクトリです。
コマンド行から実行する場合、Antのクラスパスでハーベスタ・ライブラリが使用可能であることを確認してください。ハーベスタには、Antのクラスパスを正しく設定するためのrunant
と呼ばれるスクリプトがあります。ハーベスタのAntタスクを使用する場合は、このスクリプトを使用してAntを呼び出す必要があります。次に例を示します。
runant -f mybuild.xml
(ここで、mybuild.xml
は自分のAntのビルドXMLです。)
runantに渡される引数はすべてAntに渡されます。harvest.bat
またはharvest.sh
を実行する前に、必要な環境変数が設定されていることを確認してください。設定する必要がある環境変数のリストは、表6-6を参照してください。
表6-6 コマンド行スクリプト
環境変数 | 説明 |
---|---|
|
|
|
|
|
Oracle Service Busからプロジェクトを収集する場合、Oracle Service Busサーバーが含まれるインストール・ディレクトリを |
|
オプションで、 関連項目: http://java.sun.com/javase/6/docs/technotes/guides/net/proxies.html |
runantスクリプトは、Antの古いランチャであるorg.apache.tools.ant.Mainを使用します。新しいランチャは、Oracle Service BusのカスタムURIStreamHandlers
の使用に影響を及ぼすURIClassLoader
インタフェースを使用します。
古いAntランチャは、ant/lib
ディレクトリでのカスタムAntタスクの自動検出をサポートしていません。<taskdef>
を使用してカスタム・タスクを定義する場合、クラスパス属性を指定する必要があります。
たとえば、次の例は、<taskdef>
の定義方法として正しくない方法を示しています。
<taskdef id="ant-contrib" resource="net/sf/antcontrib/antcontrib.properties"/>
次の例は、<taskdef>
の定義方法として正しい方法を示しています。
<taskdef id="ant-contrib" resource="net/sf/antcontrib/antcontrib.properties" classpath="${ant.home}\lib\ant-contrib.jar"/>
WLST (WebLogic Scripting Tool)はコマンド行スクリプト・インタフェースです。システム管理者は、このインタフェースでWebLogic Serverのインスタンスを管理できます。WLSTは、Oracle Service Bus 10gおよびSOA Suite 11gをサポートしています。WLSTの詳細は『Oracle Fusion Middleware WebLogic Scripting Toolコマンド・リファレンス』を参照してください。ハーベスタをWLSTから呼び出すと、デプロイメント時にすべてのデプロイメント情報をOracle Enterprise Repositoryに格納できます。次の手順を実行し、WLSTからハーベスタを呼び出します。
oer.py
ファイルをハーベスタのインストール・フォルダから<BEA_HOME>\wlserver_10.3\common\wlst\libディレクトリにコピーします。
コマンド・ウィンドウで、次のコマンドを入力します。
WLSTクラスパスを初期化します。<BEA_HOME>\wlserver_10.3\server\bin\setWLSEnv.cmdを実行します。
ハーベスタのクラスパスを初期化します。<harvester>フォルダに移動し、<harvester>\setenv.batを実行します。
WLSTを呼び出します: java weblogic.WLST<scriptname>
AntからWLSTを呼び出すには、次の手順を実行します。
コマンド・プロンプトで、cdコマンドを使用して<harvester>
ディレクトリに変更します。
runant.bat -f<antscriptname>
を入力します。この場合、Antスクリプトにより、Antの<java>タスクを使用してweblogic.WLST Javaクラスが呼び出されます。
<java>
タスクは、fork = true
に設定する必要があります。
<java>
タスクでは、環境のCLASSPATHを含める必要があります(runant.batにより、ハーベスタ・クラスを追加するようCLASSPATHが設定されます)。
<java>
タスクでは、WLSTスクリプトによって参照される任意のライブラリもクラスパスに含める必要があります。
Antスクリプトの例を次に示します。
<property environment="env"/> <target name="harvest"> <java classname="weblogic.WLST" fork="true"> <arg line="${domain.import.script}"/> <arg line="${import.config.file}"/> <classpath refid="extra.class.path"/> <!--extra jars used by WLST script, e.g. OSB jars--> <classpath path="${env.CLASSPATH}"/> </java> </target>
oer.harvest()
メソッドは、1つの引数(コマンド行パラメータのディクショナリ)をとります。これらは、ハーベスタのコマンド行から使用可能なパラメータと同じパラメータです。
コマンド行からのハーベスタの使用の詳細は、6.2.2.2項「コマンド行用の収集対象のアーティファクトの選択」を参照してください。
次に、その使用方法の例を示します。
argMap = {} argMap['-harvester_home'] = '.' argMap['-bea_home'] = 'c:/bea' argMap['-remote_url'] = 'http://mywlsserver:7001' argMap['-remote_username'] = 'admin' argMap['-remote_password'] = '*****' //To ensure security, the password must be encrypted. //The password encryption tool (encrypt.bat/encrypt.sh) allows you to encrypt // the passwords that are stored in the Harvester configuration // (HarvesterSettings.xml) file. argMap['-remote_server_type] = 'SOASuite' argMap['-remote_project] = 'MySOAComposite_rev1.0' argMap['-soa_partition'] = 'department1' oer.harvest(argMap)
-harvester_home
引数は、ハーベスタ・インストールの場所を指す必要があります。-bea_home
引数は、Oracle Service Busによる収集の場合に必要です。
アセットが開発からテスト、ステージングおよび本番の各環境に移行するにつれ、これらのアセットをOracle Enterprise Repository内に収集することにより、Oracle Enterprise Repositoryのエンドポイントを最新のものにできます。Oracle Enterprise Repositoryでは、新しいエンドポイントがOracle Enterprise Repository内の既存のアセットに関連付けられます。アセットのライフサイクルの経過に応じてWSDLが変更されると、更新されたWSDLもOracle Enterprise Repository内の既存のアセットに関連付けられます。
この項では、様々なサーバーに関するランタイム収集の詳細を説明します。この項には次のトピックが含まれます:
Oracle SOA Suiteサーバーから収集する場合、次のWLSセキュリティ・ロールが必要です。
管理者
オペレータ
モニター
-remote_url
パラメータは、SOAインフラ管理対象サーバーのポートを指す必要があります。Oracle SOA Suiteでのこのデフォルト値は8001です。
SOAインフラ管理対象サーバーは稼働している必要があります。収集の際には、リモート収集の一環としてMDSデータベースへの接続が行われます。MDSデータベースは稼働しており、収集が行われるマシンからアクセスできる必要があります。
SSL/HTTPプロトコルがサポートされます。ハーベスタは、t3プロトコルを介してサーバーのMBeanに接続します。
Deployment URI
プロパティ内の-remote_url
の値は、ランタイム・サーバーから収集されたアセットに自動的に保存されます。
Oracle SOA Suiteサーバーからの収集の例は、次のとおりです。
harvest.bat -remote_url mysoasuiteserver:8001 -remote_username weblogic -remote_password <*****> -remote_server_type SOASuite -remote_project MyComposite_rev1.0 -soa_partition default
セキュリティを確実にするために、パスワードを暗号化する必要があります。パスワード暗号化ツール(encrypt.bat
/encrypt.sh
)を使用すると、ハーベスタ構成ファイル(HarvesterSettings.xml
)に格納されているパスワードを暗号化できます。パスワードの暗号化の詳細は、第5章「診断およびパスワードの暗号化」を参照してください。
Oracle SOA Suiteサーバーには、ランタイム中にコンポジットをさらにカテゴリ分けするためのパーティションも実装されています。これにより、ハーベスタ内でコンポジット名とともに使用するパーティションを選択できます。HarvesterSettings.xml
ファイル内のパラメータ名は、soaPartition
と呼ばれます。HarvesterSettings.xml
ファイルの例を次に示します。
<remoteQuery>
<serverType>SOASuite</serverType>
<projectName>MyComposite_rev1.0</projectName>
<uri>http://remotehost:8001/</uri>
<credentials>
<user>weblogic</user>
<password>password</password>
</credentials>
<soaPartition>partition_name</soaPartition>
</remoteQuery>
注意: パーティションは、バージョン11g R1 PS2以上のSOAサーバーでのみ使用する必要があります。PS2より前のバージョンを使用している場合は、soaPartition要素にコメントを付ける必要があります。 デフォルトでは、"default"に設定されたpartition_nameオプションを使用して収集が行われます。指定されていない場合、パーティションの"default"はSOAデプロイメントによって即時利用可能になります。 |
クラスタ内のSOA Suiteコンポジットの収集
OHSサーバーは、WebTierラベルの一部としてミドルウェア・ホームにデプロイされており、このミドルウェア・ホーム内で構成されたドメインにも関連付けられています。
通常はOHSサーバーのmod_wl_2x.so
HTTPサーバー・モジュールに割り当てられているURIがいくつか存在しますが、その一部を次に示します(OHSのmod_wl_ohs.conf
ファイルから取得され、外部で使用できるよう汎用化するために変更されたものです)。
LoadModule weblogic_module
"/opt/Oracle/Middleware/wlserver_10.3/server/plugin/linux/x86_64/mod_wl_22.so" <IfModule weblogic_module> ConnectTimeoutSecs 10 ConnectRetrySecs 2 Debug ALL WLLogFile /tmp/weblogic.log DebugConfigInfo ON WLSocketTimeoutSecs 2 WLIOTimeoutSecs 300 Idempotent ON FileCaching ON KeepAliveSecs 20 KeepAliveEnabled ON DynamicServerList ON WLProxySSL OFF </IfModule>
<Location /soa-infra> SetHandler weblogic-handler WebLogicCluster slc01ese.example.com:23049,wls02.example.com:15980 </Location> <Location ~ "/bea_wls_internal/iiop/Client*"> SetHandler weblogic-handler WebLogicCluster wls01.example.com:23049,wls02.example.com:15980 </Location> <Location ~ "/bea_wls_internal/HTTPClnt*"> SetHandler weblogic-handler WebLogicCluster wls01.example.com:23049,wls02.example.com:15980 </Location> <Location /console> SetHandler weblogic-handler WebLogicHost wls01.example.com WebLogicPort 19617 </Location> <Location /em> SetHandler weblogic-handler WebLogicHost wls01.example.com WebLogicPort 19617 </Location> <Location /bea_wls_internal> SetHandler weblogic-handler WebLogicHost wls01.example.com WebLogicPort 19617 </Location> <Location /jndi> SetHandler weblogic-handler WebLogicHost wls01.example.com WebLogicPort 23049 </Location> <Location /HTTPClnt> SetHandler weblogic-handler WebLogicHost wls01.example.com WebLogicPort 23049 </Location>
これらの特別なURIパターンを使用すると、JMSおよびJMXリクエストをOHS WebLogicモジュールを経由してルーティングできます。
コードに適用した変更を除いて、これらが、SOAクラスタ・インストールに適用された唯一のカスタマイズです。
WebLogic Serverから収集する場合、WebLogic Serverのセキュリティ・ロールは必要ありません。
-remote_url
パラメータは、WLS管理サーバーのポートを指す必要があります。Weblogicでのこのデフォルト値は7001です。WLS管理サーバーは稼働している必要があります。SSL/HTTPプロトコルがサポートされます。ハーベスタは、t3プロトコルを介してサーバーのMBeanに接続します。
Deployment URI
プロパティ内の-remote_url
の値は、ランタイム・サーバーから収集されたアセットに自動的に保存されます。
Oracle Service BusからWebサービスを収集する場合、管理WLSセキュリティ・ロールが必要です。
-remote_url
パラメータは、Oracle Service BusドメインのWLS管理サーバーのポートを指す必要があります。Weblogicでのこのデフォルト値は7001です。WLS管理サーバーは稼働している必要があります。SSL/HTTPプロトコルがサポートされます。ハーベスタは、t3プロトコルを介してサーバーのMBeanに接続します。
Deployment URI
プロパティ内の-remote_url
の値は、ランタイム・サーバーから収集されたアセットに自動的に保存されます。
Oracle Service BusからのWebサービスの収集の例は、次のとおりです。
harvest.bat -remote_url myosbserver:7001 -remote_username weblogic -remote_password (******) -remote_server_type OSB -remote_project MyOSBProject
セキュリティを確実にするために、パスワードを暗号化する必要があります。パスワード暗号化ツール(encrypt.bat
/encrypt.sh
)を使用すると、ハーベスタ構成ファイル(HarvesterSettings.xml
)に格納されているパスワードを暗号化できます。パスワードの暗号化の詳細は、第5章「診断およびパスワードの暗号化」を参照してください。
オプションで、<Harvester Home>
ディレクトリのXMLファイルHarvesterSettings.xml
内の次の追加構成設定を変更できます。
<harvesterDescription>
: 実行される収集に関する説明。この情報は、Oracle Enterprise Repositoryで作成されたアセットのハーベスタ・プロパティに格納されます。
<harvesterVersion>
: 実行される収集のバージョン。この情報は、Oracle Enterprise Repositoryで作成されたアセットのハーベスタ・プロパティに格納されます。
<namespace>
: 収集中に作成された抽象(非アーティファクト) Oracle Enterprise Repositoryアセットに追加されるネームスペース。ネームスペースは、重複の検出で使用されます。空白のままにすると、Oracle SOA SuiteおよびOracle Service Busプロジェクト(使用可能な場合)の情報に基づいて設定されます。通常、これが最適であるため、オーバーライドする場合は慎重に行ってください。
<workDir>
: zipおよびjarファイルが解凍される一時ディレクトリ。デフォルトでは、システムの一時ディレクトリが使用されます。
<triggerEvent>
: ワークフローによって使用されるOracle Enterprise Repositoryイベントの状態。trueの場合、ワークフローによって使用されるOracle Enterprise Repositoryイベントがトリガーされます。
ハーベスタのプロパティの詳細は、B.10項「ハーベスタのプロパティ」を参照してください。
ハーベスタは、OracleのMDS (メタデータ・サービス)からのファイルの読込みをサポートしています。MDSは、SOA Suite 11gでSOA Suiteフレームワーク・スキーマ、共有ポリシー、およびデプロイ済コンポジットなどの共有データを格納するために使用されます。
Oracle MDSファイルは、oramds: URLプロトコルを介して参照されます。ハーベスタには、MDSへの接続を構成するために使用されるadf-config.xml
ファイルが含まれます。このファイルは、JDeveloperでフレームワーク・スキーマ用として使用されるローカルMDSストアを指すことができます。また、フレームワーク・スキーマ、共有ポリシー、およびデプロイ済コンポジットにアクセスするためにリモートMDSストアを指すこともできます。ハーベスタに同梱されているadf-config.xml
ファイルには、両方の使用事例が示されています。
ローカルMDSの場合、adf-config.xml
内のmetadata-pathプロパティを変更し、JDeveloperインストールの場所と一致するよう設定します。リモートMDSの場合、adf-config.xml
で、file store (JDev)
とマークされたセクションをコメント化し、「DB store (SOA Suite server)」とマークされたセクションを非コメント化します。また、jdbc-url
、jdbc-userid
およびjdbc-password
プロパティも変更し、Oracle SOA SuiteサーバーのMDSデータベースを指すようにします。
次の例に示すように、コマンド行から収集することもできます。
harvest.bat -file oramds:/policies/oracle/wsmtom_policy
Oracle JDeveloper 11gは、MDS内のコンテンツを表示できるブラウザ・ベースのアプリケーションです。JDeveloperで、「ファイル」、「新規」をクリックします。新規ギャラリ・ダイアログで、「接続」、SOA-MDS接続をクリックし、MDS接続を表示します。
また、HarvesterSettings.xml
またはハーベスタのAntタスク内の<mdsSettingsFile>
要素を介してハーベスタが別のadf-config.xml
ファイルを指すようにすることができます。
MDSの構成の詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』のOracle ADF XMLファイルに関する項を参照してください。
ハーベスタは、実行された詳細タスクのロギング用としてlog4jを使用し、ログ・ファイルは<Harvester Home>
ディレクトリに格納されます。ロギング・オプションを変更するには、<Harvester Home>
ディレクトリ内のlog4fl.properties
ファイルを更新します。
デフォルトでは、ハーベスタは、Oracle Enterprise Repositoryに対するすべての変更を単一のトランザクションで行います。ハーベスタ機能におけるトランザクション操作は、次のルールに基づいています。
11g R1の場合、Oracle Enterprise Repositoryサーバーは一度に1つのトランザクションのみをサポートします。トランザクションを開始できない場合、その旨通知されます。
トランザクションには、一連のタイムアウトが関連付けられています。これらにより、タイムアウトを超えた場合にハーベスタの操作が終了します。
cmee.extframework.impexp.monitor.rex.maxidle
の設定により、トランザクションとクライアントとの接続が失われたときにトランザクションの稼働状態を維持する最大時間を指定します。これにより、クライアント側のハーベスタ・プロセスが中断されたときにトランザクションを取り消すことが可能になります。
cmee.extframework.impexp.monitor.maxruntime
の設定により、トランザクション全体に必要な最大時間を指定します。
1つの操作がcmee.extframework.impexp.monitor.rex.maxidle
(maxidle)設定を超えると、これが原因で後続のすべての操作が失敗する可能性があります。この場合、ログ内の最後のエラーには「トランザクションが開始されていないためにトランザクションをロールバックしようとしたときにエラーが発生しました。」と表示されます。これは、文がmaxidleを超えたときにトランザクションが自動的にロールバックされることが原因であり、クライアント・アプリケーションが強制的にロールバックを試行すると対象のトランザクションを使用できなくなり、エラーが検出されます。この結果、ハーベスタの操作によるデータは、Oracle Enterprise Repositoryに追加されなくなります。
この項では、ハーベスタの拡張構成オプションについて説明します。
ハーベスタには、サポートされるアダプタ・アセットおよびアプリケーション・アセットを制御するadapters.xml
と呼ばれる構成ファイルが含まれます。構造は次のとおりです。
adapter
<adapter name="AQ Adapter" jcaSpecBinding="oracle.tip.adapter.aq.inbound.AQDequeueActivationSpec"/> <adapter name="AQ Adapter" jcaSpecBinding="oracle.tip.adapter.aq.outbound.AQEnqueueInteractionSpec"/> <adapter name="PeopleSoft Adapter" jcaSpecBinding="com.ibi.afjca.cci.IWAFInteractionSpec" jcaCSAdapterName="PeopleSoft"/> <adapter name="PeopleSoft Adapter" namespace="http://xmlns.oracle.com/Enterprise/"/> <adapter name="PeopleSoft Adapter" namespace="http://peoplesoft.com/"/>
<adapterAsset name="AQ Adapter"> </adapterAsset> <adapterAsset name="PeopleSoft Adapter" applicationName="PeopleSoft Application"> </adapterAsset>
各adapterAsset
要素は、Oracle Enterprise Repository内に存在するアダプタ・アセットまたはアプリケーション・アセット(あるいはその両方)に対応している必要があります。ハーベスタでは、アダプタ・アセットまたはアプリケーション・アセットは作成されません。これらは、Oracle Enterprise Repositoryソリューション・パックを介してインポートされるか、Oracle Enterprise Repository内に手動で作成される必要があります。11.1.1.x.x-OER-Harvester-Solution-Pack.zip
には、デフォルトのadapters.xml
ファイルで構成されているアダプタ・アセットおよびアプリケーション・アセットがすべて含まれます。各adapter要素は、作成されているアダプタ構成アセットまたはアプリケーション・デプロイメント・アセット(あるいはその両方)を示します。name属性は、対応するadapterAsset要素の名前と一致する必要があります。各adapter要素内には、jcaSpecBinding
またはnamespace属性が存在する必要があります。
jcaSpecBinding
属性は、Oracle SOA Suiteによって作成されたWSDLで見られるように、JCAのinteractionSpec
またはactivationSpec
クラスの完全修飾クラス名に対応しています。jcaSpecBindingが存在する場合、アダプタ構成アセットが作成されます。
注意: 対応するadapterAsset要素内に |
jcaCSAAdapterName
属性はオプションです。これは、アダプタ・タイプを識別する上でJCAのinteractionSpec
/activationSpec
では十分でない場合に指定できます。指定した場合、これは、WSDLのjca:address
セクションのcs.AdapterName
属性と一致する必要があります。
namespace
属性は、Oracle BSEフレームワークを使用してOracle SOA Suiteによって作成されるWSDLのtargetNamespace
に対応しています。ネームスペースが存在する場合、アダプタ構成アセットは作成されず、アプリケーション・デプロイメントのみが作成されます。
アダプタまたはアプリケーションで複数のJCAクラスまたはXMLネームスペースが使用可能な場合、複数のadapter要素が1つのadapterAsset
に対応している可能性があります。各adapterAsset
要素は、作成されるアダプタ・アセットまたはアプリケーション・アセット(あるいはその両方)を示します。name属性は、対応するadapter要素の名前と一致する必要があります。Oracle Enterprise Repositoryでは、adapterAsset
要素ごとに1つのアダプタ・アセットまたはアプリケーション・アセット(あるいはその両方)が作成されます。
applicationName
属性(存在する場合)は、アプリケーション・アセットも作成する必要があることを示します。各プロパティ要素の結果、作成されるアダプタ・アセットのハーベスタ・プロパティ・セクション内に指定したデータが設定されます。
ハーベスタのプロパティの詳細は、B.10項「ハーベスタのプロパティ」を参照してください。
この項では、ハーベスタを構成して、統合開発環境で使用する方法について説明します。
この項には次のトピックが含まれます:
コマンド行またはOracle JDeveloperから、あるいはAntタスクを使用してメタデータをOracle Enterprise Repositoryに発行できます。
ハーベスタにより、アーティファクトがスキャンされ、これらのアーティファクトが収集され、これらの間に存在する依存関係が検出されます。次の項で、アーティファクトについて説明します。
ハーベスタにより、これらのアーティファクトのエンティティがOracle Enterprise Repository内に作成され、これらの間のリレーションシップが作成されます。
Oracle Enterprise Repository内に作成されたアーティファクトは、作成されたアセットのファイル情報に格納されます。ローカルで格納された収集済アーティファクトの場合、物理ファイルはOracle Enterprise Repositoryに格納されます。一方、リモートで格納された収集済アーティファクト(http://)の場合、Oracle Enterprise RepositoryはそのアーティファクトのURLの場所を指します。デフォルトでは、ローカルで格納された収集済アーティファクトはExchange UtilityによってはOSRに公開されません。リモートで格納されたアーティファクトのみが公開されます。
図6-3に、ハーベスタによって作成されるアセット・タイプとこれらのリレーションシップを示し、図6-4に、アセット・モデル図の例を示します。
注意: リレーションシップ・ロール名は、プライマリ・ロール、セカンダリ・ロールの順にリストされています。 これに続く各図では、プライマリ・ロールが各矢印の始点にあり、セカンダリ・ロールが各矢印の終点にあります。 |
BPELアーティファクトをOracle Enterprise Repositoryに発行すると、Oracle Enterprise Repositoryで次のアクションが行われます。
ビジネス・プロセス・アセット(タイプ: ビジネス・プロセス:BPEL
)がタイプがアーティファクト:BPELのアーティファクト・アセットに直接関連付けられます。
BPELアーティファクト・コンテンツが含まれるBPELアーティファクト・アセット(タイプ: アーティファクト:BPEL
)が作成されます。
"Defined by
"リレーションシップを使用してビジネス・プロセスがBPELアーティファクト・アセットに関連付けられます。
BPELフロー内のすべてのパートナ・リンクについて、ビジネス・プロセスがインタフェース・アセット(タイプ: インタフェース
)にも関連付けられます。
BPELアーティファクト・アセットがWSDLアーティファクト・アセットおよびXSLTアーティファクト・アセット(フロー内で変換が実行される場合)に関連付けられます。これらは、ビジネス・プロセスのパートナ・リンクの定義およびエントリ・ポイントが含まれるWSDLです。
WSDLアーティファクトをOracle Enterprise Repositoryに発行すると、Oracle Enterprise Repositoryで次のアクションが行われます。
WSDLにサービスが含まれる場合、サービス・アセット(タイプ: サービス
)が作成されます。
ポート・タイプに対してインタフェース・アセット(タイプ: インタフェース
)が作成されます。
"Contains interface
"リレーションシップを使用してサービスがインタフェース・アセットに関連付けられます。
ポート用のエンドポイント・アセットが作成されます。
"Deployed to
"リレーションシップを使用してサービス・アセットがエンドポイント・アセットに関連付けられます。
WSDLアーティファクト・コンテンツが含まれるWSDLアーティファクト・アセット(タイプ: アーティファクト:WSDL
)が作成されます。
WSDLアーティファクトがWSDLをインポートし、XSDをインポート/インクルードする場合、"References
"リレーションシップを使用してこれらのWSDLおよびXSDアーティファクト・アセットに関連付けられます。
XSDアーティファクトをOracle Enterprise Repositoryに発行すると、Oracle Enterprise Repositoryで次のアクションが行われます。
XSDアーティファクト・コンテンツが含まれるXSDアーティファクト・アセット(タイプ: アーティファクト:XSD
)が作成されます。
XSDアーティファクトがXSDをインポート/インクルードする場合、"References
"リレーションシップを使用してこれらのXSDアーティファクト・アセットに関連付けられます。
XSLアーティファクトをOracle Enterprise Repositoryに発行すると、Oracle Enterprise Repositoryで次のアクションが行われます。
XSLアーティファクト・コンテンツが含まれるXSLアーティファクト・アセット(タイプ"アーティファクト:XSL
")が作成されます。
XSLアーティファクトが変換のソースおよびターゲットとしてXSDおよびWSDLを参照する場合、"References
"リレーションシップを使用してこれらのXSDおよびWSDLアーティファクト・アセットに関連付けられます。
この項では、Oracle SOA Suite 11gプロジェクトの収集について説明します。
コンポジット: Oracle SOA Suite 11gプロジェクト・フォルダまたはそのcomposite.xml
ファイルをイントロスペクションすると、Oracle Enterprise Repository内で次のアクションが行われます。
コンポジット・アセットが作成されます。
コンポジットによってサービスが公開されることにより、Oracle Enterprise Repository内にコンポジット・サービス・アセットが生成されます。これらは、Sync-ExposesServiceリレーションシップによってコンポジットに関連付けられます。
コンポジットによって参照が公開されることにより、Oracle Enterprise Repository内にコンポジット参照アセットが生成されます。これらは、Sync-ExposesReferenceリレーションシップによってコンポジットに関連付けられます。
composite.xml
ファイルは、Artifact: Compositeタイプのアセットになり、Sync-Definesリレーションシップによってコンポジットに関連付けられます。
コンポジット・デプロイメント: Oracle SOA Suite 11gプロジェクト・フォルダまたはそのcomposite.xml
ファイルをイントロスペクションすると、Oracle Enterprise Repository内で次のアクションが行われます。
コンポジット・デプロイメント・アセットが作成されます。
コンポジット・デプロイメントによってサービスが公開されることにより、Oracle Enterprise Repository内にコンポジット・デプロイメント・サービス・アセットが生成されます。これらは、Sync-ExposesServiceリレーションシップによってコンポジット・デプロイメントに関連付けられます。
コンポジット・デプロイメントによって参照が公開されることにより、Oracle Enterprise Repository内にコンポジット・デプロイメント参照アセットが生成されます。これらは、Sync-ExposesReferenceリレーションシップによってコンポジット・デプロイメントに関連付けられます。
コンポジット・デプロイメントは、Deployment-Deploysリレーションシップによってコンポジットに関連付けられます。
コンポーネント・レベルのアーティファクト: 次のコンポジットのコンポーネントを作成し、Sync-Containsリレーションシップによってコンポジットにリンクする必要があります。
BPELプロセスの結果、ビジネス・プロセス:BPEL
アーティファクトが生成されます。
これは、Sync-Definesリレーションシップによってアーティファクト:BPEL
アーティファクトに関連付けられます。これは、6.3.1.1項「BPEL」に示すように、任意の従属アーティファクトに関連付けられます。
メディエータにより、サービス・タイプ属性がMEDIATOR
に設定された状態でサービス・アセットが生成される必要があります。
これは、Sync-Definesリレーションシップによってアーティファクト:MPlan
アーティファクトに関連付けられます。これは、Artifact-Referencesリレーションシップによって従属アーティファクト:XSLT
アーティファクトに関連付けられます。
ヒューマン・タスクにより、ヒューマン・タスク・アセットが生成される必要があります。
これは、Sync-Definesリレーションシップによってアーティファクト:タスク
・アーティファクトに関連付けられます。これは、Artifact-Referencesリレーションシップによって従属アーティファクト:XSD
アーティファクトに関連付けられます。
ビジネス・ルールにより、ビジネス・ルール・アセットが生成される必要があります。
これは、Sync-Definesリレーションシップによってアーティファクト:Decs
アーティファクトに関連付けられます。これは、Artifact-References
リレーションシップによって従属アーティファクト:ルール
・アーティファクトに関連付けられます。Artifact:Rules
アーティファクトは、Artifact-References
リレーションシップによって従属アーティファクト:XSD
アーティファクトに関連付けられます。
Springコンテキスト・コンポーネントにより、Springコンテキスト・アセットが生成される必要があります。
これは、Sync-Definesリレーションシップによってアーティファクト:SpringBeans
アーティファクトに関連付けられます。これは、Artifact-References
リレーションシップによって他のアーティファクト:SpringBeans
アーティファクトに関連付けられます。
コンポーネント・レベルのリレーションシップ:
コンポーネントによって提供されるコンポーネント・サービスにより、インタフェース・アセットが生成されます。これは、BPEL-Entry pointリレーションシップによってコンポーネント・レベルのアセットに関連付けられます(Service-Interfaceリレーションシップによって関連付けられるメディエータは除く)。
composite.xml
の<interface.ws>
の場合、サービスはインタフェース・アセットに関連付けられます。composite.xml
の<interface.java>
の場合、サービスはインタフェース・タイプとしてJava
属性を持つインタフェース・アセットに関連付けられます。
コンポーネント・サービスがコンポジット・レベルに昇格される場合、サービス・アセットは、Composite-Promotesリレーションシップによって対応するコンポジット・サービス・アセットに関連付けられます。
そのコンポーネント・サービスを定義しているcomposite.xml
でWebサービスまたはWSIFバインディングが使用されている場合、Endpoint: Web Serviceアセットが作成されます。これにより、バインディング・タイプ属性がWeb Service
またはWSIF
に設定されます。サービスが昇格される場合、これは、Composite-Promotesリレーションシップによってコンポジット・デプロイメント・サービス・アセットに関連付けられます。
そのコンポーネント・サービスを定義しているcomposite.xml
でEJBまたはADFバインディングが使用されている場合、エンドポイント・アセットが作成されます。これにより、バインディング・タイプ属性がADF Service
またはEJB Service
に設定されます。サービスが昇格される場合、これは、Composite-Promotesリレーションシップによってコンポジット・デプロイメント・サービス・アセットに関連付けられます。
コンポーネント・サービスにJCAまたはB2Bアダプタが使用される場合、アダプタ構成アセットが作成されます。JCAアダプタの場合、これは、対応するアーティファクト: JCA
アセットに関連付けられます。これは、対応するアダプタ・アセットに関連付けられます。サービスが昇格される場合、アダプタ構成は、Composite-Promotesリレーションシップによってコンポジット・デプロイメント・サービス・アセットに関連付けられます。
コンポーネントによって使用される非昇格済コンポーネント参照により、インタフェース・アセットが生成されます。いずれのコンポーネント参照にも新しいサービスは作成されません。ただし、対応するサービス・アセットがOracle Enterprise Repositoryまたは現在のイントロスペクション内にすでに存在する場合、これらはコンポーネント参照に関連付けられます。このルールにより、参照する側のプロジェクトと公開する側のプロジェクトの両方のネームスペースで重複するサービス・アセットが作成されることを防止できます。これは、Partner-Link pointリレーションシップによってコンポーネント・レベルのアセットに関連付けられます(Service-Frontsリレーションシップによって関連付けられるメディエータは除く)。
昇格済コンポーネント参照の場合、対応するサービス・アセットがOER内にある場合、サービス・アセットは、Composite-Promotesリレーションシップによって対応するコンポジット参照アセットに関連付けられます。
WebサービスまたはWSIFバインディングを使用してデプロイされた昇格済コンポーネント参照の場合、対応するEndpoint: Web ServiceがOER内にある場合、これは、Composite-Promotesリレーションシップによってコンポジット・デプロイメント参照アセットに関連付けられます。
ADFまたはEJBバインディングを使用してデプロイされた昇格済コンポーネント参照の対応するエンドポイントがOER内にある場合、これは、Composite-Promotesリレーションシップによってコンポジット・デプロイメント参照アセットに関連付けられます。
JCAまたはB2Bアダプタを使用してデプロイされた昇格済コンポーネント参照の場合、対応するアダプタ構成アセットがOER内にある場合、これは、Composite-Promotesリレーションシップによってコンポジット・デプロイメント・サービス・アセットに関連付けられます。
JCAアダプタ拡張を使用するOracle SOA SuiteまたはOracle Service BusからWSDLが収集される場合、Oracle Enterprise Repositoryで次のアクションが行われます。
ハーベスタは、ハーベスタのadapters.xml
ファイルの構成に従い、Oracle Enterprise Repository内でアダプタ・アセットを見つけようとします。
特定のサービスによって使用されるバインディングおよび接続性情報が含まれるアダプタ構成アセットが作成されます。
これは、アダプタ・アセットに関連付けられます。
これは、アダプタ構成を使用しているサービス・アセットに関連付けられます。
ハーベスタは、ハーベスタのadapters.xml
ファイルの構成に従い、Oracle Enterprise Repository内でアプリケーション・アセットを見つけようとします。
デフォルトでは、アプリケーション・アセットは次のすべてのアダプタに対してサポートされています。
Oracle Applications (E-Business Suiteとも呼ぶ)
PeopleSoft
Siebel
SAP
JDE One World
サービスにエンドポイントが含まれる場合、アプリケーション・デプロイメント・アセットが作成されます。
これは、アプリケーション・アセットに関連付けられます。
これは、エンドポイント・アセットに関連付けられます。
BSE (Business Service Engine)を使用して外部アプリケーションに接続するBPELプロセスまたはアプリケーションが収集される場合、Oracle Enterprise Repositoryで次のアクションが行われます。
ハーベスタは、ハーベスタのadapters.xml
ファイルの構成に従い、Oracle Enterprise Repository内でアプリケーション・アセットを見つけようとします。
サービスにエンドポイントが含まれる場合、アプリケーション・デプロイメント・アセットが作成されます。
これは、アプリケーション・アセットに関連付けられます。
これは、エンドポイント・アセットに関連付けられます。
プロキシ・サービスまたはビジネス・サービスをOracle Enterprise Repositoryに発行すると、Oracle Enterprise Repositoryで次のアクションが行われます。
サービス・タイプがプロキシ・サービス
またはビジネス・サービス
であるサービス・アセットが作成されます。
Contains interface
リレーションシップを使用してサービスがインタフェース・アセットに関連付けられます。
Oracle Service Bus内でプロキシ・サービスまたはビジネス・サービスのタイプがWeb Service
である場合
ポート・タイプ用にインタフェース
・アセットが作成されます。
ポート用にエンドポイント
・アセットが作成されます。
これにより、Oracle Enterprise RepositoryのWeb UIの「概要」セクションにEndpointURIプロパティが表示されます。
"Deployed to
"リレーションシップを使用してサービス・アセットが"Endpoint
"アセットに関連付けられます。
WSDLアーティファクト・コンテンツが含まれるWSDLアーティファクト・アセット(タイプ: アーティファクト:WSDL
)が作成されます。
Oracle Service Bus内でプロキシ・サービスまたはビジネス・サービスのタイプがWebサービス
でない場合
ポート・タイプ用にインタフェース・アセットが作成されます。
ポート用のエンドポイント・アセットが作成されます。
これにより、Oracle Enterprise RepositoryのWeb UIのハーベスタ・プロパティ・セクションにEndpointURIプロパティが表示されます。ハーベスタ・プロパティの詳細は、B.10項「ハーベスタのプロパティ」を参照してください。
"Deployed to
"リレーションシップを使用してサービス・アセットがエンドポイント・アセットに関連付けられます。
このサービスに関連付けられるWSDLはありません。このため、RR-XUユーティリティを使用してUDDIと統合できなくなります。また、Oracle Enterprise RepositoryのWeb UIの「使用」|「ダウンロード」
機能、またはOracle Eclipse WorkshopのService Consumption Framework
機能を使用してWSDLを使用することはできません。
WSDLアーティファクトがWSDLをインポートし、XSDをインポート/インクルードする場合、"References
"リレーションシップを使用してこれらのWSDLおよびXSDアーティファクト・アセットに関連付けられます。
プロキシ・サービスは、"Fronts
"リレーションシップを介して、直面するビジネス・サービスまたはプロキシ・サービスに関連付けられます。
プロキシ・サービスは、"Invokes
"リレーションシップを介して、呼び出す外部サービスおよびフローに関連付けられます。
Oracle Service Busでインタフェースを定義するアーティファクト(アーティファクト:WSDL
、アーティファクト:XSD
またはアーティファクト:MFL
)は、"Defined by
"リレーションシップを介してインタフェース・アセットに関連付けられます。
Oracle Service Busでサービスを実装するために使用されるアーティファクト(アーティファクト:XQuery
、アーティファクト:XSLT
、アーティファクト:MFL
またはアーティファクト:WS-Policy
)は、"Artifact-References
"リレーションシップを介してアーティファクト:Proxy
またはアーティファクト:Biz
アセットに関連付けられます。
Oracle Service Busプロジェクトは、コマンド行からOracle Enterprise Repositoryに発行できます。プロジェクトは、コマンドExport|Oracle Service Bus: Configuration jar
を使用してOracle Service Bus Workshopからエクスポートする必要があります。
ハーベスタにより、プロキシ・サービス、ビジネス・サービスおよびフローが処理されます。また、BPEL、WSDL、XSD、XSLT、XQuery、WS-PolicyおよびMFLなどのアーティファクトも処理され、これらのアーティファクト間に存在する依存関係を検出するためにアーティファクトが収集されます。ハーベスタにより、エンティティがOracle Enterprise Repository内に作成され、これらの間のリレーションシップが作成されます。
注意: 収集を行う場合は、収集対象のコンテンツにより適したハーベスタを使用してください。たとえば、Oracle Service Busプロジェクトを収集する場合、Oracle Enterprise Repositoryインストールで提供されているハーベスタではなく、Oracle Service Busハーベスタを使用してください。同様に、AIAを収集する場合は、AIAハーベスタを使用してください。 |
BPMNアーティファクトをOracle Enterprise Repositoryに発行すると、Oracle Enterprise Repositoryで次のアクションが行われます。
ビジネス・プロセス・アセット(タイプ: ビジネス・プロセス:BPMN)がタイプがアーティファクト:BPMNのアーティファクト・アセットに直接関連付けられます。
BPMNアーティファクト・コンテンツが含まれるBPMNアーティファクト・アセット(タイプ: アーティファクト:BPMN)が作成されます。
"Defined by"リレーションシップを使用して、ビジネス・プロセスがBPMNアーティファクト・アセットに関連付けられます。
Oracle Enterprise Repository Harvester 11gは、SOA Oracle Business Process Analysis (BPA)プロジェクトがSOAコンポジットに変換される場合にBPAプロジェクトの収集をサポートします。実行する手順は次のとおりです。
注意: Oracle JDeveloper 11g Release 1 (11.1.1.2.x)は、BPAサーバーからのBPELプロセスのインポートはサポートしません。インポートするには、11gリリース1 (11.1.1.7) JDeveloperを使用する必要があります。 |
手順1: BPAプロジェクトのSOAコンポジットへの変換
BPA Architectを使用してBPAプロセスを設計します。
デザイナ・ウィンドウを右クリックし、「SOA」、「ビジネス・プロセスをBPELプロセスに変換」を選択します。デザイナ・ウィンドウを右クリックし、「SOA」、「ITとブループリントを共有」を選択します。
JDeveloperを開き、BPAサーバー接続を作成します(まだ行われていない場合)。
新しいアプリケーションを作成し、新しいSOAプロジェクトを作成します。
「SOA設定の構成」ダイアログで、Oracle BPA Blueprintからのコンポジットを選択し、「終了」をクリックします。
新しいアプリケーションおよびSOAプロジェクトの作成の詳細は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』を参照してください。
図6-5に示すように、BPAサーバーを展開し、必要なBPMNプロセスを選択します。「OK」をクリックし、SOAプロジェクトを作成します。BPAサーバーの詳細は、http://www.oracle.com/technology/software/products/bpa/index.htmlにあるBPAドキュメントを参照してください。
BPELプロセスを開き、すべてのコンパイル・エラー(存在する場合)を修正します。アプリケーションを閉じます。
手順2: 変換したBPAプロジェクトの収集
Oracle SOA Suiteプロジェクトを収集します。詳細は、6.3.14.9項「SOAプロジェクトの収集」を参照してください。
JDeveloper 11gリリース1 (11.1.2)を開きます。前述のアプリケーションを開き、右クリックし、Oracle Enterprise Repositoryに収集するためのプロジェクトの収集オプションを選択します。
Oracle Enterprise Repository Harvester 11gは、Oracle Business Process Management (Oracle BPM)プロジェクトの収集をサポートしています。Oracle SOA 11gの一部として、Oracle JDeveloperは、BPMNプロセスを使用したOracle BPMプロジェクトの設計および開発をサポートしています。BPMNコンポーネントを持つコンポジットとしてプロジェクトを開発してから、BPMプロジェクトをOracle Enterprise Repositoryに収集できます。実行する手順は次のとおりです。
手順1: JDeveloperでのBPMプロジェクトの作成
BPMプロジェクトを作成するには、次の手順を実行します。
JDeveloperの「アプリケーション・ナビゲータ」で、「新規アプリケーション」をクリックします。「汎用アプリケーションの作成 - アプリケーションの名前付け」ページが表示されます。
「アプリケーション」フィールドに名前を入力し、「次へ」をクリックします。「汎用アプリケーションの作成 - プロジェクトの名前付け」ページが表示されます。
「プロジェクト名」フィールドにBPMプロジェクトの名前を入力します。
図6-6に示すように、「プロジェクト・テクノロジ」タブの「選択可能」リストで「BPM」をダブルクリックし、「選択済」リストに移動します。
「終了」をクリックします。
手順2: BPMプロセスの設計およびSOAサーバーへのデプロイ
BPMプロセスの設計およびSOAサーバーへのデプロイの詳細は、『Oracle Fusion Middleware Oracle Business Process Managementモデリングおよび実装ガイド』のBPMプロジェクトのBPAプロジェクトからの作成に関する項を参照してください。
手順3: JDeveloperからOracle Enterprise RepositoryへのBPMプロジェクトの収集およびOracle SOA Serverへのデプロイ
JDeveloper 11gリリース1 (11.1.2)を開きます。
右クリックし、Oracle Enterprise Repositoryに収集するためのプロジェクトの収集オプションを選択します。
Oracle Service Bus 11gアセットの収集の詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』を参照してください。
Oracle Service Bus 10gアセットをOracle Enterprise Repository 11gに収集できます。次の手順は、Workspace StudioおよびOracle Service Bus Eclipseを対象としており、Oracle Service Bus 10.3およびOracle Service Bus 10.3.1に対して機能します。
次の手順は、Oracle Service Bus 10.3.1がBEA_HOME
にインストールされており、Oracle Enterprise RepositoryハーベスタがHARVESTER_HOME
にインストールされていることを前提としています。
com.bea.alsb.harvester.connector_1.0.200.zip
(ハーベスタ・プラグイン)をダウンロードし、<BEA_HOME>\osb_10.3\eclipse\pluginsディレクトリに解凍します。
11.1.1.x.x-OER-Harvester.zip
をダウンロードして<dir>ディレクトリに解凍します。HARVESTER_HOME
が<dir>/harvester
になります。
<BEA_HOME>\workshop_10.3\workshop.ini
を編集します。次を追加します。
-Dharvester.home=HARVESTER_HOME
コマンド行から実行するには、Linuxの場合はosb10harvest.sh、Windowsの場合はosb10harvest.batを使用します。
Antから実行するには、Linuxの場合はosb10runant.sh、Windowsの場合はosb10runant.batを使用します。
Oracle Service Bus Eclipse からの収集の手順
Oracle Workshop for WebLogicを起動します。
Oracle Service Bus構成jarファイルをインポートします。
Oracle Service Busプロジェクトを右クリックし、「Oracle Enterprise Repositoryに発行」をクリックします。「アセットをOracle Enterprise Repositoryに発行」ダイアログが表示されます。
接続パラメータを入力して、「発行」をクリックします。
詳細は、6.3.1.9項「Oracle Service Bus (OSB)プロジェクト」を参照してください。
SOAプロジェクトをOracle JDeveloperからOracle Enterprise Repositoryに収集できます。SOAプロジェクトを収集するには、次の手順を実行します。
Oracle JDeveloperを開き、Oracle Enterprise Repository接続を作成します。
リソース・パレット・タブをクリックします。
「新規」、「新規接続」、「Oracle Enterprise Repository」をクリックします。「Oracle Enterprise Repository接続の作成」ダイアログが表示されます。
「IDE接続」を選択します。
「接続名」フィールドにOracle Enterprise Repository接続の名前を入力します。
リポジトリのURL (たとえば、http://localhost:port/oer)を入力します。
リポジトリ接続用の有効なユーザー名/パスワードを入力し、「接続テスト」をクリックします。「ステータス」ペインに成功ステータスが表示された後、IDE接続タブの下にOracle Enterprise Repository接続が表示されます。
アプリケーション・ナビゲータで、SOAプロジェクト・ノードを右クリックし、プロジェクトの収集を選択します。「SOAプロジェクトの収集」ダイアログが表示されます。
「リポジトリ接続」リストで、手順1で作成したリポジトリ接続を選択します。
「登録ステータス」リストで未発行を選択します。
「ハーベスタの説明」フィールドに収集の説明を入力します。
「OK」をクリックします。これにより、Antスクリプトが実行され、SOAコンポジットがOracle Enterprise Repositoryに収集されます。
同様に、XSDまたはWSDLをOracle Enterprise Repositoryに収集することもできます。アプリケーション・ナビゲータで、適切なノードを右クリックし、ファイルの収集を選択します。これにより、Antスクリプトが実行され、スキーマ/WSDLがOracle Enterprise Repositoryに収集されます。
デプロイ済SOAコンポジットをOracle JDeveloperからOracle Enterprise Repositoryに収集することもできます。デプロイ済SOAコンポジットをOracle JDeveloperから収集するには、次の手順を実行します。
デプロイ済SOAコンポジットが含まれるJDeveloperを開きます。
アプリケーション・サーバー・ナビゲータで、SOAコンポジット・ノードを右クリックし、Enterprise Repositoryに発行を選択します。「Enterprise Repositoryに発行」ダイアログが表示されます。
次の詳細を入力します。
リポジトリ接続: デプロイ済コンポジットの発行先のリポジトリ接続を選択します。
登録ステータス: リストから適切な登録ステータスを選択します。
コンポジット名およびリビジョン: デプロイするコンポジットの名前がこのフィールドに表示されます。
パーティション名: デフォルト値が表示されます。
リモート・サーバーのURL: リモート・サーバーのURLを入力します。
デバッグ情報の表示: デバッグ情報を表示する場合は、このオプションを選択します。
Oracle Enterprise Repositoryのサービス、スキーマ、XSLTおよびイベントを使用することもできます。使用状況追跡を有効にするには、JDeveloperアプリケーションをOracle Enterprise Repositoryプロジェクトに関連付ける必要があります。
注意: WSDL/XSDなどの個々のアセットを収集する場合は、コマンド行からハーベスタを使用します。 |
アプリケーション・ナビゲータでアプリケーションの右側に表示されるアプリケーション・メニューをクリックします。
「アプリケーション・プロパティ」を選択します。「アプリケーションのプロパティ」ダイアログが表示されます。
左側のペインで「リポジトリ」をクリックします。右側に「リポジトリ」ページが表示されます。
「リポジトリ接続」リストで、使用状況の追跡に使用するOracle Enterprise Repository接続を選択します。
リポジトリ・プロジェクト・リストで、使用状況の追跡に使用するOracle Enterprise Repositoryプロジェクトを選択します。
「OK」をクリックします。
JDeveloperで、コンポジット・エディタを開きます。
コンポーネント・パレットから、Webサービス・コンポーネントを「外部参照」スイムレーンにドラッグ・アンド・ドロップします。「Webサービスの作成」ダイアログが表示されます。
「名前」フィールドに参照名を入力します。
「WSDL URL」フィールドの一番右に表示される「既存のWSDLの検索」アイコンをクリックします。「SOAリソース・ブラウザ」ダイアログが表示されます。
リストからリソース・パレットを選択します。
IDE接続、「Oracle Enterprise Repository」、「<Connection Name>」、「アセット・タイプ」、「サービス」を選択し、呼び出すか使用するサービスを選択します。
サービスに関連付けられているWSDLまたはUDDIキーが1つしかない場合、同じWSDLまたはUDDIキーを使用して参照を作成します。関連付けられているWSDLまたはUDDIキー(あるいはその両方)が2つ以上ある場合、「WSDLの選択」ダイアログが表示されます。使用するURLまたはUDDIキーの1つを選択する必要があります。
JDeveloperでUDDIキーを解決するには、参照を作成する前にUDDI接続を作成する必要があります。これを行わないと、UDDIキーを選択できません。
注意: 同じ手順を使用して、スキーマ(XSD)、イベント(EDL)、変換(XSLT)を参照します。ただし、サービスではなく各アーティファクトを選択します。 |
WSDL、BPEL、BPMNおよびXSDなどのファイルに関する情報は、アーティファクトとしてOracle Enterprise Repositoryに格納されます。同じアーティファクトを2回格納するのを防止するため、各アーティファクトを格納するときにハーベスタがソフトウェア・ファイルID (SFID
)を計算します。新しいアーティファクトを発行する前に、SFIDをリポジトリ内の既存のSFIDと比較することにより、重複がないかどうかを確認できます。
計算されたSFIDはMD5ハッシュです。SFIDを計算する前に一定レベルの正規化が実行されます。特に、アーティファクト・ファイルがXMLである場合、Apache XMLセキュリティ・ライブラリ内のCanonicalizerクラスを使用して正規化されます。これにより、W3C Canonical XML
標準(www.w3.org/TR/xml-c14nを参照)に従って正規化が行われます。これには、テキスト・エンコーディング、改行、空白、コメントおよび属性順序付けの正規化が含まれます。W3C標準に指定されていないいくつかの追加正規化も実行されます。これには、ネームスペースの接頭辞の正規化、WSDL内の要素の順序の正規化、ドキュメント要素の削除、およびインクルード/インポートされたファイルのインライン化が含まれます。
ハーベスタにより、収集したアセットからダウンロードされる場合があるアーティファクト・バンドルが作成されます。これらのアセットのアーティファクト・バンドルはzipファイルに格納されます。たとえば、エンドポイントの場合、WSDLファイルおよび関連付けられたXSDファイルは、zipペイロード内の相対的な場所に格納されます。
1つのアーティファクトによって別のアーティファクトがインポートされる(たとえば、WSDLによってXSDがインポートされる)場合、親に対して相対的な子アーティファクトが常に参照されます。たとえば、MyWSDL.wsdlがc:\temp
内にあり、インポートされる子XSDがc:\temp\schemas\MyXSD.xsd
内にある場合、親MyWSDL.wsdlは相対パス./schemas/MyXSD.xsd
を使用して子をインポートします。バンドルがダウンロードされる際、親が子アーティファクトを解決できるように、親に対して相対的なschemas
と呼ばれるフォルダに子を作成する必要があります。
アセットの使用/ダウンロードの詳細は、『Oracle Fusion Middleware Oracle Enterprise Repositoryユーザーズ・ガイド』を参照してください。
次の2つのいずれかの方法を使用して、収集されたアセットを検索できます。
使用方法に基づいて、収集されたサービスを検索できます。「基本検索」セクションで、図6-7に示すように、使用方法リストから「WSDLポート」を選択できる場合、検索により、WSDLサマリーを持つサービス、WSDLに定義されているエンドポイント、およびglobalに設定されたスコープが返されます。また、このリストは、「詳細な検索オプション」の下で使用することもできます。
各アセットには、問合せ用として使用できるプロパティがハーベスタによってタグ付けされます。
図6-8に、書込み操作を呼び出すビジネス・プロパティに対する問合せを示します。検索画面を表示するには、Oracle Enterprise Repository Webコンソールのメイン・ページで「詳細な検索オプション」をクリックします。「詳細な検索オプション」ダイアログで、次を実行します。
追加基準によるフィルタ: オプションを選択します。
フィールドの選択: リストから「internal.introspector.store」を選択します。
XPathの入力: テキスト・フィールドに「/」と入力します。使用可能なフィールドのリストが表示されます。
図6-8 Oracle Enterprise Repositoryでの「詳細な検索オプション」ダイアログの表示
次の検索基準が使用可能です。
ハーベスタの説明
ハーベスタ・バージョン
ハーベスタのネームスペース
収集者
呼び出されたビジネス・プロセスの操作
「プレビュー」機能を使用して、ハーベスタ内で作成されたアセットを表示できます。次のいずれかの方法を使用して「プレビュー」機能を使用できます。
コマンド行の使用
コマンド行またはAntタスクで、"-preview true"を追加すると、ハーベスタが実行され、作成されるすべてのアセットのリストが表示されますが、変更が実際にコミットされることはありません。
Using the HarvesterSettings.xmlファイルの使用
プレビュー・モードは次のようにHarvesterSettings.xml
ファイルで設定することもできます。
<introspection preview="true"> <reader>com.oracle.oer.sync.plugin.reader.file.FileReader</reader> <writer>com.oracle.oer.sync.plugin.writer.oer.OERWriter</writer> </introspection>
この項では、ハーベスタに関するベスト・プラクティスについて説明します。内容は次のとおりです。
レジストラまたはOracle Enterprise Repository内のすべてのアセットを表示する権限を持つユーザーのみがアセットを収集するように権限を設定します。リポジトリ内のすべてのアセットを表示する権限を持たないユーザーは、すでに存在するアセット、および誤って作成された重複アセットを収集する可能性があります。
ハーベスタには、収集対象のアセットにプロジェクト・ネームスペースを設定する機能が用意されています。ネームスペースが異なるとアセットが異なるため、プロジェクト・ネームスペースは重複するアセットを検出するために使用されます。ほとんどの場合、このパラメータはオーバーライドしないことをお薦めします。
ただし、Oracle SOA SuiteまたはOracle Service Busから収集する場合、これらの製品のプロジェクト名に基づいてプロジェクト・ネームスペースが自動的に設定されますが、これは推奨される動作です。
このことは、複数のソース(JDevおよびランタイム)から同じプロジェクトおよびリビジョンを収集する場合、特に重要です。ネームスペースを変更またはオーバーライドすると、結果としてOER内のアセットが重複します。
収集するWSDLファイル内では、一意のインタフェース、サービスおよびエンドポイントに対して一意のネームスペースを使用することをお薦めします。
Oracle Enterprise Repository内の既存のアセットとの相互の関連付けはQNameを介して行われるため、インタフェース・アセット、サービス・アセットまたはエンドポイント・アセットを大幅に変更するが、QNameは変更しない場合、変更したアセットによって既存のアセットが上書きされます。
表6-7に、Oracle Enterprise RepositoryアセットとWSDL構造の相関を示します。
完了した作業または完了が近い作業のみを収集することをお薦めします。開発環境から定期的に収集する場合、古いバージョンのアセットが収集され、Oracle Enterprise Repositoryが乱雑になる可能性があります。
Oracle Enterprise Repositoryは、エンドポイントおよびホストされているWSDLを持つサービスのみをOracle Service Registryに昇格します。また、具体的なWSDLを持つサービスのみをJDeveloperを介して使用できます。エンドポイントおよびWSDLの場所を取得するために実行時環境から収集することをお薦めします。
一部のスキーマ開発パターンには、不具合の修正またはマイナー構造の追加があり、スキーマのネームスペース変更のないメンテナンス・リリースが含まれます。若干変更されたスキーマ・アーティファクトを後で収集する場合、リポジトリ内にかなりの数の新しいアーティファクト・アセットが作成される場合に影響を与える可能性があります。Oracle Enterprise Repositoryでは、アーティファクトのコンテンツのハッシュ (ソフトウェア・ファイルID (SFID))に基づいてアーティファクト・アセットが相互に関連付けられます。SFIDは、すべてのインポートおよびインクルードがインライン化された後に各アーティファクトのコンテンツについて計算されます。したがって、WSDLによってインポートされたXSDが変更されると、新しいXSDアーティファクトと新しいWSDLアーティファクトの両方が生成されます。
このことは、企業全体で幅広く使用されるスキーマを検討する場合に特に重要です。たとえば、他のスキーマ、WSDL、XSLT、BPELなどによって広くインポートされる下位のスキーマ(customer.xsdなど)があるとします。customer.xsdに対する重要な変更を行い、その後に企業のすべてのアーティファクトを再収集する(なんらかの定期的なバッチ収集など)と、customer.xsdを直接または間接的に参照する同様の大量のアーティファクト・アセットがリポジトリ内に作成されます。
ハーベスタはアセット・ライフサイクル内の複数の場所から呼び出すことができ、呼出しごとに異なるソースからアーティファクトおよびメタデータが収集されます。次のリストに、Oracle Enterprise Repositoryを最新の状態に保つためにアセットのライフサイクル中にハーベスタを使用する方法に関する推奨事項を示します。
設計/開発時
実装後、アセットをOracle Enterprise Repositoryに公開する必要があります。アセットに関連付けられたポリシーもOracle Enterprise Repositoryに公開されます。Oracle Enterprise Repositoryガバナンス・プロセスは、実装を一般的なコンシューマ・コミュニティで再利用できるようにする前に実装が組織のポリシーに合致していることを確認する方法を提供します。
推奨方法: ハーベスタをIDE (JDeveloper、Oracle Service Bus Workshop、EclipseまたはVS.NET)から呼び出します。
デプロイメント時
デプロイメント後すぐに、アセットをOracle Enterprise Repositoryに公開する必要があります。デプロイメント時には、本番エンドポイントが収集され、アセットのメタデータがエンドポイント情報を使用して更新されます。1つの組織に、開発、テスト、ステージングおよび本番環境をサポートするエンドポイントが複数含まれる場合があります。エンドポイントをOracle Enterprise Repositoryに収集すると、ガバナンス・プロセスも必要になる場合があります。たとえば、開発エンドポイントおよびテスト・エンドポイントは使用者コミュニティ全体で使用可能になる場合がありますが、本番エンドポイントはサービス・プロバイダおよびサービス・コンシューマがサービス契約について交渉するまでは提供されない場合があります。
推奨方法: ハーベスタをデプロイメント・スクリプト(WLST、Antまたはコマンド行)から呼び出します。
デプロイメントの最後にハーベスタを呼び出します。-remote_server
引数を使用して、実行中のサーバーからデプロイ済アーティファクトを収集します。
ランタイム
プロジェクトがデプロイされて稼働した後、ランタイム・メトリックが収集され、Oracle Enterprise Repositoryアセットに関連付けられます。ランタイム・メトリックの収集用として複数のオプションが用意されています。その1つが、Enterprise Managerからランタイム・メトリックを収集し、Oracle Enterprise Repositoryを更新するEM-Integrationです。詳細は、『Oracle Enterprise Manager Connectors統合ガイド』を参照してください。
もう1つの方法は、ランタイム・メトリックをUDDIレジストリに公開するサード・パーティのランタイム・モニタリング・ツールに頼る方法です。メトリックは、UDDIレジストリ内に入ったら、Oracle Registry Repository Exchange Utilityを使用してOracle Enterprise Repositoryに伝播し戻すことができます。Amberpoint統合の詳細は、『Oracle Fusion Middleware Oracle Enterprise Repository統合ガイド』の第5章「Amberpointとの統合」を参照してください。
Oracle Enterprise RepositoryでWSDLアーティファクトを使用する場合、WSDLファイルをダウンロードできます。多くの場合、このファイルはリモートの場所にあります。また、このファイルのURLは?wsdl
で終わる場合があります。これらの場合、WSDLを保存するときに、デフォルトではブラウザ上でファイルの拡張子が.xml
になる可能性があります。その場合は、.xml
を.wsdl
に置き換える必要があります。WSDLファイルは、HTTP/HTTPSまたはFTPサーバー上でホストできます。
エンドポイントが変更された(リタイアしたか別の場所に移動された)場合、エンドポイントをOracle Enterprise Repositoryからリタイアし、Oracle Service Registryのエンドポイントを削除することをお薦めします。次に、新しいエンドポイントを使用して同じWSDLサービスを再収集します。
注意: Exchange Utilityパブリッシャを再実行しても、リタイアしたエンドポイントはOracle Service Registryから削除されません。 |
SOAライフサイクルのベスト・プラクティスとして、すべてのSOAプロジェクトをOracle Enterprise Repositoryに収集し、SOAサーバーにデプロイし、Exchange Utilityを実行してOracle Service Registryに公開してから、公開したアセットをOracle Enterprise RepositoryまたはOracle Service Registryから使用することをお薦めします。
Oracle JDeveloper 11gから収集する場合、ネームスペースの変更はお薦めしません。
また、2つの異なるステータス(登録済と発行済など)を使用してJDeveloper 11gから同じコンポジットを収集しないことをお薦めします。
解凍されていないハーベスタ・フォルダ(11.1.1.x.x-OER-Harvester.zip
)内にあるファイルを収集しないことをお薦めします。これは現在サポートされていません。
Oracle Service Registryにサービスを公開する場合、Exchange Utilityとハーベスタを同じコンピュータ上で実行し、これらが同じURLに解決されるようにすることをお薦めします。また、WSDL内のアクセス・ポイントが完全な形式ではない異なるコンピュータ上でこれらを実行することもできますが、両方のコンピュータ上でこれらが同じURLに解決されることを確認する必要があります。ハーベスタとExchange Utilityでアクセス・ポイントが異なるURLに解決される場合、サービスが失敗し、エラーが発行されます。
公開されたコンポジット・サービスのWSDLはそれ自体で個別に収集されないようにすることをお薦めします。コンポジット・プロジェクト全体として収集し、完全で正しいSOAアセット・モデルをOracle Enterprise Repository内で取得することを常にお薦めします。
この項では、ハーベスタの既知の問題について説明します。
ハーベスタの機能を使用する前提条件として、システム内にアセット・タイプが存在する必要があります。必要なアセット・タイプは、11.1.1.x.x-OER-Harvester-Solution-Pack.zip
でインストールされます。
Oracle Enterprise Repository内の既存のアセット・タイプ名の一部が、11.1.1.x.x-OER-Harvester-Solution-Pack.zip
でインストールされるアセット・タイプの名前と同じである場合、ハーベスタのアセット・タイプ名にはバージョン番号が付けられます。これは、ハーベスタのアセット・タイプの機能には影響せず、ハーベスタはこれらのアセット・タイプをそのUUIDに基づいて参照します。
プロセスの収集時にアセットが作成される場合、メタデータ・エントリ・タイプがinternal.inspector.storeおよびinternal.harvester.manifest.storeであるアセットにメタデータ・エントリがアタッチされます。これらのメタデータ・エントリは変更または削除しないでください。そうすると、システムの動作が予測できなくなります。
これらのメタデータ・エントリはOracle Enterprise Repositoryユーザー・インタフェースを使用して削除できないことに注意してください。
現在、ハーベスタは、WebLogic 10.x上で動作しているリモートのOracle SOA Suite、Oracle Service BusおよびWebLogic Serverプロジェクトへの接続のみをサポートしています。
不正な暗号化パスワードでHarvesterSettings.xml
ファイルを構成した場合、次のような、長いスタック・トレースが表示されます。
log4j:WARN No appenders could be found for logger (org.apache.axis.i18n.ProjectResourceBundle). log4j:WARN Please initialize the log4j system properly. @ com.oracle.oer.sync.framework.MetadataIntrospectionException: @ com.oracle.oer.sync.framework.MetadataIntrospectionException: Unable to read plugin file: C:\Drive-E\XU-harvest-tools\dec16\OER-Harvester\.\plugins\biz.introspector at @ com.oracle.oer.sync.framework.MetadataManager.init(MetadataManager.java:308) @ at com.oracle.oer.sync.framework.Introspector.<init> Introspector.java:188) at @ com.oracle.oer.sync.framework.Introspector.main(Introspector.java:395) @ Caused by: com.oracle.oer.sync.framework.MetadataIntrospectionException: Unable to read plugin file: C:\Drive-E\XU-harvest-tools\dec16\OER-Harvester\.\plugins\biz.introspector at @ com.oracle.oer.sync.framework.impl.DefaultPluginManager.processIntrospector(De faultPluginManager.java:127) at @ com.oracle.oer.sync.framework.impl.DefaultPluginManager.<init>(DefaultPluginMa nager.java:73) at @ com.oracle.oer.sync.framework.MetadataManager.init(MetadataManager.java:306) ... 2 more Caused by: java.lang.IllegalArgumentException: The char '0x12' in 'java.lang.Ill egalArgumentException: The char '0x12' in 'E/?↕?↕H?rd' is not a valid XML character.' is not a valid XML character. at @ org.apache.axis.components.encoding.AbstractXMLEncoder.encode(Abstrac tXMLEncoder.java:110) at org.apache.axis.utils.XMLUtils.xmlEncodeString(XMLUtils.java:131) at org.apache.axis.AxisFault.dumpToString(AxisFault.java:366) at org.apache.axis.AxisFault.printStackTrace(AxisFault.java:796) at com.oer.log4j.spi.ThrowableInformation.getThrowableStrRep(Throw ableInformation.java:42) at com.oer.log4j.spi.LoggingEvent.getThrowableStrRep(LoggingEvent.java:217) at com.oer.log4j.WriterAppender.subAppend(WriterAppender.java:298) at com.oer.log4j.RollingFileAppender.subAppend(RollingFileAppender.java:294 ) at com.oer.log4j.WriterAppender.append(WriterAppender.java:157) at com.oer.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:251) at com.oer.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(Appen derAttachableImpl.java:57) at com.oer.log4j.Category.callAppenders(Category.java:255) at com.oer.log4j.Category.forcedLog(Category.java:445) at com.oer.log4j.Category.log(Category.java:882) at @ com.oracle.oer.sync.framework.logger.DefaultMetadataLogger.error(DefaultMetada taLogger.java:98) at @ com.oracle.oer.sync.plugin.writer.oer.OERConnectionCache.getAuthToken(OERCon nectionCache.java:138) at @ com.oracle.oer.sync.plugin.writer.oer.OERAssetQueries.getToken(OERAssetQueri es.java:82) at @ com.oracle.oer.sync.plugin.writer.oer.OERAssetQueries.assetTypeQueryByUUID(AL ERAssetQueries.java:159) at @ com.oracle.oer.sync.framework.MetadataManager.putAssetType(MetadataManager.jav a:204) at @ com.oracle.oer.sync.framework.impl.DefaultPluginManager.processIntrospector(De faultPluginManager.java:104) ... 4 more
Oracle JDeveloper 11g以降、リポジトリ内のビュー・オプションをクリックすると、JDeveloper内でアセットの詳細が開きますが、これは読取り専用であり、このページ内のリンクは機能しません。
回避策として、Oracle Enterprise Repositoryコンソールにログインし、詳細に関するリンクをクリックする必要があります。