Sun N1 Service Provisioning System 5.2 プランとコンポーネントの開発者ガイド

第 3 章 組み込みコンポーネントタイプ

組み込みコンポーネントタイプを使用すると、WebLogic、Microsoft Windows、および J2EE アプリケーションの一般的なコンポーネントをすばやくモデル化できます。これらのコンポーネントタイプにより、インストール、アンインストール、エクスポート、スナップショットなどの動作を、特定のコンポーネントと自動的に関連付けることができます。

基本製品の一部として、次のコンポーネントタイプを利用できます。

WebLogic や Microsoft Windows のアプリケーションなどのコンポーネントタイプは、プラグインにより利用可能です。詳細については、http://docs.sun.com/app/docs/coll/1329.1を参照してください。

コンポーネントタイプ: system#file

コンポーネントタイプ system#file は、ターゲットサーバーから取得した単一ファイルを意味します。プロビジョニングシステムは、特別な後処理を行わなくても、ファイルを直接配備します。コンポーネントタイプ system#file には、インストール、アンインストール、およびスナップショット手続きが含まれています。

コンポーネントタイプ system#file では、次の変数を定義します。

ブラウズ

 

UNIX システム 

Microsoft Windows システム 

ルートパス

/

ホストまたはネットワーク上の物理ドライブリストをドライブ文字に対応づけます。リムーバブルメディアは表示されません。 

区切り文字

/

\

順序付け

ディレクトリのアルファベット順に表示 

選択方式

チェックインするファイルをユーザーが選択できます。ディレクトリをダブルクリックすると、ディレクトリの内容が表示されます。 

サンプルパス

/foo/foo.txt

C:\foo\foo.txt

特別

リンクは、ローカル名と指定された場所を示します。 

foo->/usr/bar

 

拡張制御手続き

コンポーネントタイプ system#file には次の手続きが定義されています。

コンポーネントタイプ: system#directory

プロビジョニングシステムは任意の数のコンポーネントを収容し、ユーザーが作成する任意のディレクトリ構造にそれらを配置することができます。作成可能なコンポーネントの数は、マスターサーバー上のファイルシステムによってのみ制限されます。各ファイルシステムは作成可能なファイルの数を制限します。単一のディレクトリに作成するファイルの数が多過ぎると、ファイルシステムの制限を超える可能性があります。コンポーネントとファイルの間の関係は、必ずしも同比率ではありません。たとえば、あるコンポーネントに 100,000 個のファイルが含まれる場合、そのコンポーネントはファイルシステムの制限を超えることもありますが、ファイルを含むコンポーネントがない場合、 100,000 個のコンポーネントでもファイルシステムの制限に収まることもあります。

ファイルシステムの制限を超えても、ファイルの作成時には直接エラーが生じない場合があります。ただし、問題は別の機会に、パフォーマンス劣化の深刻化や、予測不可能な障害の発生といった形で生じる可能性があります。

1 つのディレクトリがサポートできるファイルの数に対する制限はファイルシステムにより異なり、またオペレーティングシステムの構成方法の影響を受ける可能性があります。使用するファイルシステムの制限を理解し、単一の大きなディレクトリではなく小さな複数のサブディレクトリにコンポーネントを配置することで、ディレクトリの負荷超過を回避できます。コンポーネントを作成する際に使用する安全な方法としては、1 つのディレクトリに配置するファイル数を 30,000 以下にします。

コンポーネントタイプ system#directory は、ターゲットサーバーから取得されたファイルとフォルダの集まりを表します。コンポーネントタイプ system#directory には、インストール、アンインストール、およびスナップショット手続きが含まれています。

コンポーネントタイプ system#directory では次の変数を定義します。

ブラウズ

 

UNIX システム 

Microsoft Windows システム 

ルートパス

/

ホストまたはネットワーク上の物理ドライブリストをドライブ文字に対応づけます。リムーバブルメディアは表示されません。 

区切り文字

/

\

順序付け

ディレクトリのアルファベット順に表示 

選択方式

チェックインするディレクトリをユーザーが選択できます。ディレクトリをダブルクリックすると、ディレクトリの内容が表示されます。 

サンプルパス

/foo/foo/

C:\foo\foo\

フィルタ

なし 

特別

リンクは、ローカル名と指定された場所を示します。 

foo/->/usr/bar/

 

拡張制御手続き

コンポーネントタイプ system#directory には次の手続きが定義されています。

コンポーネントタイプ: system#symbolic link

コンポーネントタイプ system#symbolic link は、ターゲットサーバーから取得した単一のシンボリックリンクを表します。プロビジョニングシステムは、ターゲットサーバー上に新しいリンクを作成することによって、シンボリックリンクを配備します。シンボリックリンクが示すファイルは、symlinkTarget 変数の値に基づきます。リンクのインストール位置にファイルが存在している場合は、新しいシンボリックリンクを作成する前に、それらのファイルが削除されます。

コンポーネントタイプ system#symbolic link には、インストール、アンインストール、およびスナップショット手続きが含まれています。アンインストール手続きは、結合先のファイルではなく、シンボリックリンクを削除します。スナップショット手続きも同様に、ファイルそのものではなく、シンボリックリンクが示すファイルの名前を取得します。

コンポーネントタイプ system#symbolic link では、次の変数を定義します。

コンポーネントタイプ system#symbolic link には次の手続きが定義されています。

ブラウズ

 

UNIX システム 

Microsoft Windows システム 

ルートパス

/

ホストまたはネットワーク上の物理ドライブリストをドライブ文字に対応づけます。リムーバブルメディアは表示されません。 

区切り文字

/

\

順序付け

ディレクトリのアルファベット順に表示 

選択方式

チェックインするファイルをユーザーが選択できます。ディレクトリをダブルクリックすると、ディレクトリの内容が表示されます。チェックインを選択できるのは、シンボリックリンク型のファイルだけです。 

サンプルパス

/foo/foo.txt

C:\foo\foo.txt

特別

リンクは、ローカル名と指定された場所を示します。 

foo->/usr/bar

 

エクスポート/内部ファイル形式

シンボリックリンクには、シンボリックプレースホルダの役割を果たすリソースが含まれます。シンボリックリンクデータは変数セットとして、名前と場所ごとに 1 つずつコンポーネントに格納されます。

コンポーネントタイプ: system#container

コンポーネントをグループにまとめ、1 つのコンポーネントとしてインストールしなければならない場合は、必ず、コンポーネントタイプ system#container を使用します。コンテナコンポーネントにはインストールブロック、アンインストールブロック、およびスナップショットブロックがあります。これらのブロックは子コンポーネントを自動的に呼び出します。このような呼び出しによって、コンテナコンポーネントの XML を編集しなくても、コンテナは Component Builder ユーザーインタフェースを使用することによって、子コンポーネントを直接追加できます。

ブラウズ

コンテナコンポーネントタイプは複合コンポーネントであり、ブラウズできません。

モデルとインストールの差分

この比較では、任意ですべての子コンポーネントのスナップショットを得ます。

default スナップショットブロックは、各子コンポーネントの default スナップショットブロックを使用し、installMode=“NESTED” が設定されているすべての子コンポーネントのスナップショットを取得します。

拡張制御手続き

コンポーネントタイプ system#container には次の手続きが定義されています。

スナップショットは常に有効なわけではありません。別のコンポーネントの入れ子コンポーネントとして配備されているコンポーネントは、createSnapshot=“false” を設定して配備してください。すべての包含コンポーネントが配備されたあとで、コンテナコンポーネントがこのコンポーネントのスナップショットを取得するからです。最上位コンポーネントとして配備されているコンポーネントは、createSnapshot=“true” を設定することによってスナップショットが使用可能になります。

コンポーネントがコンテナコンポーネントに含まれている場合、スナップショットは取得されません。このコンポーネントのあとでほかの包含コンポーネントが配備されると、このコンポーネントのインストール状態に影響を及ぼす可能性があります。したがって、スナップショットは上位レベルのインストールが完了してから取得します。

コンポーネントタイプ: untyped

untyped タイプのコンポーネントの拡張はベースコンポーネントなしに行われるため、デフォルト動作はありません。このタイプのコンポーネントは、カスタムタイプや XML をコンポーネントに追加する場合で組み込みタイプのデフォルト動作のどれもが関連性を持っていないときに、高度な編集を行うためのものです。