WebLogic Portal 8.1 へのアップグレード
![]() |
![]() |
![]() |
![]() |
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 (全バージョン) などの開発ツールは、ポータル互換性ドメインで実行するアプリケーションに対してはサポートされません。
この節では、アプリケーションの実装方法によってはアップグレード計画に影響することがある考慮事項について説明します。
互換性ドメインでは、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
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
ファイルの置換とコンフィグレーション ファイルの編集です。
WebLogic Portal 7.0 サーバを起動し、ポータル管理ツールを開き、SystemAdministrator グループのユーザ リストを作成します。このリストは、ドメインをアップグレードするときに必要になります。
既存のドメイン、エンタープライズ アプリケーション、およびデータベースのバックアップ コピーを作成します。
WebLogic Portal 8.1 の Configuration Wizard を使用し、[エクスプレス] 設定オプションと Basic WebLogic Portal Domain のテンプレートを使用して新しいポータル ドメインを作成します。既存の WebLogic Portal 7.0 ドメインと同じドメイン ユーザ名およびパスワードを使用します。
注意 : この手順では、ドメインの名前を「portalCompatibilityDomain
」にして説明しますが、任意の名前を使用できます。
新しい WebLogic Portal 8.1 互換性ドメインの startWeblogic.cmd
スクリプトを次のように変更します。
次の行を、サーバを起動する行の直前に追加します (330 行目付近の「if %WLS_REDIRECT_LOG%"=="" (')
」で始まる行)。
set CLASSPATH=%WLP_HOME%¥lib¥portal_system.jar;%WLP_HOME%¥lib¥commerce_system.jar;%CLASSPATH%
次のスクリプトで、データベース ホスト、ポート、インスタンス名、および WebLogic Server のホストおよびポートをコンフィグレーションします。ガイドラインとして db_settings.properties
ファイルの値を使用してください。
startWebLogic.cmd/.sh
call "%WL_HOME%¥common¥bin¥stopPointBase.cmd" -port=9093 -name=workshop ...
を、次のように変更します。この場合、デフォルトの PointBase インスタンスとポートを使用しているものとします。
call "%WL_HOME%¥common¥bin¥stopPointBase.cmd" -port=9092 -name=wlportal ..
.
stopWebLogic.cmd/.sh
call "%WL_HOME%¥common¥bin¥startPointBase.cmd" -port=9093 ...
.. .
call "%WL_HOME%¥common¥bin¥stopPointBase.cmd" -port=9093 -name=workshop ...
を、次のように変更します。この場合、デフォルトの PointBase インスタンスとポートを使用しているものとします。
call "%WL_HOME%¥common¥bin¥startPointBase.cmd" -port=9092 ...
.. .
call "%WL_HOME%¥common¥bin¥stopPointBase.cmd" -port=9092 -name=wlportal ...
config.xml
を編集し、<Server>
セクションの <SSL>
エントリで Enabled="true"
を設定します。config.xml
ファイルにあります。新しいドメインの config.xml
ファイルでも同じ設定であることを確認します。アップグレード手順では、新しいドメインが既存のデータベースにアクセスできる必要があります。データベース設定は、7.0 の場合も 8.1 の場合も、ドメイン ディレクトリ内のファイルに含まれています。以下の手順では、新しい 8.1 ドメインのデータベース設定と既存の 7.0 ドメインの設定が必ず一致するようにします。
コード リスト 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 に追加されています。
データベースのコンフィグレーション設定を正しく参照するように、ポータル互換性ドメイン ファイルを更新します。
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>
PointBase のインスタンスでは、スキーマをアップグレードする前にいくつかの準備作業が必要です。
「手順 1 : PointBase トリガのアップグレード」の手順に従います。この手順では、スキーマをアップグレードするために PointBase ファイルを upgrade/pointbase
に準備します。
実際のデータを既存のデータベースから移行するには、その前にスキーマを更新する必要があります。スキーマの更新は、すべてのデータベースに対して行う必要があります。「手順 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 の場合のみ、アップグレードされた .wal
ファイルおよび .dbn
ファイルを upgrade/pointbase/
ディレクトリから WebLogic Portal 8.1 互換性ドメイン ディレクトリ (または wal/.dbn
ファイルが存在するディレクトリ) にコピーします。
新しいポータル互換性ドメインの準備として、この手順では他に、セキュリティのアップグレードが必要です。この節では、次の操作について説明します。
RDBMSAuthenticationProvider
をインストールする。fileRealm.properties
に以前含まれていたポータル ユーザとグループを RDBMS に追加し、パスワードを再設定する。PortalSystemAdministrators
グループに追加する。fileRealm.properties
(または LDAP ストア) でコンフィグレーションされた ACL を再コンフィグレーションする。これらは、アップグレード プロセスによって、自動的に移行されるわけではありません。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 に従う必要があります。
以下の手順を使用して、新しい互換性ドメインで認証プロバイダをコンフィグレーションします。
config.xml
の設定に一致するようにホスト名とポート番号を変更する必要があります。たとえば、PointBase で sampleportal
を使用する場合、設定はコード リスト 2-5 のようになり、Oracle で sampleportal
を使用する場合、設定はコード リスト 2-6 のようになります。
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)
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
この節は、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 は、このインデックスの予約番号のため、この操作で問題は発生しないはずです。
この手順は、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 互換性ドメインで実行するために、エンタープライズ アプリケーションを再ホストする手順を説明します。「ポータル互換性ドメインの作成」の「始める前に」に示されているバックアップ手順を必ず実行してください。
db_settings.properties
ファイルの値が 8.1 互換性ドメインの db_settings.properties ファイルの値と一致していることを確認します。8.1 の設定を 7.0 の設定に一致するように変更した場合は、この節の残りの手順を省略できます。cp¥bea70¥weblogic700¥samples¥portal¥sampleportalDomain¥beaApps¥
e
sampleportal¥BlackBoxNoTx.rar¥bea70¥weblogic700¥samples¥portal¥
sampleportalDomain¥beaApps¥sampleportal¥sampleportal¥portlets¥
customerservic
新しいドメインにアップグレードする各エンタープライズ アプリケーションに対して、以下の手順を実行します。
.jar
ファイル、.war
ファイル、.ear
ファイル、および .rar
ファイル (つまり、エンタープライズ アプリケーション ディレクトリ内のこれらの拡張子のファイル)。たとえば、sampleportal をアップグレードする場合、<8.1 domain>¥applications¥sampleportal
ディレクトリからすべての .jar、.war、および .rar ファイルを削除します。BEA から提供されたファイルのみを削除します。portal¥lib¥commerce¥ejb¥commerce_util.jar
portal¥lib¥netuix¥system¥ext¥ejb¥dom4j-full.jar
portal¥lib¥netuix¥ejb¥netuix_util.jar
portal¥lib¥wps¥ejb¥wps_util.jar
portal¥lib¥portal¥ejb¥portal_util.jar
portal¥lib¥content.jar
portal¥lib¥content_repo.jar
portal¥lib¥tools700.war
portal¥lib¥toolSupport.war
portal¥lib¥wps-toolSupport.war
portal¥lib¥commerce¥ejb¥commerce.jar
portal¥lib¥netuix¥ejb¥netuix.jar
portal¥lib¥netuix¥ejb¥pipeline.jar
portal¥lib¥netuix¥ejb¥prefs.jar
portal¥lib¥portal¥ejb¥portal.jar
portal¥lib¥wps¥ejb¥wps.jar
p13n¥lib¥p13n_ejb.jar
p13n¥lib¥datasync.war
p13n_servlet.jar
が存在する場合は削除する。ad_taglib.jar
を weblogic81/portal/lib/wps/web/ad_taglib.jar
に置き換える。cm_taglib.jar
を weblogic81/portal/lib/wps/web/cm_taglib.jar
に置き換える。ph_taglib.jar
を weblogic81/portal/lib/wps/web/ph_taglib.jar
に置き換える。 pz_taglib.jar
を weblogic81/portal/lib/wps/web/pz_compat_taglib.jar
と weblogic81/portal/lib/wps/web/pz_taglib.jar
に置き換える。 p13n_servlet.jar
を weblogic81/portal/lib/wps/web/wps_servlet.jar
に置き換える。 webflow_servlet.jar
を weblogic81/portal/lib/netuix/web/webflow_servlet.jar
に置き換える。 webflow_taglib.jar
を weblogic81/portal/lib/netuix/web/webflow_taglib.jar
に置き換える。 cat_taglib.jar
を weblogic81/portal/lib/commerce/web/cat_taglib.jar
に置き換えるか、後者を追加する。 weblogic81/portal/lib/commerce/web/eb_taglib.jar
を追加する。 productTracking_taglib.jar
を weblogic81/portal/lib/commerce/web/productTracking_taglib.jar
に置き換えるか、後者を追加する。 dam_taglib.jar
を weblogic81/portal/lib/portal/web/dam_taglib.jar
に置き換える。 ent_taglib.jar
を weblogic81/portal/lib/portal/web/ent_taglib.jar
に置き換える。 portal_servlet.jar
を weblogic81/portal/lib/portal/web/portal_servlet.jar
に置き換える。 portal_taglib.jar
を weblogic81/portal/lib/portal/web/portal_taglib.jar
に置き換える。 portlet_taglib.jar
を weblogic81/portal/lib/portal/web/portlet_taglib.jar
に置き換える。 ren_taglib.jar
を weblogic81/portal/lib/portal/web/ren_taglib.jar
に置き換える。 res_taglib.jar
を weblogic81/portal/lib/portal/web/res_taglib.jar
に置き換える。 util_taglib.jar
を weblogic81/portal/lib/portal/web/util_taglib.jar
に置き換える。 visitor_taglib.jar
を weblogic81/portal/lib/portal/web/visitor_taglib.jar
に置き換える。 vum_taglib.jar
を weblogic81/portal/lib/portal/web/vum_taglib.jar
に置き換える。 es_taglib.jar
を weblogic81/p13n/lib/es_taglib.jar
に置き換える。 i18n_taglib.jar
を weblogic81/p13n/lib/i18n_taglib.jar
に置き換える。 ps_taglib.jar
を weblogic81/p13n/lib/ps_taglib.jar
に置き換える。 tracking_taglib.jar
を weblogic81/p13n/lib/tracking_taglib.jar
に置き換える。 um_taglib.jar
を weblogic81/p13n/lib/um_taglib.jar
に置き換える。 weblogic-tags.jar
を weblogic81/server/ext/weblogic-tags.jar
に置き換える。 sampleportal
をアップグレードする場合は、xmlx-tags.jar
(moreNews
ポートレットで使用) を weblogic81/samples/server/examples/build/examplesWebApp/ WEB-INF/lib/xmlx-tags.jar
に置き換える。 <web-uri>tools</web-uri>
を <web-uri>tools700.war</web-uri>
に置き換える。 <web-uri>datasync</web-uri>
を <web-uri>datasync.war</web-uri>
に置き換える。 <web-uri>toolSupport</web-uri>
を <web-uri>toolSupport.war</web-uri>
に置き換える。 注意 : <context-root>
ではなく、<web-uri>
を変更します。
document.jar
ejbadvisor.jar
events.jar
mail.jar
pipeline.jar
placeholder.jar
property.jar
rules.jar
usermgmt.jar
catalogws.jar
customer.jar
ebusiness.jar
campaign.jar
EJB
モジュール参照を追加する。 AttributeLoader
参照を次のように置き換える。
<AttributeLoader Name="AttributeLoader" RequestLoaders="com.bea.campaign.ShoppingCartAttributeLoader" />
ApplicationConfiguration
ノードで、最後の DocumentConnectionPool
エントリの後に、次のエントリを追加する。コード リスト 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%>」の標準値ではない />
このコンテンツ管理機能をサポートするために、次の変更を行います。
<jndi-name>${APPNAME}.BEA_portal_examples.NewsletterDocumentManager</jndi-name>
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" />
各 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>
この節では、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 に該当します。
config.xml
ファイル、および上で変更した META-INF/application.xml
ファイルを参考にしてください。portal.jar
は、特定のエンタープライズ アプリケーションにのみ存在する。paymentWSApp
および taxWSApp
アプリケーションを更新し、deployed="true" に設定する。コード リスト 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 で囲まれたブロックも更新する必要がある場合があります。
エンタープライズ アプリケーションまたは Web アプリケーションが使用するすべての Web サービス プロキシ (クライアント) コードを検索します。通常、.wsdl
ファイル、*Codec.java
または *_Stub.java
があります。
この節では、WLCSApp
を新しいフレームワークに適合させる具体的な手順の例を示します。
ArrayOfResponseElementCodec.java
PaymentService.java
PaymentService.xml
PaymentService_Impl.java
PaymentServicePort.java
PaymentServicePort_Stub.java
PSRequest.java
PSRequestCodec.java
PSResponse.java
PSResponseCodec.java
PSResponseElement.java
PSResponseElementCodec.java
src/language_builtins/lang
ディレクトリの次のファイルを削除する。 ArrayOfAVSResponseElementCodec.java
ArrayOfTaxRequestElementCodec.java
ArrayOfTaxResponseElementCodec.java
AVSRequest.java
AVSRequestCodec.java
AVSResponse.java
AVSResponseCodec.java
AVSResponseElement.java
AVSResponseElementCodec.java
TaxRequest.java
TaxRequestCodec.java
TaxRequestElement.java
TaxRequestElementCodec.java
TaxResponse.java
TaxResponseCodec.java
TaxResponseElement.java
TaxResponseElementCodec.java
TaxService.java
TaxService.xml
TaxService_Impl.java
TaxServicePort.java
TaxServicePort_Stub.java
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>
「手順 3 : Application-Sync ファイルのアップグレード」の「application-sync のアップグレード」の手順を実行します。
WebLogic 7.0 Portal 管理ツールが必要なので、この手順では 1 つ以上のエンタープライズ アプリケーションをアップグレードし、デプロイする必要があります。
PortalSystemAdministrators グループに、WebLogic 7.0 Portal SystemAdministrator グループのすべてのメンバーを追加します。
この手順は、sampleportal を使用して説明します。
http://edocs.beasys.co.jp/e-docs/wls/docs81/secwlres/secroles.html#1219839
既存の WebLogic 7.0 ドメインにコマースを使用するアプリケーションが含まれている場合は、CustomerRole セキュリティ ロールを wlcs_customer
RDBMS グループに関連付ける必要があります。通常、CustomerRole セキュリティ ロールは wlcs_customer
LDIFT グループに関連付けられていて、wlcs_customer
RDBMS グループのメンバーでは正しく実行できないので、このように変更する必要があります。
注意 : このコンフィグレーションを実行するには、この割り当てがデフォルトの LDIFT ファイルから削除されている必要があります。つまり、LDAP 情報を含むサーバ ディレクトリを削除すると、これらの手順をもう一度実行する必要があります。
CustomerRole セキュリティ ロールを wlcs_customer
RDBMS グループに関連付けるには、以下の手順を実行します。
dn: cn=::CustomerRole,ou=ERole,ou=@realm@,dc=@domain@
objectclass: top
objectclass: ERole
cn: ::CustomerRole
EExpr:: Z3dsY3NfY3VzdG9tZXIK
<ns1:group name="wlcs_customer">
<ns1:roleMemberOf ref="CustomerRole"/>
</ns1:group>
<ns1:role name="CustomerRole" description="View/modify the wlcs customer settings"/>
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 のすべてのシステム ユーザまたはグループに当てはまります。
![]() ![]() |
![]() |
![]() |