interstage application development cycle manager...

27
Interstage Application Development Cycle Manager V10.0 解説書 B1FW-5851-01Z0(00) 200810

Upload: dotruc

Post on 03-Mar-2019

242 views

Category:

Documents


0 download

TRANSCRIPT

Interstage Application Development Cycle Manager V10.0

解説書

B1FW-5851-01Z0(00)2008年10月

商標 Java およびすべての Java 関連の商標とロゴマークは、米国お

よびその他の国における Sun Microsystems, Inc.の商標または

登録商標です。

Microsoft、Windows、Windows Server、Windows Vista は、米

国 Microsoft Corporation の米国およびその他の国における登録

商標または商標です。

そのほか本マニュアルに記載されている会社名および製品名

は、それぞれの所有者の商標または登録商標です。

Copyright © FUJITSU LIMITED 2008

他言語への翻訳を含め、富士通株式会社の書面による事前の許

可なしに、本マニュアルのいかなる部分もいかなる形によって

も複製することは禁じられています。

[高度な安全性が要求される用途への使用について]

本製品は、一般事務用、パーソナル用、家庭用、通常の産業等の一般的用途を想定して

開発・設計・製造されているものであり、原子力施設における核反応制御、航空機自動

飛行制御、航空交通管制、大量輸送システムにおける運行制御、生命維持のための医療

用機器、兵器システムにおけるミサイル発射制御など、極めて高度な安全性が要求さ

れ、仮に当該安全性が確保されない場合、直接生命・身体に対する重大な危険性を伴う

用途(以下「ハイセイフティ用途」という)に使用されるよう開発・設計・製造された

ものではありません。お客さまは本製品を必要な安全性を確保する措置を施すことなく

ハイセイフティ用途に使用しないでください。また、お客さまがハイセイフティ用途に

本製品を使用したことにより発生する、お客様または第三者からのいかなる請求または

損害賠償に対しても富士通株式会社およびその関連会社は一切責任を負いかねます。

- 2 -

本マニュアルについて

本マニュアルでは、Interstage Application Development Cycle Manager(以降、ADM と呼

びます)の概要を説明します。

本マニュアルの構成は、以下のとおりです。

タイトル 説明

1章 ADMについて ADM とそのコンポーネントおよびアーキテク

チャーの概要を説明します。

2章 ソフトウェア構成管理

(SCM) SCM の機能と基本的な概念を説明します。

本マニュアルの対象読者 本マニュアルは、本製品の導入を検討されているすべての方を対象に書かれています。本

マニュアルは本製品を知らない方、およびすでに本製品を使用されている方を対象として

います。

略語

本マニュアルでは、Interstage プロダクトとコンポーネントに以下の略語を使用します。

ADM Interstage Application Development Cycle Manager

SCM ソフトウェア構成管理(Software Configuration Management) コンポーネント

関連ドキュメント

本マニュアルに加えて、本製品に関する以下のドキュメントを利用できます。

「インストールガイド」:インストールについて説明したマニュアルです。

「 アンインストールガイド」:アンインストールについて説明したマニュアルです。

「ソフトウェア構成管理(SCM) ユーザーズガイド」:ソフトウェア構成管理

(SCM)コンポーネントをクライアントインターフェースから操作する方法を説明し

たオンラインマニュアルです。

「管理者ガイド」:管理者向けの操作について説明したマニュアルです。

「カスタマイズガイド」:カスタマイズについて説明したマニュアルです。

「コマンドリファレンス」:コマンドラインインターフェースについて説明したマ

ニュアルです。

- 3 -

目次

1 ADMについて ..................................................................... 5

1.1 アーキテクチャーとインターフェース...................................................7

1.2 運用とインストールの形態.....................................................................8

2 ソフトウェア構成管理(SCM) ......................................... 10

2.1 SCMプロジェクト...................................................................................10

2.2 SCMプロジェクトの作成........................................................................12

2.3 リソースとバージョンの管理 .................................................................12

2.4 コンフィグレーションの管理 .................................................................15

2.5 プロダクトの管理 ...................................................................................18

2.6 セキュリティとアクセス制御 .................................................................20

2.7 監査ログとレポート................................................................................22

2.8 カスタマイズ...........................................................................................22

用語解説 .............................................................................................. 25

- 4 -

1 ADMについて

ADM は、サービス、ソフトウェアプロダクト、アプリケーションの管理を支援する製品

です。並行開発、分散開発を効率化するアプリケーション開発資産の一元管理をサポート

します。

以下の図に、ADM プロダクトのコンポーネントと主な機能を示しています。ADM プロダ

クトは、ソフトウェア構成管理(SCM)コンポーネントおよびリポジトリコンポーネント

から構成されます。

アプリケーションの資産管理

Interstage Application Development Cycle Manager(ADM)

ソフトウェア構成管理(SCM)

バージョン管理バージョン管理

リポジトリ

コンフィグレーション管理コンフィグレーション管理

プロダクト管理プロダクト管理 セキュリティセキュリティ

レポートレポート カスタマイズカスタマイズ

アプリケーションの資産管理

Interstage Application Development Cycle Manager(ADM)

ソフトウェア構成管理(SCM)

バージョン管理バージョン管理

リポジトリ

コンフィグレーション管理コンフィグレーション管理

プロダクト管理プロダクト管理 セキュリティセキュリティ

レポートレポート カスタマイズカスタマイズ

ソフトウェア構成管理(SCM)

ソフトウェア構成管理(SCM)コンポーネントは、サービスやアプリケーションの開発プ

ロジェクトに対して、チームサポート、コンフィグレーション管理、およびバージョン管

理のための機能を提供します。

SCMは、サービスやアプリケーションに関連するソースコードなどのリソースの管理

をサポートします。また、複数ユーザーによるアクセスや並行開発をサポートするた

めの、排他制御機能、同期機能、および高度なセキュリティ機構を提供します。SCMプロジェクトのリソースは、コンフィグレーションで管理されます。コンフィグレー

ションは、リリースまたはプロダクトごとにグループ化して管理できます。SCMに

よって、単純なアプリケーションから複雑な分散型システムまで、様々なソフトウェ

- 5 -

ア開発プロジェクトを管理できます。SCMの詳細と概念については、2章を参照して

ください。

リポジトリ

ADM は、データを 1 つ以上のリポジトリに保存して管理します。リポジトリは、データ

の統合的な管理、ユーザーやアプリケーションによる柔軟で高性能なデータへのアクセス

およびチームの連携の基盤を提供します。

情報の分散

複数のソフトウェア開発プロジェクトを管理するために、プロジェクトの数、データ

量、およびユーザー数に応じて、複数のリポジトリを使用してデータを管理すること

ができます。

リポジトリへのアクセス

リポジトリにアクセスするためのユーザーID およびパスワードを設定できます。ユー

ザー認証ファイルによる設定のほか、Active Directory および LDAP サーバによる

ユーザー管理をサポートしています。

ADM のユーザーは、リポジトリおよびリポジトリ内のデータの保存方法や保存場所

を意識することなく、ADM のインターフェースを使ってリポジトリおよびリポジト

リに含まれるデータにアクセスできます。

リポジトリの管理

リポジトリの作成および運用を開始するための基本的な操作は、クライアントイン

ターフェースで SCM の機能により行うことができます。また、リポジトリを保守す

るためのシステム管理者向けの操作は、コマンドラインインターフェースで行うこと

ができます。

リポジトリの管理の詳細については、「管理者ガイド」および「コマンドリファレンス」

を参照してください。

- 6 -

1.1 アーキテクチャーとインターフェース 以下の図に、ADM のアーキテクチャーとインターフェースの概要を示します。

リポジトリリポジトリ

Webインターフェース

Webインターフェース

コマンドラインインターフェース

コマンドラインインターフェース

クライアントインターフェース

クライアントインターフェース

SCMSCM

API

検索インデックス

検索インデックスリポジトリリポジトリ

Webインターフェース

Webインターフェース

コマンドラインインターフェース

コマンドラインインターフェース

クライアントインターフェース

クライアントインターフェース

SCMSCM

API

検索インデックス

検索インデックス

SCM は、1 つまたは複数のリポジトリにデータを保存します。

SCM は、検索インデックスに基づいた全文検索機能を提供します。

ユーザーは、以下のインターフェースで作業できます。

クライアントインターフェース

クライアントインターフェースは、ADM の全機能を提供するグラフィカルユーザー

インターフェースです。クライアントインターフェースは、 Interstage Studio 開発環

境のプラグインとしてインストールされます。

コマンドラインインターフェース

コマンドラインインターフェースは、Microsoft Windows のバッチファイルから構成

されています。コマンドラインインターフェースを使用して、ADM のすべての操作

を行うことができます。コマンドラインインターフェースを使用したバッチスクリプ

トを作成することで、バッチプロセス(例えば一括したビルド処理など)を実行でき

ます。

Web インターフェース

SCM は、クライアントインターフェースの他に、Web インターフェースも提供しま

す。Web インターフェースはサーブレットを基盤として、Web ブラウザで SCM の特

定の操作を実行できます。

- 7 -

1.2 運用とインストールの形態 ADM は、ADM クライアント、アプリケーションサーバ、ADM サーバコンポーネントの 3層アプリケーションとして実装されています。SCM は、シンプルなクライアント/サー

バ型もサポートします。

以下の図に、インストールおよび運用の形態の概要を示します。

Webクライアント

アプリケーションサーバ

ADMクライアント

クライアントインターフェース

APIとSCMの機能

コマンドラインインターフェース

APIとSCMの機能

ADM Webアプリケーション(リモートインターフェース、Webインターフェース)

ADMサーバコンポーネント

リポジトリ 検索インデックス

- 8 -

ユーザーは、以下の方法で SCMを操作できます。

クライアントインターフェースとコマンドラインインターフェース:ADM クライア

ント機能のすべてを含むクライアントインターフェース、またはコマンドラインイン

ターフェースをインストールした ADM クライアントを使って、SCM を操作できます。

クライアントは、ADM Web アプリケーションを配備したアプリケーションサーバ経

由で、HTTP または HTTPS によってリポジトリにアクセスします。

ADM Web アプリケーションには、API と SCM の機能が含まれています。ADM Webアプリケーションは、クライアントからのリクエストやデータをリポジトリに転送し、

リポジトリからのレスポンスを返します。この機能は、リモートインターフェースと

も呼びます。

ユーザーは、リモートインターフェースを使用しないで TCP/IP によってクライアン

トからリポジトリに直接アクセスすることもできます。

Web インターフェース:Web インターフェースを使って、任意の Web クライアント

(Web ブラウザ)から SCM を操作できます。このとき Web クライアントは、ADM Web アプリケーションを配備したアプリケーションサーバ経由で、HTTP や HTTPSによってリポジトリにアクセスします。

- 9 -

2 ソフトウェア構成管理(SCM)

ソフトウェア構成管理(SCM)は、サービスやアプリケーションに関連するソースコード

などのリソースの管理をサポートします。また、複数ユーザーによるアクセスや並行開発

をサポートするための、排他制御機能、同期機能、および高度なセキュリティ機構を提供

します。SCMプロジェクトのリソースは、コンフィグレーションで管理されます。コン

フィグレーションは、リリースまたはプロダクトごとにグループ化して管理できます。

SCMによって、単純なアプリケーションから複雑な分散型システムまで、様々なソフト

ウェア開発プロジェクトを管理できます。リリースやコンフィグレーション管理の詳細に

ついては、「2.4 コンフィグレーションの管理」を参照してください。

SCMが管理するソフトウェア開発プロジェクトは、1 つまたは複数のリポジトリに保存さ

れます。ユーザーは、クライアントインターフェース、コマンドラインインターフェース、

およびWebインターフェースを使用して、リポジトリのデータにアクセスできます。ADMのプロダクト、コンポーネント、インターフェース、および運用の形態の詳細については、

1章を参照してください。

以下では、SCM の機能とサービスの概要を説明して、基本的な概念を紹介します。

2.1 SCMプロジェクト SCM は、ソフトウェアプロダクトやコンポーネントを構成するリソース(フォルダーや

ファイル)を SCM プロジェクトで管理します。SCM プロジェクトは、小さなアプリケー

ションから、さまざまなコンポーネントとサブコンポーネントから構成される大きなソフ

トウェアシステムまで、どのような規模のソフトウェア開発プロジェクトにも適用できま

す。

SCM プロジェクトは、1 つまたは複数のコンフィグレーションから構成されます。コン

フィグレーションは、プロダクトやコンポーネントの特定のビルドのような、SCM プロ

ジェクトリソースの特定の状態を表します。コンフィグレーションは、リソースの作成、

変更、削除ができる作業コンフィグレーションと、変更ができない保護されたコンフィグ

レーション(スナップショット)に分類されます。

SCM プロジェクトのコンフィグレーションは、ソフトウェアプロダクトやコンポーネン

トの特定のバージョンやエディションなどを表すために、別々のリリースとしてグループ

化することができます。

SCM プロジェクトを作成すると、そのプロジェクトの 初のリリース(デフォルト名:

1.0)が作成されます。新しいリリースには、作業コンフィグレーション(デフォルト名:

MAIN)と、ベースコンフィグレーション(デフォルト名:BASE)と呼ばれる 初のス

ナップショットが含まれます。これらの初期状態から、必要に応じて新しいコンフィグ

レーションやリリースを作成していきます。

以下の図に、SCM が管理している「Interstage QA」プロジェクトを示します。このプロ

ジェクトには「1.0」と「2.0」の 2 つのリリースがあります。リリース「2.0」は、作業コ

- 10 -

ンフィグレーション「MAIN」、3 つのスナップショット「Build 1 - 2008-10-01」、

「Build 2 - 2008-10-15」、およびベースコンフィグレーション「BASE」から構成されて

います。「MAIN」の下のフォルダー「SCM」が開かれていて、このコンフィグレーショ

ンが管理しているリソースを示しています。

プロジェクト

作業コンフィグレーション

リリース

スナップショット

リリース

スナップショット

ベースコンフィグレーション

SCM プロジェクトとプロジェクトに含まれるリソースは、リポジトリに保存されます。

リポジトリには、任意の数のプロジェクトを保存できます。SCM のユーザーは、同じリ

ポジトリに保存されているプロジェクトにも、同じサーバまたは異なるサーバにある異な

るリポジトリに保存されているプロジェクトにもアクセスできます。これにより、拡張性

のある高性能なソフトウェア構成管理環境が実現され、多数の開発チームの管理が可能と

なります。

- 11 -

2.2 SCMプロジェクトの作成 SCM プロジェクトは、以下の方法で作成します。

プロジェクトやフォルダーの共有:ローカル開発環境のプロジェクトは、クライアン

トインターフェースの「プロジェクトの共有」機能を使用して、SCM プロジェクトと

して共有できます。同様に、コマンドラインインターフェースによって、ファイルシ

ステムのどのフォルダーも SCM プロジェクトとして共有できます。共有するとは、

初のリリース、作業コンフィグレーション、およびベースコンフィグレーションを

含む SCM プロジェクトを、既存または新規のリポジトリに作成するということです。

共有したプロジェクトに対して、クライアントインターフェースの「コミット」機能

によって、ローカル開発環境のプロジェクトやフォルダーのコンテンツの全部または

一部を SCM プロジェクトに追加できます。

2.3 リソースとバージョンの管理 SCM は、リソース管理やバージョン管理など、ソフトウェア構成管理システムに要求さ

れるすべての基本機能をサポートしています。バージョン管理をすることで、変更を記録

して、必要に応じてプロジェクトを以前の状態に戻すことが可能となります。

リソースとリソースバージョン

リソースとは、プロジェクトを構成するすべてのファイルとフォルダーのことです。すべ

てのリソースがバージョン管理可能です。SCM プロジェクトに新しいリソースをコミッ

トすると、 初のバージョンがリポジトリに作成されて、バージョン管理が有効になりま

す。ユーザーがローカル開発環境のリソースに対して行った変更をコミットするごとに、

新しいバージョンのリソースが作成されます。

SCM プロジェクトのリソースは、コンフィグレーションで管理します。1 つのコンフィグ

レーションには、リソースの 1 つのバージョンだけが含まれます。一方、リソースの1つ

のバージョンは、複数のコンフィグレーションに含めることができます。

リソース作成

ローカル開発環境で、SCM から独立してリソースを作成します。リソースは SCM プロ

ジェクトの作業コンフィグレーションにコミットすることで共有されます。SCM プロ

ジェクトは、リソースがコミットされるまでは、これらのリソースを無視します。すなわ

ち、ローカル開発環境のリソースと SCM プロジェクトのリソースは、それぞれ独立して

管理されます。

チェックアウトとコミット

チェックアウトとコミットにより、SCM プロジェクトのリソースをローカル開発環境に

取り出したり、ローカル開発環境のリソースを SCM プロジェクトに追加したりすること

ができます。

- 12 -

SCM プロジェクトのリソースを変更するための基本的な流れを、以下に示します。

1. SCM プロジェクトの作業コンフィグレーションから、ローカル開発環境にリソース

をチェックアウトします。チェックアウトすると、ローカル開発環境に新しいプロ

ジェクトが作成されるか、または既存のプロジェクトが更新され、SCM プロジェク

ト内のリソースの 新のバージョンがローカルのプロジェクトにコピーされます。

チェックアウトは、SCM プロジェクト全体、プロジェクトの下部構造、または単独

のリソースを指定して行うことができます。

2. ローカル開発環境でリソースを変更します。

3. 変更したリソースを SCM プロジェクト作業コンフィグレーションにコミットします。

ファイルごとに、変更を含む新しいバージョンが作成されます。

コミットの実行前に、SCM はローカル開発環境のリソース、リポジトリに保存している

新バージョンのリソース、旧バージョンのリソースを比較します。このため、ローカル

で変更したリソースだけがリポジトリにコピーされ、ほかのユーザーが変更してすでにリ

ポジトリに保存しているリソースに対しての変更は上書きされません。この場合、ほかの

ユーザーの変更を反映させるためにローカルのリソースをリポジトリのリソースとマージ

するか、またはほかのユーザーの変更を無視して、ローカル開発環境のリソースでリポジ

トリのリソースを上書きしてコミットすることができます。

同期化と更新

SCM は、複数のユーザーによる SCM プロジェクトでの同時作業をサポートします。SCMは、ローカル開発環境のリソースをリポジトリに保存したリソースと同期化させるのに役

立つ機能やオプションを提供します。

ローカル開発環境にチェックアウトしたリソースと、リポジトリ内にあるリソースの 新

バージョンをいつでも比較できます。クライアントインターフェースは、リソースのどの

バージョンがより 新かという情報など、相違点を表示するグラフィカルビューを提供し

ます。

ローカル開発環境のリソースとリポジトリ内のリソースに相違がある場合には、以下の操

作が行えます。

ローカル開発環境のリソースをリポジトリにコミットできます。他のユーザーにコ

ミットされたリソースの変更を、ローカルのリソースで上書きしてコミットすること

ができます。

ローカル開発環境のリソースを、リポジトリに保存されているリソースで更新できま

す。ローカル開発環境で変更したリソースを、リポジトリのリソースで上書きして更

新することができます。

ローカル開発環境のリソースをリポジトリのリソースとマージして、その結果をリポ

ジトリにコミットできます。マージは比較エディタなどを使用して手動で行うか、ま

たは SCM が提供する自動マージ機能を使用して行えます。自動マージ機能は、変更

がファイルの違う行同士で行われた場合など、競合しない変更を含むファイルをマー

ジするときに有効です。

- 13 -

バージョンヒストリ

SCM は、各ファイルリソースのすべてのバージョンについて正確なヒストリを保持しま

す。ヒストリには、各リソースバージョンや各バージョンについて以下の付帯情報があり

ます。

バージョンの作成日時

バージョンの作成ユーザー

バージョンがマージ操作の結果かどうかに関する情報

ユーザーが記入したコメント

ファイルリソースのバージョンヒストリを、クライアントインターフェースと Web イン

ターフェースで表示できます。必要に応じてツリービューとフィルターを利用できます。

バージョンヒストリでは、以下の操作を実行できます

各バージョンの内容を確認する

あるバージョンのリソースをエクスポートする

内部または外部の比較エディタを使用して、バージョン同士を比較する

古いバージョンのリソースを復元して、古いバージョンを 新のバージョンとする

リソースの削除

リソースは、SCM プロジェクトの作業コンフィグレーションから削除できます。削除し

ても、リソースバージョンは物理的には削除されず、リポジトリ内に保存したままになり

ます。このため、削除したリソースのバージョンを必要に応じてバージョンヒストリから

取り出して、元の状態に戻すことができます。

リソースのロック

SCM プロジェクトのリソースは、排他制御のためにロックすることができます。リソー

スをロックしたユーザーだけが、そのリソースに変更をコミットできます。リソースの

ロックは、頻繁なマージ作業を避け、リソースバージョンの数を減らすのに役立ちます。

複数の開発者が同じリソースで作業する分散型開発環境では、特に有効です。

ローカルリソースの監視

リソースのチェックアウトで作成したどのローカルプロジェクトに対しても、監視を設定

できます。監視によって、まだコミットしていないローカル開発環境の変更を把握できま

す。たとえばリソースを変更またはロックする前に、ほかのユーザーがそのリソースの作

業を行ったかどうかを簡単に発見できます。このため、競合や頻繁なマージ作業を避ける

ことができます。

- 14 -

読み取り専用アクセスとエクスポート

SCM プロジェクト内のリソースを変更しないように、読み取り専用アクセスまたはロー

カルコピーだけが必要な場合には、以下の方法があります。

クライアントインターフェースまたは Web インターフェースを使用して、プロジェ

クト構造をたどって移動して、リポジトリ内のファイルを直接表示します。

リソースをプロジェクトから外部ファイルシステムにエクスポートします。

読み取り専用モードでリソースをチェックアウトして、ローカル開発環境で誤って変

更しないようにします。

ナビゲーションと検索

SCM は、リソースを探すための以下の機能を提供します。

ナビゲーション:クライアントインターフェース、Web インターフェースでは、

SCM プロジェクトやその内容を、ツリービューで操作できます。リソースの各バー

ジョンは、バージョンヒストリからアクセスできます。

検索:クライアントインターフェースは、プロジェクトやリポジトリの全文検索を含

む高度な検索機能を提供します。名前、内容(単語検索)、プロパティ(修正の日付、

コミットしたユーザーなど)でリソースを検索できます。検索の範囲は、1つまたは

複数のコンフィグレーション、リリース、プロジェクト、およびそれらに含まれる特

定のフォルダーやファイルまで指定できます。

Lost & Found:各 SCM プロジェクトには、どのコンフィグレーションにも属さない

リソースをすべて保存する Lost & Found フォルダーがあります。たとえば、削除さ

れたコンフィグレーションやリソースが Lost & Found フォルダーに保存されます。

Lost & Found フォルダーからリソースをエクスポートしたり、バージョンヒストリを

開いたりできます。

2.4 コンフィグレーションの管理 SCM は、プロジェクトを構成するコンフィグレーションやそれらをグループ化するリ

リースを作成・管理する、様々な機能とオプションを提供します。コンフィグレーション

およびリリースを利用して、SCM プロジェクトのリソースを様々な目的ごとに管理でき

ます。

リリース

SCM プロジェクトは、少なくとも 1 つのリリースから構成されています。SCM では、リ

リースを使用してコンフィグレーションをグループ化することで、プロジェクトの特定の

バージョンやエディションを表せます。新しいリリースは、既存のリリースに基づいて作

成できます。リリースには、以下の3つのタイプがあります。

フォローアップリリース:フォローアップリリースは、同じ開発工程内のリリースの

後継です。たとえば、リリース 2.0 はリリース 1.0 の後継です。

- 15 -

ブランチリリース:ブランチリリースは、リリース内のブランチです。通常、ブラン

チリリースは、次の(フォローアップ)リリースがすでに進行中のとき、あるリリー

スのサービスパックや修正版を管理する場合に使用します。たとえばリリース 1.0 に

は、1.1 や 1.2 というブランチリリースや、フォローアップリリース 2.0 を追加でき

ます。

リンク済みリリース:リンク済みリリースは、別の SCM プロジェクト、または SCMの管理対象外プロジェクト用のリリースです。リンク済みリリースは、プロジェクト

間の依存関係を表し、実際にプロジェクト同士をリンクするために使用します。リン

ク済みリリースがほかの SCM プロジェクトのリリースに関連している場合は、リン

クしているリリースが同じリポジトリに置かれているかどうかに関係なく、その内容

を操作できます。

SCM は、リリースを管理するためのさまざまな特徴や機能を提供します。以下の操作を

行うことができます。

新しいリリースを作成できます。

他のプロジェクトのリリースをリンクしたりリンクを解除したりできます。

作業が終わったリリースをクローズしたり、クローズしたリリースを再度開いたりで

きます。リリースのクローズとは、すべての作業コンフィグレーションを以降の変更

から保護することです。

リリースのすべてのコンフィグレーションで、使用しなくなったファイルバージョン

の内容を削除できます。

リリース別のレポートを作成できます。また、複数のリリースにわたる変更レポート

を作成することもできます。

既存のリリースの名前を変更したり、削除したりできます。

コンフィグレーション

SCM プロジェクトのリリースは、1 つまたは複数のコンフィグレーションから構成されま

す。コンフィグレーションとは、リリース内のプロジェクトリソースのある特定の状態を

表します。リリースごとに、 初の作業コンフィグレーション(デフォルト名:MAIN)

が作成されます。この 初のコンフィグレーションから始めて、必要に応じて新しいコン

フィグレーションを作成します。

ユーザーは、リリースの作業コンフィグレーションで作業を行います。チェックアウトは

1 つの作業コンフィグレーションだけに関連付けられ、変更はこの作業コンフィグレー

ションにコミットします。

スナップショット

スナップショットとは、ラベル付けして保護された、変更できないコンフィグレーション

のことです。スナップショットを作成すると、含まれているすべてのリソースの 新バー

ジョンなどの、作業コンフィグレーションの 新の状態を保存できます。通常、スナップ

ショットは、ビルド、テスト、品質保証、サービスパック、修正、または特定の顧客に提

- 16 -

供するなどの目的で、リリース内でプロジェクトの特定の状態を保持するために使用しま

す。リリースごとに、ベースコンフィグレーション(デフォルト名:BASE)と呼ばれる

初のスナップショットを自動的に作成します。フォローアップリリースやブランチリ

リースのベースコンフィグレーションは、リリースの作成元であるコンフィグレーション

と同一です。

スナップショットを作成しても、作成元の作業コンフィグレーションは変更されません。

このため、ユーザーはスナップショットが作成されたかどうかを意識しないで作業を続け

ることができます。

スナップショットに基づいて、リリース内に新しいブランチを作成できます。ブランチと

は新しい作業コンフィグレーションのことで、 初の内容は作成元のスナップショットと

同一です。ブランチは、たとえばリリース内で同じソフトウェアのさまざまなエディショ

ンを作成、保守したり、プロジェクトコンポーネントの作業を他のブランチで続行しなが

ら、それらコンポーネントの安定したバージョンが必要な開発チームをサポートしたりす

るのに役立ちます。プロジェクトのブランチごとに、スナップショットや新しいブランチ

を作成できます。

SCM は、コンフィグレーションに関するさまざまな機能とオプションを提供します。以

下の操作を実行できます。

クライアントインターフェースや Web インターフェースのさまざまなビューやフィ

ルターを使用して、SCM プロジェクトのコンフィグレーションの表示および操作が

できます。

現在コンフィグレーションで作業しているユーザーを表示することができます。

チェックアウトが関連付けられている作業コンフィグレーションを変更できます。こ

れは、たとえばリソースをチェックアウトした後に新しいブランチやリリースが作成

されて、その新しいブランチやリリースへの変更をチェックインしたい場合に役立ち

ます。そうすることで、同じリソースを何度もチェックアウトしなくて済みます。

チェックアウトした SCM プロジェクトから、ローカルリソースのコピーを完全に解

放することもできます。

作業コンフィグレーションをロックすることができます。ロックされたコンフィグ

レーションに対しては、ロックしたユーザーだけが変更をコミットすることができま

す。ロックは、たとえば、安定して一貫したコンフィグレーションが必要な自動ビル

ドスクリプトを実行する場合に役立ちます。

新しいスナップショットとブランチを作成できます。

ブランチをクローズできます。ブランチのクローズとは、その作業コンフィグレー

ションを以降の変更から保護することです。作業コンフィグレーションはスナップ

ショットに近いものになります。必要であれば、新しいブランチのベースとして使用

することもできます。

コンフィグレーションを相互に比較できます。

コンフィグレーション別のレポートを作成できます。また、複数のコンフィグレー

ションにわたる変更レポートを作成することもできます。

- 17 -

既存のコンフィグレーションの名前を変更したり、削除したりできます。

コンフィグレーションのライフサイクル

通常、ソフトウェア開発は、組織で決められたライフサイクルに従います。SCM は、ス

テートやステート間の移行を定義するコンフィグレーションのライフサイクルに役立ちま

す。各コンフィグレーションには同時に 1 つのステートだけを割り当てられます。ステー

ト情報は、ソフトウェア開発プロセスを理解して管理するのに役立ち、長期にわたるリ

リースの変遷を表示します。

SCM には、以下の図に示す、ステートとステート間移行を定義するコンフィグレーショ

ンのデフォルトライフサイクルがあります。

in development

(開発中)

archived

(アーカイブ済み)

released

(リリース済み)

qa

(品質保証)

in development

(開発中)

archived

(アーカイブ済み)

released

(リリース済み)

qa

(品質保証)

標準的な開発計画では、このライフサイクルのステートは、コンフィグレーションに以下

のように割り当てられます。作業コンフィグレーションは「in development(開発中)」

のステートであり、品質保証のために保持しているスナップショットは「qa(品質保

証)」のステートです。「archived(アーカイブ済み)」のステートはもう使用していな

いスナップショットに対して割り当て、「released(リリース済み)」のステートはリ

リース内の 終コンフィグレーションに対して割り当てます。

SCM で既存のステートの名前を変更して新しいステートを追加することで、必要に応じ

てデフォルトコンフィグレーションライフサイクルをカスタマイズできます。デフォルト

ライフサイクルのステートを各 SCM プロジェクトに適合することもでき、どの既存の開

発プロセスにも柔軟でダイナミックな統合が可能です。

2.5 プロダクトの管理 SCM は、ソフトウェア開発プロジェクトのプロダクト重視のビューと管理を提供します。

さまざまなリリースやプロジェクトのコンフィグレーションは、プロダクトとしてまとめ

- 18 -

- 19 -

て、構造化して一緒に管理できます。たとえばプロダクトのすべてのコンフィグレーショ

ンを一緒にチェックアウト、エクスポートしたり、すべてのコンフィグレーションのス

けます。メンバー

クト管理のさまざまな機能やオプションを提供します。以下の操作を実

を作成して、メンバーリリースを割り当てたり、割り当てを解除し

ローカル開発環境の対応するプロジェ

によって、たとえば外部フォルダー内の重複フォルダーや

ンフィグレーションを新しいスナップショットに入れ

に割り当てたすべての作業コン

です。プロダクトリリースは、プロジェクトリリースと同じ方法で管理できま

、1 つのプロダクトのリリースを別のプロダクト

プロダクトの名前を変更して、削除します。

ナップショットを 1 回の操作で作成したりできます。

プロダクトはメンバーリリースから構成されます。メンバーリリースとは、SCM プロ

ジェクトのリリースや、SCM で管理していないプロダクトやプロジェクトを表すもので

す。SCM プロジェクトのリリースに対して、1 つのコンフィグレーションだけをプロダク

トに割り当てられます。プロダクトは、すべての SCM リポジトリに置

リリースは、同じリポジトリにも異なったリポジトリにも置けます。

SCM は、プロダ

行できます。

クライアントインターフェースで、プロダクト構造を操作できます。

新しいプロダクト

たりできます。

メンバーリリースが参照しているコンフィグレーションを変更できます。

プロダクトをチェックアウトできます。これは、メンバーリリースのすべてのまたは

選択したコンフィグレーションを、ユーザーの

クトにチェックアウトするということです。

プロダクトをエクスポートできます。これは、メンバーリリースのすべてのまたは選

択したコンフィグレーションの、すべてのまたは特定のリソースを、外部フォルダー

にエクスポートするということです。また、各コンフィグレーションを、外部フォル

ダーの対応するサブフォルダーにエクスポートできます。さらに、コンフィグレー

ションの構造を無視して、すべてのリソースを単一のターゲット構造にエクスポート

することもできます。これ

ファイルを減らせます。

プロダクトスナップショットを作成できます。これは、プロダクトに割り当てたメン

バーリリースのコンフィグレーションのスナップショットを作成するということです

プロダクトに含まれる既存のコ

替えるように選択できます。

プロダクトをロックできます。これは、プロダクト

フィグレーションをロックするということです。

プロダクトリリースを作成し管理する。SCM プロジェクトと同様に、プロダクトに

は 1 つまたは複数のリリースがあります。ブランチリリースまたはフォローアップリ

リース

す。

プロダクトをリンクします。つまり

にメンバーとして割り当てます。

2.6 セキュリティとアクセス制御

セキュリティとアクセス制御の概念

ADM では、特定のデータを操作できるユーザーを指定したり、ユーザーが実行できる操

作を定義したりするために、高度なアクセス概念を使用しています。

ADM のアクセス概念は、ユーザーロールとオーソリティに基づいて、特定の操作の実行

を制御します。

以下の図は、ADM の基本的なアクセス概念を示します。

オーソリティは、ADM の操作を実行するための権限です。ロールは、いくつかのオーソ

リティの組み合わせを定義したものです。ユーザーに 1 つ以上のロールを割り当てること

で、そのユーザーはロール内のオーソリティによって定義される操作を実行できるように

なります。操作に対応するオーソリティがロール内に含まれていない場合、ユーザーはそ

の操作を実行できません。

SCM には、いくつかのロールとオーソリティがあらかじめ定義されています。オーソリ

ティを追加または削除してあらかじめ定義されているロールを変更したり、既存のロール

を削除したり、独自のロールを追加することができます。

ユーザーの管理を容易にするために、ユーザーごとに異なるロールを割り当てることがで

きます。また、デフォルトロールを指定して、ロールが明示的に付与されていないすべて

のユーザーにそのロールを自動的に割り当てることができます。

ロール、ロール内のオーソリティ、およびユーザーへの割り当ては、それらのロールが適

用される SCM プロジェクトと同じリポジトリに保存されます。ロールは、エクスポート、

インポート、およびコピー機能を使用して簡単に管理できます。たとえば、ロールを 1 つ

のリポジトリまたはプロジェクトから別のリポジトリまたはプロジェクトに転送できます。

SCM アクセスモデル

SCM は、ロールとオーソリティに基づくセキュリティおよびアクセス制御機能を使用し

ています。SCM は、アクセスグループとアクセス権限を使用して、アイテムやリソース

へのアクセスを制御します。

以下の図は、SCM アクセスモデルのさまざまな要素を示します。

まとめて定義

オーソリティユーザー ロール

所持

- 20 -

アクセス権限 ユーザー ロール

所持 所持

割り当て メンバー まとめて定義

リソース オーソリティ アクセスグループ

割り当て

アクセスグループ

アクセスグループは、プロジェクト、プロダクト、またはリポジトリを操作できるユー

ザーを定義します。各プロジェクトまたはプロダクトには、 大 8 つのアクセスグループ

を割り当てることができます。リポジトリへのアクセスとリポジトリへのプロジェクトの

作成は、この 8 つのアクセスグループのメンバーに制限されます。

アクセスグループは、SCM リポジトリをホストするサーバで設定されている、標準の

ユーザーグループです。システム管理者は、Active Directory や LDAP サーバなど、運用環

境のオペレーティングシステムレベルでユーザーグループを作成および保守できます。

ロールとオーソリティ

ロールとオーソリティは、プロジェクトごとに定義でき、このプロジェクト内のすべての

操作に対して有効になります。ユーザーへのロールの割り当ても同様です。1 つのプロ

ジェクトに対して定義したロールは、同じリポジトリ内の他のプロジェクトと共有できま

す。

アクセス権限

リソースに特定の操作を行うには、適切なロールだけでなく、そのリソースに対する適切

なアクセス権限も必要です。SCM では、リソースに以下の種類のアクセス権限を割り当

てることができます。

プロジェクト プロダクト リポジトリ

オーナー:オーナー権限を持つユーザーは、リソースを削除したり、それらに割り当

てられているアクセス権限を変更したりすることができます。オーナー権限には、他

のすべてのオーソリティが含まれます。

書き込み:書き込み権限を持つユーザーは、リソースをチェックアウトおよび変更で

きます。書き込み権限には、読み取り権限が含まれます。

読み取り:読み取り権限を持つユーザーは、リソースにアクセスして読み取ることが

できます。

- 21 -

デフォルトでは、プロジェクトに割り当てられたアクセスグループ内のすべてのユーザー

に、すべてのリソースに対するオーナー権限が与えられます。さらに、個々のユーザーに

各リソースに対する特定のアクセス権限を設定できます。フォルダーに設定されたアクセ

ス権限は、そのフォルダー内に作成されたすべてのリソースに継承されます。リソースを

作成したユーザーには、そのリソースに対するオーナー権限が自動的に割り当てられます。

2.7 監査ログとレポート

監査ログ

SCM は、実行されたすべての操作をログに記録します。このログは、複数のログファイ

ルで構成され、関連するリポジトリに保存されます。

ログファイルとログファイルに基づくさまざまなレポートは、監査目的で使用できます。

ログファイルやレポートを使用して、データの詳細情報を取得したり、実行された変更を

確認したりできます。また、承認されないアクセスがないかどうかをチェックすることも

できます。

監査ログ機能には再構成機能があり、たとえば、ディスクの空き容量を増やすために、ロ

グファイルから古くなったエントリを削除できます。

レポート

SCM は、プロジェクト、リリース、コンフィグレーション、フォルダー、ファイル、

バージョンに関する情報を取得するためのさまざまなレポートを提供しています。以下の

レポートを使用して、リポジトリに保存されているアイテムの任意の特性に関する情報を

取得できます。

監査レポート:このレポートは、リポジトリ、プロジェクト、リリース、コンフィグ

レーション、フォルダー、ファイルで行われた操作に関する情報を提供します。さら

に、個々のリソースやリリースのヒストリ情報も取得できます。

変更レポート:変更レポートは、リリース、コンフィグレーション、フォルダー、

ファイルで行われた変更に関する統計情報と詳細情報を提供します。

プロパティレポート:プロパティレポートは、プロジェクト、リリース、コンフィグ

レーション、フォルダー、ファイルに関する一般的なプロパティの情報を出力します。

レポートは、さまざまな形式(XML、HTML、CSV など)で出力でき、必要に応じてカス

タマイズできます。

2.8 カスタマイズ SCM は、必要に応じて設定およびカスタマイズするためのさまざまなオプションを提供

します。

- 22 -

SCM プロジェクト設定

SCM プロジェクトごとに、以下の設定ができます。

ファイル名パターン:コミットや更新操作で無視するファイル名のパターン、SCMの自動マージ機能を適用するファイル名のパターン、およびレポートを作成するファ

イル名のパターンを指定できます。

ローカルリソースの監視:ローカルリソースの監視を有効または無効に設定できます。

ユーザーロール:あらかじめ定義されているユーザーロールを変更したり、必要に応

じて新しいロールを追加したりできます。

ライフサイクル:必要に応じて、定義済みのコンフィグレーションステートの適用、

新しいコンフィグレーションステートの追加を行うことができます。

変更通知:リソースがコミット、ロック、またはロック解除された場合に、電子メー

ルによる変更通知を受け取るように指定できます。通知の設定は、プロジェクト構造

のどのレベルでも可能です。ただし、この機能を使うためには、リポジトリのメール

設定が必要です。

この設定は複数のプロジェクトで共有できます。さらに、プロジェクトの作成時に使用す

るデフォルト設定を必要に応じてカスタマイズできます。

リポジトリ全体の設定

プロジェクト固有の設定以外にも、リポジトリ全体に対して以下の設定ができます。

メール設定:変更通知メールの送信を有効または無効にしたり、使用する SMTP メー

ルサーバを指定したりできます。

検索設定:リポジトリの検索機能を有効または無効にしたり、リポジトリの検索イン

デックスを置くサーバとディレクトリを指定したりできます。

リソースバージョンの差分管理:この設定を有効にすると、2 つのファイルバージョ

ンのコンテンツ全体ではなく、2 つのファイルバージョンの差分だけが保存されます。

これにより、必要なディスク容量を減らせます。

監査ログ設定:監査ログへのすべての読み取りアクセス操作の記録を有効または無効

にできます。

リポジトリアクセスとプロジェクト作成:リポジトリへのアクセスを特定のアクセス

グループに制限したり、リポジトリ管理者または特定のアクセスグループだけがリポ

ジトリ内に新しいプロジェクトを作成できるように指定したりします。

SCM の拡張

上記の設定とカスタマイズのオプションの他に、SCM は機能拡張の手段も提供します。

ほとんどの SCM 操作では、ユーザー固有のメソッドをアタッチできる拡張出口を提供し

ます。ユーザー固有のメソッドは、SCM 操作の実行前、実行中、実行後に起動できます。

以下にそのような拡張の例を示します。

- 23 -

実行前にコミットが許可されているかどうかをチェックできます。

変更した行数を数えたり、コミットした際に定められたルールに従ってソースコード

を再フォーマットしたりできます。

特定の操作の実行後などに、サードパーティ製のツールやレポートシステムを SCMと同期させて使うことができます。

特定の操作の実行後、プロジェクトメンバーに通知を送信できます。

拡張出口のユーザー固有のメソッドは、SCM API を利用します。SCM API を利用して、

リポジトリにアクセスして SCM 機能を使う独自のアプリケーションも開発できます。

SCM を拡張するもう 1 つの方法は、SCM の構成要素用の属性とリレーションのカスタム

定義です。これはたとえば、SCM の構成要素と一緒にリポジトリにデータを保存する他

のシステムやツールの統合に有効です。

カスタマイズおよび拡張オプションの詳細については、「ADM カスタマイズガイド」を

参照してください。

- 24 -

用語解説

アイテム

SCM のリポジトリ、プロジェクト、リリース、コンフィグレーションの総称。

アクセスグループ

SCM のリポジトリ、プロジェクト、プロダクトで作業を許可されているユーザーのグ

ループ。

アクセス権限

ユーザーがアイテムに対して持っているオーソリティ。アクセス権限には、読み取り、書

き込み、オーナーの3種類があります。

アプリケーション

ユーザーのために生産的なタスクを行うソフトウェア、手順、ドキュメントの集合体。

SCM プロジェクト

リソースを構造化した集合で、SCM で管理するソフトウェアプロダクトまたはコンポー

ネントを構成します。1 つの SCM プロジェクトには、少なくとも 1 つのリリースと 1 つ

のコンフィグレーションがあります。

オーソリティ

単一の操作の実行許可。オーソリティはロールに対して割り当てられます。

コンフィグレーション

1 つのコンフィグレーションには、リソースの 1 つのバージョンだけが含まれます。ある

1 つのリソースバージョンは、複数のコンフィグレーションのメンバーになれます。

サービス

個別に定義された、連続または独立した業務機能や技術的機能のセット。たとえばインフ

ラストラクチャーや Web サービスなど。

- 25 -

ステート

SCM 内でコンフィグレーションが通過するライフサイクルの個々の段階。

スナップショット

SCM で保護されたコンフィグレーション。リソースバージョンの既存の割り当ては変更

できません。スナップショットは、SCM プロジェクトの特定の状態を保存するのに役立

ちます。

バージョン

アイテムのヒストリで特定の段階を記録するのに役立つアイテムのインスタンス。

ブランチ

SCM プロジェクトにおける開発ライン。同じスナップショットに基づいてブランチをい

くつでも作成でき、ユーザーは同じソフトウェアのさまざまなバージョンやエディション

を並行して作業できます。

プロセス

入力を受け付け、それを変形して出力を作成する、関連付けられた一連の動作。

プロダクト

一緒に管理できる、SCM 内のさまざまなプロジェクトのリリースの集合。

ライフサイクル

要素の変遷の説明。ライフサイクルは、要素が通過する段階、ステート、およびそれらの

間の移行を定義します。

リソース

SCM 内のフォルダーやファイル。

リポジトリ

要素やその基礎となるデータモデルを保存、管理する論理的な単位。リポジトリは、物理

的な記憶装置を構成するデータストアを基盤にしています。

- 26 -

- 27 -

リリース

SCM では、プロジェクトの特定のバージョンやエディションを表すコンフィグレーショ

ンの集合。各 SCM プロジェクトには、少なくとも 1 つのリリースがあります。

ロール

オーソリティの集合で、ロールが割り当てられているユーザーがどの操作を実行可能なの

かを制御します。