マルチユーザー開発環境について
マルチユーザー開発によって、エンタープライズ規模のデプロイメントにおけるアプリケーション・メタデータの作成が容易になります。
アプリケーション・メタデータは、一元化されたメタデータOracle BIリポジトリ(RPD)ファイルに保存されます。これらのリポジトリの操作には、管理ツールを使用します。MDS XML形式のリポジトリでは、マルチユーザー開発環境を使用しません。
「マスター・リポジトリ」とは、マルチユーザー開発ディレクトリ内のリポジトリのコピーを指します。
マルチユーザー開発環境を使用する状況の例を次に示します。
-
複数の開発者がメタデータのサブセットで同時に作業し、他の開発者と作業が競合することなく、それらのサブセットをマスター・リポジトリにマージして戻します。たとえば、会社でデータ・ウェアハウスの実装を行った後、管理者は他の機能領域にOracle Analytics Serverをデプロイできます。
-
1人の開発者がすべての開発を管理します。簡易性とパフォーマンスを確保するため、その管理者はマルチユーザー開発環境を使用して、大きいリポジトリのかわりに、より小さい塊でメタデータ・コードを管理できます。
どちらの例でも、管理者は管理ツールでリポジトリ・ファイル内にプロジェクトを作成し、そのリポジトリ・ファイルを共有ネットワーク・ディレクトリ(マルチユーザー開発ディレクトリと呼ばれます)にコピーします。開発者は、プロジェクトをチェックアウトし、変更を加えて、変更内容をマスター・リポジトリにマージできます。開発者が管理ツールを使用してプロジェクトをチェックアウトすると、バックグラウンドでファイルが自動的にコピーされ、上書きされます。管理者は設定タスクを実行する必要があります。開発者は、チェックアウト、マージおよび公開の手順の際に表示される管理ツールのメッセージに細心の注意を払う必要があります。
開発者がプロジェクトをチェックアウトしても、リポジトリ・ファイルが自動的にコピーまたは上書きされることはありません。プロジェクトのチェックアウト時に、管理ツールによって2つのファイルが新しく作成されます。一方のファイルには元のプロジェクト・データが格納され、もう一方のファイルにはプロジェクトの変更内容が格納されます。
たとえば、リポジトリ開発者がC:\multiuser
開発ディレクトリのmaster.rpd
からプロジェクトAをチェックアウトした場合、管理ツールによって、プロジェクトAに関連するすべてのメタデータが抽出され、開発者は新しいファイル名を指定してデータを保存するように要求されます。開発者が新しいファイル名(例: Mychanges.rpd)を選択すると、管理ツールによって次の2つのファイルが新しく作成されます。
-
開発者が加えた変更が格納されるMyChanges.rpdというファイル
-
元のプロジェクト・データが格納されているoriginalMyChanges.rpdというファイル
管理ツールは、Mychanges.rpdとoriginalChanges.rpdを比較して開発者の変更を判別します。変更点に関する情報は、マルチユーザー開発のマージ・プロセスで必要になります。
マルチユーザー開発プロセスについて
マルチユーザー開発は、カスタマの技術上およびビジネス上の目的を明確に理解していることが前提条件となります。
また、一貫性のあるマージおよび調整の実施など、明確に定義された開発プロセスに従い、それらのプロセスに厳密に準拠する必要があります。
次の手順では、マルチユーザー開発環境をデプロイする際の一般的なステップについて説明します。通常、最初の3つのステップは管理者が実行し、残りのステップは1人以上の開発者が実行します。プロジェクトの作成を参照してください。
できるだけ速やかに、かつ頻繁に変更をマージすることをお薦めします。頻繁なマージにより、競合解決が容易になり、マージが単純化されます。
-
プロジェクトを定義して、大量のメタデータを管理可能なコンポーネントに編成します。次のヒントを考慮してください。
-
より小さいRPDを使用して、開発作業とユニット・テストを簡素化し、それに要する時間を短縮します。
-
開発リソースをプロジェクト別に編成して、ワークロードを分散し、不整合と上書きを減らします。
-
-
マルチユーザー開発ディレクトリとして使用する共有ネットワーク・ディレクトリを設定します。
-
マスター・リポジトリをマルチユーザー開発ディレクトリにコピーします。
-
ローカル開発のために1つ以上のプロジェクトまたはリポジトリ全体を抽出します。
-
リポジトリ・オブジェクトをマージし、競合を解決します。
-
多くの場合、メタデータ・オブジェクトは相関性が高いため、複数の開発者が同じオブジェクトで作業している可能性があります。
-
通常のサブセットのリフレッシュを実行して、自分のローカルの変更を、マスターの最新バージョンとマージできます。マージ・プロセス中に構成の競合が発生した場合、開発者は修正プロセスを実行するように求められます。
-
-
変更内容をネットワークに公開します。
-
最終的なサブセットのリフレッシュ(マージ)は、公開ステップ中に実行されます。多数の開発者が同じオブジェクトで同時に作業できますが、一度に公開できるのは1人だけです。公開ステップ中は、リポジトリはロックされます。
-
-
ロギングおよびバックアップ機能を使用して、誤った構成や不適切な構成のポイントを特定します。
-
ログ・ファイルでは、マルチ開発アクティビティがコメントとともに追跡されます。
-
マスター・リポジトリと開発者リポジトリは、その後の参考のために、また手動ロールバックで使用できるように、自動的にバックアップされます。
-