11 ソフトウェア・ライブラリについて
この章の構成は、次のとおりです。
ソフトウェア・ライブラリ・フレームワークの概要
Oracleソフトウェア・ライブラリ(ソフトウェア・ライブラリ)は、Enterprise Managerで提供されるコア機能の1つです。技術的には、ソフトウェア・パッチ、仮想アプライアンス・イメージ、参照ゴールド・イメージ、アプリケーション・ソフトウェアおよび関連するディレクティブのスクリプトなど、認証済ソフトウェア・エンティティを格納するリポジトリです。ソフトウェア・ライブラリを使用することにより、Oracleが提供する任意のエンティティを選択し、これらをカスタマイズするか、独自のカスタム・エンティティを作成できます。定義すると、これらの再利用可能なエンティティをデプロイメント・プロシージャから参照し、パッチ適用、プロビジョニングなどの操作を自動化できます。
ソフトウェア・ライブラリ・フレームワークの主要機能
ソフトウェア・ライブラリ・フレームワークでは、次の項目がサポートされます。
-
プラグイン・インテグレータで使用されるメタデータの定義と登録。これによりソフトウェア・ライブラリを拡張し、拡張機能やそのまま使用できるエンティティを含めることができます。詳細は、ソフトウェア・ライブラリを拡張するためのメタデータの定義を参照してください。
-
登録済のカスタム拡張機能を活用するソフトウェア・ライブラリ・コンソール、EM CLI、アクション・スクリプトAPIなどの様々なインタフェースの使用によるソフトウェア・ライブラリ・エンティティの作成、管理およびアクセス。詳細は、ソフトウェア・ライブラリ・エンティティの作成と管理を参照してください。
-
ソフトウェア・ライブラリ・コンソール経由のステージング、ジョブ・ステップの実行、デプロイメント・プロシージャなど、様々なフローでのソフトウェア・ライブラリ・エンティティの使用。詳細は、ソフトウェア・ライブラリ・エンティティの使用を参照してください。
ソフトウェア・ライブラリの拡張性の概念
この項では、ソフトウェア・ライブラリの拡張性フレームワークで使用される様々な属性の概要を説明します。
-
タイプとサブタイプ
ソフトウェア・ライブラリのすべてのエンティティは、タイプまたはサブタイプに属します。通常、タイプとサブタイプは両方で、共通の検索可能なメタデータ/構成プロパティ、デフォルト値、ファイル・アソシエーション要件などに関する、エンティティの特定の共通機能を定義します。一般的に、ソフトウェア・ライブラリ・フレームワークは、次の種類のアーティファクトを定義および維持します。
-
ディレクティブ: この種類のエンティティは、スクリプトまたは実行可能ファイルを表します。
-
コンポーネント: この種類のエンティティは、通常、インストール可能なソフトウェア・バンドルを表します。汎用コンポーネントと呼ばれるコンポーネント・タイプのサブタイプも、デフォルトで、Enterprise Managerで利用できます。
ソフトウェア・ライブラリ・コンソールに表示される他のすべてのエンティティ・タイプ(たとえば: 仮想化、ベア・メタル・プロビジョニングなど)は、基本的に、ソフトウェア・ライブラリに対する拡張機能です。これらのカスタム・タイプおよびサブタイプは、Enterprise Managerにデフォルトで同梱されるプラグインの一部で、EMが構成されると、ソフトウェア・ライブラリ・コンソールに表示されます。ソフトウェア・ライブラリ・フレームワークの対象はOracleパートナにまで広がっており、Oracleパートナはそれを有効に活用して、独自のカスタム・タイプおよびサブタイプを定義および登録できます。
ノート:
ディレクトリ以外のエンティティがある場合、独自のカスタム・タイプと1つ以上のサブタイプを作成することをお薦めします。
-
-
フォルダ
フォルダはエンティティのコンテナです。フォルダは、別の子フォルダまたはエンティティをその中に含みます。ソフトウェア・ライブラリを使用すると、様々なユーザー定義またはプラグイン定義のエンティティを論理フォルダにまとめることができ、効率的な管理を実現できます。フォルダは、ソフトウェア・ライブラリ内のそれらのURNでも参照できます。
-
エンティティ
エンティティとは、ソフトウェア・ライブラリに格納されている主要なアーティファクトです。エンティティは常にフォルダに関連付けられます。類似のエンティティは論理フォルダの下にグループ化され、割り当てられているタイプまたはサブタイプによりさらに分類されます。一般的に、関連するエンティティをそれら独自のフォルダにまとめることをお薦めします。
エンティティには任意で次の特性を持たせることができます。
-
属性: 属性はタイプとサブタイプの定義により定義されます。通常、属性は単純な文字列データ型を含み、メタデータで定義される必要があります。属性は、エンティティのすべてのリビジョンに適用可能です。
-
プロパティ: プロパティは、環境固有の値を指定するために使用されます。プロパティは、エンティティの特定のリビジョンにのみ適用できます。
-
添付: 添付は、エンティティに関連付けられているファイルで、エンティティと一緒に格納されます。添付は、エンティティまたはそれが関連付けられているスクリプト/ソフトウェア/構成をその利用者に説明する任意の文書またはファイルです。たとえば、Readmeファイルです。添付は、通常、パッチ適用/プロビジョニングのフローに含まれず、ターゲットにステージングまたはコピーされません。
-
ノート: ノートは、エンティティに追加できるコメントです。これらは、エンティティのすべてのリビジョンに適用できます。
-
関連ファイル: 関連ファイルは、ソフトウェア・ライブラリにアップロードされるか、外部の場所に格納して外部の場所から参照できます。関連ファイルは、いったん関連付けられると、ソフトウェア・ライブラリにより、プロビジョニング時に取得され、目的の宛先ターゲットにステージングされます。これらは、エンティティの特定のリビジョンにのみ適用されます。
すべてのエンティティ・リビジョンに対して、「未テスト」、「ベータ」または「本番」のいずれかの成熟度ステータスを指定できます。エンティティのリビジョンの状態は、「不完全」、「アクティブ」、「準備完了」のいずれかです。エンティティのリビジョンの状態は、その関連ファイルと関連するメタデータの状態に基づいて計算されます。
-
-
エンティティのリビジョン
エンティティには、1つ以上のリビジョンがあります。エンティティを作成すると、ソフトウェア・ライブラリ内でのそのリビジョンは、0.1に設定されます。その後、更新されるごとに、0.1ずつ増加します。エンティティの各リビジョンは、リビジョンのUniform Resource Name (URN)と呼ばれる一意の内部識別子により識別されます。URNを使用することにより、たとえば、ジョブ内やデプロイメント・プロシージャなどソフトウェア・ライブラリ・フレームワーク外でもエンティティを識別できます。URNは、EM CLIやJobtypeなどのインタフェースを使用してエンティティのリビジョンを使用、作成または変更するときに、エンティティのリビジョンを参照するために使用されます。
-
外部ID
プラグイン・インテグレータがソフトウェア・ライブラリのメタデータXMLでエンティティを定義する場合、
外部ID
と呼ばれる識別子をそのエンティティ用に指定する必要があります。この識別子は、プラグインのリリース時に以前のリリースのプラグインと比較して、エンティティの定義に対する変更を追跡するために使用されます。プラグインがアップグレードされると、最新リビジョンの外部IDが以前のリビジョンの外部IDと比較され、IDが一致しない場合のみ、XMLからの更新されたエンティティが再び適用されます。このため、リビジョンは、ソフトウェア・ライブラリのエンティティの各更新版に対して固有で、外部IDはメタデータ内のエンティティ定義に対する変更を追跡するのに役立ちます。
ソフトウェア・ライブラリを拡張するためのメタデータの定義
プラグイン・インテグレータは、タイプ、サブタイプ、エンティティ、フォルダなどのソフトウェア・ライブラリ・メタデータを定義し、メタデータ登録サービス(MRS)を使用して登録できます。UI、デフォルト値、属性を通してエンティティを作成および編集する場合に必要なステップは、タイプ/サブタイプ・メタデータ内で記述できます。名前、説明、プロパティおよびファイルを、エンティティ・メタデータ内に記述できます。プラグインのインストール時に、メタデータはソフトウェア・ライブラリに登録され、定義されたタイプ、サブタイプ、フォルダおよびエンティティが、それらに応じて作成されます。
いったん登録されると、カスタム・タイプ、サブタイプ、フォルダおよびエンティティは、Enterprise Manager UIやEMCLIなどのソフトウェア・ライブラリ・インタフェースを使用してアクセスできるようになります。登録されたフォルダやエンティティは、Oracle所有となり、閲覧できるようになります。それらを使用するには、ソフトウェア・ライブラリのCreate Like機能を使用します。この機能を使用すると、要件を満たすようにデフォルトのエンティティをカスタマイズできます。さらに、登録されたカスタム・タイプまたはサブタイプ用に、UIまたはEMCLIを通して新しいエンティティを作成できます。カスタム・タイプ/サブタイプのエンティティのUIフローは、メタデータのUI仕様により定義されます。
プラグインをアンインストールすると、タイプ、サブタイプ、フォルダ、エンティティは削除されます。UIまたはEMCLIを使用して作成されたカスタム・タイプ/サブタイプのエンティティも、プラグインをアンデプロイするときに削除されます。
ソフトウェア・ライブラリ・エンティティの作成と管理
ソフトウェア・ライブラリ・エンティティは、様々なインタフェースを使用して作成および管理できます。
ノート:
ソフトウェア・ライブラリ・コンソール、EM CLI、アクション・スクリプトAPIなどのインタフェースの1つを使用してソフトウェア・ライブラリで作成され、ソフトウェア・ライブラリにいったん保存されたエンティティは、後で他の任意のインタフェースを使用してアクセスできます。
Enterprise Managerコンソール
ソフトウェア・ライブラリ・コンソールを使用するには、「エンタープライズ」メニューから「プロビジョニングとパッチ適用」を選択し、「ソフトウェア・ライブラリ」をクリックします。ソフトウェア・ライブラリ・コンソールは、エンティティの完全なライフサイクル(作成、管理、削除)を効率的に管理できるようにする単一のGUI対応ページです。ソフトウェア・ライブラリ機能を使用することにより、フォルダの作成、エンティティの作成、エンティティの編集、エンティティの削除、成熟度状態の管理、ノートや添付の追加、権限の管理などの多くのタスクを実行できます。プラグインをいったん定義および登録すると、ソフトウェア・ライブラリ・コンソールから、プラグイン・インテグレータ定義のタイプおよびサブタイプをエンティティの作成時に選択できます。これにより、必要なアーティファクトを厳密にモデル化するエンティティを作成できます。また、Create Likeオプションを使用して、デフォルトのOracle所有のエンティティをカスタマイズできます。Enterprise Managerを使用してこれらの操作を実行する方法の詳細は、Oracle Enterprise Manager管理を参照してください。
Enterprise Managerコマンドライン・インタフェース(EMCLI)
EM CLIと呼ばれるコマンドライン・インタフェースを使用することで、エンティティの作成と管理を自動化できます。ソフトウェア・ライブラリの動詞とその使用方法の詳細は、『Oracle Enterprise Managerライフサイクル管理ガイド』を参照してください。
ソフトウェア・ライブラリ・エンティティの使用方法
ユーザー定義のエンティティとソフトウェア・ライブラリからのデフォルトのエンティティを使用して、様々な処理フローを完了できます。
ノート:
プラグインUIがソフトウェア・ライブラリ検索サービスを使用する方法の詳細は、『Oracle Enterprise Manager拡張プログラマーズ・リファレンス』を参照してください。
-
ジョブでのエンティティの使用
カスタム・ジョブ・タイプを作成および登録するプラグイン・インテグレータは、そのジョブ・タイプ定義内に、ソフトウェア・ライブラリ・ジョブ・タイプの
SwlibStageEntities
およびSwlibUploadFiles
をネストさせて、カスタム・フローを作成できます。カスタム・ジョブ・タイプを作成する方法の詳細は、EDKでジョブ・タイプの追加に関する項を参照してください。
-
デプロイメント・プロシージャでのエンティティの使用
独自のデプロイメント・プロシージャをPAFフレームワーク(ユーザー定義デプロイメント・プロシージャ)を使用して作成できます。また、要件を満たすように、デフォルトのOracle所有のデプロイメント・プロシージャをカスタマイズすることもできます。これを行うには、コンポーネント/ディレクティブを検索するコンポーネント・ステップまたはディレクティブ・ステップを含める必要があり、さらに、それらをプロシージャに含める必要があります。プロシージャ内でこれらのステップが実行されると、選択したエンティティのステージングが実行されます。
UDDPの作成方法およびOracle所有のプロシージャをカスタマイズする方法の詳細は、『Oracle Enterprise Managerライフサイクル管理ガイド』を参照してください。
-
ソフトウェア・ライブラリ・コンソールUIによるステージング
手順を他のフローに含める前にその使用方法をテストおよび検証するには、必要なエンティティを選択し、ソフトウェア・ライブラリ・コンソールUIを使用してステージングします。
-
アクション・スクリプトAPIの使用
エンティティの詳細情報は、アクション・スクリプトWebサービスAPIを通して検索および取得できます。いったん取得された詳細情報は、FLEX UIなどの独自の方法で表示できます。