This topic applies only to the IBM Business Process Manager Advanced configuration.

CVS による統合プロジェクトの共有

IBM® Integration Designer には、 Concurrent Versions System (CVS) を使用してチーム環境でアプリケーションを開発する機能があります。

このタスクについて

Eclipse を通じて、Integration Designer Integration Developer は、Concurrent Versions System (CVS) に対してクライアントを提供します。 このトピックでは、CVS リポジトリーを使用したプロジェクトの共有方法について説明します。
「ビジネス・インテグレーション」ビューには、以下の操作に対するチーム開発サポートが組み込まれています。
  • CVS にプロジェクトを追加 (共有) する
  • ローカル・アプリケーションとリモート・リポジトリーの間で変更内容を同期する
  • ローカルの変更内容をリモート・リポジトリーにコミットする
  • ローカルのワークスペース成果物を、リモート・リポジトリー上の最新バージョンで更新 (置き換え) する

モジュール、メディエーション・モジュール、およびライブラリーごとのリソースの論理ビューを提供する「ビジネス・インテグレーション」ビューがあります。 それぞれのプロジェクト内で、リソースはタイプ別に分類されています。 「ビジネス・インテグレーション」ビューのナビゲーション・ツリーに表示される論理リソースは、必ずしも物理ファイルに対して 1 対 1 のマッピングを持つわけではありません。 「チーム」メニュー・オプションを使用すれば、「同期化」ビューおよび「CVS リポジトリー」ビューで表示される物理ファイルが、「ビジネス・インテグレーション」ビューで表示されるリソースに直接にはマップしていないことがわかります。 プロジェクトを共有したり変更をコミットするときは、常に「ビジネス・インテグレーション」ビューから作業し、必要なリソースすべてを共有またはコミットするようにします。

また、IBM developerWorks® サイトの技術資料『Team development with WebSphere® Integration Developer and WebSphere Process Server: Developing applications using CVS』も参照可能です。

以下のトピックで、 CVS 環境で作業する場合にプロジェクトを共有する基本的な手順を説明します。

手順

  1. CVS リポジトリーでプロジェクトを共有するには、「CVS リポジトリー」ビューにそのリポジトリーを追加する必要があります。
    1. CVS リポジトリー・エクスプローラー・パースペクティブに切り替えて、右クリックし 「新規」 > 「リポジトリー・ロケーション」を選択します。
    2. 「CVS リポジトリーの追加」ウィザードで、ロケーション、認証および接続の情報を入力します。
    3. 「完了」をクリックします。
  2. 「ビジネス・インテグレーション」ビューで、共有したいモジュールまたはライブラリーを選択して右クリックし、「チーム」 > 「プロジェクトの共有」を選択します。
  3. 「プロジェクトの共有」ウィザードで、リポジトリー・タイプとして「CVS」を選択し、「次へ」をクリックします。
  4. 以前に作成した既存のリポジトリー接続を使用するように選択し、「次へ」をクリックします。
  5. モジュール名に該当するプロジェクト名を使用するように選択し、「次へ」をクリックします。 モジュールを CVS に置く際には、モジュール名を変更しないでください。 SCA.module ファイルはモジュール名に依存します。
  6. 次ページに、共有するプロジェクトが示されます。 プロジェクトを展開すると、含まれる物理ファイルが表示されます。 正符号の付いた矢印のあるデコレーターは、そのファイルが新規で、サーバー上に存在していないことを表しています。 プロジェクトを選択して、「終了」をクリックします。 そのリソースすべてを含むモジュールのバージョンは、共有リポジトリー内に作成されます。

タスクの結果

プロジェクトが CVS 制御に追加されると、新規チーム・アクションがポップアップ・メニューで選択可能になります。 これらのアクションを使用して、例えばリポジトリーの同期化、リポジトリーへの変更のコミット、およびローカル・ワークスペースの更新などのタスクを行うことができます。 以降に記載する例で、これらのアクションについて詳しく説明します。

以下の例は、変更のコミット、共有リポジトリーからのプロジェクトのチェックアウト、ワークスペースへの変更の受信、ファイルの比較、および競合の解決の方法を示しています。
変更のコミット
共有モジュール DataMergeModule にいくつかの変更を行ったとします。 アセンブリー・ダイアグラムで、TransferFromBrokerageToBankProcess という名前の BPEL プロセスを追加し、 それを 2 つの新規の Java™ コンポーネントに接続しました。 それらの Java コンポーネントは Component1Impl と Component2Impl として実装されています。 アセンブリー・ダイアグラムの保存後、 「ビジネス・インテグレーション」ビューに、> デコレーターが変更された 3 つのリソース、DataMergeModule、Component1Impl、および Component2Impl の横に表示されます。

リソースをコミットする前に、必ずプロジェクトをリポジトリーと同期化して、ローカル・ワークスペースとリポジトリーで変更されたリソースを確認してください。 プロジェクトを選択して右クリックし、「チーム」> 「リポジトリーと同期化 (Synchronize with Repository)」を選択します。 「同期化」ビューはモジュール内の物理ファイルを表示します。 変更デコレーターは変更されたファイルを表します。

「物理リソース」ビューに切り替えます。 このビューでも、変更された物理ファイルは > デコレーターで表されます。

個々のフォルダーや成果物ではなく、必ず完全なモジュールを CVS に対して追加またはチェックアウトしてください。 変更をコミットするには、「ビジネス・インテグレーション」ビューから作業します。 モジュールを選択して右クリックし、「チーム」>「コミット」を選択します。 ファイルの新規バージョンを使用して、更新内容を CVS にコミットします。 競合が発生した場合は、その内容を確認して解決することができます。

オーサリングされたファイルをローカル・ワークスペースから削除して CVS と同期すると、その成果物の横に負符号 (-) が付きます。これは、その成果物をサーバーから削除していることを示します。

フォルダー内のファイルがすべて派生している場合でも、コミット・プロセスによって空のファイル構造が CVS にアップロードされます。 空のフォルダーは、デフォルトによりモジュールの抽出時に除去されます。 欠落している gen/scr ディレクトリーについて、エラー・メッセージが表示される可能性があります。 メッセージは無視して構いません。 ディレクトリーが存在しない場合、CVS により欠落のフラグが立てられますが、gen/scr ディレクトリーはオプションです。

共有リポジトリーからのプロジェクトのチェックアウト

CVS からモジュールをチェックアウトすると、サービス・モジュール全体が抽出されるため、事前にシェル・モジュールを作成しておく必要はありません。 「ビジネス・インテグレーション」ビューには CVS 内のプロジェクト構造全体がそのまま反映されますが、例外として、SCM の各エントリーの後には大括弧で囲まれたラベル CVS が付きます。

プロジェクトをチェックアウトする前に、他のチーム・メンバーがそのプロジェクトのサーバー・バージョンに行った可能性のある変更を表示するために、それを同期化します。 「ビジネス・インテグレーション」ビューからプロジェクトを選択して右クリックし、 「チーム」>「同期化」を選択します。 ファイルの横にある左向きの矢印は、そのファイルが共有リポジトリーで変更されたことを表します。 変更内容をコミットする前に、必ずリポジトリーと同期化してください。

プロジェクトをチェックアウトするために、「CVS リポジトリー」ビューに切り替えて、プロジェクトを選択して右クリックし、「チェックアウト」を選択します。 依存ライブラリーから成果物を使用する必要がある場合は、それらの従属ライブラリーをチェックアウトしてください。

ワークスペースでの変更内容の受信
更新」コマンドを使用して、他のユーザーが加えた変更内容があるかどうかを CVS でチェックし、変更内容が検出された場合はローカル・ファイルを更新します。 「更新」コマンドを実行すると、ファイルの新規リモート・バージョンがローカル・ワークスペースに置かれます。 ファイルを更新する前に、必ず同期化してください。 「オーバーライドで更新 (Update with override)」を使用すると、競合に関する警告なしでローカル・ファイルが置き換えられるため十分に注意してください。

欠落している gen/scr ディレクトリーについて、エラー・メッセージが表示される可能性があります。 このメッセージは無視することも、ディレクトリーの除去オプションを無効にして回避することもできます。 メニューから「ウィンドウ」 > 「設定」 > 「チーム」 > 「CVS」を選択します。 「空ディレクトリーの除去 (Prune empty directories)」オプションをクリアします。 「OK」をクリックします。

ファイルの比較
ローカル・ファイルとリモート・ファイルの差を表示するには、比較エディターでファイルを開きます。 「同期化」ビューでファイルを選択して右クリックし、「比較エディターで開く (Open in Compare Editor)」を選択します。 リモート・ファイルおよびローカル・ファイルは、テキスト・エディターで開かれ、変更点が強調表示されます。
競合の解決
2 人のチーム・メンバーが同じモジュールをチェックアウトし、同じ BPEL プロセスまたはサービスに変更を加えて、それぞれの変更内容をチェックインすると、競合が発生します。 同期化を頻繁に行って、一度に 1 人のユーザーだけが 1 つのコンポーネントを操作するようにするか、各コンポーネントの所有権を 1 人の開発者に割り当てて、競合を回避するようにしてください。

ユーザーが成果物をよく理解していないと、基本ファイルの XML 構造のレベルで競合の解決を行うことになるため、競合の解決が難しくなる可能性があります。 通常は、競合内容を XML でマージしようとするよりも、成果物の新規バージョンを使用して更新し、変更内容を新規コピーに組み込む方が良いでしょう。

ファイルによっては、同一のように見えても非同期のフラグが立てられることがあります。 このような状態は、ファイルどうしのタイム・スタンプが異なる場合に発生することがあります。 このような問題を自動的に回避するには、「タイム・スタンプの消去 (Clean Timestamps)」オプションを使用します。