• 検索結果がありません。

0 に対する に対する に対する に対する WebSphere の拡張機能 の拡張機能 の拡張機能 の拡張機能

Cookie

JSP 1. 0 に対する に対する に対する に対する WebSphere の拡張機能 の拡張機能 の拡張機能 の拡張機能

WebSphere Advanced Edition 3.5.3には、基本のAPIに対する拡張機能がいくつか用意され

ています。これらの拡張機能は、可変データ用のタグおよびデータベース・アクセス用のタ グとして分類されています。

可変データ用のタグは次のとおりです。

<tsx:repeat> - これは、前述の<REPEAT>に類似したタグで、HTMLテーブルの作成 に便利です。

<tsx:getProperty> - このタグは、Sun社のJSPタグ<jsp:getProperty>の拡張機 能です。これは<jsp:getProperty>に類似しており、拡張機能である

<tsx:dbquery>または<tsx:dbmodify>を使用して作成されたデータベースBean をイントロスペクトする機能が追加されました。

データベース・アクセス用のタグは次のとおりです。

(これらのタグは、JSPからデータベース接続に接続し、その接続を使用してデータベースの 問合せや更新を行う場合に便利です。データベース接続に使用するユーザーIDとパスワー ドは、ユーザーが要求時に入力するか、JSPファイルにハードコーディングされます。)

<tsx:dbconnect> - このタグは、JSPページをJDBC経由でデータベースに接続できる ようにします。データベース接続を確立する際に、dbconnectタグを直接使用するこ とはありません。そのかわり、<tsx:dbquery>タグと<tsx:dbmodify>タグを使用 して、同じJSPファイル内の<tsx:dbconnect>が参照され、データベースへの接続 が確立されます。これは、一連のデータソースの設定を行うアプリケーション・サー バー・レベルでの処理とは異なります。

<tsx:userid>および<tsx:passwd> - これらのタグによって、JSPページはユーザー が入力した値を受け付けて、そのデータをリクエスト・オブジェクトに追加できます。

このリクエスト・オブジェクトは、Account.jspなど、データベース接続を要求する JSPファイルからアクセスされます。この2つのタグは、<tsx:dbconnect>タグ内で 使用する必要があります。

<tsx:dbquery> - このタグは、同じJSPファイル内の<tsx:dbconnect>タグで指定 された情報を使用してデータベースへの接続を確立し、データベースに問い合せて結果 セットを返すために使用します。この結果セットは、結果オブジェクトにキャッシュさ れます。操作の最後に接続が切断されます。

<tsx:dbmodify>:<tsx:dbconnect> - このタグは、データベースと新たに接続し、

データベース表を更新するために使用します。また、このタグは、データベース接続情 報を取得し、操作の最後に接続を切断するという点で、<tsx:dbquery>に類似してい ます。

OC4J JSP の機能 の機能 の機能 の機能

Oracle Application Serverは、市場でトップクラスの高速JSPエンジンを搭載しています。

さらに、グローバリゼーションやSQLJのサポートなど、付加価値機能と拡張機能も各種用 意されています。OC4Jを初めて搭載したリリースのOracle Application Server、すなわち

Oracle9iAS 1.0.2.2では、2つのJSPコンテナがありました。オラクル社が開発したコンテナ

(旧名OracleJSP)と、Ironflare AB社から使用許諾を受けたコンテナ(旧名Orion JSPコン

テナ)です。

Oracle Application Server 10gでは、OC4J JSPコンテナと呼ぶ1つのJSPコンテナにこれら

のコンテナが統合されました。この新しいコンテナは、OC4Jサーブレット・コンテナの サーブレットとして効率的な実行が可能であり、また他のOC4Jコンテナとの緊密な統合が 可能であるなど、それぞれの旧バージョンの長所を備えています。この統合コンテナは、主

としてOracleJSPトランスレータ、簡略化された新しいディスパッチャで実行されるOrion

コンテナ・ランタイム、およびOC4J 1.0.2.2コア・ランタイム・クラスで構成されています。

その結果、標準のJSP仕様を超える機能を備えた、市場でトップクラスの高速なJSPエンジ ンとなりました。

OC4J JSPでは、カスタム・タグ・ライブラリ、カスタムJavaBeansおよびカスタム・クラス

による次の拡張機能を利用できます。通常、これらの拡張機能は他のJSP環境に移植できま す。

スコープの指定が可能なJavaBeansとして実装された拡張タイプ

イベント処理用のJspScopeListener

カスタム・タグによるXMLおよびXSLとの統合

データアクセスJavaBeans

JSP開発に必要なJavaの技能レベルを軽減するOracle JSP Markup Language(JML)カ スタム・タグ・ライブラリ

OC4J JSPには、接続プーリング・タグ、XMLタグ、EJBタグ、ファイル・アクセス・

タグ、電子メール・タグ、キャッシュ・タグ、OracleAS Personalizationタグ、

OracleAS Ultrasearchタグ、およびSQL機能のカスタム・タグ・ライブラリが組み込ま

れています。

コンテンツ配信ネットワークのエッジ・サーバーで使用して、Webコンテンツにインテ リジェントなキャッシュ・ソリューションを提供するEdge Side Includes for Java

(JESI)タグ、Web Object CacheタグおよびAPI(以降の各項目を参照)

関連項目関連項目関連項目

関連項目: JSPタグのカスタム・ライブラリの詳細は、『Oracle Application

Server Containers for J2EE JSPタグ・ライブラリおよびユーティリティ・リ

ファレンス』を参照してください。

Edge Side Includes for Java( ( ( (JESI)タグ )タグ )タグ )タグ

OC4Jのファイングレイン・コントロールを使用すると、開発者はJSPページの断片を各タ グにキャッシュできます。これらの断片はOracleAS Web Cacheにキャッシュして自動的に 無効化し、JSP変更時にリフレッシュできます。この処理は、Edge Side Includes(ESI)と いうテクノロジに支えられています。これはW3C規格のXMLスキーマ/マークアップ言

語で、Web Cacheでの動的コンテンツのキャッシュやエッジ・ネットワークでの動的コンテ

ンツの作成を可能にするものです。この動的コンテンツをキャッシュすることにより、JSP やサーブレットを実行する必要性が減ります。その結果、パフォーマンスの向上、アプリ ケーション・サーバーのオフロード、待機時間の短縮が実現します。JESI(JSP、ESI)タグ のレイヤーはEdge Side Includes(ESI)フレームワークの一番上に位置し、JSPアプリケー ションでESIキャッシュ機能を利用できます。JESIタグを使用すると、JSPページの動的コ ンテンツをキャッシュ可能なコンポーネントまたは断片に分解できます。

Web Object Cache タグ タグ タグ タグ

Web Object Cacheは、Oracle Application Serverの機能で、JSPまたはサーブレットによっ

て生成された部分結果や中間結果の取得、格納、再利用、後処理およびメンテナンスを、

Javaで作成したWebアプリケーションで実行可能にするものです。プログラム・インタ フェースでは、タグ・ライブラリ(JSPページ用)とJava API(サーブレット用)を利用で きます。キャッシュ内のオブジェクトを構成するものとしては、HTML断片、XML断片、

XML DOMオブジェクト、シリアライズ可能なJavaオブジェクトなどが考えられます。こ

れらのオブジェクトをメモリーにキャッシュすると、キャッシュ内のオブジェクトに対し て、次のような各種操作を実行できます。

ユーザー・プロファイルまたは格納されているXMLのデバイス特性に基づく各種XSLT の適用

クライアントへの電子メール送信に使用するSMTPなど、HTTP外部のキャッシュ内の オブジェクトの再利用

Oracle JDeveloper と と と と OC4J JSP コンテナ コンテナ コンテナ コンテナ

Oracle JDeveloperはOC4J JSPコンテナと統合され、JSPページの編集、ソース・レベルで

のデバッグおよび実行から成るJSPアプリケーションの開発サイクルを完全にサポートして います。また、データ対応およびWeb対応のJavaBeans(JDeveloper Web Beans)も広範に 利用できます。またJSPエレメント・ウィザードが用意されており、事前定義されたWeb

Beansを容易にページに追加できます。JDeveloper独自の機能もあり、開発者にご好評をい

ただいています。JDeveloperでは、JSPページ・ソース内にブレーク・ポイントを設定し て、JSPページからJavaBeansへのコールを追跡できます。この方法は、JSPページ内に出 力文を追加し、ブラウザ表示のために状態を応答ストリームに出力したり、状態をサー バー・ログに出力する手動デバッグ手法よりもはるかに便利です。

WebSphere JSP 0.91 からの移行 からの移行 からの移行 からの移行

この項では、WebSphere JSP 0.91ファイルをOC4Jに移行する方法を説明します。

<REPEATGROUP> タグ タグ タグ タグ

1. <REPEATGROUP>タグを含んだJSP 0.91ファイルを移行する場合は、このタグを変更す る必要があります。このタグは、データベースで論理的にグループ化されているデータ に対して、HTMLのブロックを繰り返す場合に使用します。

2. <SERVLET>タグを<jsp:include>タグに置き換えます。

たとえば、次のタグを変更します。

<SERVLET CODE="com.samples.test.TestServlet"></SERVLET>

これを次のように変更します。

<jsp:include page="/servlet/com.samples.test.TestServlet" />

3. WebSphere <BEAN>タグを<jsp:useBean>タグに置き換えます。

次の例で示すのは、JSPの標準タグに移行する<BEAN>タグです。

<BEAN NAME="AccountDBBean"

TYPE="com.test.AccountDBBean"

CREATE="YES"

INTROSPECT="YES"

SCOPE="request">

<PARAM NAME="userID" VALUE="wsdemo">

</BEAN>

OC4Jに移行すると、このタグが次のタグに置換されます。

<jsp:useBean id="AccountDBBean"

type="com.test.AccountDBBean"

class="com.test.AccountDBBea"

scope="request"/>

<jsp:setProperty name="AccountDBBean"

property="userID"

value="wasdemo" />

CREATE="YES"という明示的な属性が削除されることに注意してください。これ は、id属性で指定された名前を持つBeanが指定のスコープ内で見つからなかった

場合に、class属性に従ってBeanのインスタンスが作成されるためです。JSPの

NAME属性は、JSP 1.0のid属性に対応します。INTROSPECT属性はなくなりまし

た(JSP 0.91のリクエストとセッションのスコープは、JSP 1.0に引き継がれます)。

指定されたスコープ内にBeanがすでに存在する場合、class属性は不要です。た だし、指定されたスコープ内にBeanが存在しない場合にclass属性を指定しない と、Beanの新しいインスタンスを作成する際にエラーが発生します。

4. Beanのプロパティを設定します。

JSP 0.91では、<BEAN>タグ内で<PARAM>タグを使用することで、Beanのプロパティ を指定します。JSP 1.0では、<jsp:useBean>タグの外側で<jsp:setProperty>タ グを使用する必要があります。<jsp:setProperty>内でname属性を使用し、

<jsp:useBean>内のid属性で特定されるBeanを指定することで、既存のBeanのプ ロパティ設定にリンクできます。同様に、<jsp:getProperty>タグを使用すること で、Beanのプロパティ値を取得できます。

WebSphere の拡張機能の の拡張機能の の拡張機能の の拡張機能の OC4J への移行 への移行 への移行 への移行

tsxタグ・ライブラリに定義されたWebSphere固有のカスタム・タグを使用するJSPを OC4Jに移行するには、2つの方法があります。

ページ数が多く、すべてのJSPファイルを変更する作業が煩雑である場合は、

WebSphereのタグ・ライブラリを使用し、それをOC4Jにデプロイできます。

可能なかぎり、OCJ JSPタグ・ライブラリを使用して、JSPソース・ファイルを編集しま す。

次のコード例は、Oracle JSP Markup Language(JML)タグ・ライブラリを使用して

WebSphereのJSP拡張機能をOC4Jに移行する方法を示しています。

<REPEAT> タグまたは タグまたは タグまたは タグまたは <tsx:repeat> タグ タグ タグ タグ

WebSphereが提供するこれらのタグは、HTMLブロックを指定の回数だけループするため

のもので、JSPページ内にJavaのforループを記述するかわりに使用します。Oracle JML タグ・ライブラリには、同じ機能を持つ<jml:for>タグがあります。このタグの構文は次 のとおりです。

<jml:for id = " loopVariable"

from = "<%= jspExpression %>"

to = "<%= jspExpression %>" >

... body of for tag (executed once at each value of range, inclusive)...

</jml:for>