6
アプリケーション開発 Oracle Forms アプリケーションの Web へのアップグレードのステップ・バイ・ステップ・ガイド Paper # 40205 1 Oracle Corporation 発行「A STEP BY STEP GUIDE TO UPGRADING ORACLE FORMS APPLICATIONS TO THE WEB」の翻訳版です。 Copyright © 2003 Oracle Corporation All rights reserved Oracle Forms Web Shay Shmeltzer, Oracle Corporation 概要 1997 から、オラクル Oracle Forms アプリケーション Web アーキテクチャ アップグレードを にしま した。アプリケーションを Web アーキテクチャにアップグレードするこ コスト 、ソフト ェア 、アプリケーション 、 しいテクノロジ 、々 ジネス 益が られます。 Oracle Forms Web アップグレード して げられる 、アプリケーションを Web するために する いう す。 アプリケーションを Web にするために す。 ペーパー 、これら および大まか アップグレード・プロセスについて します。 : Oracle Forms Web アーキテクチャ アップグレードに する OTN-J http://otn.oracle.co.jp/きます。 アーキテクチャについて Oracle Forms Web にアップグレードするために をより するに 、まず Oracle Forms Web デプロイメ ントを にするアーキテクチャを し、こ アーキテクチャが Oracle Forms クライアント・サーバー・アーキテク チャ する があります。

Oracle Forms アプリケーションの Web への アップグ … · Web への配置の際にマウスの移動を認識するために、開発者はPJC およびJavaBeans

  • Upload
    ngoanh

  • View
    235

  • Download
    6

Embed Size (px)

Citation preview

Page 1: Oracle Forms アプリケーションの Web への アップグ … · Web への配置の際にマウスの移動を認識するために、開発者はPJC およびJavaBeans

アプリケーション開発

Oracle FormsアプリケーションのWebへのアップグレードのステップ・バイ・ステップ・ガイド Paper # 40205

1

Oracle Corporation発行「A STEP BY STEP GUIDE TO UPGRADING ORACLE FORMS APPLICATIONS TO THE WEB」の翻訳版です。Copyright © 2003 Oracle Corporation All rights reserved

OOrraaccllee FFoorrmmssアアププリリケケーーシショョンンののWWeebbへへのの アアッッププググレレーードドののスステテッッププ・・ババイイ・・スステテッッププ・・ガガイイドド

Shay Shmeltzer, Oracle Corporation

概要

1997年から、オラクルは既存の Oracle FormsアプリケーションのWebアーキテクチャへのアップグレードを可能にしま

した。アプリケーションをWebアーキテクチャにアップグレードすることで、管理コストの削減、ソフトウェア配信の

簡易化、アプリケーション機能の拡張、新しいテクノロジの活用能力など、様々なビジネス利益が得られます。Oracle Forms

Webアップグレードの個性的な側面として挙げられるのは、アプリケーションをWebで使用するために再作成する必要

がないという点です。実際、既存のアプリケーションをWebで使用可能にするために必要なことは若干の変更のみです。

このペーパーでは、これらの機能の概要および大まかなアップグレード・プロセスについて説明します。

注意: Oracle FormsのWebアーキテクチャへのアップグレードに関する情報は、OTN-J (http://otn.oracle.co.jp/)で入手で

きます。

アーキテクチャについて

Oracle FormsをWebにアップグレードするために必要な変更をより理解するには、まず Oracle FormsのWebデプロイメ

ントを可能にするアーキテクチャを理解し、このアーキテクチャが Oracle Formsのクライアント・サーバー・アーキテク

チャとの相違点を理解する必要があります。

Page 2: Oracle Forms アプリケーションの Web への アップグ … · Web への配置の際にマウスの移動を認識するために、開発者はPJC およびJavaBeans

アプリケーション開発

Oracle FormsアプリケーションのWebへのアップグレードのステップ・バイ・ステップ・ガイド Paper # 40205

2

Oracle Corporation発行「A STEP BY STEP GUIDE TO UPGRADING ORACLE FORMS APPLICATIONS TO THE WEB」の翻訳版です。Copyright © 2003 Oracle Corporation All rights reserved

図 1: Oracle Formsのクライアント・サーバー・アーキテクチャ

クライアント・サーバー・アーキテクチャでは、各クライアント・マシンで Oracle Formsの実行時プログラムが実行され

ます。

ファイル・サーバーに Oracle Formsの実行時プログラムがインストールされていても、アイコンを実際にクリックしてプ

ログラムを呼び出すと、実行時プログラムがダウンロードされ、クライアントのメモリーで実行されます。実行時プログ

ラムは、実行する Formsアプリケーションの定義を含む FMXファイルを読み取り、これらはクライアント・メモリーに

もロードされます。

Oracle Formsの実行時プログラムの別の部分は、異なるタスクを実行します。アプリケーションのビジネス・ロジックを

実行するために、データベース相互作用、トリガーおよびイベント・フローの管理、そしてトリガーのコードを実行する

PL/SQLエンジンという 3つの部分があります。実行時プログラムの他のコンポーネントにより、クライアント・マシン

上で Oracle Formsの表示がレンダリングされます。このコンポーネントは、ボタン、フィールドおよび他の図形ウィジェッ

トのペイント、ウィンドウのポップアップなどのタスクを実行します。何年もの間、このコンポーネントは様々なWindows

バージョン、MotifおよびMacintoshクライアントを含む多くのプラットフォーム向けに作成されてきました。

Oracle FormsのWeb実装に、Oracleは、ユーザー・インタフェースのためのコンポーネントを Javaアプレットとして作

り直しました。この Javaアプレットにより、Oracle Formsのユーザー・インタフェースがクライアント・マシン上でレン

ダリングされ、アプリケーション・サーバーとの通信が行われます。この Javaアプレットは、クライアント・マシンに

ダウンロードされ、クライアント・マシンのリソースを使用してクライアント・マシン上で実行されます。

Oracle Formsの実行時プログラムのその他のコンポーネントは、アプリケーション・サーバー上にインストールされて、

実行されます。ビジネス・ロジックの実行を行う Oracle Formsのランタイム・エンジンのこれらの部分は、(より効率的

に機能するよう調整はされていますが)作り直されていません。このアーキテクチャを観察すると、Webへのアップグ

レードでは Oracle Formsのビジネス・ロジック・レイヤーでの変更ではなく、主にユーザー・インタフェース環境での変

更が必要な理由がわかります。

Page 3: Oracle Forms アプリケーションの Web への アップグ … · Web への配置の際にマウスの移動を認識するために、開発者はPJC およびJavaBeans

アプリケーション開発

Oracle FormsアプリケーションのWebへのアップグレードのステップ・バイ・ステップ・ガイド Paper # 40205

3

Oracle Corporation発行「A STEP BY STEP GUIDE TO UPGRADING ORACLE FORMS APPLICATIONS TO THE WEB」の翻訳版です。Copyright © 2003 Oracle Corporation All rights reserved

図 2: Oracle Formsの 3層Webアーキテクチャ

Oracle Formsのバージョン選択

この数年で、Oracle FormsのWebアーキテクチャおよびWeb実装は最適化されました。したがって、最新バージョンの

Oracle9i Formsまたは Oracle Forms 10g(9.0.4)でWebにアップグレードすることを推奨します。しかしながら、開発者

が Oracle Forms 6iでWebにアップグレードすることを希望する場合もあります。

これは、このバージョンではWeb上でもクライアント・サーバーおよびキャラクタ・モードでも同じ FMBファイルを使

用できるためです。このような場合は、必ず最新のパッチを使用して、最新かつ最適化されたサーブレット・ベース・アー

キテクチャを使用してください。

Oracle Forms 6iを使用する場合は Oracle9i Application Server(Oracle9iAS)R1.0.2.2、Oracle9i Formsを使用する場合は

Oracle9iAS Release 2、そして Oracle Forms 10gを使用する場合は Oracle Application Server 10g (9.0.4)が必要です。

Web上で Oracle Formsをテストするために、Oracle Developer Suiteにはスタンドアロン・バージョンの Oracle Application

Server Containers for J2EE(OC4J)が付属しています。これにより、Oracle Application Serverを完全にインストールして

Oracle FormsをWebアーキテクチャでテストできます。

アップグレード・プロセスの開始前に、すべての FMB、PLL、MMBおよび OLBファイルの最新のバックアップを取っ

ておくことを忘れないでください。

次に、アップグレード・プロセスの説明に進みましょう。

Page 4: Oracle Forms アプリケーションの Web への アップグ … · Web への配置の際にマウスの移動を認識するために、開発者はPJC およびJavaBeans

アプリケーション開発

Oracle FormsアプリケーションのWebへのアップグレードのステップ・バイ・ステップ・ガイド Paper # 40205

4

Oracle Corporation発行「A STEP BY STEP GUIDE TO UPGRADING ORACLE FORMS APPLICATIONS TO THE WEB」の翻訳版です。Copyright © 2003 Oracle Corporation All rights reserved

アップグレード・プロセス

この項での推奨事項および観察事項は、過去数年間でアップグレードを行った多くの顧客から得たものです。

一般的に、開発者の介入を要する機能を 4つのカテゴリに分類できます。

• Web上で異なる動作をする機能

• Web上で動作しない機能

• プラットフォーム固有の機能

• パフォーマンスに影響を及ぼす可能性のある機能

Web上で異なる動作をする機能

これらの機能は、アプリケーション・サーバー内に Oracle Formsの実行時プログラムが実在して実行される新しいアーキ

テクチャによるものです。よって、外部環境に対して行われていたすべてのコールは、サーバー上で実行されるようにな

ります。該当するコールは次のとおりです。ホスト、ORA-FFI、OLE2、TEXT_IO、TOOLS_RES、ユーザー終了や Java

インポータに対するコール。

アプリケーション・サーバー上でコールを行っても同じ結果が得られる場合があります(例えば、ホストを呼び出して

SQLスクリプトを実行する場合など)。得られない場合は、開発者がこれらのコールをクライアント・マシン上で行う

必要があります。

Oracle Formsがクライアント・マシンを呼び出すには、クライアントで Java統合を使用し、Formsアプレットから呼び出

されクライアント・マシン上で実行される Javaコンポーネントの追加機能を利用する必要があります。Javaに精通して

いない多くの開発者がこの問題に直面するため、OracleはWebUtilユーティリティを提供するにいたりました。WebUtil

は、クライアント・マシンのコンポーネントを呼び出し、アクティブにするための簡単に使用できる PL/SQLインタフェー

スを開発者に提供します。WebUtilには、Host、OLE2、Read_File_Name、Read_Image_Fileおよび他の Formsビルトイン

の実装が含まれます。さらに、WebUtilは、アプリケーション層間でのファイル送信、クライアント・マシン上のファイ

ルやディレクトリの操作のためのユーティリティやその他の多くの機能を提供します。

新しいWebアプリケーションで動作しない機能

3つのマウス・トリガーは、多くのネットワーク・トラフィックを生みます。3つのマウス・トリガーとは、マウスの移

動トリガー、マウスの入力トリガー、そしてマウスの解放トリガーです。これらの 3つのトリガーは、Oracle Formsを

Web上で実行するには無効になります。他のすべてのマウス・トリガーは、Web上でも通常通り機能します。

Webへの配置の際にマウスの移動を認識するために、開発者は PJCおよび JavaBeansを使用してマウス・イベントに対応

し、それらをクライアント・マシン上で処理できます。例えば、Oracle9i Formsのデモのロールオーバー・ボタン PJCを

確認してみてください。

Page 5: Oracle Forms アプリケーションの Web への アップグ … · Web への配置の際にマウスの移動を認識するために、開発者はPJC およびJavaBeans

アプリケーション開発

Oracle FormsアプリケーションのWebへのアップグレードのステップ・バイ・ステップ・ガイド Paper # 40205

5

Oracle Corporation発行「A STEP BY STEP GUIDE TO UPGRADING ORACLE FORMS APPLICATIONS TO THE WEB」の翻訳版です。Copyright © 2003 Oracle Corporation All rights reserved

Web上で動作しない別の機能として上げられるのが、OLEコンテナ、Active/Xおよび VBXコントロール、サウンド項目

とイメージ操作パレットなどのWindows固有ウィジェットの利点を活用する機能です。新しいユーザー・インタフェー

スは Javaを使用して色付けされたクロス・プラットフォームであるため、これらの機能は動作しません。これらの機能

については、代替えの JavaBeanまたは PJCが必要となります。

プラットフォーム固有の機能

多くの開発者は Oracle FormsをWebにアップグレードすると、使用する実行時プラットフォームの変化に気付きます。

クライアント・サーバー・アーキテクチャでは、実行プラットフォームはWindowsなのに対し、Web環境では多くの組

織が Oracle9iASを Linuxまたは Unixマシンにインストールしてさらに高いスケーラビリティや信頼性を得ることを望ん

でいます。開発者は、ランタイム環境としてWindows固有の機能に依存していた場合、このことが Oracle Formsに影響

することを認識する必要があります。注意すべき主な点は、ホストのビルトインに対して行われる、Windowsのコマン

ドラインを使用したコール、そしてファイル名における大文字・小文字の使用です。

新しい表示環境は Javaに基づいているため、icoファイルは gifまたは jpg形式に変換する必要があります。また、Oracle

Formsで使用するフォントは Javaフォントであるため、いくつかのWindows固有フォント(例: Windings)は使用できま

せん。

パフォーマンスに影響を及ぼす可能性のある機能

このカテゴリには、Webで機能するがネットワーク・トラフィックに影響を及ぼし、その結果実際のパフォーマンスに

も影響を及ぼす機能が含まれます。通常は、これらの機能に考慮することはありませんが、特定の Formsのパフォーマ

ンスの低下を感じた場合は、このことに注意してください。

SYNCHRONIZEビルトインは、アプリケーション・サーバーからクライアントへのネットワーク・トラフィックを生成

します。これには、Oracle Formsの再色付け方法についての指示が含まれます。これは使用しすぎないようにしてくださ

い。

Oracle Formsのタイマーが切れた場合、アプリケーション・サーバーにネットワーク・トラフィック・イベントが送信さ

れます。

タイマーの時間切れが 1分に 1回程度であれば問題はありませんが、秒単位で時間切れになり、その Formsを使用して

いるユーザー数が何百にも及ぶ場合、ネットワークの遅延が発生します。タイマーの影響を認識し、タイマーを有効に使

用してください。

Web上で機能するがネットワーク実装に影響を及ぼす別の機能として、タブ・キャンバスがあります。Oracle Formsにタ

ブ・キャンバスが含まれる場合、Oracle Formsを最初に実行したときにこれらのキャンバスのすべての項目に関する情報

がアプリケーション・サーバーからクライアントに送信されます。これによって Oracle Formsの最初の表示が遅延される

場合があります。これを回避する 1つの選択肢として、項目を falseに設定された参照可能プロパティ・セットおよび true

に設定された raise_on_entryプロパティ・セットとともにスタック・キャンバスに配置することが可能です。こうするこ

とで、その項目の情報は特定のタブにナビゲートする場合にのみ送信されます。

Page 6: Oracle Forms アプリケーションの Web への アップグ … · Web への配置の際にマウスの移動を認識するために、開発者はPJC およびJavaBeans

アプリケーション開発

Oracle FormsアプリケーションのWebへのアップグレードのステップ・バイ・ステップ・ガイド Paper # 40205

6

Oracle Corporation発行「A STEP BY STEP GUIDE TO UPGRADING ORACLE FORMS APPLICATIONS TO THE WEB」の翻訳版です。Copyright © 2003 Oracle Corporation All rights reserved

他の Oracleツール製品との統合

Oracle Formsを Oracle Reportsまたは Oracle Graphicsと統合するアプリケーションには、他にもいくつかの変更が必要で

あることに注意してください。Oracle Reportsの場合、RUN_PRODUCTを使用するコールから RUN_REPORT_OBJECTを

使用するコールに変更する必要があります(Oracle9i Forms Migration Assistantを使用して変更できます)。

Oracle Graphicsは、Oracle9i Developer Suiteには含まれていませんが、Oracle Formsから Graphics 6iへのコールは可能で

す。新しい BI Beansのグラフィック機能を利用することもできます。

Oracle9i Formsへのアップグレード

Oracle9i FormsはWeb専用バージョンであるため、た古いアーキテクチャをサポートする多くの機能を削除して、Web

への配置のためにシンプルでさらに優れたツールを作りました。その結果、Oracle9i Formsにアップグレードする際に、

これらの廃止機能をアプリケーションで使用していないことを確認する必要があります。廃止された機能の完全なリスト

については、OTN-Jの Oracle9i Formsのページ(http://otn.oracle.co.jp/products/forms/index.html)を参照してください。

基本的なアップグレード・プロセスは、Oracle9i Formsビルダーの fmbファイルを開いてコンパイルすることです。サポー

トされていない機能を使用すると、エラー・メッセージが表示され、エラーを修正する必要があります。

多数の Formsモジュールのアップグレードよりも効率的な方法として、Oracle9i Formsで提供されるコマンドライン・ユー

ティリティを使用してバッチ・アップグレードを実行する方法があります。

オラクル社は、サポートされていない機能の使用状況を実際のアップグレード前に識別し、それらのいくつかを自動的に

修正できる Forms Migration Assistantを提供しています。このグラフィカル・ユーティリティを OTNからダウンロードし

て、アップグレード・プロセスを簡易化してください。

http://otn.oracle.co.jp/software/products/forms/index.html

結論

Oracle Formsは、アプリケーションをWebアーキテクチャにアップグレードすることでアプリケーションや開発者のス

キルに関するこれまでの投資を活用する機会を企業に提供します。このアップグレード・プロセスのコンセプトは既知の

もので、世界中の多くのアプリケーションのアップグレードで既に使用されています。Oracle Formsのアップグレード・

プロジェクトの採用を検討する場合、過去の開発者のあらゆる経験や知識を参考にしてください。幅広い経験により、アッ

プグレード・プロセスがスムーズになります。