Skip navigation.

WebLogic Portal 8.1 へのアップグレード

  前 次 前/次ボタンと目次ボタンとの区切り線 目次  

バージョン 8.1 互換性ドメイン

 


8.1 互換性ドメインでの 7.0 アプリケーションのホスト

WebLogic Portal 8.1 (Service Pack 2) では互換性ドメインがサポートされ、アップグレードされた WebLogic Portal 7.0 ポータル アプリケーションを新しいバージョンの製品でホストすることができます。この節では、互換性ドメインの作成と、既存のポータル アプリケーションを互換性ドメインで実行するためのアップグレード手順について説明します。

注意 : WebLogic Portal 8.1 互換性ドメインは、本来、WebLogic Portal 7.0 (Service Pack 2) で構築されたアプリケーションをサポートしていました。 WebLogic Portal 8.1 (Service Pack 2) 互換性ドメインは、WebLogic Portal 7.0 (Service Pack 4) で構築されたアプリケーションをサポートしています。WebLogic Portal 8.1 互換性ドメインは、Service Pack 2 でのみサポートされています。

互換性

WebLogic Platform リリース 8.1 では、ポータル アプリケーションが動作するプラットフォームに重要な変更が加えられています。WebLogic Portal 7.0 から 8.1 への変換を容易にするため、互換性ドメインでは、最小限の変更で、7.0 ポータル アプリケーションを新しいプラットフォームで実行することが可能です。

互換性ドメインは、WebLogic Portal 8.1 で導入された機能です。この機能を使用すると、WebLogic Portal 8.1 内、または場合によってはクラスタ内にある、データベースにデータを持つ既存の 7.x ポータル (およびドメイン) を「アップグレード」して、専用にコンフィグレーションされた互換性ドメインで実行できるようになります。これにより、新しいアプリケーションで新しいプラットフォームの機能を利用しながら、WebLogic Platform の同じインスタンス内で既存のアプリケーションを実行することもできます。

 


互換性ドメインの機能と制限事項

この節では、アップグレードの計画や手法に関する互換性ドメインの機能と制限事項について説明します。

一般に、WebLogic Portal 7.0 で構築され、ポータル互換性ドメインで実行するために再ホストされたポータルは、WebLogic 8.1 の Administration Portal を使用して管理できます。WebLogic Portal 8.1 の機能は、ポータル互換性ドメインで実行するポータル エンタープライズ アプリケーションではサポートされません。E-Business Control Center、WebLogic Workshop (全バージョン) などの開発ツールは、ポータル互換性ドメインで実行するアプリケーションに対してはサポートされません。

開発の問題

この節では、アプリケーションの実装方法によってはアップグレード計画に影響することがある考慮事項について説明します。

XA - トランザクション レベルのサポート

互換性ドメインでは、com.bea.p13n.util.jdbc.SequencerFactory に下位互換性がありません。XA をサポートするためには、シーケンサに専用のデータソースを持たせる必要があります。このため、トランザクションを渡すことのできた API がすべて削除されています。「フレームワーク ファイル リファレンス」には、既存のコードのリファクタリングに役立つ情報があります。また、次のリンクでは、Javadoc について参照できます。

http://edocs.beasys.co.jp/e-docs/workshop/docs81/doc/ja_JP/portal/buildportals/navReference.html

MBean コンフィグレーション メカニズム

WebLogic Portal 7.0 では、ポータルの MBean (メール サービス、キャンペーン サービス、広告サービス、行動追跡、イベント、キャッシュなど) を WebLogic Server Console でコンフィグレーションしていました。サーバ コンソールのポータル プラグインで、これらの設定を変更できました。

ポータル互換性モードには、このポータル プラグインはありません。WebLogic Portal 8.1 では、これらの設定が Portal Administration Tools にエクスポーズされていますが、ポータル互換性ドメインのアプリケーションに対して Portal Administration Tools を実行することはできません。

この変更には、APP/META-INF ディレクトリ内の application-config.xml ファイルを編集し、設定を変更してサーバを再起動する必要があります。

実行時と管理の問題

この節では、ポータル互換性ドメインでのアプリケーションの実行と管理に関する問題について説明し、WebLogic Portal 7.0 と 8.1 のアプリケーションの違いについて説明します。

ポータル互換性ドメインでは、WebLogic Portal 7.0 のすべての実行時機能がサポートされますが、次の例外があります。

互換性ドメインのセキュリティ モデルには若干の制限があります。WebLogic Portal 7.0 のポータルは、RDBMS と LDAP レルム (1 つのプロバイダを使用) のユーザとグループ、および fileRealm.properties ファイルにあるユーザとグループの両方を処理します。WebLogic 8.1 Portal のドメインは、ユーザを RDBMS または LDAP の 1 つのプロバイダでサポートします。基本的な違いは、fileRealm ユーザおよびグループをポータル互換性ドメインでは自動的に使用できないことです。一般に、システム ユーザとグループがこれにあたります。

親グループを表示する

WebLogic Portal 7.0 ではユーザが属する親グループを表示できましたが、ポータル互換性ドメインでは変更され、WebLogic Administration Portal ではユーザが属する親グループを表示できません。グループ A とグループ B がグループ C のサブグループで、ユーザが A および B のメンバーの場合、WebLogic Portal 7.0 Administration Portal の [ユーザ情報] 画面には 3 つすべてのグループが表示されますが、ポータル互換性ドメインの Administration Portal にはグループ A とグループ B しか表示されません。

 


ポータル互換性ドメインの認証プロバイダ

この節では、ポータル互換性ドメイン内で実行する新しいポータルを作成するときに、生じる可能性のある認証の考慮事項について説明します。

ユーザとグループの管理

WebLogic Portal 8.1 では、ポータルのユーザとグループを 1 つのセキュリティ認証プロバイダ (コンソールの一覧で最初に表示される項目) で管理できます。これは、ドメインレベルのコンフィグレーションであり、ドメイン内のすべてのポータル エンタープライズ アプリケーション (正確には、ポータル アプリケーションによるユーザ管理とグループ管理の呼び出し) は、最初のセキュリティ認証プロバイダ内のユーザおよびグループしか表示できません。

デフォルトの WebLogic Portal 8.1 ドメインは、デフォルトの認証プロバイダ (LDAP) を使用するようにコンフィグレーションされます。デフォルトでは、ポータルはユーザとグループの格納およびアクセスに、LDAP を使用します。

ユーザとグループは一般に RDBMS のデータベースに格納されているので、ポータル互換性ドメインでは、RDBMSAuthenticationProvider を使用して、WebLogic 7.0 (Service Pack 2) ドメインのユーザとグループにアクセスできます。このため、ポータル互換性ドメインで実行するポータルは、通常 RDBMS を使用してユーザとグループの格納やアクセスを行います。

WebLogic Portal 8.1 ドメインとポータル互換性ドメインが異なる認証プロバイダを使用している場合は、次の 2 つの方法で変更できます。

注意 : WebLogic 7.0 (Service Pack 2) ドメインが、ユーザとグループに RDBMS 認証ではなく LDAP 認証を使用する場合、ポータル互換性ドメインも LDAP を使用します。つまり、WebLogic Portal 8.1 ドメインと同じプロバイダを使用することになります。

この問題を回避するために、デフォルト設定の WebLogic Portal 8.1 ドメインで設計された新しいポータルは、RDBMSAuthenticationProvider を使用するようにコンフィグレーションする必要があります。

この方法では、新しいドメインを作成した直後に、RDBMSAuthenticationProvider をインストールし、これを、コンソールでリストの最初のプロバイダとして指定することが必要です。

 


互換性モードでホストするための手順

既存の WebLogic Portal 7.0 アプリケーションをホストしてポータル互換性ドメイン内で実行するための手順には、次の 3 つの段階があります。

注意 : この手順は、次の設定を前提としています。

互換性ドメインの名前は「portalCompatibilityDomain」であり、user_projects¥domains¥portalCompatibilityDomain に作成される。

「互換性モードにアップグレードされた」ポータル アプリケーションのディレクトリは、user_projects\applications\...(アプリケーションは任意のディレクトリに格納可能) になる。

ポータル互換性ドメインの作成

この節では、ポータル互換性ドメインの作成に必要な手順について説明します。

始める前に

この手順を実行するには、以下の要素が準備されている必要があります。

ポータル互換性ドメインを作成するには、最初にポータルの Configuration Wizard テンプレートを使用してポータル ドメインをコンフィグレーションし、次にこのドメインと 7.x エンタープライズ アプリケーションを手動でコンフィグレーションします。この目的は、ポータルだけを使用する domain/ent-app のコード変更を最小限に抑えることです。コンフィグレーション手順の大部分は、.jar ファイルの置換とコンフィグレーション ファイルの編集です。

既存ドメインの SystemAdministrator ユーザを検出する

WebLogic Portal 7.0 サーバを起動し、ポータル管理ツールを開き、SystemAdministrator グループのユーザ リストを作成します。このリストは、ドメインをアップグレードするときに必要になります。

既存ドメインをバックアップする

既存のドメイン、エンタープライズ アプリケーション、およびデータベースのバックアップ コピーを作成します。

手順 1 : 新しいポータル ドメインを作成する

WebLogic Portal 8.1 の Configuration Wizard を使用し、[エクスプレス] 設定オプションと Basic WebLogic Portal Domain のテンプレートを使用して新しいポータル ドメインを作成します。既存の WebLogic Portal 7.0 ドメインと同じドメイン ユーザ名およびパスワードを使用します。

注意 : この手順では、ドメインの名前を「portalCompatibilityDomain」にして説明しますが、任意の名前を使用できます。

  1. WebLogic Portal 7.0 ドメイン ディレクトリから、ポータル互換性ドメイン ディレクトリに、dmsBase ディレクトリをコピーします。
  2. コマースのプロパティを移動します。
    1. WebLogic Portal 7.0 ドメインでコマース機能を使用している場合は、weblogiccommerce.properties ファイルを、weblogic700¥portal¥ ディレクトリから weblogic81¥portal¥ ディレクトリにコピーします。
    2. 次に、新しくコピーしたこのプロパティ ファイルを参照するように、互換性ドメインの startWeblogic スクリプトを変更します。
    3. たとえば、次の行をスクリプトに追加します。

      -Dcommerce.properties=<absolute path to weblogiccommerce.properties>

手順 2 : 起動スクリプトを編集する

新しい WebLogic Portal 8.1 互換性ドメインの startWeblogic.cmd スクリプトを次のように変更します。

手順 3 : 新しいドメインをコンフィグレーションする

新しいドメインに対して、次の設定を行います。

手順 4 : データベースをコンフィグレーションする

アップグレード手順では、新しいドメインが既存のデータベースにアクセスできる必要があります。データベース設定は、7.0 の場合も 8.1 の場合も、ドメイン ディレクトリ内のファイルに含まれています。以下の手順では、新しい 8.1 ドメインのデータベース設定と既存の 7.0 ドメインの設定が必ず一致するようにします。

  1. JDBCConnectionPool エントリを設定します。
  2. 8.1 ポータル互換性ドメインの config.xml ファイルの <JDBCConnectionPool> URL 設定を、既存の WebLogic Portal 7.0 ドメインの config.xml ファイルの URL 設定に対応させてコンフィグレーションし、データベース ホスト、ポート、およびスキーマ名が一致するようにします。コード リスト 2-1 および 2-2 は、新しい WebLogic Portal 8.1 互換性ドメインのサンプル JDBCConnectionPool エントリを示しています。

コード リスト 2-1 PointBase 用の JDBCConnectionPool エントリ

<JDBCConnectionPool Name="cgPool" Targets="portalServer" 
CapacityIncrement="1"
DriverName="com.pointbase.jdbc.jdbcUniversalDriver"
InitialCapacity="5" MaxCapacity="50"
Password="{3DES}dYceZKN2mwcfajtJC6uzSg=="
Properties="user=weblogic;" RefreshMinutes="0"
ShrinkPeriodMinutes="15" ShrinkingEnabled="true"
SupportsLocalTransaction="true" TestConnectionsOnRelease="false"
TestConnectionsOnReserve="false" URL="jdbc:pointbase:server://localhost:9092/wlportal"/>
<JDBCDataSource JNDIName="weblogic.jdbc.pool.commercePool"
Name="commercePool" PoolName="cgPool" Targets="portalServer"/>

コード リスト 2-2 Oracle 用の JDBCConnectionPool エントリ

<JDBCConnectionPool CapacityIncrement="1" 
DriverName="oracle.jdbc.driver.OracleDriver"
InitialCapacity="25" MaxCapacity="25" Name="cgPool"
Password="weblogic"
Properties="user=weblogic"
RefreshMinutes="0" ShrinkingEnabled="false"
Targets="portalServer" TestConnectionsOnReserve="false"
URL="jdbc:oracle:thin:@<dbhost>:1521:<dbSID>"/>
<JDBCDataSource JNDIName="weblogic.jdbc.pool.commercePool"
Name="commercePool" PoolName="cgPool" Targets="portalServer"/>

注意 : WebLogic Portal 7.0 データにアクセスするために、JDBC データソースがコード リスト 2-2 に追加されています。

  1. データベースのコンフィグレーション ファイルを更新します。
  2. データベースのコンフィグレーション設定を正しく参照するように、ポータル互換性ドメイン ファイルを更新します。

    8.1 ポータル互換性ドメインの db_settings.properties ファイルを、既存の WebLogic Portal 7.0 ドメインの db_settings.properties ファイルの設定に対応するようにコンフィグレーションし、host、db_name、port、dblogin、dbpassword、および connection フィールドが一致するようにします。コード リスト 2-3 および 2-4 は、新しい WebLogic Portal 8.1 互換性ドメインのサンプル コンフィグレーション設定を示しています。

コード リスト 2-3 PointBase 用のデータベース コンフィグレーション エントリ

#@IF_USING_POINTBASE@
database=POINTBASE
db_version=44
jdbcdriver=com.pointbase.jdbc.jdbcUniversalDriver
host=localhost
db_name=portal
port=9093
dblogin=WEBLOGIC
dbpassword=WEBLOGIC
connection=jdbc:pointbase:server://localhost:9093/wlportal
pointbase_ini=pointbase/pointbase.ini
#@ENDIF_USING_POINTBASE@

コード リスト 2-4 Oracle 用のデータベース コンフィグレーション設定

database=ORACLE_THIN 
db_version=817
jdbcdriver=oracle.jdbc.driver.OracleDriver
server=<dbSID>
port=1521
dblogin=USERNAMEGOESHERE
dbpassword=PASSWORDGOESHERE
connection=jdbc:oracle:thin:<dbHost>:1521:<dbSID>
  1. スキーマをアップグレードするために PointBase ファイルを準備します。
  2. PointBase のインスタンスでは、スキーマをアップグレードする前にいくつかの準備作業が必要です。

    手順 1 : PointBase トリガのアップグレード」の手順に従います。この手順では、スキーマをアップグレードするために PointBase ファイルを upgrade/pointbase に準備します。

  3. データベース スキーマをアップグレードします。
  4. 実際のデータを既存のデータベースから移行するには、その前にスキーマを更新する必要があります。スキーマの更新は、すべてのデータベースに対して行う必要があります。「手順 2 : WebLogic Portal 7.0 スキーマのアップグレード」の準備手順を行ってください。

既存データをアップグレードする

この手順を実行すると、ENTITLEMENT_RULESET テーブルの内容が更新されます。

すべてのデータベース

手順 5 : ENTITLEMENT_RULESET レコードのアップグレード」の手順に従います。

特に、この手順により次の変更が行われます。

ENTITLEMENT_RULESET テーブルの各行に対して、RULESET_DOCUMENT カラムの値が次のように変更されます。XML テキスト http://www.bea.com/servers/p13n/xsd/rules/core/2.1.1 rules-core-2_1_1.xsd<cr:rule-set> 要素の xsi:schemaLocation 属性値の前に追加されます。

PointBase のみ

PointBase の場合のみ、アップグレードされた .wal ファイルおよび .dbn ファイルを upgrade/pointbase/ ディレクトリから WebLogic Portal 8.1 互換性ドメイン ディレクトリ (または wal/.dbn ファイルが存在するディレクトリ) にコピーします。

セキュリティをアップグレードする

新しいポータル互換性ドメインの準備として、この手順では他に、セキュリティのアップグレードが必要です。この節では、次の操作について説明します。

RDBMS 認証プロバイダをインストールしてコンフィグレーションする

RDBMS 認証プロバイダにより、WebLogic Portal 7.0 ベースの RDBMS ストアに格納されたユーザおよびグループには、WebLogic セキュリティ サービス プロバイダ インタフェース (SSPI) を使用して、リリース 8.1 のポータルからアクセスできます。これにより、WebLogic Portal 8.1 では、最小限の変更のみで、WebLogic Portal 7.0 の RDBMSRealm で定義されたユーザおよびグループを使用できます。

7.0 ドメインで RDBMSRealm を使用しなかった場合は、以下の手順 1 および手順 2 を省略できます。RDBMSRealm を使用したかどうかが不明な場合は、WebLogic Portal 7.0 ドメインの config.xml ファイルを開きます。ファイルに <RDBMSRealm> のスタンザが含まれていない場合は、7.0 ドメインで RDBMSRealm は使用されていないので、「手順 3 : 認証ストア以外を使用して PortalSystemAdministrators グループを追加する」に進みます。config.xml にこのスタンザが含まれる場合は、<CachingRealm> スタンザの BasicRealm の値を確認します。この値が <RDBMSRealm>Name の値に一致している場合は、7.0 ドメインで RDBMSRealm が使用されており、この節の手順 1 および手順 2 に従う必要があります。

手順 1 : 認証プロバイダをコンフィグレーションする

以下の手順を使用して、新しい互換性ドメインで認証プロバイダをコンフィグレーションします。

  1. 新しい WebLogic Portal 8.1 互換性ドメインで、startWeblogic スクリプトを実行し、ブラウザで http://localhost:7501/console に移動します。場合によっては、config.xml の設定に一致するようにホスト名とポート番号を変更する必要があります。
  2. ユーザ ID weblogic、パスワード weblogic を使用してログインします。[セキュリティレルムmyrealmプロバイダ] を選択し、[認証] を選択します。
  3. [新しい RDBMSAuthenticator のコンフィグレーション] をクリックし、[制御フラグ] を [SUFFICIENT] に設定して、[作成] をクリックします。
  4. [詳細] タブをクリックし、以前の節の config.xml および db_settings.properties に従ってデータベース設定を編集します。
  5. たとえば、PointBase で sampleportal を使用する場合、設定はコード リスト 2-5 のようになり、Oracle で sampleportal を使用する場合、設定はコード リスト 2-6 のようになります。

  6. [適用] をクリックします。
  7. [セキュリティ|レルム|myrealm|プロバイダ] を選択し、[認証] を選択します。
  8. [DefaultAuthenticator] (LDAP プロバイダ) を選択し、[制御フラグ] を [SUFFICIENT] に設定して [適用] をクリックします。
  9. [セキュリティレルムmyrealmプロバイダ] を選択し、[認証] を選択します。
  10. [コンフィグレーション済み認証プロバイダの並べ替え] をクリックし、RDBMSAuthenticator がリストの最初に表示されるように変更して [適用] をクリックします。
  11. サーバを停止します。

コード リスト 2-5 PointBase 用の認証設定

Database Driver: com.pointbase.jdbc.jdbcUniversalDriver 
Database URL: jdbc:pointbase:server://localhost:9092/wlportal
Schema Properties: user=WEBLOGIC;password=WEBLOGIC;server=jdbc:pointbase:server://localhost:9092/wlportal
Minimum Password Length: whatever it was in 7.x (ie 1 character for 7x sampleportal)

コード リスト 2-6 Oracle 用の認証設定

Database Driver: oracle.jdbc.driver.OracleDriver 
Database URL: jdbc:oracle:thin:@myOraDB:1521:myOraInstance
Database Username: weblogic
Database Password: weblogic
Schema Properties: user=weblogic;password=weblogic
Minimum Password Length: 8

手順 2 : RDBMSAuthentication を使用して PortalSystemAdministrators グループを追加する

この節は、7.0 ドメインで RDBMSRealm を使用していた場合にのみ対象となります。

WebLogic Portal 7.0 の管理ツールの使用をサポートするには、RDBMSAuthenticationProvider に PortalSystemAdministrators グループを追加する必要があります。ユーザおよびグループが既存 WebLogic Portal 7.0 ドメインのデータベースに格納されている場合は、PortalSystemAdministrators グループを RDBMSAuthentication に追加する必要があります。

SQL*Plus または PointBase Console などの任意の SQL エディタを使用して、次の SQL を実行します。

insert into GROUP_SECURITY( GROUP_ID, GROUP_NAME ) values ( 900, 'PortalSystemAdministrators' ); 
insert into ENTITY( ENTITY_ID, ENTITY_NAME, ENTITY_TYPE ) values ( 900, 'PortalSystemAdministrators', 'Group' ); 

注意 : 900 は、このインデックスの予約番号のため、この操作で問題は発生しないはずです。

手順 3 : 認証ストア以外を使用して PortalSystemAdministrators グループを追加する

この手順は、7.0 ドメインで RDBMSRealm を使用していなかった場合のみ対象です。

ユーザおよびグループが既存の WebLogic Portal 7.0 ドメインのデータベースに格納されていない場合は、PortalSystemAdministrators グループを LDAP (またはその他の) ストアに追加する必要があります。

既存の WebLogic Portal 7.0 ドメインの fileRealm.properties ファイルにある任意の ACL を移行することもできます。

エンタープライズ アプリケーションのアップグレード

この節では、「ポータル互換性ドメインの作成」で説明した手順に従って作成した WebLogic Portal 8.1 互換性ドメインで WebLogic Portal 7.0 エンタープライズ アプリケーションを実行できるようにコンフィグレーションする方法を説明します。

次の節では、ENT-APP はエンタープライズ アプリケーションのディレクトリを示し、WEB-APP は Web アプリケーションのディレクトリを示しています。

始める前に

この節では、新しい WebLogic Portal 8.1 互換性ドメインで実行するために、エンタープライズ アプリケーションを再ホストする手順を説明します。「ポータル互換性ドメインの作成」の「始める前に」に示されているバックアップ手順を必ず実行してください。

sampleportal の場合のみ :

  1. 7.0 ドメイン ディレクトリの db_settings.properties ファイルの値が 8.1 互換性ドメインの db_settings.properties ファイルの値と一致していることを確認します。8.1 の設定を 7.0 の設定に一致するように変更した場合は、この節の残りの手順を省略できます。
  2. 7.0 ドメイン ディレクトリから configca.bat/.sh を実行します。7.0 エンタープライズ アプリケーション ディレクトリに BlackBoxNoTx.rar の更新されたバージョンが作成されます。
  3. エンタープライズ アプリケーション ディレクトリから BlackBoxNoTx.rarcustomerservice ポートレット ディレクトリにコピーします。たとえば、次のようになります。

cp¥bea70¥weblogic700¥samples¥portal¥sampleportalDomain¥beaApps¥
sampleportal¥BlackBoxNoTx.rar¥bea70¥weblogic700¥samples¥portal¥
sampleportalDomain¥beaApps¥sampleportal¥sampleportal¥portlets¥
customerservic
e

各エンタープライズ アプリケーションに対する手順

新しいドメインにアップグレードする各エンタープライズ アプリケーションに対して、以下の手順を実行します。

  1. 既存の WebLogic Portal 7.0 ドメインから WebLogic Portal 8.1 互換性ドメインに、エンタープライズ アプリケーション ディレクトリをコピーします。
  2. 次のオブジェクトを削除します。
  1. 次の階層を持つエンタープライズ アプリケーション ディレクトリを作成します。
    <ENT-APP dir name>¥APP-INF¥lib

    たとえば、sampleportal をアップグレードする場合は、次のように作成します。
    WL_HOME¥samples¥portal¥applications¥sampleportal¥APP-INF¥lib
  2. 次のファイルを <bea81>¥weblogic81 ディレクトリから新しい APP-INF¥lib ディレクトリにコピーします。
  1. 次のファイルを <bea81>¥weblogic81 ディレクトリから、<ENT-APP dir_name> ディレクトリにコピーします。
  1. <ENT-APP>/<WEB-APP>/WEB-INF/lib ディレクトリで、エンタープライズ アプリケーション内の各 Web アプリケーションに対して次の変更を行います。
  1. <ENT-APP>/META-INF/ ディレクトリの application.xml ファイル内で次の変更を行います。

注意 : <context-root> ではなく、<web-uri> を変更します。

  1. <ENT-APP>/META-INF/ ディレクトリの application-config.xml ファイル内で次の変更を行います。

コード リスト 2-7 DocumentConnectionPool エントリ

<ContentManagement Name="ContentManagement"> 
<ContentStore Name="adapter" ClassName="com.bea.p13n.content.adapter.RepositoryImpl"
Properties="CONTENT_MANAGER_HOME=${APPNAME}.BEA_personalization.DocumentManager" />
</ContentManagement>
<CommercePipelineComponentSupport
JdbcPoolName="weblogic.jdbc.jts.commercePool" />

コンテンツ管理をコンフィグレーションする

WebLogic Portal 7.0 で提供されている SamplePortal アプリケーションは、コンテンツ管理にカスタム ドキュメント プロバイダ インタフェース (DPI) 統合を使用します。アップグレードするエンタープライズ アプリケーションでもこのような統合が使用されている場合は、通常、コード リスト 2-8 で示されているようなコードで 1 つまたは複数の JSP があることを示します。この場合は、「手順 1 : コンテンツ管理の application-config.xml ファイルを変更する」の手順を実行します。

コード リスト 2-8 カスタム コンテンツ管理 JSP コード

<pz:contentSelector ... contentHome="java:comp/env/ejb/NewsletterManager"  <-- これは、「<%=ContentHelper.DEF_DOCUMENT_MANAGER_HOME%>」の標準値ではない />

手順 1 : コンテンツ管理の application-config.xml ファイルを変更する

このコンテンツ管理機能をサポートするために、次の変更を行います。

  1. 追加の各ドキュメント プロバイダに対して、<ContentStore> セクションを <ContentManagement> ノードに追加します。ドキュメント プロバイダの <jndi-name> は、weblogic-ejb-jar.xml 内にあります。sampleportal の場合、エントリは次のようになります。
<jndi-name>${APPNAME}.BEA_portal_examples.NewsletterDocumentManager</jndi-name>
  1. <ContentStore>CONTENT_MANAGER_HOME プロパティを documentprovider の検索に使用する JNDI 名に設定します。sampleportal の場合、エントリは次のようになります。
Properties="CONTENT_MANAGER_HOME=${APPNAME}.BEA_portal_examples.NewsletterDocumentManager" 

sampleportal の場合、コード リスト 2-9 に示すように、これを 2 つ目の <ContentManagement> 要素として追加します。

コード リスト 2-9 sampleportal の 2 つ目の <ContentManagement> 要素

<ContentStore 
Name="newsletters"
ClassName="com.bea.p13n.content.adapter.RepositoryImpl"
Properties="CONTENT_MANAGER_HOME=${APPNAME}.BEA_portal_examples.NewsletterDocumentManager" />

手順 2 : web.xml ファイルを編集する

各 Web アプリケーションに対して、<ENT-APP>/<WEB-APP>/WEB-INF/ ディレクトリの web.xml ファイルに次の変更を行います。

コード リスト 2-10 のコードをコード リスト 2-11 のコードに置き換えます。

コード リスト 2-10 pz_taglib.jar リファレンス

<taglib> 
<taglib-uri>pz.tld</taglib-uri>
<taglib-location>/WEB-INF/lib/pz_taglib.jar</taglib-location>
</taglib>

コード リスト 2-11 pz_compat_taglib.jar リファレンス

<taglib> 
<taglib-uri>pz.tld</taglib-uri>
<taglib-location>/WEB-INF/lib/pz_compat_taglib.jar</taglib-location>
</taglib>

手順 3 : config.xml ファイルを編集する

この節では、config.xml ファイルに 2 つの変更を加えます。1 つはコマース サポートに対するもので、もう 1 つはすべてのエンタープライズ アプリケーションに対するものです。

エンタープライズ アプリケーションでコマース機能を使用する場合は、config.xml ファイルを編集します。すべてのアプリケーション リストの上に次の StartupClass セクションを挿入し、コード リスト 2-12 に示すように、Target にサーバ名を設定します。

コード リスト 2-12 コマース サポート用の StartupClass エントリ

<StartupClass 
ClassName="com.beasys.commerce.ebusiness.security.KeyBootstrap"
LoadBeforeAppActivation="true"
FailureIsFatal="false"
Name="Commerce KeyBootstrap"
Targets="portalServer"/>

エンタープライズ アプリケーションへの参照を追加し、正しいパスを指定します。コード リスト 2-13、コード リスト 2-14、コード リスト 2-15、およびコード リスト 2-16 に、WebLogic Portal 7.0 に付属するサンプル アプリケーションを使用した例を示します。

次の注意事項は、コード リスト 2-13コード リスト 2-14コード リスト 2-15、およびコード リスト 2-16 に該当します。

コード リスト 2-13 SAMPLEPORTAL config.xml ファイル

<Application Deployed="true" Name="sampleportal" 
Path="D:¥bea81¥weblogic81¥samples¥portal¥sampleportal" TwoPhase="true">
<ApplicationConfiguration Name="sampleportal"
Targets="portalServer" URI="META-INF/application-config.xml"/>
<ConnectorComponent Name="BlackBoxNoTx" Targets="portalServer" URI="BlackBoxNoTx.rar"/>
<EJBComponent Name="commerce" Targets="portalServer" URI="commerce.jar"/>
<EJBComponent Name="p13n_ejb" Targets="portalServer" URI="p13n_ejb.jar"/>
<EJBComponent Name="portal" Targets="portalServer" URI="portal.jar"/>
<!-- <EJBComponent Name="sampleportal" Targets="portalServer" URI="sampleportal.jar"/> -->
<EJBComponent Name="wps" Targets="portalServer" URI="wps.jar"/>
<EJBComponent Name="pipeline" Targets="portalServer" URI="pipeline.jar"/>
<EJBComponent Name="portalmanager" Targets="portalServer" URI="netuix.jar"/>
<EJBComponent Name="prefs" Targets="portalServer" URI="prefs.jar"/>
<EJBComponent Name="content" Targets="portalServer" URI="content.jar"/>
<EJBComponent Name="contentrepo" Targets="portalServer" URI="content_repo.jar"/>
<WebAppComponent Name="datasync" ServletReloadCheckSecs="300"
Targets="portalServer" URI="datasync.war"/> 
<WebAppComponent Name="defaultWebApp"
ServletReloadCheckSecs="300" Targets="portalServer" URI="defaultWebApp"/>
<WebAppComponent Name="sampleportal"
ServletReloadCheckSecs="300" Targets="portalServer" URI="sampleportal"/>
<WebAppComponent Name="toolSupport" ServletReloadCheckSecs="300"
Targets="portalServer" URI="toolSupport.war"/>
<WebAppComponent Name="tools" ServletReloadCheckSecs="300"
Targets="portalServer" URI="tools700.war"/>
</Application>
<Application Deployed="true" Name="wlpDocsApp"
Path="D:¥bea81¥weblogic81¥portal¥lib"
StagedTargets="portalServer" TwoPhase="true">
<WebAppComponent IndexDirectoryEnabled="false" Name="wlpDocs"
ServletReloadCheckSecs="300" Targets="portalServer" URI="wlpDocs.war"/>
</Application>

コード リスト 2-14 P13NApp config.xml ファイル

<Application Deployed="true" Name="p13nApp" 
Path="D:¥weblogic81¥samples¥portal¥p13nApp" TwoPhase="true">
<ApplicationConfiguration Name="p13nApp" Targets="portalServer" URI="META-INF/application-config.xml"/>
<EJBComponent Name="commerce" Targets="portalServer" URI="commerce.jar"/>
<EJBComponent Name="p13n_ejb" Targets="portalServer" URI="p13n_ejb.jar"/>
<EJBComponent Name="wps" Targets="portalServer" URI="wps.jar"/>
<EJBComponent Name="pipeline" Targets="portalServer" URI="pipeline.jar"/>
<EJBComponent Name="portalmanager" Targets="portalServer" URI="netuix.jar"/>
<EJBComponent Name="prefs" Targets="portalServer" URI="prefs.jar"/>
<EJBComponent Name="content" Targets="portalServer" URI="content.jar"/>
<EJBComponent Name="contentrepo" Targets="portalServer" URI="content_repo.jar"/>
<WebAppComponent Name="datasync" ServletReloadCheckSecs="300"
Targets="portalServer" URI="datasync.war"/>
<WebAppComponent Name="defaultWebApp"
ServletReloadCheckSecs="300" Targets="portalServer" URI="defaultWebApp"/>
<WebAppComponent Name="p13n" ServletReloadCheckSecs="300"
Targets="portalServer" URI="p13n"/>
<WebAppComponent Name="toolSupport" ServletReloadCheckSecs="300"
Targets="portalServer" URI="toolSupport.war"/>
<WebAppComponent Name="tools" ServletReloadCheckSecs="300"
Targets="portalServer" URI="tools700.war"/>
</Application>
<Application Deployed="true" Name="wlpDocsApp"
Path="D:¥weblogic81¥portal¥lib"
StagedTargets="portalServer" TwoPhase="true">
<WebAppComponent IndexDirectoryEnabled="false" Name="wlpDocs"
ServletReloadCheckSecs="300" Targets="portalServer" URI="wlpDocs.war"/>
</Application>

コード リスト 2-15 WLCSApp config.xml ファイル

<Application Deployed="true" Name="wlcsApp" 
Path="D:¥weblogic81¥samples¥portal¥wlcsApp" TwoPhase="true">
<ApplicationConfiguration Name="wlcsApp" Targets="portalServer" URI="META-INF/application-config.xml"/>
<EJBComponent Name="commerce" Targets="portalServer" URI="commerce.jar"/>
<EJBComponent Name="p13n_ejb" Targets="portalServer" URI="p13n_ejb.jar"/>
<!-- <EJBComponent Name="wlcsSample" Targets="portalServer" URI="wlcsSample.jar"/> -->
<EJBComponent Name="wps" Targets="portalServer" URI="wps.jar"/>
<EJBComponent Name="pipeline" Targets="portalServer" URI="pipeline.jar"/>
<EJBComponent Name="portalmanager" Targets="portalServer" URI="netuix.jar"/>
<EJBComponent Name="prefs" Targets="portalServer" URI="prefs.jar"/>
<EJBComponent Name="content" Targets="portalServer" URI="content.jar"/>
<EJBComponent Name="contentrepo" Targets="portalServer" URI="content_repo.jar"/>
<WebAppComponent Name="datasync" ServletReloadCheckSecs="300"
Targets="portalServer" URI="datasync.war"/>
<WebAppComponent Name="defaultWebApp"
ServletReloadCheckSecs="300" Targets="portalServer" URI="defaultWebApp"/>
<WebAppComponent Name="wlcs" ServletReloadCheckSecs="300"
Targets="portalServer" URI="wlcs"/>
<WebAppComponent Name="toolSupport" ServletReloadCheckSecs="300"
Targets="portalServer" URI="toolSupport.war"/>
<WebAppComponent Name="tools" ServletReloadCheckSecs="300"
Targets="portalServer" URI="tools700.war"/> </Application>
<Application Deployed="true" Name="wlpDocsApp"
Path="D:¥weblogic81¥portal¥lib"
StagedTargets="portalServer" TwoPhase="true">
<WebAppComponent IndexDirectoryEnabled="false" Name="wlpDocs"
ServletReloadCheckSecs="300" Targets="portalServer" URI="wlpDocs.war"/>
</Application>

コード リスト 2-16 StockPortal config.xml ファイル

<Application Deployed="true" Name="stockportal" 
Path="D:¥weblogic81¥samples¥portal¥portal" TwoPhase="true">
<ApplicationConfiguration Name="portal" Targets="portalServer" URI="META-INF/application-config.xml"/>
<EJBComponent Name="commerce" Targets="portalServer" URI="commerce.jar"/>
<EJBComponent Name="p13n_ejb" Targets="portalServer" URI="p13n_ejb.jar"/>
<!-- <EJBComponent Name="stockportal" Targets="portalServer" URI="stockportal.jar"/> -->
<EJBComponent Name="portal" Targets="portalServer" URI="portal.jar"/>
<EJBComponent Name="wps" Targets="portalServer" URI="wps.jar"/>
<EJBComponent Name="pipeline" Targets="portalServer" URI="pipeline.jar"/>
<EJBComponent Name="portalmanager" Targets="portalServer" URI="netuix.jar"/>
<EJBComponent Name="prefs" Targets="portalServer" URI="prefs.jar"/>
<EJBComponent Name="content" Targets="portalServer" URI="content.jar"/>
<EJBComponent Name="contentrepo" Targets="portalServer" URI="content_repo.jar"/>
<WebAppComponent Name="datasync" ServletReloadCheckSecs="300"
Targets="portalServer" URI="datasync.war"/>
<WebAppComponent Name="defaultWebApp"
ServletReloadCheckSecs="300" Targets="portalServer" URI="defaultWebApp"/>
<WebAppComponent Name="stockportal" ServletReloadCheckSecs="300"
Targets="portalServer" URI="stockportal"/>
<WebAppComponent Name="toolSupport" ServletReloadCheckSecs="300"
Targets="portalServer" URI="toolSupport.war"/>
<WebAppComponent Name="tools" ServletReloadCheckSecs="300"
Targets="portalServer" URI="tools700.war"/>
<WebAppComponent Name="workshop" ServletReloadCheckSecs="0"
Targets="portalServer" URI="workshop"/>
</Application>

コードを変更する

次のクラスを呼び出す既存の WebLogic Portal 7.0 アプリケーションのコードを検索します。

com.bea.p13n.util.jdbc.SequencerFactory createSequencer( String, DataSource) メソッド。このメソッドへの呼び出しは、次のように更新する必要があります。

コード リスト 2-17 のコードをコード リスト 2-18 のコードに置き換えます。

コード リスト 2-17 createSequencer Class への呼び出し : 変更前

sequencer = SequencerFactory.createSequencer("ORDER_LINE_ID_SEQUENCE", getDataSource()); 

コード リスト 2-18 createSequencer Class への呼び出し : 変更後

sequencer = SequencerFactory.createSequencer( "ORDER_LINE_ID_SEQUENCE" ); 

注意 : 例外が異なるので、try/catch で囲まれたブロックも更新する必要がある場合があります。

手順 1 : Web サービス クライアント プロキシをアップグレードする

エンタープライズ アプリケーションまたは Web アプリケーションが使用するすべての Web サービス プロキシ (クライアント) コードを検索します。通常、.wsdl ファイル、*Codec.java または *_Stub.java があります。

この節では、WLCSApp を新しいフレームワークに適合させる具体的な手順の例を示します。

手順 2 : Web サービス プロキシを変更する

WebLogic Portal 7.0 ドメインで Web サービス プロキシを変更した場合は、新しいドメインでも同じ変更を行う必要があります。いずれにせよ、生成されたプロキシ jar ファイルのコードは変更されているので、ファイルを再生成する必要があります。

注意 : プロキシ コードは実行時に動作するように、APP-INF/lib ディレクトリの個別の jar に配置する必要があります。コンパイルして wlcsSample.jar で指定しただけでは動作しません。このため、プロキシ jar ファイルを生成し、変更されたプロキシ ファイルを手動で置き換える必要があります。

プロキシ jar ファイルを生成するターゲットの例を次に示します。コード リスト 2-19 のようなエントリをビルド ファイルに追加します。

コード リスト 2-19 Web サービス プロキシの書き換えエントリ

<target name="stubgen" > 
<property name="taxWsdlUrl"
value="http://localhost:7501/taxws/TaxService?WSDL" />
<property name="payWsdlUrl"
value="http://localhost:7501/payws/PaymentService?WSDL" />
<clientgen wsdl="${taxWsdlUrl}" packageName="examples.wlcs.sampleapp.tax"
clientJar="taxwsproxy.jar" />
<clientgen wsdl="${payWsdlUrl}" packageName="examples.wlcs.sampleapp.payment"
clientJar="paywsproxy.jar" />
</target>

Application-Sync ファイルのアップグレード

手順 3 : Application-Sync ファイルのアップグレード」の「application-sync のアップグレード」の手順を実行します。

ドメインの最終調整

WebLogic 7.0 Portal 管理ツールが必要なので、この手順では 1 つ以上のエンタープライズ アプリケーションをアップグレードし、デプロイする必要があります。

PortalSystemAdministrators グループにユーザを追加する

PortalSystemAdministrators グループに、WebLogic 7.0 Portal SystemAdministrator グループのすべてのメンバーを追加します。

この手順は、sampleportal を使用して説明します。

  1. 8.1 互換性ドメインでサーバを起動します。
  2. http://localhost:7501/sampleportalTools にある WebLogic Portal Administration Tools を開き、weblogic、weblogic でログインします。または、8.1 互換性ドメインを作成するときに使用したシステム ユーザ ID とパスワードを使用します。
  3. [ユーザ管理] の [グループ] で、[PortalSystemAdministrators] を選択します。
  4. WebLogic Portal 7.0 の SystemAdministrator グループのユーザを選択し、PortalSystemAdministrators に追加します。
  5. WebLogic Server Console にログインし、[セキュリティレルムmyRealmsグローバル ロール] を選択し、[新しいグローバル ロールのコンフィグレーション] をクリックします。
  1. 次の URL にある「グローバル ロールの作成」の手順に従い、新しいグローバル ロールをコンフィグレーションします。
  2. http://edocs.beasys.co.jp/e-docs/wls/docs81/secwlres/secroles.html#1219839
  3. 変更を保存し、サーバを停止します。

RDBMS グループを指定するように SSPI の CustomerRole をアップグレードする

既存の WebLogic 7.0 ドメインにコマースを使用するアプリケーションが含まれている場合は、CustomerRole セキュリティ ロールを wlcs_customer RDBMS グループに関連付ける必要があります。通常、CustomerRole セキュリティ ロールは wlcs_customer LDIFT グループに関連付けられていて、wlcs_customer RDBMS グループのメンバーでは正しく実行できないので、このように変更する必要があります。

注意 : このコンフィグレーションを実行するには、この割り当てがデフォルトの LDIFT ファイルから削除されている必要があります。つまり、LDAP 情報を含むサーバ ディレクトリを削除すると、これらの手順をもう一度実行する必要があります。

CustomerRole セキュリティ ロールを wlcs_customer RDBMS グループに関連付けるには、以下の手順を実行します。

  1. 互換性ドメインの DefaultRoleMapperInit.ldift ファイルを編集し、次のセクションを削除します。
  2. dn: cn=::CustomerRole,ou=ERole,ou=@realm@,dc=@domain@ 
    objectclass: top 
    objectclass: ERole 
    cn: ::CustomerRole 
    EExpr:: Z3dsY3NfY3VzdG9tZXIK 
  3. コード リスト 2-20 およびコード リスト 2-21 に示すように、互換性ドメインの security.xml ファイルを編集し、次のセクションを削除します。

コード リスト 2-20 ns1:group エントリ

<ns1:group name="wlcs_customer">
<ns1:roleMemberOf ref="CustomerRole"/>
</ns1:group>

コード リスト 2-21 ns1:role エントリ

<ns1:role name="CustomerRole" description="View/modify the wlcs customer settings"/>

  1. 互換性ドメイン内の portalServer ディレクトリを削除します。このディレクトリの名前は、<yourEnterpriseApplicationName> Server です。
  2. WebLogic Portal Server を起動します。
  3. WebLogic Server Console にログインし、[新しいグローバル ロールのコンフィグレーション] をクリックします。
  4. 新しいロールに CompatibilityCustomerRole という名前を付け、[適用] をクリックします。
  5. [条件] タブから [呼び出し側をメンバーとするグループ] を選択し、[追加] をクリックします。
  6. グループ名に wlcs_customer と入力し、[追加|OK|適用] をクリックします。
  7. サーバを停止します。

fileRealm.properties で指定したユーザとグループ

fileRealm.properties に指定されている 7.x の下にあるシステム レベルのユーザとグループは、WebLogic Portal 8.1 で使用する認証プロバイダに追加する必要があります。

注意 : この手順は、sampleportal、wlcsApp、p13nApp、または stockportal では必要ありません。

WebLogic Portal 7.0 では、fileRealm (システム ユーザとグループを格納) とメイン ストア (一般ユーザとグループを格納) の両方にユーザとグループを格納できましたが、WebLogic Portal 8.1 はユーザとグループを 1 つの認証プロバイダで処理します。

このため、ポータルでシステム ユーザとグループ (weblogic、Operators、Monitors など) をサポートする場合、これらのユーザを認証プロバイダに移動する必要があります。これは、新しいポータル互換性ドメインで、ポータル アクセスやポータル ツール アクセスに使う fileRealm のすべてのシステム ユーザまたはグループに当てはまります。

 

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