Skip navigation.

WebLogic Platform アプリケーションのデプロイメント

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

プロダクション データベースのコンフィグレーション

プロダクション環境にデプロイする場合は、エンタープライズレベルのデータベース インスタンスを設定し、データベース テーブルを定義する必要があります。

この節では、WebLogic Portal および WebLogic Integration のデータベース テーブルのコンフィグレーション方法と、対象環境への既存データのプロモート方法について説明します。

注意 : この節では、WebLogic Platform 製品ラインタイムの要件を満たすデータベースのコンフィグレーションについて説明します。アプリケーション固有の要件に合わせたデータベースのコンフィグレーションについては、このドキュメントでは説明しません。アプリケーション ビジネス ロジックおよびアプリケーション データの要件をサポートするようにデータベースがユーザによって適切に設定されていることを前提としています。

ここで説明するトピックは以下のとおりです。

 


プロダクション データベースの作成および準備

WebLogic Platform アプリケーションでの使用のためにデータベース スキーマを作成し、データベースをロードするには、以下の手順に従います。

  1. WebLogic Platform 8.1 でサポート対象のコンフィグレーション』を参照し、使用するコンフィグレーションがサポートされていることを確認します。
  2. ベンダ データベースを作成します。
  3. プロダクション環境で WebLogic Portal 行動イベント追跡を行う場合は、行動イベント追跡用に別のデータベースを使用することを検討してください。詳細については、『WebLogic Portal データベース管理ガイド』を参照してください。

  4. WebLogic Platform アプリケーションで必要とされるようにデータベースを準備します。
  5. BEA では複数のサンプル初期化スクリプトを提供しています。WebLogic Platform コンポーネントでデータベースを使用する前に、これらのスクリプトを修正してベンダ データベース上で実行する必要があります。初期化スクリプトを実行すると、データベース テーブルに適切な情報がロードされます。

    WebLogic Portal 機能を実装する WebLogic Platform アプリケーション用にデータベースを準備するには、ベンダの種類に応じて、『WebLogic Portal データベース管理ガイド』の以下の節を参照してください。

    WebLogic Integration 機能を実装する WebLogic Platform アプリケーション用にデータベースを準備するには、『WebLogic Integration ソリューションの管理』の「プロダクション データベースのコンフィグレーション」を参照してください。

 


対話状態データベース テーブルの作成

アプリケーションが Web サービスまたはタイマー コントロールを使用している場合、WebLogic Workshop は開発ドメインのデータベース テーブルを使用して対話状態を格納します。

WebLogic Workshop により、/META-INF/wlw-manifest.xml ファイルに対話状態テーブルが <con:conversation-state-table> という要素名で指定されます。

wlw-manifest.xml ファイルで定義された対話状態テーブル要素ごとに、対象データベースで対応するテーブルをコンフィグレーションする必要があります。特定のデータベース用に対話状態テーブルを定義する SQL スクリプトについては、WebLogic Workshop オンライン ヘルプの「WebLogic Workshop アプリケーションをプロダクション サーバにデプロイするには」の「プロダクション サーバで必要なリソースを手動で作成する」の手順 2 を参照してください。

たとえば、Oracle の場合は、以下の SQL スクリプトを使用して、対話状態テーブルを作成できます。ここでは、<TableName> は、<con:conversation-state-table> 要素に現れるテーブルの名前を示します。

CREATE TABLE <TableName>(
CG_ID varchar(768) not null,
LAST_ACCESS_TIME number(19,0),
CG_DATA BLOB,
PRIMARY KEY (CG_ID)
)

Ant を使用して対話状態データベース テーブルを作成する例については、「例 : Ant を使用した対話状態データベース テーブルの作成方法」を参照してください。

 


プロダクション データベースへのデータベース情報のプロモート

以下の節では、既存のデータベース情報をエンタープライズレベルのプロダクション データベースにプロモートするために必要な手順について説明します。

WebLogic Portal Datasync 情報のプロモート

WebLogic Portal Datasync 情報は、ユーザ セグメント、コンテンツ セレクタ、キャンペーン、および割引と、ユーザ プロファイル、カタログ、イベント、セッション、リクエストなどのプロパティ セットから構成されます。開発からプロダクションに移行し、「アプリケーションをデプロイする手順」で説明されているようにデプロイメント中に別のプロセスとしてブートストラップする場合は、この情報を慎重に管理する必要があります。

開発環境では、ポータル アプリケーションの Datasync 情報は WebLogic Workshop で特別な Datasync プロジェクトとして作成および格納されます。ファイルは、ポータル アプリケーションの META-INF/data ディレクトリに格納され、WebLogic Workshop の <portalApplication>/data ディレクトリにエクスポーズされます。Datasync データは、開発者、ビジネス ユーザ、およびポータル管理者によって変更され (WebLogic Administration Portal でユーザ セグメント、キャンペーン、プレースホルダ、およびコンテンツ セレクタが変更可能)、WebLogic Workshop と WebLogic Administration Portal によって更新されます。

プロダクション環境では、ユーザは WebLogic Administration Portal を使用してポータル定義を変更できる必要があります。プロダクション環境で Datasync 情報への更新を有効にする方法は、以下のテーブルで説明されているようにポータル アプリケーションのデプロイメント方法によって異なります。

表 4-1 アーカイブ タイプに基づいた Datasync 情報の更新方法 

ポータル アプリケーションのデプロイメント方法

更新方法

圧縮された EAR ファイル

ファイル システム内のすべての Datasync データをデータベースにロードして、アプリケーションを更新する。

アプリケーションをデプロイするときに JDBC Datasync リポジトリが空の場合は、アーカイブ内のファイルを使用してデータベースがブートストラップ (初期化) される。Datasync 情報が格納されるテーブル : DATA_SYNC_APPLICATIONDATA_SYNC_ITEMDATA_SYNC_SCHEMA_URI、および DATA_SYNC_VERSION

展開された EAR

管理サーバにデプロイされたポータル アプリケーションが、Datasync 定義の主ストアになる。EAR ディレクトリが読み込み専用でなければ、WebLogic Administration Portal を使用してドメイン内の任意のサーバから情報を更新できる。管理対象サーバを使用して Datasync 情報を更新する場合は、更新内容が主ストアと自動的に同期される。


 

圧縮されたアーカイブまたは展開されたアーカイブとして WebLogic Portal アプリケーションをプロダクション環境に初めてデプロイする場合は、Datasync 情報がデータベースで自動的にブートストラップ (初期化) されます。

また、各ポータル アプリケーションには、Datasync リポジトリを参照し、新しいコンテンツをアップロードできる Datasync Web アプリケーションが含まれます。Datasync Web アプリケーションにアクセスするには、http://servername:port/appNameDataSync の URL を使用します。ここでは、servernameport はサーバの名前とポート番号を示し、appName は WebLogic Portal アプリケーション名を示します。

ポータル データを追加的に更新する必要がある場合は、Datasync Web アプリケーションを使用して再デプロイ操作の一環として新しい情報をロードするか、別のスタンドアロンの JAR ファイルを使用して個別に新しい情報をロードします。有効なデータを削除したり、誤って変更したりしないように、細心の注意を払ってください。また、プロダクション環境から Datasync 情報を取得し、ステージング環境に保存することもできます。

Datasync 情報のプロモートと取得の詳細については、『WebLogic Portal プロダクション業務ユーザーズ ガイド』の「Datasync Web アプリケーションの使用」を参照してください。

LDAP および Portal データベース データのプロモート

WebLogic Portal LDAP データには、グローバル ロール、エンタープライズ アプリケーション ロール、Web アプリケーション ロール (委託管理ロールや訪問者の資格ロールなど)、委託管理の割り当てと定義、および訪問者の資格の割り当てと定義が含まれます。データベース データには、WebLogic Administration Portal で作成または変更されたすべてのデータが含まれます。

WebLogic Portal Propagation ユーティリティを使用すると、アプリケーション LDAP とデータベース データをプロダクション環境にプロモートできます。また、LDAP および Portal データベース情報をプロダクション環境から取得し、ステージング環境に保存することもできます。

Propagation ユーティリティはポータル Web アプリケーションであり、エンタープライズ アプリケーション アーカイブ (EAR) 内にパッケージ化されています。このユーティリティは、ソース ドメインと対象ドメインの両方にデプロイする必要があります。最新バージョンの Propagation ユーティリティについては、BEA のサポートまでお問い合わせください。

クラスタ環境では、管理サーバに対してのみプロモートする必要があります。管理サーバにより、データが管理対象サーバに自動的にプロモートされます。データベース データを伝播する場合は、以下のことに注意してください。

Propagation ユーティリティを使用した LDAP および Portal データベース データのプロモートの詳細については、『WebLogic Portal プロダクション業務ユーザーズ ガイド』の「Propagation Utility の使用」を参照してください。

WebLogic Integration アプリケーション データベース情報のプロモート

WebLogic Integration データベース テーブル以外に、以下の表で定義されているように、アプリケーションの要件に基づいて追加のデータベース情報を作成またはプロモートする必要がある場合があります。

表 4-2 追加の WebLogic Integration プロダクション データベースの要件 

アプリケーションで使用するコンポーネントまたはデータ

作業内容

Web サービスまたはタイマー コントロール

対話状態データベース テーブルの作成」で説明されているように、対話状態情報を格納するデータベース テーブルを作成する。

トレーディング パートナ管理データ

サーバが実行されていない場合は、『WebLogic Integration ソリューションの管理』の「トレーディング パートナ Bulk Loader の使用」で説明されているように、Bulk Loader を使用して情報をインポートする。

サーバが実行されている場合は、『WebLogic Integration ソリューションの管理』の「トレーディング パートナ管理」で説明されているように、WebLogic Integration Administration Console を使用して、実行されているサーバのメモリ キャッシュのデータが一貫性を持つようにする。


 

 


例 : WLST Offline を使用したドメイン データベースのロード方法

以下の例では、WLST Offline を使用してドメイン データベースをロードする方法を示しています。手順は以下のとおりです。

WLST Offline の詳細については、次の URL にある WLST Offline キットに付属のドキュメントと例を参照してください。https://codesamples.projects.dev2dev.bea.com/servlets/Scarab?id=97

注意 : わかりやすくするために、以下のコード例では変数ではなく実際の値が使用されています。WLST 変数の使用については、「WLST 変数を定義する」を参照してください。

テンプレートを開く

以下のコード例は、データベースをロードするために使用するドメイン テンプレートを開きます。

readTemplate('/bea/weblogic81/common/templates/domains/platform.jar')

JDBC 接続プールをコンフィグレーションする

以下のコード例は、Oracle データベースを使用して定義済みの JDBC 接続プールである cgJMSPool-nonXA をコンフィグレーションします。

existingPoolName = 'cgJMSPool-nonXA'
cd ('/JDBCConnectionPool/' + existingPoolName)
cmo.setDriverName('oracle.jdbc.driver.OracleDriver')
cmo.setUserName('user')
cmo.setPassword('password')
cmo.setDbmsHost('myDBhost')
cmo.setDbmsPort('1521')
cmo.setDbmsName('myDB')

データベースをロードする

以下のコード例は、指定された JDBC 接続プールのデータベースをロードします。

loadDB('9i',existingPoolName)

テンプレートを閉じる

以下のコード例は、ドメインを作成せずにテンプレートを閉じます。

closeTemplate()

 


例 : Ant を使用したアプリケーション データベースのロード方法

以下の例では、Ant を使用してアプリケーション データベースをロードする方法を示しています。Ant の詳細については、以下を参照してください。

Ant スクリプトのプロパティを定義する

異なる対象環境でスクリプトを自動化および再利用するには、コードで、Ant スクリプトにインポートされたプロパティ ファイルで解決される ${scripts.dir} などのプロパティを参照します。たとえば、次のプロパティは別個のプロパティ ファイル myprops.properties で定義されます。

scripts.dir=scripts
app1dbaccnt.type=9i
db.host=host
db.port=1531
db.dbname=ora920
db.driver=oracle.jdbc.driver.OracleDriver
db.sqltask.url=jdbc:oracle:thin:@${db.host}:${db.port}:${db.dbname}
db.delimiter=;
db.user=user
db.password=password

このファイルは、以下のように Ant ビルド ファイルで参照されます。

<property file="myprops.properties"/>

以下のコード例は、APP1DDL.sql ファイルを使用して app1 のデータベース データをロードします。

<target name="load-app1-tables">
<antcall target="run-sql-script">
<param name="db.acct" value="app1dbaccnt"/>
<param name="db.script"
value="${scripts.dir}/db/${app1dbaccnt.type}/APP1DDL.sql"/>
</antcall>
</target>

以下のコード例は、SQL データベース呼び出しを実行する run-sql-script 対象スクリプトを定義します。

<target name="run-sql-script">
<sql
driver="${db.driver}"
url="${db.sqltask.url}"
delimiter="${db.delimiter}"
userid="${db.user}"
password="${db.password}"
onerror="continue"
autocommit="true"
classpathref="basic.classpath"
print="true"
src="${db.script}"/>
</target>

 


例 : Ant を使用した対話状態データベース テーブルの作成方法

dev2dev Web サイトの『PO Sample』では、Ant を使用して対話状態データベース テーブルを作成する例が提供されています。https://codesamples.projects.dev2dev.bea.com/servlets/Scarab?id=76 で、この記事にアクセスして、関連サンプル ファイルをダウンロードできます。

キットに含まれているサンプル Java ユーティリティ、ManifestReader は、wlw-manifest.xml ファイルを読み込み、対話状態データベース テーブルを作成するために必要な情報を抽出します。このユーティリティは、Jython スクリプトである create_app_db_scripts から参照され、wlw-manifest.xml ファイルに示されている対話状態データベース テーブルを削除および作成する SQL コマンドを使用して DDL ファイルを作成します。

注意 : dev2dev に関するコード例とユーティリティは、参考のために記載されています。これらの製品は、BEA によってサポートされていません。

 

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