Skip navigation.

WebLogic Portal での WSRP の使用

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

プロデューサの操作

この章では、WebLogic Server ドメインまたは WebLogic Express ドメインで実行されているアプリケーションでの WSRP の使用方法の説明に重点を置きます。また、WebLogic Workshop を使用して WebLogic Server ドメインにプロデューサをインストールする方法と、プロデューサ アプリケーションにデプロイされているどのポートレットをコンシューマが使用できるようにするかを指定する方法も説明します。

この章では、以下のトピックについて説明します。

 


基本的な WebLogic Server ドメインでの WSRP の使用

この節では、基本的な WebLogic Server ドメインを WSRP プロデューサとしてコンフィグレーションする方法を説明します。この節の例では、機能する Struts モジュールが WebLogic Server ドメインにデプロイされていることが前提になっています。

注意 : この節の手順を完了するには、WebLogic Portal インストールに含まれる特定の JAR ファイルへのアクセスが必要です。WebLogic Portal がインストールされていない場合は、BEA Systems Web サイトにある無料のインストーラを入手し、WebLogic Portal を個別の一時的な場所にインストールすることをお勧めします。こうすることで、必要な JAR ファイルをプロデューサの Web アプリケーションにコピーして、その一時インストール場所を削除できます。

この手順の目的は、リモートで使用できるポートレットをプロデューサに作成することです。そのためには、Struts アプリケーションのコンフィグレーションを変更し、適切な JAR ファイルと TLD ファイルをアプリケーションにコピーし、アプリケーションが含まれる Struts モジュールを参照するポートレットを作成する必要があります。

この手順に従うと、図 4-1 のように、Struts アプリケーションを、WebLogic Portal アプリケーションが使用できるリモート ポートレットとして公開できます。

図 4-1 WebLogic Server プロデューサの Struts ポートレットを使用する WebLogic Portal コンシューマ


 

この節の内容は以下のとおりです。

はじめに

プロデューサをコンフィグレーションする前に、次の手順を完了していることが前提となります。

注意 : この手順は、経験豊富な Struts および WebLogic Portal 開発者のみが実行することをお勧めします。単純な間違いをしやすく、トラブルシューティングが困難になるおそれがあります。可能な限り、進行状況をテストする方法を提示します。

すでに説明したように、プロデューサをコンフィグレーションする前に、WebLogic Server 環境にデプロイして正常に実行できる Struts モジュールがあることが必須です。Struts アプリケーションが Struts モジュールとしてコンフィグレーションされている必要があります。Struts モジュールのコンフィグレーションの詳細については、Struts のドキュメントを参照してください。基本的に、モジュールは Web アプリケーションのサブディレクトリにあり、固有の struts-config.xml ファイルを持っています。パスは通常、web.xml ファイルで指定されます。

ヒント : Struts アプリケーションを WSRP 環境で使用する前に、アプリケーションを、WebLogic Portal ドメインで動作するローカル ポートレットに変換してみてください。テスト環境で Struts アプリケーションをローカルのスタンドアロン ポートレットに変換できた場合は、WSRP で正常に動作する可能性が高くなります。そのためには、WebLogic Workshop が必要です。BEA Web サイトから無料の WebLogic Workshop 開発者バージョンをダウンロードできます。WebLogic Workshop を使用して Struts アプリケーションをポートレットに変換する方法については、「Struts アプリケーションをポータルに統合する」を参照してください。

WSRP プロデューサのコンフィグレーション

この節では、基本的な WebLogic Server ドメインを WSRP プロデューサとしてコンフィグレーションする方法を説明します。この手順の目的は、Struts アプリケーションを、WebLogic Portal アプリケーションが使用できるリモート ポートレットとして公開することです。

WebLogic Server ドメインの CLASSPATH の変更

注意 : WSRP を使用して Struts ポートレットを公開する場合は、基礎となるアプリケーションがモジュールとしてコンフィグレーションされ、適切に動作することを確認してから、WSRP プロデューサをコンフィグレーションしてください。WebLogic Workshop を使用して、機能するローカル ポートレットを作成してみることもお勧めします。この推奨事項の詳細については、「はじめに」を参照してください。

  1. WebLogic Server ドメインの CLASSPATH を変更します。次のスクリプト ファイルを開きます。

Windows の場合 : DOMAIN_HOME\startWebLogic.cmd

Linux の場合 : DOMAIN_HOME/startWebLogic.sh

CLASSPATH 定義を探し、次の要素を追加します。

注意 : CLASSPATH 要素内に改行がないことを確認してください。CLASSPATH にすでに割り当て済みの要素を削除しないでください。

Windows の場合 :

%JAVA_HOME%\jre\lib\rt.jar;
%WL_HOME%\server\lib\webservices.jar;
%WL_HOME%\portal\lib\wsrp\wsrp-common.jar;
%WL_HOME%\server\lib\xbean.jar;
%WL_HOME%\server\lib\wlxbean.jar;
%WL_HOME%\portal\lib\netuix\system\netuix_schemas.jar;
%WL_HOME%\portal\lib\netuix\system\netuix_system.jar;
%WL_HOME%\server\lib\knex.jar;
%WL_HOME%\javelin\lib\javelin.jar
%WL_HOME%\common\lib\log4j.jar

Linux の場合 :

$JAVA_HOME/jre/lib/rt.jar;
$WL_HOME/server/lib/webservices.jar;
$WL_HOME/portal/lib/wsrp/wsrp-common.jar;
$WL_HOME/server/lib/xbean.jar;
$WL_HOME/server/lib/wlxbean.jar;
$WL_HOME/portal/lib/netuix/system/netuix_schemas.jar;
$WL_HOME/portal/lib/netuix/system/netuix_system.jar;
$WL_HOME/server/lib/knex.jar;
$WL_HOME/javelin/lib/javelin.jar
$WL_HOME/common/lib/log4j.jar

コード リスト 4-1 は、Windows システムの変更後の CLASSPATH の例を示します。

コード リスト 4-1 Windows の CLASSPATH の例

CLASSPATH=%WEBLOGIC_CLASSPATH%;%POINTBASE_CLASSPATH%;%JAVA_HOME%\jre\lib\
rt.jar;%WL_HOME%\server\lib\webservices.jar;%WL_HOME%\portal\lib\wsrp\
wsrp-common.jar;%WL_HOME%\server\lib\xbean.jar;%WL_HOME%\server\lib\
wlxbean.jar;%WL_HOME%\portal\lib\netuix\system\netuix_schemas.jar;
%WL_HOME%\portal\lib\netuix\system\netuix_system.jar;%WL_HOME%\server\
lib\knex.jar;%WL_HOME%\javelin\lib\javelin.jar;%WL_HOME%\common\lib\
log4j.jar;%CLASSPATH%
  1. CLASSPATH に追加したポータル固有のディレクトリを作成し、その中に適切な JAR ファイルをコピーします。WebLogic Portal がインストールされていない場合は、一時的な場所に WebLogic Portal をインストールし、そこから JAR をコピーする必要があります。インストーラの入手の詳細については、この節の最初の注意書きを参照してください。たとえば、JAR ファイル (wsrp-common.jar、netuix_schemas.jar、netuix_system.jar) がシステム上の CLASSPATH で参照されている場所に存在する必要があります。
  2. チェックポイント : サーバを再起動して、起動スクリプトが正常に機能することを確認します。Struts アプリケーションがデプロイされ、機能することも確認してください。

Struts アプリケーションの変更

この節では、Struts アプリケーションを変更します。このプロセスには、コンフィグレーション ファイルの変更と、アプリケーション内でのファイルの追加/置き換えが含まれます。コンフィグレーション ファイルは、BEA 固有のクラスおよびタグ ライブラリ ファイルを参照するように更新する必要があります。アプリケーションが WSRP 環境内で機能するためには、これらのコンポーネントが必須です。たとえば、BEA タグ ライブラリは、ポートレットの URL 書き換えが適切に処理されるようにします。

  1. Struts アプリケーションのルート フォルダを新しいフォルダにコピーすることをお勧めします。これで、新しいコピーに変更を加えても、元のフォルダをそのまま保存しておくことができます。
  2. Struts アプリケーションの web.xml ファイルを次のように変更します。

Web アプリケーションの web.xml ファイルに、以下の要素が存在することを確認します。いずれかの要素が不足している場合は、追加する必要があります。

<!-- WSRP Servlet configuration -->
<servlet>
<servlet-name>com.bea.wsrp.producer.WsrpServer</servlet-name>
<servlet-class>com.bea.wsrp.producer.WsrpServer</servlet-class>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet>
<servlet-name>com.bea.wsrp.logging.MessageMonitor</servlet-name>
<servlet-class>com.bea.wsrp.logging.MessageMonitor</servlet-class>
<init-param>
<param-name>enableSoapMessageLogging</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<!-- WSRP Servlet mapping -->
<servlet-mapping>
<servlet-name>com.bea.wsrp.producer.WsrpServer</servlet-name>
<url-pattern>/producer/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>com.bea.wsrp.logging.MessageMonitor</servlet-name>
<url-pattern>/monitor</url-pattern>
</servlet-mapping>
<!-- Standard Action Servlet Configuration (with debugging) -->
<servlet>
...
   <init-param>
<param-name>moduleConfigLocators</param-name>
<param-value>com.bea.struts.adapter.util.ModuleConfigLocator</param-value>
</init-param>
...
</servlet>
<!-- WSRP Struts Adapter Tag Library Descriptors --> 
<taglib>
<taglib-uri>/WEB-INF/struts-html.tld</taglib-uri>
<taglib-location>/WEB-INF/lib/struts-adapter-html.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/struts-nested.tld</taglib-uri>
<taglib-location>/WEB-INF/lib/struts-adapter-nested.tld</taglib-location>
</taglib>
<!-- Struts Tag Library Descriptors --> 
<taglib>
<taglib-uri>/tags/struts-bean</taglib-uri>
<taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/tags/struts-logic</taglib-uri>
<taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
</taglib>
<!-- COMMENTED in favor of WSRP adapter Tag Libraries -->
<!--
<taglib>
<taglib-uri>/tags/struts-html</taglib-uri>
<taglib-location>/WEB-INF/struts-html.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/tags/struts-nested</taglib-uri>
<taglib-location>/WEB-INF/struts-nested.tld</taglib-location>
</taglib>
-->
  1. 以下の TLD ファイルを Struts アプリケーションの WEB-INF\lib ディレクトリにコピーします。
  1. 以下の JAR ファイルを Struts アプリケーションの WEB-INF\lib ディレクトリにコピーします。
  1. 以下の JAR ファイルを Struts アプリケーションの WEB-INF\lib ディレクトリにコピーします。
  1. チェックポイント : ここで、サーバを起動し、Struts アプリケーションを再デプロイして、動作するかどうかをテストします。アプリケーションが適切に動作しない場合、これまでの手順を再確認する必要があります。
  2. コード リスト 4-2 の内容をコピーし、Struts アプリケーションの WEB-INF ディレクトリにある wsrp-producer-config.xml というファイルに貼り付けます。

コード リスト 4-2 wsrp-producer-config.xml

<?xml version="1.0" encoding="UTF-8"?>
<wsrp-producer-config
    xmlns="http://www.bea.com/servers/weblogic/wsrp-producer-config/8.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.bea.com/servers/weblogic/wsrp-producer-config/8.0 wsrp-producer-config.xsd">
    <description>
       This is a WSRP Producer
    </description>
    <!-- この要素は、このプロデューサの機能を記述します。この
    プロデューサで提供するすべてのポートを SSL 経由にする必要がある場合は、secure 属性を
    "true" に設定します。この Web アプリケーションがポータルに対応している場合は、
    required 属性を "true" に設定して、登録およびポートレット管理サービスを
    有効にすることができます。-->
    <service-config>
        <registration required="false" secure="false"/>
        <service-description secure="false"/>
        <!-- コンシューマが WebLogic Portal の場合は、        accepts-mime を true に設定するとアップロードされたファイルがより効率的に処理されます。-->
        <markup secure="false" rewrite-urls="true" 
         transport="string" accepts-mime="false"/>
        <portlet-management required="false" secure="false"/>
    </service-config>
    <supported-locales>
        <locale>en</locale>
        <locale>en-US</locale>
    </supported-locales>
</wsrp-producer-config>

注意 : registration requiredportlet-management required パラメータが false に設定されていることを確認してください。

  1. 次の行を、Struts モジュールの struts-config.xml ファイルに追加します。
<controller processorClass=
"com.bea.struts.adapter.action.AdapterRequestProcessor"/>
  1. リモート ポートレットとしてコンシューマに公開する Struts アクションを表すポートレットを作成します。.portlet ファイルのポートレットを、公開するモジュールを含むディレクトリに置きます。
  2. たとえば、/echo サブディレクトリの echo というモジュールに welcome.do アクションがある場合、ポートレット ファイルは次のようになります。

コード リスト 4-3 ポートレットの例

<?xml version="1.0" encoding="UTF-8"?>
<portal:root xmlns:html="http://www.w3.org/1999/xhtml-netuix-modified/1.0.0"
xmlns:netuix="http://www.bea.com/servers/netuix/xsd/controls/netuix/1.0.0"
xmlns:portal="http://www.bea.com/servers/netuix/xsd/portal/support/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.bea.com/servers/netuix/xsd/portal/support/1.0.0 portal-support-1_0_0.xsd">
<netuix:portlet definitionLabel="portlet_sayHello" title="WSRP Echo      Example">
<netuix:titlebar>
<netuix:minimize/>
<netuix:maximize/>
</netuix:titlebar>
<netuix:content>
<netuix:strutsContent action="welcome" module="/echo"/>
</netuix:content>
</netuix:portlet>
</portal:root>
  1. チェックポイント : サーバを起動し (実行されていない場合)、Struts アプリケーションを再デプロイして、適切に機能することを確認します。

プロデューサのテスト

この節では、プロデューサ コンフィグレーションのテスト手順を説明します。

  1. 新しい CLASSPATH 設定で WebLogic Server を起動します。
  2. WebLogic Server Console を使用して Struts Web アプリケーションをデプロイ (または再デプロイ) します。
  3. Web ブラウザを開き、公開する Struts Web モジュールをテストします。モジュールが正常に動作することを確認します。
  4. ブラウザに WSDL URL を入力して WSRP プロデューサをテストします。たとえば、Struts アプリケーションの名前が myStrutsApp の場合、WSDL URL は次のようになります。
  5. http://host:port/myStrutsApp/producer?wsdl

    host はサーバ マシンの IP アドレス、port はサーバのリスン ポート番号、myStrutsApp は Struts Web アプリケーションのルート名です。

    このテストが成功した場合、図 4-2 のような XML Web サービス WSDL ファイルが返されます。

    図 4-2 XML Web サービス WSDL ファイル


     

プロデューサ ポートレットの使用

  1. 別のマシンで WebLogic Portal ドメインを作成します。これは、WebLogic Configuration Wizard を使用して実行できます。別のマシンを使用できない場合は、サーバのリスン ポートとプロデューサ サーバが使用するポートが衝突しないようにしてください。必要に応じて、BEA Web サイトにアクセスして無料の WebLogic Portal 開発者バージョンを入手できます。
  2. WebLogic Workshop でポータル アプリケーションを作成し、新しい WebLogic Portal ドメインに関連付けます。必要に応じて、BEA Web サイトにアクセスして無料の WebLogic Workshop 開発者バージョンを入手できます。
  3. アプリケーションに新しいポータル Web プロジェクトを作成します。このアプリケーションがコンシューマ アプリケーションです。
  4. コンシューマ アプリケーションにポータルを作成します。
  5. コンシューマをホストするサーバを起動します。
  6. 作成したポータル Web プロジェクトにリモート ポートレットを作成します。WSDL がプロデューサの Struts アプリケーションを指すように設定します。次に例を示します。
  7. http://producerHost:producerPort/StrutsApp/producer?WSDL

    上記の producerHost:producerPort は、プロデューサをホストするマシンの IP アドレスとポート番号であり、StrutsApp は、公開するプロデューサ ポートレットが保存されている Struts アプリケーションのコンテキスト ディレクトリの名前です。

  8. コンシューマで、リモート ポートレットをポータルに追加し、ポータルを開きます。ポータルに、プロデューサで作成した Struts ポートレットが表示されます。

 


WebLogic Express サーバ ドメインでの WSRP の使用

WebLogic Express (WLX) サーバ ドメインを WSRP プロデューサとしてコンフィグレーションできます。そのためには、「基本的な WebLogic Server ドメインでの WSRP の使用」にある手順と同じ手順を実行します。プロデューサとしてコンフィグレーションする手順は、WLX ドメインも WebLogic Server ドメインも同じです。

 


プロデューサでのポートレットの使用可能化

プロデューサに基づいて、いくつでもポートレットを作成でき、数千に及ぶ場合もあります。デフォルトでは、これらのすべてのポートレットが、コンシューマにとってリモート ポートレットとして使用可能になります。ただし、ポートレット プロパティ エディタで offerPortlets プロパティを設定することで、コンシューマが実際に使用できるポートレットを指定できます。

図 4-3 プロキシ ポートレット プロパティ エディタ - [リモートとして提供] プロパティを選択した状態


 

このプロパティの設定方法については、次の URL にある WebLogic Workshop オンライン ヘルプ システムの「ポートレットをリモートで使用可能/不可にする」を参照してください。

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

 

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