依存関係

関係を使用して依存関係を管理します。 多くのアセットには、それらが完成し、機能し、構築されるための依存関係、つまりそのアセット自体の外部の要求があります。 例えば、「ビルド」または「実装」のアセット・タイプは、そのアセットが完全または有効になるために必要な依存関係を持っている可能性があります。 アセットは、ビルドまたは実装の依存関係である特定のバイナリー・ファイルと jar ファイルを必要とすることがあります。

依存関係の管理とは、依存関係を定義することと、ポリシーを使用して依存関係を統括管理することの両方を意味します。 まずアセットの一部である依存関係を識別してから、これらを定義して、ポリシーを適用します。

依存関係の管理は、関連するアセットを作成することにより、および依存の関係を使用することにより行うことができます。 依存関係および追跡可能性のための要求を管理するコンポーネントのセットに基づいてアセットまたは関連したアセットを作成することにより、依存関係を定義することもできます。

以下のガイドラインは、依存関係を管理するための一般的な手順を示しています。
  1. 依存関係の識別
    1. アセット・タイプを定義およびカテゴリー化して、アセットが使用および検出される方法、およびアセットの用途を指定します。カテゴリー・スキーマを参照してください。
    2. アセット・タイプの依存関係を特定します。

      依存関係をレビューして、誰がそれらを制御するのかを決定します。 チームが使用するライブラリーおよび必須共通ファイルに関する既存の依存関係をレビューします。 所定のバージョンのファイルが正確であって、依存関係に関する正しいバージョン情報が指定されていることを確認します。 チームとコンポーネントの間の既存の関係をレビューします。 複数のプロジェクトが同じコンポーネントの異なるバージョンを使用する場合、ID が競合します。 公式バージョンの依存関係を制御し、それらのバージョンを含むワークスペースへのアップデートを可能にして、競合を回避してください。 また、開発環境における依存関係と実稼働環境における依存関係を区別してください。アセットのレビューと統括管理を参照してください。

  2. 依存関係の定義
    1. アセットにバンドルする必須ファイルおよび依存関係を特定および定義します。 時間の経過とともに変化する可能性のあるバージョンおよびその他の情報を組み込みます。例えば、「バージョン A はバージョン C と互換性があり、プラットフォーム A、B、および C の製品 1、2、および 3 で使用される。」と指定することができます。
    2. 依存関係を、アセット内の成果物として、または関連したアセットとして保存します。

      必須ファイルまたはコンポーネント間の関係を使用します。 依存関係によって、あるアセット・バージョンが別のアセットの別のバージョンにどのように依存するのかを定義できます。 例えば、ある依存関係によって「共通コンポーネント A のバージョン 1.4.2 と 1.4.1 を使用」または「承認およびテスト済みの最新バージョンまたは最新ビルドを使用」することが指示されます。 各必須共通ライブラリーまたはコンポーネントの承認済みバージョンを指定して、複数のバージョンが使用されないようにします。 アセットの関係を参照してください。

      依存関係を指定するためには、「従属先」関係を使用することができます。 『アセット間の関係の定義』を参照してください。

  3. 依存関係の統括管理
    以下のステップに従って、依存関係を統括管理するためのポリシーを適用します。
    1. アセット、成果物、および新規バージョンのアセットと成果物を作成するためのプロセスおよびポリシーを定義します。 ライフサイクルのポリシーを参照してください。
    2. アセットをレビュー、承認、認定、公開、および退出するためのアセット・ライフサイクルを定義します。
      以下のロールおよびリソースの統括管理を定義します。
      • 誰が新規ライブラリーをアセットとして追加できるのか
      • どのセキュリティー・スキャンが必要か
      • 誰がドラフト・バージョンおよび承認済みバージョンを作成できるのか
      • 誰が商用およびオープン・ソース・コンポーネントのライセンス準拠を確認するのか
      • 古いバージョンを削除するためにどのポリシーが使用されるのか
      アセット開発とライフサイクルを参照してください。
    3. 新規アセット、成果物、またはバージョンをどのように使用可能にするのかを統括管理するためにポリシーを適用します。 『ポリシー・プロセスの定義』を参照してください。

Rational Asset Manager を使用して依存関係を管理してサービスをビルドする方法のデモンストレーションについては、『Rational Asset Manager を使用したサービス開発 (Developing Services with Rational Asset Manager)』を参照してください。

開発環境またはビジネス環境の利害関係者は、アセット管理システムに一元化できる情報を持っています。 アーキテクトは、グローバルに使用できるコンポーネントを提示します。 開発者は、すべてのプロジェクト依存関係を知っています。 変更管理チームは、許可対象に関するポリシーを設定します。 品質エンジニアは、何がテストされたのかを知っています。 運用担当者は、実動使用に関して何が承認されているのかを知っています。

IBM Rational Asset Manager を使用して、すべての利害関係者の情報を管理したり、アセット、および依存関係を作成したりすることができます。 関係は、次の例を含めていくつかの方法で使用できます。
  • コンポーネントをアセットとして使用できるようにする。

    組織で一緒に使用できる共通コンポーネントのテスト済みセットを開発してください。 これらのアセットに基づいてアセットを作成してください。 アプリケーション・タイプまたはオペレーティング・システムごとに共通コンポーネントの 1 つのアセットを作成します。

    それらのセットのバージョンをテストし、コンポーネントのグループのバージョンとしてアセットを作成します。 このグループでアプリケーションをビルドすると、そのアプリケーションはお客様の環境で使用できるはずです。

  • アセット関係を使用して依存関係を指定します。
  • アセット・ライフサイクルを使用し、ポリシーを適用して、何が許可されるのか、また何がテストおよび承認されるのかを統括管理します。

    依存関係を含めて、アセットの再使用を監査するためのレポートを生成することもできます。

所有権のさまざまな側面を使用して、アセットまたは成果物を作成するかどうかを決定することを考慮してください。 例えば、ある実装アセットがオープン・ソース・コンポーネントまたは他の必須のコンポーネントまたはリソースに依存している場合、以下の方法で依存関係を管理できます。
  • 自分または自分の組織がソース・コンテンツを制御している場合は、関連したアセットを作成できます。 例えば、必須コンポーネントまたはタイプ・ライブラリー、または開発者が使用するライブラリーのコレクションを作成できます。
  • リソースのバージョンのセットをバンドルして、再使用するためにこのセットを維持する場合、関連したアセットを作成できます。 例えば、開発者が使用するためのオープン・ソース・コンポーネントおよびライブラリーのコレクションを作成できます。
  • 特定の必須ファイル、ライブラリー、および自分の組織が所有も保守もしていないその他の依存関係を管理するために、成果物を作成できます。 例えば、オープン・ソース・コンポーネントまたはタイプ・ライブラリーを作成できます。

フィードバック