Skip navigation.

プロダクション業務ユーザーズ ガイド

  前 次 前と次、目次/インデックス/pdf を分けるコロン 目次  

チーム開発環境の管理

WebLogic Portal Web サイトのチーム開発は、適切なソース コントロールを中心として行われます。ソース コントロール システムを正しく利用すれば、チーム メンバーが一つになることや、開発チームの規模をすばやく拡大できること、およびデータ損失の防止などの、多数の利点がもたらされます。

この節では、ソース コントロールの中で共通の開発ドメイン、データベースのデータ、およびポータル アプリケーションをコンフィグレーション、格納、管理する方法を説明します。これを参考にすれば、ポータル アプリケーションの開発、ビルド、および更新をすばやく、一貫性のある方法で行うことができるようになります。

このドキュメントは、次の節で構成されています。

 


ソース コントロール ベンダの選択

ソース コントロールのプロバイダには、CVS、Perforce、Starteam、Visual Source Safe (VSS)、およびPVCS などの、さまざまなものがあります。このガイドは、このようなベンダのうちどれを使用する場合にも役立つように作られています。ただし、コードの格納に関しては、ベンダはそれぞれ異なる特徴を持っています。ポータル アプリケーションをチーム開発するためのソース コントロール管理システムを選択するときに考慮すべき重要な事項の一つに、ファイルの自由なチェック アウト モデルのサポートがあります。ドメインとアプリケーションのファイルの多くは、ソース コントロール管理へのチェック インが必要であり、またサーバによる書き込みが可能でなければなりません。

注意 : WebLogic Workshop と直接統合していないソース コントロール管理ツールであっても (Visual Studio Source Control Provider for WebLogic Workshop を参照してください)、そのツールを使用して WebLogic Server のドメインおよびアプリケーションを管理することが可能です。

 


共有ポータル ドメインの作成

開発チームのリーダーが、グループの適切なポータル ドメインを作成します。ドメイン資産を作成および格納する前に、BEA ホーム ディレクトリ、つまりチームが WebLogic ソフトウェアをインストールする場所を決定します。

BEA ホーム ディレクトリ

WebLogic Platform ソフトウェアがインストールされるディレクトリを、BEA ホーム ディレクトリと呼びます。WebLogic Workshop アプリケーションおよびドメインは、それぞれ BEA ホーム ディレクトリを参照します。BEA ホーム ディレクトリを配置する場所を慎重に検討することが重要です。WebLogic Platform をインストールするときに、開発者がインストール先のドライブとディレクトリを選択できます。

ドメインの Configuration Wizard を使用して新しいポータル ドメインを作成するときに、そのドメインでどの BEA ホーム ディレクトリを参照するかを選択します。このディレクトリへの物理パスは、各開発マシン上に存在する、ポータル ドメインの config.xml ファイルや、startWeblogic.cmd などのドメイン バッチ スクリプトに組み込まれます。

共通の BEA ホームが重要である理由

チーム メンバーは、ソース コントロールを使用してこれらのドメイン ファイルを共有します。これによって、既存のデプロイ済みアプリケーションに対するすべての変更内容、新規アプリケーションの追加、および config.xml に格納されているその他の設定や起動スクリプトを共有できるようになります。

注意 : 開発環境において、複数のドメイン コンフィグレーション設定が必要であり、解決策としてコンフィグレーション ファイル テンプレートを利用しようとしている場合は、config.xml をソース コントロールの中に格納しないでください。詳細については、「コンフィグレーション ファイル テンプレート (config-template.xml) の設定」を参照してください。

config.xml および startWebLogic.cmd のコードの一部を次に示します。ここでは、パスがハードコード化されています。

config.xml

<Application Name="JWSQueueTransport" Deployed="true"
LoadOrder="1000" Path="C:\bea812\weblogic81\server\lib\" TwoPhase="true">
<EJBComponent Name="QueueTransportEJB" Targets="portalServer"
URI="QueueTransportEJB.jar"/>
</Application>

startWebLogic.cmd

set DOMAIN_HOME=C:\bea812\weblogic81\samples\domains\portal

config.xml ファイルおよび startWeblogic.cmd ファイルがソース コントロールの中で共有されている場合は、すべてのチーム メンバーが、これらのファイル内で記述されているパスに WebLogic Server をインストールしている必要があります。ただし、開発者が特定のドライブに WebLogic Server をインストールできないこともあります。たとえば、複数のパーティションがあり、C ドライブの空き容量が十分でない場合です。

さらに、ドメイン ルート ディレクトリにある pointbase.ini というコンフィグレーション ファイルに documentation.home プロパティが含まれており、このプロパティが指すファイル システム上の場所がハードコード化されている可能性もあります。

表 3-1 に、ドメイン内のファイルのうち、パスがハードコード化されているものを示します。

表 3-1 パスがハードコード化されているドメイン ファイル

backup_config.xml
config.xml
create_db.*
installService.cmd
set-dbenv.*
setDomainEnv.*
setDomainEnvQS.*
startManagedWebLogic.*
startManagedWebLogicQS.*
startPointBaseConsole.*
startPointBaseConsoleQS.*
startWebLogic.*
startWebLogicQS.*
stopManagedWebLogic.*
stopManagedWebLogicQS.*
stopWebLogic.*
stopWebLogicQS.*
uninstallService.*
webappCompile.*
webappCompileQS.*

domain-info.xml (/_cfgwiz_donotdelete にある)

startscript.xml (/_cfgwiz_donotdelete にある)


 

次の節では、チーム メンバー全員が同じ BEA ホーム ディレクトリを使用することが不可能な場合の方法を説明します。

チーム メンバー全員が同じ BEA ホーム ディレクトリを使用できる場合は、「ポータル ドメインの作成と共有」に進んでかまいません。

チームの複数の BEA ホーム ディレクトリの場所を管理する

チーム メンバーがそれぞれ異なる BEA ホーム ディレクトリを使用する場合にドメインを共有するには、以下に説明するようにさまざまな手法があります。

オプション 1 : BEA ホームをコンフィグレーション ファイル テンプレートに配置する

コンフィグレーション ファイル テンプレートを作成すれば、他の方法に伴う問題の多くを回避できますが、config.xml および他のファイルに対する検索と置換の処理を実装する必要があります。BEA ホーム ディレクトリを表すトークンが含まれている config.xml のテンプレートを作成することによって、そのテンプレートと、開発者が指定したトークン値の組み合わせから config.xml を作成するプロセスを作成できます。

コンフィグレーション ファイル テンプレートは、マシンに複数の BEA ホーム ディレクトリを設定する以外にも、多くの目的に使用できます。テンプレートにすることによって、各開発者が、共通のデータ ソース コンフィグレーションを使用する個別のデータベース インスタンスで作業できます。

コンフィグレーション ファイル テンプレートを使用する場合、config.xml はソース コントロールに格納されません。コンフィグレーション ファイル テンプレートの設定方法については、「コンフィグレーション ファイル テンプレート (config-template.xml) の設定」を参照してください。

オプション 2 : BEA ホーム用に共通の仮想ドライブを使用する (Windows)

Windows ベースの開発者は、代替ドライブ文字を設定して、自分の BEA ホーム ディレクトリにマップすることもできます。

Windows のコマンド プロンプトから、仮想ドライブを作成して既存のドライブおよびパスにマップするには、subst コマンドを使用します。現在使用していない仮想ドライブ文字をチームの共通ドライブとしてコンフィグレーションし、アプリケーションやドメインのアクティビティにそのドライブ文字を使用します。

たとえば、ドライブ文字 P: を作成し、C: ドライブ上のディレクトリ (たとえば C:¥bea812) にマップするには、Windows コマンド プロンプトから次のコマンドを実行します。

subst P: C:\bea812

これで、新規ドメインの作成後に、表 3-1 に示したドメイン ファイルでの C:\bea812 への参照をすべて P: に変更できます。

この方法では、前述の config.xml および startWebLogic.cmd のエントリは次のようになります。変更箇所は太字で強調表示されています。

config.xml

<Application Name="JWSQueueTransport" Deployed="true"
LoadOrder="1000" Path="
P:\weblogic81\server\lib\" TwoPhase="true">
<EJBComponent Name="QueueTransportEJB" Targets="portalServer"
URI="QueueTransportEJB.jar"/>
</Application>

startWebLogic.cmd

set DOMAIN_HOME=P:\weblogic81\samples\domains\portal

注意 : ハードコード化された新しいパスに C:\bea812 が含まれていないのは、subst コマンドによって C:\bea812P: にマップされたからです。

このドメインを使用するときは、P ドライブに切り替えてドメイン ディレクトリに移動します。別の開発者が WebLogic Server を D:¥bea にインストールする場合は、subst P: d:¥bea を実行してそのディレクトリを P:¥ で置き換えるだけで、同じ config.xml を共有してスクリプトを起動できるようになります。

この仮想ドライブによる方法には、次のような欠点があります。

オプション 3 : 相対パスを使用する

チーム メンバーが、同じドライブ上のそれぞれ異なるパスにインストールする必要があり、WebLogic Server ディレクトリに対して共通の相対パス上にドメインおよびアプリケーションが配置されている場合は、config.xml 内のすべてのファイル パスと起動スクリプトを相対パスに変更できます。ただし、この方法はそのスコープ内に限定されます。

ドメインが C:\bea812r_projects\mydomain にインストールされているとき、この方法では、前述の config.xml および startWebLogic.cmd のエントリは次のようになります (変更箇所は太字で強調表示されています)。

config.xml

<Application Name="JWSQueueTransport" Deployed="true"
LoadOrder="1000" Path="
..\..\weblogic81\server\lib\" TwoPhase="true">
<EJBComponent Name="QueueTransportEJB" Targets="portalServer"
URI="QueueTransportEJB.jar"/>
</Application>

startWebLogic.cmd

set DOMAIN_HOME=..\..\weblogic81\samples\domains\portal

この方法には、次のような問題があります。

ポータル ドメインの作成と共有

チーム リードが実行する最初の手順は、新規のポータル ドメインの作成です。ドメインの作成は複数のフェーズから構成されています。このとき、独自のドメイン テンプレートを作成、ドメインの Configuration Wizard プロセスの実行、ソース コントロールへの初回チェックイン、ドメインのコンフィグレーションが可能になります。

チームが共有するポータル ドメイン作成のベスト プラクティス

ソース コントロール管理からドメイン ファイルを除外する

ソース コントロールから除外するドメイン ファイルは以下のとおりです。

表 3-2 ソース コントロールから除外するドメイン ファイル 

パス

ワイルドカード

/ (ドメイン ルート)

config.xml
(コンフィグレーション ファイル テンプレートを使用する場合のみ。「コンフィグレーション ファイル テンプレート (config-template.xml) の設定」を参照)

/

config.xml.booted

/

config.xml.original

/

*.log

/logs

*

/portalServer/pstore/ (セッション bean 用の永続ファイル ストア)

*

/servername/

*.log

/servername/

.app_poller_lastrun

/servername/.wlnotdelete/

*

/servername/.internal/

*

/servername/ldap/

*LDAPBackup*.zip

/servername/ldap/log/

*

/servername/logs/

*


 

ソース コントロール管理でのバイナリ ファイル

WebLogic Server ドメインを正しく機能させるには、ドメインのバイナリ ファイルの多くをソース コントロール管理にチェック インする必要があります。このようなバイナリ ファイルは、時間がたつにつれて、ユーザの操作や、インデックス ファイルの増加などが原因で変更されることがあります。そのため、バイナリ ファイルがどのようなものであり、なぜ変化するか、およびいつチェック インまたはチェック アウトするかを、開発者がよく理解しておくことが重要です。この節では、ソース コントロール管理においてこのようなファイルをいつ更新するかを判断する方法を中心に説明します。更新できるバイナリ ファイルの種類として、LDAP ファイル、セキュリティ関連ファイル、およびデータベース コンフィグレーション ファイルがあります。

バイナリ ファイルを扱う

ソース コントロールの中でバイナリ ファイルを共有できるようにするには、ファイルに変更を加えるときに常に同じプロセスに従う必要があります。バイナリへの変更を加えるユーザは 1 人だけ (一般にはチーム リード) とします。このようにすれば、プロジェクト ライフサイクルにおいて結合が発生したときの競合を抑えることができます。

ソース コントロール内のドメイン バイナリ ファイルを修正するには、次の手順を実行します。

  1. サーバを停止します。
  2. 共通のベースから作業できるように、バイナリ ファイルをソース コントロールからクリーン チェック アウトします。
  3. サーバを起動します。
  4. 変更を加えます。
  5. サーバを停止します。
  6. 変更したバイナリ ファイルをソース コントロール管理にチェック インします。
  7. 別のマシンからのクリーン チェック アウトをテストします。

ユーザ、グループ、ロール、および資格 - LDAP を更新する

開発における一般的なアクティビティの 1 つに、システムのテストに使用する基本的なユーザ セットの作成があります。デフォルトでは、ユーザ、グループ、ロール、および資格の情報は、BEA が提供する LDAP サーバに格納されます。この LDAP サーバのデータ ストアは、ファイル システムの domain/ldap ディレクトリ内に永続的に保存されます。

BEA の LDAP サーバの詳細については、「組み込み LDAP サーバの管理」を参照してください。

この LDAP サーバにはチーム メンバーによる共有が必要な情報が格納されているので、LDAP ディレクトリにあるファイルをソース コントロールにチェック インします。ただし、バックアップおよびログのファイルを除きます (表 3-2 を参照してください)。プロジェクト開発の進行中に、既存のユーザ、グループ、ロール、および資格が変更されることもあります。WebLogic Administration Portal を使用してユーザ、グループ、ロール、および資格をコンフィグレーションし、更新された LDAP ファイルをソース コントロールにチェック インします。

WebLogic Administration Portal の使用手順については、『ポータル管理入門』を参照してください。

他のセキュリティ情報

ドメイン内に存在するその他の重要なセキュリティ ファイルは、SerializedSystemIni.datDefaultAuthenticatorInit.ldiftDefaultAuthorizerInit.ldift、および DefaultRoleMapperInit.ldift ファイルです。これらのファイルには、ドメインの起動に必要となる重要なセキュリティ情報が格納されています。これらのファイルは、一般に、開発中に変更されることはありませんが、サーバを起動するにはこれらのファイルが存在している必要があります。ドメイン ルートにある boot.properties ファイルには、ドメインを起動するためのユーザ名およびパスワードの情報が暗号化されて格納されます。このファイルは必須ではありませんが、一般に、開発環境で認証の必要なしにサーバ起動を許可するために使用されます。

データベース

WebLogic Portal のコンフィグレーション情報の多くはデータベース内に格納されますが、開発チームがこのコンフィグレーションへのアクセスを共有しなければならないこともあります。ただし、WebLogic Portal は、1 つのポータル サーバの複数のインスタンスを単一の同じデータベース サーバまたはデータベース スキーマに対して実行することはサポートしていません。WebLogic Portal ドメインのデフォルトのデータベースは PointBase ですが、異種データベース間でのデータの移動は非常に手間のかかる手作業となることがあるため、開発過程ではエンタープライズ品質のデータベースを使用することをお勧めします。「エンタープライズ品質データベースを使用して開発する」を参照してください。

PointBase

新しいポータル ドメインを作成すると、PointBase データベースのインスタンスが 1 つ作成され、そのドメインのルート ディレクトリ内に永続的に保存されます。また新しいドメインはエンタープライズ品質のデータベースに必要なデータベース オブジェクトを作成します。Oracle、SQL Server、DB2、または Sybase のデータベースのコンフィグレーションの詳細については、『データベース管理ガイド』を参照してください。新しいドメインの作成の詳細については、『コンフィグレーション ウィザードの使い方』を参照してください。

このデータベースには多数のテーブルがあり、ベース WebLogic Portal および WebLogic Workshop のデータが格納されます。WebLogic Portal の各コンポーネントに対応するデータベース オブジェクトの説明については、「データ ディクショナリ」を参照してください。さらに、WebLogic Workshop の内部ステートの一部もデータベースに格納されます。WebLogic Workshop ヘルプ システムの「内部ステート用に別のデータベースを使用するように WebLogic Workshop をコンフィグレーションするには」では、この内部ステート ストアを別のデータベースに移動する方法を取り上げています。

PointBase 開発の考慮事項

PointBase ではデータベースをファイル システムに永続的に保存するために、workshop$1.walworkshop.dbn の 2 つのファイルを使用します。データベースはファイル システムに永続的に保存されるので、データベースのコピーの共有は、ソース コントロール管理を使用して簡単に実現できます。ただし、PointBase を使用すると、時間と共に PointBase ファイルのサイズが増加します。つまり、そのファイルは常に、ユーザによって変更が加えられたように見えるということです。時間が経過するにつれて、PointBase のファイルのサイズはおよそ 3 MB から 10 MB 以上に増加します。開発者は、WebLogic Administration Portal または PointBase Console を使用して明示的にデータを直接変更する場合を除いてデータベースをチェック インしないように注意する必要があります。変更を加える必要があるときは、次の手順で示すプロセスに従うことによって、更新内容のサイズを最小限に抑えてください。

データベースに変更を加えるには

  1. サーバを停止します (WebLogic Server と PointBase)。
  2. 共通のベースから作業できるように、バイナリ ファイルをソース コントロールからクリーン チェック アウトします。
  3. 前回のチェック アウト以降に PointBase ファイルのサイズが大幅に増加している可能性もあるため、このことは特に重要です。新しいチェック アウトによって、このようなファイルのサイズを小さくしてから、追加を行います。

  4. このようなファイルをソース コントロール内で変更するには、「バイナリ ファイルを扱う」の手順に従ってください。

PointBase に変更を加えるタイミングを知る

一般に、WebLogic Administration Portal を使用して行うアクティビティのほとんどは、PointBase データベースに永続的に保存されますが、ユーザ データ、グループ データ、資格、および委託管理ポリシーは、組み込み LDAP に永続的に保存されます。ただし、データベースに格納されているユーザ プロパティを持つテスト ユーザで開発を行う場合もあります。

エンタープライズ品質データベースを使用して開発する

PointBase データベースをバイナリ ファイルとして開発者間で共有するのではなく、Oracle や SQL Server などのエンタープライズ品質データベースを使用して、各開発者がポータル データベースのユニークな自分専用のインスタンスを使用して作業することが一般的です。

プロダクションで使用するエンタープライズ品質の DBMS と同じものを、開発でも使用する必要があります。たとえば、Oracle でアプリケーションをデプロイする場合には、アプリケーションも Oracle で開発する必要があります。

注意 : Oracle と DB2 では、開発データベース インスタンスについては、開発者ごとに別のデータベース スキーマを使用することをお勧めします。Sybase と SQL Server では、開発データベース インスタンスについては、開発者ごとに別のデータベースとデータベース ログ ファイルを使用することをお勧めします。

この方法により、パフォーマンスが向上し、データのベースラインの保守が簡単になります (データベース管理者の適切なサポートとスクリプトが必要)。

開発マシンはそれぞれ特定のデータベースを使用するようにコンフィグレーションされます。この情報を格納する config.xml は、ソース コントロール管理内の共有ファイルです。開発者間で config.xml を共有し、各開発者のユニークなデータベース インスタンスへの参照を維持する方法については、「コンフィグレーション ファイル テンプレート (config-template.xml) の設定」を参照してください。

エンタープライズ品質データベースのユニークなインスタンスを使用して情報を共有する

情報を共有するには、開発者が自分のデータベース スキーマのインスタンスを保存できるようなプロセスを、データベース管理者が設定します。このスナップショットを他の開発者が自分のスキーマに適用できるように、別のプロセスを設定します。データベースの一部分のスナップショット、あるいは DDL スクリプトの共通セットを保存することも一般的に行われています。

WebLogic Portal の各コンポーネントに対応するデータベース オブジェクトの説明については、「データ ディクショナリ」を参照してください。

さらに、WebLogic Workshop の内部ステートの一部もデータベースに格納されます。WebLogic Workshop ヘルプ システムの「内部ステート用に別のデータベースを使用するように WebLogic Workshop をコンフィグレーションするには」では、この内部ステート ストアを別のデータベースに移動する方法を取り上げています。

 


ポータル アプリケーションの作成と共有

ポータル ドメインをコンフィグレーションしたら、チーム リードは新しいポータル アプリケーションを作成する必要があります。アプリケーションの作成にはいくつかのフェーズがあります。たとえば、アプリケーションを作成し、WebLogic Workshop を使用して任意の数のポータル Web プロジェクトを作成し、ソース コントロールへの初回チェック インを行います。

新しいポータル アプリケーションおよびポータル Web プロジェクトを作成する手順については、「ポータル アプリケーションおよびポータル Web プロジェクトを作成する」を参照してください。

コマースおよびパイプラインなどのアプリケーションに必要なサービスや、コマースおよび Webflow (従来のポータル Web アプリケーションへの対応に必要) などの各ポータル Web プロジェクト内に必要なタグ ライブラリを必ずインストールしてください。

ドメイン ディレクトリとアプリケーション ディレクトリの作成

チームが共有するポータル ドメイン作成のベスト プラクティス」で述べたように、ドメイン ディレクトリとアプリケーション ディレクトリを共通の親ディレクトリに配置すると、ソース コントロール管理システムでのこれらのディレクトリの共有を簡単に管理できるようになります。

たとえば、ドメインを drive:\ourDomain にインストールし、アプリケーションを drive:\ourApp にインストールします。

この方法では、ソース コントロール システムのプロジェクトの共通のルート ディレクトリ (%PROJECTNAME) を、ドメインとアプリケーションの両方に対して使用できます。

注意 : パス長の例外を回避するために、ドメインとアプリケーションの各ディレクトリは短いパスで格納してください。たとえば、drive:\ourDomain と指定します。

WebLogic Workshop アプリケーションのチェック イン

WebLogic Workshop アプリケーションの構築が完了したら、チーム リードはアプリケーションをソース コントロールにチェック インします。これは、アプリケーションのビルドの前に行います。ビルドの実行時に多数のファイルが作成されますが、これらのファイルはソース コントロールにチェック インしてはならないからです。

ソース コントロール管理からポータル アプリケーション ファイルを除外する

ソース コントロールから除外するアプリケーション ファイルは以下のとおりです。

表 3-3 ソース コントロールから除外するアプリケーション ファイル 

パス

ワイルドカード

/ (ポータル アプリケーション ルート)

「EJB プロジェクト」ごとに 1 つの .jar ファイルがある。このファイルは除外する。

/

.beabuild.txt

/APP-INF/lib/

「Java プロジェクト」ごとに 1 つの .jar ファイルがある。このファイルは除外する。

/project/WEB-INF/
.pageflow-struts-generated/

*

/.workshop/

*


 

ソース コントロールから除外されるファイルには、コンパイル済み JAR、一時コンフィグレーション ファイル、WebLogic Workshop の出力ディレクトリなどがあります。

WebLogic Workshop アプリケーションのチェック アウトの管理

ソース コントロール管理と WebLogic Workshop アプリケーションを使用して作業するときの基本的な考え方は、アプリケーションのチェック アウト、ビルドの開始、およびエラーなしでのサーバの起動を開発者が実行できるようにするというものです。

WebLogic Workshop でビルドを開始すると、多数の JAR ファイルおよび一時ディレクトリが WebLogic Workshop アプリケーションの内部に作成されます。表 3-3 に、これらのファイルを示しています。さらに、コントロールに対応するステートレス セッション bean などのファイルが、アプリケーションの .workshop ディレクトリに作成されます。このステートレス bean の名前は、多くの場合、TimerControl_-1n8kn2z7skxv のようになっています。

WebLogic Workshop によってアプリケーションがドメインにデプロイされるとき、config.xml にアプリケーションが登録されます。このデプロイメントは、サーバが起動されたときと、アプリケーションがビルドされたときに自動的に行われます。この時点で、アプリケーションは config.xml の新しい XML ブロックとして追加されます。

コード リスト 3-1 に、portalpm という名前のアプリケーションについて config.xml に追加されるブロックを示します。

コード リスト 3-1 config.xml ファイルに追加されるアプリケーション

    <Application Name="portalpm" Path="P:\user_projects\applications"
StagingMode="nostage" TwoPhase="true">
<WebAppComponent Name="portalpmAdmin" Targets="portalServer"
URI="adminPortal.war"/>
<EJBComponent Name="content.jar" Targets="portalServer"
URI="content.jar"/>
<EJBComponent Name="content_repo.jar" Targets="portalServer"
URI="content_repo.jar"/>
<WebAppComponent Name="portalpmDatasync" Targets="portalServer"
URI="datasync.war"/>
<EJBComponent Name="netuix.jar" Targets="portalServer"
URI="netuix.jar"/>
<EJBComponent Name="p13n_ejb.jar" Targets="portalServer"
URI="p13n_ejb.jar"/>
<EJBComponent Name="prefs.jar" Targets="portalServer"
URI="prefs.jar"/>
<WebServiceComponent Name="portalpmTool" Targets="portalServer"
URI="wps-toolSupport.war"/>
<EJBComponent Name="wps.jar" Targets="portalServer" URI="wps.jar"/>
<ApplicationConfiguration Name="portalpm" Targets="portalServer"/>
</Application>

WebLogic Workshop によってドメインの config.xml が自動的に更新されるので、アプリケーション名の XML ブロックが含まれる config.xml をチェック インする必要はありません。代わりに、開発者はアプリケーションをチェック アウトし、ビルドを行い、このアプリケーション参照がない状態のドメインでサーバを起動します。その後で、この開発者のアプリケーションが config.xml にデプロイされるとき、新しくビルドされたアプリケーション コンポーネントへの必要な参照がすべて作成されます。config.xml を使用してアプリケーション名の XML ブロックをチェック インした場合は、コンポーネントの追加や削除が必要であれば、自動的にこのファイルが更新されます。

注意 : コンフィグレーション ファイル テンプレート (config-template.xml) の設定」で説明しているように、コンフィグレーション ファイル テンプレートを使用している場合は、コンフィグレーション ファイル テンプレートを使用して基本の config.xml が個々の開発マシン上にすでに作成されており、アプリケーションの変更や追加は各開発者の config.xml ファイルに正しく追加されます。

アプリケーションのコンポーネントを格納するファイルには、この他に、application.xmlweblogic-application.xml の 2 つがあります。これらのファイルは、アプリケーションの META-INF ディレクトリにあります。これらのファイルをソース コントロール内で共有する必要があります。また、新規コンポーネントをアプリケーションに追加するとき (新しい EJB など)、更新された application.xml および weblogic-application.xml をソース コントロールに再びチェック インする必要があります。

 


WebLogic ポータル コーディングのベスト プラクティス

この節では、ポータル アプリケーションのソース コード格納に関するベスト プラクティスを紹介します。

Java プロジェクト

多数の汎用 Java ライブラリをポータルで使用する場合は、ポータル エンタープライズ アーカイブ内の Java プロジェクトに Java ライブラリを格納することをお勧めします。このようにすれば、サーバの複数のインスタンスに Java ライブラリを移植することが可能になり、ライブラリを再利用するためのパッケージ化も容易になります。

クロスプラットフォームのサポート

クロスプラットフォーム環境での開発とデプロイにおけるコーディングでは、以下のベスト プラクティスに従ってください。

ポータル コンポーネントの定義ラベル

ブック、ページ、およびポートレットを WebLogic Workshop のポータル デスクトップに追加すると、定義ラベル (ユニークな ID) が各コンポーネントごとに自動的に生成されます (これは [プロパティ エディタ] ウィンドウに表示されます)。複数の開発者が新しいポータル コンポーネントを作成していると、異なるコンポーネントに対して同一の定義ラベルが自動的に生成される場合があります。定義ラベルの重複を避けるには、命名規約を使用して新しいコンポーネントごとに手動で定義ラベルを変更します。

クラスタ コンフィグレーション

作成したコードは、クラスタ環境において十分にテストしてください。また、セッション データが管理可能なサイズを超えないように維持することや、クラスタ全体でのセッション共有をサポートするように Web アプリケーションをコンフィグレーションすることも重要です。クラスタ化情報については、「ポータル クラスタのコンフィグレーション」を参照してください。

コンフィグレーション ファイル テンプレート (config-template.xml) の設定

チーム開発環境で作業するときは、チーム メンバーが同じ config.xml ファイルを使用する必要があります。これは、既存のデプロイ済みアプリケーションへの変更や、新規アプリケーションの追加、および config.xml ファイルに格納されるその他の設定が共有されるようにするためです。ただし、ユーザごとに内容が異なるコンフィグレーション設定もあります。この変動が最も大きくなるのは、開発者がそれぞれ異なる BEA ホーム ディレクトリを使用しているときや、自分専用のデータベース インスタンスを使用しているときです。一般に、開発者はそれぞれ異なるデータベース ログインを持っており、JDBC 接続プールに対してもそれぞれ異なる設定を必要とします。

コンフィグレーション ファイル テンプレートは、テンプレートのドメイン コンフィグレーション ファイル config-template.xml を配布することによってこの問題を解決するものです。開発者は、ソース コントロールを通してこの config-template.xml ファイルを共有します。

ソース コントロールから config.xml を除外する

各開発環境でユニークなドメイン コンフィグレーションが必要な場合は、config.xml ファイルをソース コントロールから除外します。代わりに、config-template.xml をチェック インしてください。

ant などのスクリプト言語を使用して、config-template.xmlconfig.xml ファイルに上書きコピーするプロセスを設定します。次に、config.xml ファイル内の特定の文字列を、プロパティ ファイル内で各開発者が定義した文字列で置き換えます。

たとえば、config-template.xml ファイルの内容が次のとおりであるとします。

<JDBCConnectionPool DriverName="weblogic.jdbc.oci.Driver"

MaxCapacity="10" Name="Arcadia"

Properties="user=ARCADIAUSER;password=ARCADIAPASSWORD;server=arcadia"

RefreshMinutes="10" Targets="myserver"

URL="jdbc:weblogic:oracle"/>

また、あるユーザの local.configtemplate.properties ファイルに、次の 2 つのエントリがあるとします。

ARCADIAUSER=john
ARCADIAPASSWORD=mypassword

置換プロセスの実行後、このユーザの config.xml ファイルの内容は次のようになります。

<JDBCConnectionPool DriverName="weblogic.jdbc.oci.Driver"

MaxCapacity="10" Name="Arcadia"

Properties="user=john;password=mypassword;server=arcadia"

RefreshMinutes="10" Targets="myserver"

URL="jdbc:weblogic:oracle"/>

各ユーザに必要なのは、local.configtemplate.properties ファイルの自分専用のコピーを保持することだけですが、このファイルはソース コントロールにチェック インしてはなりません。configtemplate.properties という名前のファイルをソース コントロールに配布します。これは、有効な local.configtemplate.properties ファイルのサンプルとなるものです。

単一ドメインでの複数のエンタープライズ アプリケーションの使用

単一クラスタ ドメインで複数のエンタープライズ アプリケーションを作成および実行できます。図 3-1 に示すように、単一のドメインで複数のエンタープライズ アプリケーション (EAR) をホストできます。各 EAR デプロイメントで複数の Web アプリケーションをホストでき、Web アプリケーションに応じて任意の数のデスクトップを作成できます。1 つのエンタープライズ アプリケーション (EAR) に関連付けられている Web アプリケーションおよびデスクトップは、別のエンタープライズ アプリケーションにある (切り離されている) Web アプリケーションおよびデスクトップに依存しません。

図 3-1 単一ドメイン内の複数のエンタープライズ アプリケーション


 

単一ドメインに複数のエンタープライズ アプリケーションをコンフィグレーションする場合、次の制限が適用されます。

注意 : 各エンタープライズ アプリケーションは、それぞれの Administration Portal を通じて管理する必要があります。コンテンツ、ユーザ、グループなどの一部のドメインレベルのリソースは、エンタープライズ アプリケーションに関係なく、単一の Administration Portal から表示および管理できますが、アプリケーションのデータはキャッシュされていることがあり、そのデータに対して別のアプリケーションの Administration Portal から行われた更新は即時に表示されない場合があることに注意してください。

注意 : 各エンタープライズ アプリケーションのコンテンツは、それぞれのポータル管理ツールと仮想コンテンツ リポジトリを通じて管理されます。仮想コンテンツ リポジトリ (およびポータル管理ツール) は、各アプリケーションに対してユニークであり、共有できません。

ソース コントロールで推奨される追加ファイル

SP4 より前のリリースでは、クラス ファイルは WebLogic Workshop によってパス WEB-INF/classes に自動的にビルドされるため、このパスにはクラス ファイルを格納しないことが推奨されていました。ただし、SP4 では、次の新しいクラスがパスに追加されました。

WEB-INF/classes/com/bea/jsptools/portal

これらのクラスのソース ファイルは提供されていません。具体的には次のクラスです。

この変更により、WebLogic Workshop に基づく SP4 のポータル プロジェクトは、ソース コントロール リポジトリから抽出される場合は正常にビルドされません。

ソース コントロールを使用した場合にポータル プロジェクトを正常にビルドできるようにするには、上記のクラス ファイルを含む .jar ファイルを作成し、その .jar ファイルをソース コントロール システムのリポジトリにチェックインします。

 

ナビゲーション バーのスキップ  ページの先頭 前 次