38
1 Oracle Developer R6i Oracle9iAS Forms Services Patch7紹介資料 Creation Date: Nov. 20, 2001 Version: 1.0 本ドキュメントは20011122日にリリースされた、 Oracle9i Application Server R1.0.2.2に含まれる Oracle Developer R6i Patch7の紹介資料です。本ドキュメントは英語版のホワイトペーパー (『 Oracle9i Application Server Forms Services Forms6i Patch7: Oracle Forms Listener Servlet for Deployment of Forms on the Internet』)および、日本オラクル社内での動作検証もとに作成し たものです。 ここでは、 Oracle Forms Services R6iの新機能である Oracle Forms Listener サーブレットのアーキテ クチャをより深く理解していただくために、 Oracle Forms Listener サーブレットを Javaのサーブレットと いう観点から簡単にします。そして、 Oracle Developer R6i Patch4以降、 Patch7までに追加および拡 張された機能について説明します。また、 Patch5より、 Oracle Forms Developer R6i を使用し作 成されたFormsアプリケーションを Oracle Portalの外部アプリケーションとして登録することにより、シ ングル・サイン・オンにより Formsアプリケーションを実行可能になります。ここではこの機能を使用す るための基本的な設定方法を紹介します。 このドキュメントは、スライドは各機能の概念を伝えることを主として作成されています。また、各スライ ドのノート部分には各機能の解説と、使用における注意事項等を記載しています。前述のホワイトペ ーパーとともに活用する事により、より効率的に作業を進められるように構成されています。 また、本ドキュメントで紹介されている機能は、アメリカでリリースされたPatch56で利用可能になっ たものもあります。しかし、日本でのリリースを考慮し、またそれらの機能はPatch7を適用する事により 使用できるので、本ドキュメントでは共通して「 Patch7」という表現を使用します。

Oracle Developer R6i Oracle9 AS Forms Servicesotndnld.oracle.co.jp/products/itools/developer/pdf/dev_6...ンを実行する場合、これまでベースHTMLファイルに記述されていたuseridの値(ユ

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Oracle Developer R6i Oracle9 AS Forms Servicesotndnld.oracle.co.jp/products/itools/developer/pdf/dev_6...ンを実行する場合、これまでベースHTMLファイルに記述されていたuseridの値(ユ

1

Oracle Developer R6iOracle9iAS Forms Services

Patch7紹介資料

Creation Date: Nov. 20, 2001Version: 1.0

本ドキュメントは2001年11月22日にリリースされた、Oracle9i Application Server R1.0.2.2に含まれるOracle Developer R6i Patch7の紹介資料です。本ドキュメントは英語版のホワイトペーパー(『Oracle9i Application Server Forms Services Forms6i Patch7: Oracle Forms Listener Servletfor Deployment of Forms on the Internet』)および、日本オラクル社内での動作検証もとに作成したものです。

ここでは、Oracle Forms Services R6iの新機能であるOracle Forms Listener サーブレットのアーキテクチャをより深く理解していただくために、Oracle Forms Listener サーブレットをJavaのサーブレットという観点から簡単にします。そして、Oracle Developer R6i Patch4以降、Patch7までに追加および拡張された機能について説明します。 また、Patch5より、Oracle Forms Developer R6i を使用し作成されたFormsアプリケーションをOracle Portalの外部アプリケーションとして登録することにより、シングル・サイン・オンによりFormsアプリケーションを実行可能になります。ここではこの機能を使用するための基本的な設定方法を紹介します。

このドキュメントは、スライドは各機能の概念を伝えることを主として作成されています。また、各スライドのノート部分には各機能の解説と、使用における注意事項等を記載しています。前述のホワイトペーパーとともに活用する事により、より効率的に作業を進められるように構成されています。

また、本ドキュメントで紹介されている機能は、アメリカでリリースされたPatch5、6で利用可能になったものもあります。しかし、日本でのリリースを考慮し、またそれらの機能はPatch7を適用する事により使用できるので、本ドキュメントでは共通して「Patch7」という表現を使用します。

Page 2: Oracle Developer R6i Oracle9 AS Forms Servicesotndnld.oracle.co.jp/products/itools/developer/pdf/dev_6...ンを実行する場合、これまでベースHTMLファイルに記述されていたuseridの値(ユ

2

Oracle Developer R6iOracle9iAS Forms Services

Patch7紹介資料

Creation Date: Nov. 20, 2001Version: 1.0

本ドキュメント内で使用される語句は、次のように略されています。

略語 正式名称

Developer R6i Oracle Developer R6i

Patchx(xはパッチ・リリースの番号です) Oracle Developer R6i Patchx

Oracle9i AS Oracle9i Application Server

Oracle9i DB Oracle9i Database

Forms Services Oracle Forms Services R6i

Forms Server Oracle Forms ServerR6i

(Forms ServicesとForms Serverは同コンポーネントです)

Forms Runtime Oracle Forms Services Runtime

Forms Listener Oracle Forms Server Listener

Forms サーブレット Oracle Forms Server サーブレット

Forms Listener サーブレット Oracle Forms Listener サーブレット

Page 3: Oracle Developer R6i Oracle9 AS Forms Servicesotndnld.oracle.co.jp/products/itools/developer/pdf/dev_6...ンを実行する場合、これまでベースHTMLファイルに記述されていたuseridの値(ユ

3

Agenda

� Patch7の概要

� Forms Listener サーブレットの紹介

� Pacth7による機能追加・拡張の紹介

このドキュメントでは、次の3部構成になっています。

• Patch7の概要:Patch7で提供される機能の概要、およびPatch7をインストールする際の注意点を説明します。

• Forms Listener サーブレットの紹介:Patch7でForms Listener サーブレットに追加・拡張された機能を理解する上で必要な事柄を簡単に説明します。

• Patch7による機能拡張の紹介:Patch4以降、Patch7まででForms Servicesに追加・拡張された機能を個々に説明します。

まず、始めにPatch7の概要を説明します。

Page 4: Oracle Developer R6i Oracle9 AS Forms Servicesotndnld.oracle.co.jp/products/itools/developer/pdf/dev_6...ンを実行する場合、これまでベースHTMLファイルに記述されていたuseridの値(ユ

4

Oracle Developer R6i リリースとOracle9iAS/DBとの対応

初期リリース Patch4 Patch7

9iASR1.0.2.1

9iASR1.0.2.2

9iDB R9.0.1.1

年/月2000/6 2001/4 2001/11

Patch7の概要

Oracle9iASOracle9iDB

への対応

Patch1 Patch2

2000/9 2001/1

9iASR1.0.2.0.1

このスライドでは、Developer R6iのリリースの流れと、Oracle9i ASとOracle9i DBとの対応を簡単に表しています。

2000年6月にDeveloper R6iの初期バージョンがリリースされました。

2000年9月にPatch1がリリースされ、このリリースからWindows2000に対応しています。

2001年1月より、Patch2がリリースされ、このリリースからOracle9i AS R1.0.2.0.1に対応しました。

2001年4月にOracle9iAS R1.0.2.1にPatch4が同梱されました。このPatch4より、Forms Listener サーブレットが追加されました。

2001年11月にOracle9i AS R1.0.2.2にPatch7が同梱されました。Oracle9i DB R9.0.1に対応します(アメリカでリリースされているパッチではPatch5から対応しています)。

このドキュメントで紹介するPatch7は、日本ではPatch4の次にリリースされるパッチとして位置づけられています。このPatch7には、アメリカでリリースされたPatch5、6で追加および拡張された機能もふくまれています。また、このPatch7はOracle9i AS R1.0.2.0以降に適用することが可能です。

Page 5: Oracle Developer R6i Oracle9 AS Forms Servicesotndnld.oracle.co.jp/products/itools/developer/pdf/dev_6...ンを実行する場合、これまでベースHTMLファイルに記述されていたuseridの値(ユ

5

2.セキュリティ/ネットワーク

1.実行環境

3.テスト/ログ 4.連携

•環境変数の個別設定•作業ディレクトリの設定•ランタイム実行可能ファイルの指定

Forms Listener サーブレット

Patch7における追加・拡張機能概要•Jinitiator+HTTPSモードでのパフォーマンス向上•Microsoft Native VM使用時の制約の解消•Port番号に対する制約の解消•Useridの隠蔽

•テスト機能の項目数を制御可能•セッション・レベルでの接続ログおよびパフォーマンス・ログの取得

•Oracle Portalとの連携によるシングル・サインオン

Patch7の概要

ここでは、Patch7において追加および拡張された機能を4種類に分けて説明します。

1.実行環境に関連するもの

• Forms Listener サーブレットのインスタンス毎に環境変数を設定することが可能になりました。特定のFormsアプリケーションとForms Listener サーブレットとを関連付けることにより、特定のFormsアプリケーションが使用する環境変数を他のFormsアプリケーションの環境変数を分けて管理することが可能になります。

• Forms Listener サーブレットによって起動されるForms Runtimeプロセスが作業ディレクトリとして使用するディレクトリを事前に設定しておく事が可能です。これにより、環境変数だけでなく個々のFormsアプリケーションが使用、参照、入出力するファイル等の管理も用意になります。

• Forms Listener サーブレットが起動、停止するForms Runtimeの実行可能ファイルを指定する事が可能になり、異なるバージョンのForms Runtimeプロセスを使用可能です。

2.ネットワークに関連するもの

• Jinitiatorを使用してのHTTPSモードにおいて、セッション管理が改善されこれにより、Formsアプリケーション実行時に接続が切断されてしまう事がなくなりました。

• MicrosoftのネイティブVMを使用してFormsアプリケーションを実行する場合、Cookieを使用する必要が無くなりました。

• Forms Listener サーブレットで複数ユーザーの接続を受ける場合、使用するポート番号を事前に定義せずOSと対話しポートを獲得します。これにより、Forms Listener サーブレットの構成時に、使用するポート番号の範囲を設定する必要はなくなり、管理がより効率的になりました。

• Forms サーブレットおよびForms Listener サーブレットを使用し、Formsアプリケーションを実行する場合、これまでベースHTMLファイルに記述されていたuseridの値(ユーザー名、パスワードそして接続文字列)が隠蔽されます。

Page 6: Oracle Developer R6i Oracle9 AS Forms Servicesotndnld.oracle.co.jp/products/itools/developer/pdf/dev_6...ンを実行する場合、これまでベースHTMLファイルに記述されていたuseridの値(ユ

6

2.セキュリティ/ネットワーク

1.実行環境

3.テスト/ログ 4.連携

•環境変数の個別設定•作業ディレクトリの設定•ランタイム実行可能ファイルの指定

Patch7における追加・拡張機能概要•Jinitiator+HTTPSモードでのパフォーマンス向上•Microsoft Native VM使用時の制約の解消•Port番号に対する制約の解消•Useridの隠蔽

•テスト機能の項目数を制御可能•セッション・レベルでの接続ログおよびパフォーマンス・ログの取得

•Oracle Portalとの連携によるシングル・サインオン

Patch7の概要

Forms Listener サーブレット

3.テスト/ログに関連するもの

• Forms Listener サーブレットには、その起動および設定の確認をするためのテストが用意されています。テスト項目は簡易テストあるいは詳細テストという分類で分けられており、簡易テストのみか詳細テストまで使用可能にするかどうかという設定が可能です。

• Forms Listener サーブレットを使用してFormsアプリケーションを実行する場合、Forms Listener サーブレットの使用を指定するserverURLにオプションを加えることでセッション・レベルで接続ログおよびパフォーマンス・ログの取得が可能です。

4.Oracle Portalとの連携に関連するもの

• Oracle Portalとログイン・サーバーを使用し、Forms アプリケーションを外部アプリケーションとして登録する事が可能です。ログイン・サーバーを利用する事によりポータル・サイトからFormsアプリケーションを実行するユーザーは、個々のFormsアプリケーションに対し1度ログイン情報(ログイン名、パスワード、接続文字列等)を入力するだけで、それ以降ポータルサイトからの実行時には再入力する必要がなくなります。

Page 7: Oracle Developer R6i Oracle9 AS Forms Servicesotndnld.oracle.co.jp/products/itools/developer/pdf/dev_6...ンを実行する場合、これまでベースHTMLファイルに記述されていたuseridの値(ユ

7

Patch7インストール時の注意事項

� Oracle Developer R6i (開発環境)への適用は標準およびカスタム・インストールで適用� Oracle9i Application Server Enterprise Editionの

Oracle_806ホームへのパッチの適用:– カスタム・インストールが必要

Patch7の概要

Patch7をDeveloper R6i(開発環境)へ適用する場合は、「標準」および「カスタム」でのインストールに問題はありません。

このPatch7をOracle9i ASのツール関連のOracleホーム(ここでは「Oracle_806」とします)へ適用する場合は次の方法でインストールしてください。

①「スタート」メニューから「ファイル名を指定して実行」から

D:¥setup.exe

を実行します。

(”D:"にはCDドライブに割り当てられたドライブ名を指定します。)

②言語は「English」を選択してください。

③「Typical Install」を選択し、インストールを実行します。

注意:

9iASの場合、デフォルトのポートはForms、Reports Serverそれぞれ9001、1950となります。

注意:

「NLS Subsystem could not be initialized」とメッセージが出た場合、「OK」ボタンを押し、無視して問題ありません。

④再度Patch7のOracle Installerを起動し、言語を「Japanese」へ戻します。

(その後Oracle Installerは終了してください)

Page 8: Oracle Developer R6i Oracle9 AS Forms Servicesotndnld.oracle.co.jp/products/itools/developer/pdf/dev_6...ンを実行する場合、これまでベースHTMLファイルに記述されていたuseridの値(ユ

8

Patch7インストール時の注意事項

� Oracle Developer R6i (開発環境)への適用は標準およびカスタム・インストールで適用� Oracle9i Application Server Enterprise Editionの

Oracle_806ホームへのパッチの適用:– カスタム・インストールが必要

Patch7の概要

⑤OSのシステムPathを上位3つが下記の順番になるようにPathの順番を編集、適用してください。

C:¥Oracle¥iSuites¥bin;C:¥Oracle¥806¥vbroker¥bin;C:¥Oracle¥806¥bin;

(ここでC:¥Oracle¥iSuitesはApachのORACLE_HOME、

C:¥Oracle¥806はDeveloper ServerのORACLE_HOMEをあらわしています。)

Pathの変更は

Windows NT:マイコンピュータを右クリックし、

プロパティ→環境→システム環境変数:Path

Windows 2000:マイコンピュータを右クリックし、

プロパティ→詳細→環境変数:Path

にて値を確認し、必要であれば、値を変更してください。

⑥Oracle Home SelectorなどでORACLE_HOMEがApachのORACLE_HOMEへ戻っていることを確認してください。

Oracle Home Selectorは

「スタート」ボタン→プログラム(P)→Oracle for Windows NT

にありますので、主ORACLEホームの名前が「iSuites」(ApachのORACLE_HOME)に変更されていることを確認します。

注意:

9iAS1.0.2.0に適用した場合は、下記の設定を行ってください。

Developer_ORACLE_HOME¥BIN(例:c:¥oracle¥806¥bin)にある

oracle.key

をテキストエディタで開き、レジストリ

¥¥HKEY_LOCAL_MACHINE¥SOFTWARE¥ORACLE¥IAS Install¥806 Home Key

の値と同じ値になるように編集してください。

Page 9: Oracle Developer R6i Oracle9 AS Forms Servicesotndnld.oracle.co.jp/products/itools/developer/pdf/dev_6...ンを実行する場合、これまでベースHTMLファイルに記述されていたuseridの値(ユ

9

Agenda

� Patch7の概要

� Forms Listener サーブレットの紹介

� Pacth7による機能追加・拡張の紹介

ここでは、Forms Listener サーブレットを使用してFormsアプリケーションをWeb環境で実行する場合の仕組みと、その場合に必要な設定項目を簡単に説明します。

また、ここで説明するサーブレットの知識は、Patch7でのForms Listener サーブレットの機能を理解するために必要な情報のみが含まれています。そのためPatch4の機能についての詳細は『Forms 6i Patch 4:Forms Listener サーブレットによるFormsのインターネットへの配布』を参照してください。

Page 10: Oracle Developer R6i Oracle9 AS Forms Servicesotndnld.oracle.co.jp/products/itools/developer/pdf/dev_6...ンを実行する場合、これまでベースHTMLファイルに記述されていたuseridの値(ユ

10

Forms Listener サーブレットでのForms実行

クライアント アプリケーション・サーバー

Oracle HTTP Server

データベース・サーバー

mod_JServ

Apache JServサーブレット・ゾーン

FormsListener サーブレットのインスタンス

Forms Listener サーブレットの紹介

Forms Runtimeプロセス

① ②

Forms Listener サーブレットは、これまでForms Serverのリスナーとして使用されたForms Listenerの代替として使用可能なJavaサーブレットです。

Forms Listener との大きな違いは、クライアントとForms Server間の通信は、すべてWebサーバー(Oracle HTTP Server)を経由して行われるところです。

Forms Listener サーブレットを使用して、Formsアプリケーションを実行する場合のメカニズムは以下の通りです。

①クライアントのWebブラウザからFormsの実行が要求されます。

②クライアントからの要求はすべてHTTP サーバーを経由して、Apache JServ上で実行されているForms Listener サーブレットに渡されます。

③Forms Listener サーブレットはForms Runtimeプロセスを起動し、Formsアプリケーションを実行します。その際、Forms RuntimeプロセスはNet8あるいはOracle NetによりOracle8i、Oracle9i データベース接続します。

このForms Listener サーブレットによるFormsアプリケーション実行において、アプリケーション・サーバー上にはApache JServを始めとする重要なコンポーネントがあります。

次のスライドでは、アプリケーション・サーバーを設定する際に重要な項目について説明します。

Page 11: Oracle Developer R6i Oracle9 AS Forms Servicesotndnld.oracle.co.jp/products/itools/developer/pdf/dev_6...ンを実行する場合、これまでベースHTMLファイルに記述されていたuseridの値(ユ

11

Apache JServ/Forms Listener サーブレットの設定

Oracle HTTP Server

mod_JServ

Apache JServ

JServ.conf

jserv.properties

zone.properties

Apache JServ上でForms Listener サーブレットを使用する場合、JServ.conf、jserv.properties、zone.propertiesファイルを編集して設定を行います。

mod_JServの設定

Apache JServの設定

サーブレット・ゾーンの設定

Forms Listener サーブレットの紹介

アプリケーション・サーバー上で重要となるコンポーネントは、mod_JServ、Apache JServです。ここではこれらのコンポーネントについて、Forms Listener サーブレットを実行するという観点から説明しています。

mod_JServ:

HTTPサーバーに送信されたクライアントの要求をApache JServへ渡す役割を果たします。

Mod_JServはJServ.confというファイルを編集して設定する事が可能です。このJServ.confファイルには、Apache JServを手動/自動起動するか、Apache JServは物理的にどこにあり(マシン名もしくはIPアドレスを指定)どのポートを指定して接続するのか、という項目について設定することが可能です。

Apache JServ:

サーブレットを実行するサーブレットエンジンです。

Apache JServはjserv.propertiesというファイルを編集して設定する事が可能です。このファイルには、Apache JServ上で実行するサーブレットに必要なクラスパス、環境変数等の設定を行います。また、このファイル内で、URL上の仮想ディレクトリとサーブレット・ゾーンのマッピングを行います(サーブレット・ゾーンについては次ページ参照)。

Page 12: Oracle Developer R6i Oracle9 AS Forms Servicesotndnld.oracle.co.jp/products/itools/developer/pdf/dev_6...ンを実行する場合、これまでベースHTMLファイルに記述されていたuseridの値(ユ

12

Apache JServ/Forms Listener サーブレットの設定

Oracle HTTP Server

mod_JServ

Apache JServ

JServ.conf

jserv.properties

zone.properties

Apache JServ上でForms Listener サーブレットを使用する場合、JServ.conf、jserv.properties、zone.propertiesファイルを編集して設定を行います。

mod_JServの設定

Apache JServの設定

サーブレット・ゾーンの設定

Forms Listener サーブレットの紹介

サーブレット・ゾーン:

Apache JServが持つ固有の論理的な領域で、物理的にはフォルダあるはディレクトリと対応しています。このサーブレット・ゾーン内で実行されるサーブレットのクラス・ファイルおよびJARファイル、対応している物理ディレクトリに格納されます。この対応している物理ディレクトリの事を、サーブレット・リポジトリとも呼びます。

サーブレット・ゾーンにはそれぞれプロパティ・ファイルがあります(上記スライドのzone.properties)。プロパティ・ファイル内でマッピングするサーブレット・リポジトリの絶対パス、各サーブレット・ゾーン内で実行されるサーブレットの初期化パラメータ等の設定が可能です。

これまでは、Patch7でForms Listener サーブレットに追加および拡張された機能をより良く理解するため、Forms Listener サーブレットによるFormsアプリケーションの実行の仕組み、Apache JServの構成を説明しました。

では、次にPatch7から利用可能となった機能、拡張された機能について説明します。

Page 13: Oracle Developer R6i Oracle9 AS Forms Servicesotndnld.oracle.co.jp/products/itools/developer/pdf/dev_6...ンを実行する場合、これまでベースHTMLファイルに記述されていたuseridの値(ユ

13

Agenda

� Patch7の概要

� Forms Listener サーブレットの紹介

� Pacth7による機能追加・拡張の紹介1.実行環境2.ネットワーク/セキュリティ

3.テスト/ログ

4.連携

ここでは、Patch7の概要で4つに分類した追加・拡張機能について紹介します。そして、各分類小目で紹介する機能については以下の通りです。

1.実行環境lForms Listener サーブレット毎の環境変数の個別設定l作業ディレクトリの設定lランタイム実行可能ファイルの指定

2.ネットワーク/セキュリティlHTTPSモードでの改善lポート番号についての制約の解消luseridの隠蔽

3.テスト/ログlForms Listener サーブレットのテスト機能拡張lセッション・レベル・ログの取得

4.連携

•Oracle Portalとの連携によるシングル・サインオン

Page 14: Oracle Developer R6i Oracle9 AS Forms Servicesotndnld.oracle.co.jp/products/itools/developer/pdf/dev_6...ンを実行する場合、これまでベースHTMLファイルに記述されていたuseridの値(ユ

14

Forms Listener サーブレットの環境変数の設定(Patch4)

Apache JServ

jserv.properties

環境変数の反映の流れjserv.properties→Apache JServ→zone.properties→Forms Listener サーブレット→Forms Runtime プロセス

1つのApache JServにつき、1組の環境変数が設定可能

Forms Listener サーブレット毎の環境変数の個別設定1.実行環境

wrapper.evn=PATHwrapper.env=ORACLE_HOMEwrapper.env=FORMS60_PATH

Patch7では、Forms Listener サーブレットのインスタンス毎の環境変数が設定可能となりました。このことをより良く理解するために、上のスライドではPatch4での環境変数の設定の仕組みがどの様になっていたかを簡単に説明しています。

あるApache JServ上のサーブレット・ゾーンで実行されるサーブレットを想定します(ここではForms Listener サーブレットを想定しています)。このサーブレットが参照する環境変数はそのApache JServのプロパティ・ファイル内で設定します。このため、このApache JServ上で実行されるサーブレットの全ては、プロパティ・ファイルに設定された一組の環境変数を参照します。

つまり、Formsアプリケーションを異なる環境変数を(例えば異なるOracleホームを)使用して実行する場合は、Apache JServを複数使用し、それぞれのプロパティ・ファイルで異なる環境変数の組を設定する必要がありました。

Page 15: Oracle Developer R6i Oracle9 AS Forms Servicesotndnld.oracle.co.jp/products/itools/developer/pdf/dev_6...ンを実行する場合、これまでベースHTMLファイルに記述されていたuseridの値(ユ

15

Forms Listener サーブレットの環境変数の設定(Patch7以降)①

Apache JServ

jserv.properties

wrapper.evn=PATHwrapper.env=ORACLE_HOMEwrapper.env=FORMS60_PATH

.env ファイルPATHORACLE_HOMEFORMS60_PATH

.env ファイルPATHORACLE_HOMEFORMS60_PATH

サーブレットのインスタンスに対して環境変数を設定可能

New!!

zone.properties

1.実行環境 Forms Listener サーブレット毎の環境変数の個別設定

Pacth7では、異なる環境変数を使用する場合に、Apache JServレベルではなく、Forms Listener サーブレットのインスタンス毎に設定を行うことが可能です。設定には、.envファイルという環境変数を指定するファイルを使用します。

この.envファイルで設定した環境変数は、各サーブレット・ゾーンのプロパティ・ファイル(上のスライドではzone.properties)で各サーブレットのインスタンスの初期化パラメータとして渡されます。これにより、異なるForms Listener サーブレットのインスタンスに対して異なる環境変数が設定可能となり、各Forms Listener サーブレットのインスタンスが起動するForms Runtimeプロセスは、プロセスを起動したForms Listener サーブレットに設定されている環境変数を使用する事になります。

次のスライドでは、異なるForms Listener サーブレットのインスタンスを作成し、それぞれのインスタンスに環境変数を設定する.envファイルを設定する方法を説明します。

Page 16: Oracle Developer R6i Oracle9 AS Forms Servicesotndnld.oracle.co.jp/products/itools/developer/pdf/dev_6...ンを実行する場合、これまでベースHTMLファイルに記述されていたuseridの値(ユ

16

Apache JServ zone.properties

appLsnr finLsnr servlet.appLsnr.code=oracle.forms.servlet.ListenerServletservlet.finLsnr.code=oracle.forms.servlet.ListenerServlet

<Forms Listener サーブレットのインスタンスに名前をつける>

servlet.appLsnr.initArgs=EnvFile=D:¥Env¥appLsnr.envservlet.finLsnr.initArgs=EnvFile=D:¥Env¥finLsnr.env

<各インスタンスの.envファイルを指定>

New!! Forms Listener サーブレットの環境変数の設定(Patch7以降)②

1.実行環境 Forms Listener サーブレット毎の環境変数の個別設定

まず、異なるForms Listener サーブレットのインスタンスを作成するための設定方法を説明します。

Apache JServ上にあるサーブレット・ゾーンのプロパティ・ファイルに次のように記述します。

servlet.<インスタンス名>.code=<サーブレットのクラス名>

例:

servlet.appLsnr.code=oracle.forms.servlet.ListenerServlet

これは<インスタンス名>(ここでは「appLsnr」)を使用する場合、<サーブレットのクラス名>(ここでは「oracle.forms.servlet.ListenerServlet」)というクラスを実行する、という意味を持ちます。ここで設定した<インスタンス名>により、同じクラスを異なるサーブレットのインスタンスとして識別することが可能になります。

次に、上記で設定された各サーブレットが使用する.envファイルを割り当てます。その場合サーブレット・ゾーンのプロパティ・ファイルに次の記述をします。

servlet.<インスタンス名>.initArgs=EnvFile=<.env ファイルの指定>

例:

servlet.appLsner.initArgs=EnvFile=D:¥Env¥appLsnr.env

これにより、<インスタンス名>というサーブレットが初期化される際に、EnvFileというパラメータに対して<.env ファイルの指定>を使用する、という事を意味します。この.envファイルには任意の名前を使用することが可能ですが、複数の.envファイルを管理する事を考え、<インスタンス名>.envとすることをお勧めします。

次のスライドでは、この.envファイルに記述する方法を説明します。

Page 17: Oracle Developer R6i Oracle9 AS Forms Servicesotndnld.oracle.co.jp/products/itools/developer/pdf/dev_6...ンを実行する場合、これまでベースHTMLファイルに記述されていたuseridの値(ユ

17

Apache JServzone.properties

appLsnr.env

finLsnr.env

# app用の環境変数セットPATH=D:¥orant¥binORACLE_HOME=D:¥orant¥FORMS60_PATH=D:¥orant¥appTNS_ADMIN=D:¥orant¥NET80

# fin用の環境変数セットPATH=D:¥orant¥binORACLE_HOME=D:¥orant¥FORMS60_PATH=D:¥orant¥finTNS_ADMIN =D:¥orant¥NET80¥finNet80

finLsnrappLsnr

各サーブレット・インスタンスに設定された環境変数がランタイム・プロセスに反映される。

New!! Forms Listener サーブレットの環境変数の設定(Patch5以降)③

1.実行環境 Forms Listener サーブレット毎の環境変数の個別設定

前のスライドでは、サーブレット・ゾーンのプロパティ・ファイルにおいて、サーブレットのインスタンスに名前をつけ、それぞれに対して.envファイルを設定する方法を説明しました。ここでは、.envファイルに環境変数を記述する時の注意点について説明します。

この.envファイルにはForms Listener サーブレットを使用してForms アプリケーションを実行する場合に、Forms Runtimeが必要とする環境変数を記述します。そのためにjserv.propertiesファイル内で、wrapper.envを用いて設定されている環境変数を記述します。

.evnファイル内で設定されていない環境変数については、次のように環境変数がForms Listener サーブレットのインスタンスに反映されます。

①jserv.propertiesファイルで設定されている環境変数は、その設定が使用されます。

②jserv.propertiesファイルで設定されていない環境変数は、レジストリの現行Oracleホームにある値が使用されます。

Page 18: Oracle Developer R6i Oracle9 AS Forms Servicesotndnld.oracle.co.jp/products/itools/developer/pdf/dev_6...ンを実行する場合、これまでベースHTMLファイルに記述されていたuseridの値(ユ

18

#サーブレット・インスタンス毎に作業領域を設定

servlet.appLsnr.initArgs=WorkingDirectory=e:¥appLsnr¥workingDir

作業ディレクトリ(Working Directory)の設定

Apache JServzone.properties

appLsnr

•Formsアプリケーションを作業ディレクトリに格納可能•Formsアプリケーションからイメージ・ファイル、テキストファイルにアクセスする場合、作業ディレクトリからの相対パスが使用可能

作業ディレクトリの設定

New!!1.実行環境

Patch7では、Forms Listener サーブレットのインスタンス毎に作業ディレクトリを設定可能になりました。

作業ディレクトリの設定はサーブレット・ゾーンのプロパティ・ファイルで指定し、各Forms Listener サーブレットのインスタンス毎に設定可能です。この作業ディレクトリにFormsアプリケーションおよびそのアプリケーションで使用されるイメージ・ファイル、テキスト・ファイル等を格納することにより、Formsアプリケーションでイメージ・ファイルおよびテキスト・ファイルをファイル名あるいは作業領域からの相対パスでアクセスすることが可能です。

作業ディレクトリを指定していない場合は、レジストリ・キーForms60の値が使用されます。

このようにForms Listener サーブレットのインスタンス毎に作業ディレクトリを設定することにより、ある特定のFormsアプリケーションに対して、専用にForms Listener サーブレットおよび作業ディレクトリを設けることが可能となります。

Page 19: Oracle Developer R6i Oracle9 AS Forms Servicesotndnld.oracle.co.jp/products/itools/developer/pdf/dev_6...ンを実行する場合、これまでベースHTMLファイルに記述されていたuseridの値(ユ

19

ランタイムの実行可能ファイルを指定して実行

Apache JServzone.properties

appLsnr #サーブレット・インスタンス毎にランタイムの実行可能ファイルを指定可能

servlet.appLsnr.initArgs=Executable=E:¥oracle¥bin¥ifweb60.exe

ランタイム実行可能ファイルの指定

New!!1.実行環境

Patch7では、Forms Listener サーブレットが使用するForms Runtimeの実行可能ファイルをListener Srrvletのインスタンス毎に設定することが可能です。

設定は、サーブレット・ゾーンのプロパティ・ファイルで行います。次の記述のように設定します。

servlet.<インスタンス名>.initArgs=Executable=<Forms Runtimeの実行可能ファイル名>

例:

servlet.appLsnr.initArgs=Executable=

E:¥oracle¥bin¥ifweb60.exe

Page 20: Oracle Developer R6i Oracle9 AS Forms Servicesotndnld.oracle.co.jp/products/itools/developer/pdf/dev_6...ンを実行する場合、これまでベースHTMLファイルに記述されていたuseridの値(ユ

20

HTTPSモードでの改善点

� Internet Explorer使用時にCookieを使用せずに実行可能� Jinitiator1.1.8.11以上ではHTTPSモードで実行時

にkeep-aliveを使用

HTTPSモードでの改善

New!!2.ネットワーク/セキュリティ

Patch4が提供しているForms Listener サーブレットをInternet ExplorerのネイティブVMを使用して実行する場合、Internet ExplorerのCookieを使用して接続(セッション)の管理を行っていました。しかし、Patch7では、Internet Explorerの設定でCookieを使用せず、独自の方法でセッションを管理します。これにより、セキュリティ・ポリシーでWebブラウザのCookieの使用を許可していないネットワーク環境でもForms Listener サーブレットのセッションが切断されることなく、Formsアプリケーションを実行することが可能になりました。

また、JIitiator1.1.8.11ではHTTPSモードで接続を行う場合、HTTPヘッダの接続モードでkeep-aliveを使用しているため、Webサーバーあるいはプロキシ等のタイムアウトによる切断が解消されます。

Page 21: Oracle Developer R6i Oracle9 AS Forms Servicesotndnld.oracle.co.jp/products/itools/developer/pdf/dev_6...ンを実行する場合、これまでベースHTMLファイルに記述されていたuseridの値(ユ

21

servlet.appLsnr.initArgs=startPort=9031,maxPorts=100

Patch4でのForms Listener サーブレット‐Forms Runtimeプロセス間のポート番号

Apache JServ

Oracle HTTP Server

zone.properties

Port=9031::

Port=9130

startPortで指定されたPort番号から使用され、maxPortsで指定された数だけ同時接続可能。

ポート番号についての制約の解消2.ネットワーク/セキュリティ

Forms Listener サーブレットとForms Runtime プロセス間の通信は、HTTPプロトコルを使用して行われます。Patch4のForms Listener サーブレットではあらかじめForms Runtimeプロセス間との通信に使用されるポート設定しておくか、あるいはデフォルトの値が使用されます。

事前にポート番号を設定する場合、Forms Listener サーブレットの初期値のstartPortパラメータに使用を始めるポート番号を指定します。

例:servlet.appLsnr.initArgs=startPort=9031,maxPorts=100

(上記の例はappLsnrは9031番のポートから使用し、最大100ポート分使用可能である設定です。)

Forms Listener サーブレットは開始ポート番号を1ずつ増やしながら、maxPortsで指定した数だけポート番号を増やして接続を受け入れます(上記の例では、9031番ポートから9032、9033番ポートと接続を受け入れます)。接続に使用するポート番号がstartPort + maxPorts –1(上記の例では、9031+100‐1=9130まで達したら、再びstartPortを指定して接続を試みます。しかし、ポートが使用中である場合には、待ちそのポートが利用可能なるまで待機します。

Page 22: Oracle Developer R6i Oracle9 AS Forms Servicesotndnld.oracle.co.jp/products/itools/developer/pdf/dev_6...ンを実行する場合、これまでベースHTMLファイルに記述されていたuseridの値(ユ

22

servlet.appLsnr.initArgs=startPort=9031,maxPorts=100

Patch7でのForms Listener サーブレット‐FormsRuntimeプロセス間のポート番号

Apache JServ

Oracle HTTP Server

zone.properties

•OSに問い合わせ利用可能なポートを使用•startPort、maxPortsの指定は無視される

設定不要!!

9001

2280

1903

80Forms Runtimeを起動!!

9001

OS

ポート番号についての制約の解消

New!!2.ネットワーク/セキュリティ

Patch4でのポート番号の競合を防ぐために、Patch7のForms Listener サーブレットではstartPortおよびmaxPortsを使用した設定は廃止しました。

Patch7以降では、Forms Listener サーブレットの要請によりForms Runtime プロセスが起動します。その際、Forms Runtime プロセスはOSの利用可能なポート番号を問い合わせて、利用可能なものを使用します。プロセスが開始されたら、Forms RuntimesプロセスはForms Listener サーブレットに対して自身が使用しているポート番号を通信し、そのポートを介して通信が行われます。

Page 23: Oracle Developer R6i Oracle9 AS Forms Servicesotndnld.oracle.co.jp/products/itools/developer/pdf/dev_6...ンを実行する場合、これまでベースHTMLファイルに記述されていたuseridの値(ユ

23

ベースHTMLファイルでのuseridの隠蔽

Oracle HTTP Server

mod_JServ

Apache JServ

http://testServer:80/servlet/f60servlet?serverURL=/servlet/appLsnr

Forms サーブレット(f60servlet.class)

動的に作成されたベースHTMLファイル

Forms サーブレットが動的に作成したベースHTMLファイルではUseridの値が表示されない

ダウンロードされたベースHTMLファイルの例

userid=scott/tiger@testDB

formsweb.cfg

*useridがURLに指定してされていない場合に有効。

useridの隠蔽

New!!2.ネットワーク/セキュリティ

従来、Formsアプリケーションを実行する場合、ベースHTMLファイルのソースをブラウザ等から表示すると、アプリケーションを実行したユーザーのユーザー名、パスワードそしてデータベースへの接続文字列が表示されていました。セキュリティをより強化するため、Patch7からForms サーブレットとForms Listener サーブレットを用いることで、これらの情報を隠蔽することが可能となりました。

Forms Listener サーブレットの使用を設定し、Forms サーブレットにアクセスをすると、Forms サーブレットはユーザー名、パスワードそして接続文字列をベースHTMLファイルのuseridの個所に記述せずにListener Srrvletに渡します。これにより、ベースHTMLファイルのソースを第3者が取得してもセキュリティを確保可できます。

しかし、この機能を使用するに当たり、次の事に注意してください。

ユーザー名、パスワードそして接続文字列はURL上からForms サーブレットに渡すのではなく、formsweb.cfgに固有の構成を作成し、URL上ではその固有構成の名前を渡してください。これは、Forms サーブレットがURL上に記述された情報をベースHTMLファイルのserverURLの個所に記述するためです。もし、URL上にユーザー名等を記述した場合、ベースHTMLファイルのuseridの個所ではユーザー名等は表示されませんが、serverURLの個所で表示されてしまいます。

Page 24: Oracle Developer R6i Oracle9 AS Forms Servicesotndnld.oracle.co.jp/products/itools/developer/pdf/dev_6...ンを実行する場合、これまでベースHTMLファイルに記述されていたuseridの値(ユ

24

Forms Listener サーブレットテスト機能

servlet.appLsnr.initArgs=TestMode=trueservlet.appLsnr.initArgs=TestMode=false

zone.properties*appLsnrはForms Listener サーブレットの

インスタンスの名前です。

Forms Listener サーブレットのテスト機能拡張

New!!3.テスト/ログ

Forms Listener サーブレットはPatch4の時点でもテスト機能を兼ね備えていましたが、Pacth7ではさらに機能拡張され、テスト・モードの選択が追加されました。

サーブレット・ゾーンのプロパティ・ファイルでForms Listener サーブレットの初期値のTestModeをTrueあるいはFalseに設定し、詳細テストを使用するか、簡易テストのみを使用するか設定できます。

簡易テスト(TestMode=False)では、次の2つのテストが用意されています。

① Test native method call (JNI):Forms Listener サーブレットがJavaネイティブ・インターフェイスを使用して、Forms Runtime プロセスの起動が正常に行えるかのテスト

② Test servlet engine session support:クライアント-Forms Listener サーブレット間のセッションが正しく識別されているかのテスト

詳細テスト(TestMode=True)では、簡易テストでの2つのテストに加え次の4つのテスト機能が提供されています。

① More information (for debugging):Forms Listener サーブレットを実行するまでのPATH情報、HTTP プロトコルのヘッダ情報、HTTPサーバーとのやり取りに関する情報、およびForms Listener サーブレットの初期値情報を表示

② Set a test Cookie in the browser:Forms Listener サーブレットのテストを行っているWebブラウザに対してしてCookieを作成

③ Check if test cookie is set in browser:上記②で作成したCookieがWebブラウザ上に存在するか確認可能。

④ Process test (create N runtime processes):フィールドに指定した数のForms Runtimeプロセスを同時起動し、そして停止する。指定した数のForms Runtimeプロセスが正常に起動・停止されたかレポート

Page 25: Oracle Developer R6i Oracle9 AS Forms Servicesotndnld.oracle.co.jp/products/itools/developer/pdf/dev_6...ンを実行する場合、これまでベースHTMLファイルに記述されていたuseridの値(ユ

25

セッション・レベル・ログの取得

Apache JServ

appLsnr セッション開始時刻

ランタイム・プロセス開始時刻&プロセスIDセッション終了時刻

WebForms実行時にserverURL=/servlet/appLsnr/sessionと指定してForms Listener サーブレットを実行

[02/10/2001 20:36:31:512 JST] appLsnr/Forms session <2> started for testServer (192.168.0.2)[02/10/2001 20:37:32:564 JST] appLsnr /Forms session <2> runtime process id = 132[02/10/2001 20:42:54:371 JST] appLsnr /Forms session <2> ended

JServ.log

クライアント

セッション・レベル・ログの取得

New!!3.テスト/ログ

Forms Listener サーブレットを使用してFormsアプリケーションを実行する場合のオプションとして、セッション・レベルでのログが取得可能になりました。セッション・レベルでのログには次の3種類があり、それぞれのモードは実行時のserverURLのオプションにより設定することが可能です。

セッション・レベル・ログ使用の構文

serverURL=/servlet/<インスタンス名>/<オプション>

オプションには次の3つから選択可能

/seesion:Forms Listener サーブレットのセッションの開始と停止、そしてそのセッションに対して起動されたForms RuntimeプロセスのプロセスIDをログ・ファイル出力します。

/perf:オプションを指定したセッションのパフォーマンスをログ・ファイルに出力します。

/debug:デバッグ・モードでセッションを実行し、デバッグ情報をログ・ファイルに出力します。

Page 26: Oracle Developer R6i Oracle9 AS Forms Servicesotndnld.oracle.co.jp/products/itools/developer/pdf/dev_6...ンを実行する場合、これまでベースHTMLファイルに記述されていたuseridの値(ユ

26

Oracle Portalとの統合シングル・サインオンの概要

Oracle Portalとの連携によるシングル・サインオン

New!!4.連携

•Formsアプリケーションを外部アプリケーションとして登録可能•ポータル・ユーザーとFormsアプリケーション・ユーザーを関連付け、ポータル・サイトからFormsアプリケーションの実行を容易にする

Patch7では、Oracle Portalとの連携の一環として、FormsアプリケーションおよびReportsをOracle Portalの外部アプリケーションとして登録することが可能となりました。これにより、Oracle Portalが提供するシングル・サインオンを使用することができます。このシングル・サインオン機能を使用すると、Formsアプリケーションへの認証(ユーザー名、パスワードおよびデータベース接続文字列)はログイン・サーバーに登録され、それ以降、Formsアプリケーションにはログイン・サーバーに登録されたユーザー認証を使用して容易にアクセスすることが可能になります。

ここでは、シングル・サインオンの仕組みおよび、その際に使用するログイン・サーバーにFormsアプリケーションを登録する方法を説明します。

Page 27: Oracle Developer R6i Oracle9 AS Forms Servicesotndnld.oracle.co.jp/products/itools/developer/pdf/dev_6...ンを実行する場合、これまでベースHTMLファイルに記述されていたuseridの値(ユ

27

シングル・サイン・オンの仕組み①

ログイン・サーバー

外部アプリケーション登録

Forms Services

http://appserver.com/servlet/f60servlet?config=appURL:

Formsアプリケーション実行のURLをOracle Portalからログイン・サーバーに外部アプリケーションとして登録

New!!4.連携 Oracle Portalとの連携によるシングル・サインオン

ここでは、シングル・サインオンを使用して、ポータルからFormsアプリケーションを実行する仕組みを説明します。

まず、ログイン・サーバーを使用して、Formsアプリケーションを外部アプリケーションとして登録します。登録をすると内部URLが作成され、これが登録されたFormsアプリケーション実行のための実際のURLと関連付けられます。この登録の際に、必要なログイン情報をあらかじめ設定することができます。ここでのログイン情報とは、FormsアプリケーションをWebブラウザから実行する場合に、URL上に記述する変数名とその値です。

(スライドでは、Formsアプリケーション実行のURLをhttp://appserver.com/servlet/f60servlet?config=appとしています。)

Formsアプリケーションをログイン・サーバーを使用し実行するためには、いくつかの下準備と外部アプリケーション用のポートレットの設定が必要です。これについては後ほど説明します。

Page 28: Oracle Developer R6i Oracle9 AS Forms Servicesotndnld.oracle.co.jp/products/itools/developer/pdf/dev_6...ンを実行する場合、これまでベースHTMLファイルに記述されていたuseridの値(ユ

28

シングル・サイン・オンの仕組み②

ログイン・サーバー

外部アプリケーション登録

Forms Services

ポータル・サイトから、Formsアプリケーションが登録されている外部アプリケーションのリンクにアクセス

New!!

URL: http://portal.com/pls/

ポータル・サイトへログイン

4.連携 Oracle Portalとの連携によるシングル・サインオン

それでは、次にポータル上からFormsアプリケーションを実行する手順を説明します。

まず、Oracle PortalにログインしOracle Portalのホームページにアクセスします。

Formsアプリケーションが使用可能に設定された外部アプリケーション用のポートレットから、Formsアプリケーションにアクセスします(ハイパー・リンクにアクセスします)。このアクセスは、実際のFormsアプリケーション用のアプリケーション・サーバーにアクセスするのではなく、ログイン・サーバーに登録された内部的なURLにアクセスします。

Page 29: Oracle Developer R6i Oracle9 AS Forms Servicesotndnld.oracle.co.jp/products/itools/developer/pdf/dev_6...ンを実行する場合、これまでベースHTMLファイルに記述されていたuseridの値(ユ

29

シングル・サイン・オンの仕組み③

ログイン・サーバー

外部アプリケーション登録

Forms Services

New!!

URL: http://portal.com/pls/

ログイン・サーバーにログイン情報が無ければ必要な情報を入力

ユーザー名

パスワード

接続文字列

外部アプリケーション・ログイン

記憶?

4.連携 Oracle Portalとの連携によるシングル・サインオン

ログイン・サーバーはアクセスされた(内部的な)URLに対するログインが既に行われているか確認し、ログインされていない場合、ユーザ-に対してログイン情報を入力するよう要求します(ログイン情報入力画面が表示されます)。

Page 30: Oracle Developer R6i Oracle9 AS Forms Servicesotndnld.oracle.co.jp/products/itools/developer/pdf/dev_6...ンを実行する場合、これまでベースHTMLファイルに記述されていたuseridの値(ユ

30

登録したFormsアプリケーション実行のURLがクライアントに返され、Formsアプリケーションが実行される

シングル・サイン・オンの仕組み③

ログイン・サーバー

外部アプリケーション登録

Forms Services

New!!

ログイン・サーバーに入力した情報が、ポータル・サイトにログインしたユーザーと対応付けられて格納される

http://appserver.com/servlet/f60servlet?config=appURL:

4.連携 Oracle Portalとの連携によるシングル・サインオン

ログイン・サーバーは入力されたログイン情報が設定されている、Formsアプリケーション実行のために必要な要件(登録時に設定したユーザー名、パスワードは満たされているか、その他の変数に対しても値が入力されているか)を満たしているか確認します。(ここで入力された値はログイン・サーバーに格納され、このポータル・サイトにアクセスしたポータル・ユーザーに対して対応付けられます。これにより、このポータル・ユーザーが今後ポータルに登録されているFormsアプリケーションを実行する場合には、ログイン情報を再び入力する必要はありません。)ログイン・サーバーに登録されているURLをクライアントのWebブラウザにリダイレクトします。リダイレクトされたURLを使用し、クライアントのWebブラウザはFormsアプリケーションを実行します。

Page 31: Oracle Developer R6i Oracle9 AS Forms Servicesotndnld.oracle.co.jp/products/itools/developer/pdf/dev_6...ンを実行する場合、これまでベースHTMLファイルに記述されていたuseridの値(ユ

31

シングル・サインオンのための下準備

� テンプレート・ベースHTMLファイルおよびformsweb.cfgを別名をつけコピーする(例:sso_接頭詞をつける)

� コピーしたテンプレート・ベースHTMLファイルの修正

New!!

� コピーしたformsweb.cfgの修正使用するテンプレート・ベースHTMLをシングル・サインオン用のものに設定する

userid=%username%/%password%@%database%userid=%userid%

修正後修正前

baseHTMLJInitiator=E:¥oracle¥dev6i¥forms60¥server¥sso_basejini.htmbaseHTMLIE=E:¥oracle¥dev6i¥forms60¥server¥sso_baseie.htmbaseHTML=E:¥oracle¥dev6i¥forms60¥server¥sso_base.htm

4.連携 Oracle Portalとの連携によるシングル・サインオン

それでは、ここからはFormsアプリケーションをOracle Portalの外部アプリケーションとして登録する方法を説明します。

作業は大まかに分けて2種類あります。1つは外部アプリケーションとしてログイン・サーバーに登録するために、下準備としてFormsのコンポーネントに変更を加えます。そして2つ目は実際にログイン・サーバーにFormsアプリケーションを登録する作業です。

まず、1つ目の下準備には次の作業があります。

・テンプレートのベースHTMLファイル、構成ファイルであるformsweb.cfgファイルに別の名前を付けてコピーします。(テンプレートのベースHTMLファイルとは、Forms サーブレット、Forms CGIが動的にベースHTMLファイルを作成する際に使用するファイルです。base.html、baseie.html、basejini.htmlファイルがあります。)別の名前の付け方として、ファイルの先頭にシングル・サインオン用だとわかりやすくするために、「sso_」を追加することをお勧めします。

・コピーしたテンプレート・ベースHTMLファイルを修正します。修正は次ように行います。

userid=%userid%→userid=%username%/%password%@database

これはログイン・サーバーに登録する際に、ユーザー名とパスワードを入力するフィールドを分けて登録することが必要だからです。そしてデータベースへの接続文字列は別途オプションのログイン情報フィールドして登録する必要があるからです。

・構成ファイル(formsweb.cfg)の中で、上記のコピーし修正を加えたテンプレート・ベースHTMLファイルを使用するように設定します。

例:

base.html=e:¥oracle¥forms60¥server¥sso_base.html

baseie.html=e:¥oracle¥forms60¥server¥sso_baseie.html

basejini.html=e:¥oracle¥forms60¥server¥sso_basejini.html

Page 32: Oracle Developer R6i Oracle9 AS Forms Servicesotndnld.oracle.co.jp/products/itools/developer/pdf/dev_6...ンを実行する場合、これまでベースHTMLファイルに記述されていたuseridの値(ユ

32

シングル・サインオンのための下準備

� テンプレート・ベースHTMLファイルおよびformsweb.cfgを別名をつけコピーする(例:sso_接頭詞をつける)

� コピーしたテンプレート・ベースHTMLファイルの修正

New!!

� コピーしたformsweb.cfgの修正使用するテンプレート・ベースHTMLをシングル・サインオン用のものに設定する

userid=%username%/%password%@%database%userid=%userid%

修正後修正前

baseHTMLJInitiator=E:¥oracle¥dev6i¥forms60¥server¥sso_basejini.htmbaseHTMLIE=E:¥oracle¥dev6i¥forms60¥server¥sso_baseie.htmbaseHTML=E:¥oracle¥dev6i¥forms60¥server¥sso_base.htm

4.連携 Oracle Portalとの連携によるシングル・サインオン

構成ファイルに対する修正の場合、デフォルトの設定を変更するのではなく、個別の新しい構成を作成する事も可能です。

例:

[app]

base.html=e:¥oracle¥forms60¥server¥sso_base.html

baseie.html=e:¥oracle¥forms60¥server¥sso_baseie.html

basejini.html=e:¥oracle¥forms60¥server¥sso_basejini.html

注意:このように個別の構成を使用する場合、Formsアプリケーションを実行する場合、URLにconfig=appというオプションを付け加え実行します。

このように個別の構成を作成した場合は、ログイン情報を登録する場合に注意が必要となります。

それでは次に2つ目の下準備として、実際にログイン・サーバーのアプリケーションとしてFormsアプリケーションを登録する方法を説明します。

Page 33: Oracle Developer R6i Oracle9 AS Forms Servicesotndnld.oracle.co.jp/products/itools/developer/pdf/dev_6...ンを実行する場合、これまでベースHTMLファイルに記述されていたuseridの値(ユ

33

外部アプリケーションへの登録方法①New!!

ポータル・サイトにログインします

ログイン後の管理タブを選択し、サービス・ポートレットの「ログイン・サーバーの管理」

4.連携 Oracle Portalとの連携によるシングル・サインオン

まず、Oracle Portalにログインします。

Oracle Portalのホームページから、「管理」タブを選択して、「サービス」ポートレットの中の「ログイン・サーバーの管理」へアクセスします。ここでログイン・サーバーに関する情報を管理する事が可能です。

Page 34: Oracle Developer R6i Oracle9 AS Forms Servicesotndnld.oracle.co.jp/products/itools/developer/pdf/dev_6...ンを実行する場合、これまでベースHTMLファイルに記述されていたuseridの値(ユ

34

外部アプリケーションへの登録方法②New!!

「ログイン・サーバーの管理」ページ

4.連携 Oracle Portalとの連携によるシングル・サインオン

「ログイン・サーバーの管理ページ」から「外部アプリケーションの管理」へアクセスし、「外部アプリケーションの追加」へアクセスし、外部アプリケーションの登録に必要な情報を入力します。

Page 35: Oracle Developer R6i Oracle9 AS Forms Servicesotndnld.oracle.co.jp/products/itools/developer/pdf/dev_6...ンを実行する場合、これまでベースHTMLファイルに記述されていたuseridの値(ユ

35

外部アプリケーションへの登録方法③New!!

アプリケーション名(デフォルトでポータル上表示される名前)

Formsアプリケーション実行のためのURLを入力(?config=xxx等、?以降のパラメータは入力しない)

例:http://appserver.com/servlet/f60servlet

ベースHTMLファイル内の変数を記述

必要な変数と値を、それぞれフィールド名/フィールド値に入力例:database、form等

「適用」あるいは「OK」を押すと登録完了

4.連携 Oracle Portalとの連携によるシングル・サインオン

外部アプリケーションを登録する場合、次の情報を用いて登録します。

・アプリケーション名:デフォルトでポータル上表示される名前(ポータル上表示の際には別の名前を使用する事も可能です。)

・ログイン名:ログイン・サーバーに登録するFormsアプリケーションを実行するためのURL(http://appserver.com/servlet/f60servlet?form=app&lookandfeel=oracle&config=appcfg のように「?」以下の変数と変数値は入力しません)を入力します。

・Formsアプリケーションを実行するためにベースHTMLファイルにユーザー名とパスワードのフィールド名を入力しますが、ここで入力するユーザー名とパスワードのフィールド名はテンプレート・ベースHTMLファイルを修正した際にuserid=%username%/%password%@%database%の「username」と「password」に対応します。

・その他Formsアプリケーションを実行するにあたり、必要な変数とその値を入力します。

例:

フィールド名:database

値:適切なデータベースへの接続文字列

入力が完了したら、「適用」あるいは「OK」を押します。(「適用」を押すとエラーメッセージを出力することができます。)

これでFormsアプリケーションを外部アプリケーションとしての登録が完了しました。

それでは次に登録したFormsアプリケーションがポータル・サイトから利用可能にする方法を説明します。

Page 36: Oracle Developer R6i Oracle9 AS Forms Servicesotndnld.oracle.co.jp/products/itools/developer/pdf/dev_6...ンを実行する場合、これまでベースHTMLファイルに記述されていたuseridの値(ユ

36

外部アプリケーションの使用方法①New!!ポータルのホームページの「外部アプリケーション」ポートレットに表示する

「表示」にチェックを入れると、「外部アプリケーション」ポートレットに反映される

このリンクにアクセスするとアプリケーションが実行される

4.連携 Oracle Portalとの連携によるシングル・サインオン

まず、Formsアプリケーションをログイン・サーバーに登録したように、Oracle Portalにログインします。

Oracle Portalのホームページにある「外部アプリケーション」ポートレットをカスタマイズして、Formsアプリケーションをこの「外部アプリケーション」ポートレット上で利用可能にします。このポートレットにある「カスタマイズ」を押し、編集画面にアクセスします。

編集画面では既に登録されている外部アプリケーションが一覧することが可能で、各登録済み外部アプリケーションにあるチェックボックスをチェックする事で、「外部アプリケーション」ポートレット上からアクセスすることが可能になります。この編集画面では、登録された各アプリケーションに対して、「外部アプリケーション」ポートレット上で表示する名前を設定することも可能です。

Page 37: Oracle Developer R6i Oracle9 AS Forms Servicesotndnld.oracle.co.jp/products/itools/developer/pdf/dev_6...ンを実行する場合、これまでベースHTMLファイルに記述されていたuseridの値(ユ

37

外部アプリケーションの使用方法②New!!

初めてこのリンクにアクセスするとログイン情報の入力が求められる(ログイン情報を記憶するか選択可能)

空のフィールドに適切な値を入力して「ログイン」を押すとFormsアプリケーションが実行される

4.連携 Oracle Portalとの連携によるシングル・サインオン

Oracle Portalのホームページ上の「外部アプリケーション」ポートレットに登録されたFormsアプリケーションに初めてアクセスした場合、ユーザー名、パスワードそしてログイン情報を登録したオプションのフィールドに対して値を入力するように要求されます。ここで入力した値は、「このアプリケーション用のログイン情報を記憶させる」を選択すれば、ログイン情報はログイン・サーバーに登録され、次回以降入力する必要はありません。(また、ここで入力した値は、前スライドで示した「外部アプリケーション」ポートレットの編集画面から変更することが可能です。)

各フィールドに適切な値を入力し、「ログイン」ボタンを押すとログイン・サーバーに登録されたFormsアプリケーションが実行されます。

このようにして、Formsアプリケーションをログイン・サーバーに登録することにより、頻繁にログインを繰り返すFormsアプリケーションへのアクセスを容易にすることが可能です。

Page 38: Oracle Developer R6i Oracle9 AS Forms Servicesotndnld.oracle.co.jp/products/itools/developer/pdf/dev_6...ンを実行する場合、これまでベースHTMLファイルに記述されていたuseridの値(ユ

38

日本オラクル株式会社

無断転載を禁ず

この文書はあくまでも参考資料であり、掲載されている情報は予告なしに変更されることがあります。日本オラクル社は本書の内容に関していかなる保証もいたしません。また、本書の内容に関連したいかなる損害についても責任を負いかねます。

Oracleは、オラクル社の登録商標です。Oracle8、Oracle8i、Net8は、オラクル社の商標または登録商標です。

他のすべての企業名と製品名は、識別のためにのみ掲載されており、それぞれの所有者の商標の場合があります。