Oracle® Fusion Middleware Oracle Enterprise Repository構成ガイド 11g リリース1 (11.1.1.7) E59381-01 |
|
前 |
次 |
この章では、Oracle Enterprise Repositoryでのアセット使用を自動的に増分するSoftware File Identification (SFID)とその使用方法について説明します。
この章には、次のセクションがあります。
Oracle Enterprise Repositoryでは、複数の方法でアセットの使用状況を追跡できます。Oracle Enterprise Repositoryは開発者に対して可能なかぎりガバナンスをシームレスにしているため、使用状況の自動検出(SFID)をEclipse環境および.Net環境から使用できます。このような環境では、開発者はwsdl、スキーマ、または他のアーティファクトのコピーを受け取ります。組織でこのようなアーティファクトの使用状況を自動的に追跡する場合、Oracle Enterprise RepositoryではこれにSFIDのタグを付けます。開発者の環境にアーティファクトが表示されると、Oracle Enterprise Repositoryでそのアーティファクトが認識され、使用状況が増分されます。つまり、開発者がリポジトリからアーティファクトを取り込む必要がありません。これはデスクトップから、またはバージョン制御システムから取り込めます。Oracle Enterprise Repositoryではソースに関係なく、合致を認識し、使用状況を増分します。使用状況追跡は、Oracle Enterprise Repositoryが再利用ROIの生成に使用する主なメソッドです。
Software File Identification (SFID)は、Oracle Enterprise Repositoryの手動のアセット(「使用 - ダウンロード」プロセス)とは別のアセットの使用状況を判断する機能を提供します。SFIDプロセスは、アセット内で選択したファイルを一意のSFIDフィンガープリントとタグ付けします。アセットがOracle Enterprise Repositoryの「使用 - ダウンロード」ボタン以外の方法で取得された場合でも、このタグは、アセットが使用された時間と場所を検出するために使用されます。アセット内でタグ付けされたファイルを開発者のIDEで開いたときに、使用状況のインスタンスがOracle Enterprise Repositoryによって記録されます。
SFIDでは、Eclipse用またはVisual Studio .NET用のOracle Enterprise Repositoryプラグインのインストールが必要です。サポートされているIDEからのリポジトリ・アクセスの機能の詳細は、次のドキュメントを参照してください。
『Oracle Fusion Middleware Oracle Enterprise Repository統合ガイド』のWorkSpace Studioを使用したEclipseでのリポジトリ・アクセスに関する項
『Oracle Fusion Middleware Oracle Enterprise Repository統合ガイド』のVisual Studio .NETとのOracle Enterprise Repositoryの統合に関する項
この手順は、Oracle Enterprise Repositoryの「管理」画面で実行します。
左のペインで「システム設定」をクリックします。
「新しいシステム設定の有効化」テキスト・ボックスに「cmee.usagedetection.enable」と入力します。
「有効化」をクリックします。図13-1に示すように、メイン・ペインのプロパティ・リストに「使用状況の自動検出の有効化」オプションが表示されます。
プロパティがTrue
に設定されていることを確認します。
「保存」をクリックします。これで、SFIDが有効になりました。
新しくSFID要素がタイプ・マネージャのタイプに追加されます。
SFID要素がアセット・タイプに追加されると、アセット・エディタでそのタイプを表示したときにSFIDのセクションがアセットに表示されるようになります。そのセクション内では、ファイルをSFIDフィンガープリントに選択できます。
SFID機能は現在、Oracle Enterprise Repository REXで使用可能です。
注意: REXの詳細は、『Oracle Fusion Middleware Oracle Enterprise Repository統合ガイド』のリポジトリ拡張性フレームワークに関する項を参照してください。 |
SFID要素をタイプに追加すると、そのタイプのアセットを自動的に検出できるようになります。
注意: また、SFIDを追跡対象の個々のアセットに追加する必要があります。 |
この手順は、タイプ・マネージャで実行されます。
図13-3に示すように、SFID要素を追加するタイプを選択します。
デフォルトでは「エディタ」タブが表示されます。表示されない場合は「エディタ」タブをクリックします。
図13-4に示すように、「タブ」セクションのリストから、SFID要素を追加するタブを選択します。
そのタブの要素のリストが「要素」セクションに表示されます。
「要素」セクションで、「追加」ボタンをクリックします。「追加する要素タイプの選択」ダイアログが表示されます。
図13-5に示すように、「要素タイプ」リストから「SFID」をクリックします。
「OK」をクリックします。図13-6に示すように、「追加する要素タイプの選択」ダイアログが終了し、「使用状況の自動検出の編集」ダイアログが表示されます。
SFID要素名を入力します。
「OK」をクリックします。図13-7に示すように、「要素」セクションに新しい要素がリストされます。
「ファイル」、「保存」をクリックして変更したアセット・タイプを保存します。
タイプ・マネージャを終了します。
アセット・エディタでは、SFID要素を追加したタイプのアセットを開きます。
「SFID」セクションがその割当先のタブに表示されます。
IDEを介してアセットを追跡するには、そのアセットを表す一意のアーティファクト・ファイルを選択します。ファイルにはSFIDが割り当てられ、IDEプロジェクトでそのファイルが検出されるたびに使用状況が増分されます。この手順は、アセット・エディタで実行されます。
SFIDが追加されるアセットを選択します。
「使用状況の自動検出」セクションで、「追加」ボタンをクリックします。
図13-8に示すように、「追加」ダイアログのリストからフィンガープリントするファイルを選択します。
「OK」をクリックします。
選択したファイルがダウンロードされ、SFIDが計算され、その後、ファイルのローカルの(ダウンロードした)コピーが削除されます。選択したファイルのフィンガープリントが失敗した場合は、警告メッセージが表示されます。
この手順は、アセット・エディタで実行されます。
「使用状況の自動検出」セクションのリストから更新するSFIDファイルを選択します。
「更新」ボタンをクリックします。更新の進捗を示す「操作の実行」ウィンドウが表示されます。
SFIDツール・キットでは、サード・パーティ開発者向けに、SFID候補を発行するためにOracle Enterprise RepositoryのREXサブシステムと統合するアプリケーションを開発できるフレームワークを提供します。SFIDツール・キットでは、指定されたディレクトリの各ファイルにSFID候補を作成し、そのSFID候補を保管および分析するためにOracle Enterprise Repositoryシステムに発行するアプリケーションを提供します。
注意: REXサブシステムの詳細は、『Oracle Fusion Middleware Oracle Enterprise Repository統合ガイド』のサブシステムの概要に関する項を参照してください。 |
SFIDの計算に関する注意点
ファイルにASCIIコード128を超える文字がない場合、そのファイルはテキスト・ファイルとみなされます。
テキスト・ファイルの内容はSFIDハッシュの計算前に正規化されます。
CR、LF、およびタブ文字はすべて除去されます。
テキストはすべて小文字に変換されます。
XMLファイルはW3C正規化標準(http://www.w3.org/TR/xml-c14n)によりSFIDハッシュの計算前に正規化されます。
この項では、SFIDツール・キットのインストールと構成の手順について説明します。この項には次のトピックが含まれます:
組織によっては、デプロイされたSOAアセットがすべてOracle Enterprise Repositoryに存在することが必須条件になります。企業は認識されないSFIDを収集し、この条件への準拠をモニターできます。たとえば、企業は認識されないSFIDのビルド・スクリプトをモニターできます。さらに、サービス・モニタリング・ツールではOracle Enterprise Repositoryに存在しないサービスを検出できます。このような「規定外のサービス」はSFIDに割り当てられ、アセットの候補としてOracle Enterprise Repositoryに収集されます。Oracle Enterprise Repositoryへ収集されたサービスは、詳細に評価され、処理されます。
この手順は、Oracle Enterprise Repositoryの「管理」画面で実行します。
左のペインで「システム設定」をクリックします。メイン・ペインに「システム設定」ページが表示されます。
「新しいシステム設定の有効化」テキスト・ボックスに「cmee.sfid.harvesting.enable
」と入力します。
「有効化」ボタンをクリックします。システム設定のリストに「認識されないSFID収集の有効化」プロパティが表示されます。
プロパティがTrue
に設定されていることを確認します。
「保存」をクリックします。これで、プロパティが有効になりました。
指定したフォルダ内のすべてのファイルとフォルダを反復処理します。
各候補に対してSFIDCandidateをインスタンス化します。
パスおよびsfidなどの一般的なメタデータを移入します。
それぞれのSFIDCandiateに、Eclipse Workspaceなど、取得する任意のデータを示すSFIDAttributesを作成します。
SFIDCandidateオブジェクトの配列を渡し、Oracle Enterprise Repository REXメソッドsfidCandidateSubmitを呼び出します。
AlerUtilオブジェクト
AlerUtilオブジェクトをインスタンス化してOracle Enterprise Repositoryに接続します。
String lUrl = "http://localhost:9080/oer/services/FlashlineRegistry"; String lUserName = "username"; String lPassword = "password"; lAlerUtil = new AlerUtil(lUrl, lUserName, lPassword);
AlerUtilオブジェクトを使用してOracle Enterprise Repository REXメソッドを呼び出します。
lAlerUtil.getFlashlineRegistry().sfidCandidateSubmit(lAlerUtil.getAuthToken(), lSfidCandidates);
AlerUtilオブジェクトは一連の便利なメソッドを提供します。
getAuthToken
現在のユーザー名およびパスワードの有効なauthTokenを取得します。authTokenが失効した場合は、新しいauthTokenを取得します。そうでない場合は、UserValidationExceptionがスローされます。
calculateSfidValue
ファイルまたはパスのSFIDを計算し、ハッシュを文字列として返します。
sfidCandiateListToArray
リストのSFIDCandidatesを配列のSFIDCandidatesに変換します。
sfidAttributeListToArray
リストのSFIDAttributesを配列のSFIDAttributesに変換します。
sfidAttributeValueListToArray
リストのSFIDAttributeValuesを配列のSFIDAttributeValuesに変換します。
createCandidate(File)
ファイルに標準のSFIDCandidateを作成します。SFIDCandidateフィールドのファイルパス、ホストIP、ホスト名およびSFIDが事前移入されます。Filelengthという名前のファイル長の値を保持するSFIDAttributeがSFIDCandidateにアタッチされます。
createCandidate(File, Map)
createCandidate(File)メソッドの指定に従って、ファイルの標準のSFIDCandidateを作成します。マップのそれぞれの(文字列)キー/(文字列)値により、このキーと値に一致する追加のSFIDAttributeがSFIDCandidateにアタッチされます。
createCandidate(File, List)
createCandidate(File)メソッドの指定に従って、ファイルの標準のSFIDCandidateを作成します。リストで渡されたそれぞれのSFIDAttributeをSFIDCandidateにアタッチします。
sendCandidate
収集対象となる単一のSFIDCandidateを送信します。
sendCandidates
収集対象となるSFIDCandidatesのリストを送信します。
SFIDマネージャでは、Oracle Enterprise Repositoryで収集されたSFID候補を簡単に表示する方法を提供します。
SFIDマネージャを使用するには、システム管理者権限が必要です。
この項には次のトピックが含まれます:
この手順は、Oracle Enterprise Repositoryの「管理」画面で実行します。
左のペインで「システム設定」をクリックします。図13-11に示すように、メイン・ペインに「システム設定」ページが表示されます。
図13-11 Oracle Enterprise Repositoryの「システム設定」ページ
「新しいシステム設定の有効化」テキスト・ボックスに「cmee.sfid.harvesting.enable
」と入力します。
「有効化」ボタンをクリックします。図13-12に示すように、SFIDマネージャがシステム設定のリストに表示されます。
「True」オプションが選択されていることを確認します。
「保存」をクリックします。
Oracle Enterprise Repositoryのメニュー・バーの「管理」をクリックして「管理」画面をリフレッシュします。
左側のペインにSFIDマネージャ・セクションが表示されます。
この手順は、Oracle Enterprise Repositoryの「管理」画面で実行します。
左側のペインのSFIDマネージャをクリックします。
図13-13に示すように、SFIDマネージャ・セクションのすべてをリストをクリックして、使用可能なSFID候補のリストを表示します。
この操作が完了するまでの時間は、使用可能な候補の数によって決まります。SFID候補は、SFIDマネージャの検索機能を使用して探すこともできます。検索された候補は、図13-14に示すように、メイン・ペインの上部にリストされます。
リストされているSFIDが検出された回数(出現回数)が#列に表示されます。
図13-15に示すように、リストされた任意の候補をクリックし、メイン・ペインの下部に詳細情報を表示します。
表示される情報は、すべての候補に共通の一連の主要な属性で構成されます。
表示名
候補の名前です。通常は、単純なファイル名です。
生成者
候補を生成したユーザーのユーザー名です。
生成日
候補を作成した日付です。
更新日
前回データベース内で候補レコードを変更した日時です。
ファイル・パス
候補を収集したマシン上のファイルへの絶対パスです。
ホスト名/IP
候補を収集したマシンのホスト名またはIPアドレスです。
出現回数
このコンテキストで、この候補が表示された回数です。このメトリックはファイル使用の頻度を示し、このコンテキスト内でのファイル値の指標を示します。
ソース
Eclipse、Antなどのコンテキストの説明です。
表示には一連の詳細な属性も含まれ、それらは候補の収集元となったコンテキストに基づいて異なります。
ArtifactFingerprinter
javaライブラリは、クライアント側のコードでSFIDフィンガープリントをプログラムによって計算する機能を提供します。
インストール
components-flashtrax.jar
ファイルがあり、それがインストールのjavaクラスパス内にあることを確認します。
使用方法
com.oracle.artifact.ArtifactAlgorithmクラスには、複数の静的インスタンスがあり、それぞれが特定のファイル・タイプのフィンガープリント・アルゴリズムをカプセル化します。
サポートされているアルゴリズム
DEFAULT: ファイルの内容に基づくフィンガープリントで、変換はありません。
XML: XMLコンテンツを正規化して空白スペースを削除し、ネームスペース略称を正規化します。
XSD: XMLと同様のものにXSDインポートとインクルードをインライン化します。
WSDL: XSDと同様のものにWSDLインポートとインクルードをインライン化し、ドキュメントを削除し、WSDL要素を名前順に並べ替えます。
WSDL_ABSTRACTING: WSDLと同様のもので、エンドポイントとバインド情報を削除します。
例
プログラムによるSFIDの計算を示す例は次のとおりです。
ArtifactFingerprinter fp = ArtifactAlgorithm.WSDL.newFingerprinter();
String sfid = fp.getFingerprint(new File("mytest.wsdl"));
SFIDシステムの制限事項は、次のとおりです。
SFIDを生成するには、ファイルがアクセス可能である必要があります。
クライアント・マシン/ユーザーにはファイルへのパス(URI)を提供する必要があります。URIは認証情報のリクエストなど)ユーザーの介入なしでクライアント・システムからアクセス可能である必要があります。
SFIDはファイル(1:1)に関連付けられ、ファイルはアセット(n:n)に関連付けられます。
SFIDはアセット・エディタまたはREXを介してファイルに追加できます。
SFIDはOracle JDeveloperでサポートされていません。VS .NetおよびEclipseでのみサポートされます。
アセット・エディタの制限事項(SFID生成)
SFIDは抽出可能なファイルにのみ関連付けられます。
SFIDはクライアントにアクセス可能なファイルに対してのみ生成できます。
ANT統合の制限事項(SFID比較)
SFIDはアクセス可能なすべてのファイルに対して(比較用に)生成できます。