| フォーム |
この章では、インターネットアプリケーションの内容とそのさまざまな構成要素について説明します。
インターネットアプリケーションは、標準的なインターネットプロトコルを使用してサーバにクライアントを接続するクライアント/サーバアプリケーションです。ここでいうインターネットアプリケーションは、WWW で公に使用できるインターネット用アプリケーションやイントラネット用アプリケーションと、まったく同じ方法で作成することができます。イントラネットアプリケーションは組織のイントラネットで実行されるもので、組織のスタッフだけが使用することができます。このマニュアルで使用する「インターネットアプリケーション」という用語は、純粋なインターネット用アプリケーションまたはイントラネット用アプリケーションを指します。
インターネットアプリケーションは、軽いクライアントと重いサーバで構成されています。エンドユーザが対話に使用するクライアント側で必要なのは、ユーザインターフェイスだけです。クライアントは、Web ブラウザで実行されます。Web ブラウザは、インターネットにアクセスするための標準ツールです。すべての処理は、サーバ側で行われます。このサーバ側に組織のデータが置かれます。
インターネットアプリケーションでは、クライアントとサーバ間の通信に標準的なインターネットプロトコルを使用するため、アプリケーションをクロスプラットフォームにすることができます。サーバ側プログラムを、Micro Focus COBOL で作成すると、UNIX サーバや Windows NT で実行することができます (ただし、Windows NT でアプリケーションを実行するには、Micro Focus Net Express を購入する必要があります) 。
また、Server Express が提供するサポートを使用して、分散環境用アプリケーションで Java および COBOL コンポーネントを併用することもできます。この場合は、Java コンポーネントがサーバ側の機能を提供し、ネットワーク上の別の場所で実行されている COBOL コンポーネントとの通信を行います。COBOL と Java の併用について詳しくは、付属の『分散コンピューティング』 マニュアルを参照してください。
インターネットアプリケーションのサーバ側プログラムは、マシンの Web サーバソフトウェアを介してクライアントと通信します。COBOL プログラムとこれを実行する Web サーバの間のインターフェイスをプログラミングする必要はありません。次にあげる 2 つのインターフェイスをコードを変更せずに使用することができます。
上記のインターフェイスについては、『インターネットプログラムのビルド』 の章で詳しく説明します。デフォルトでは、Server Express でアプリケーションを作成すると CGI 用 (CGI はすべての Web サーバでサポートされています) にビルドされるため、CGI を使用してアプリケーションの開発とデバッグを行うことをお奨めします。コンパイル設定とビルド設定を変更し、プログラムを再ビルドすると、COBOL CGI プログラムを NSAPI プログラムに変換することができます。ただし、NSAPI プログラムの利点を最大に活用するには、スレッドを利用できるようにする必要があります。
クライアント側のユーザインターフェイスは、標準的な HTML フォームを使用して作成できます。標準の HTML フォームは、フォーム対応のどの Web ブラウザでも使用できるため、このユーザインターフェイスを UNIX、Windows、Macintosh または OS/2 に実装できます。
インターネットアプリケーションは、クライアント/サーバアプリケーションです。これは、次の 2 つに分割することができます。
フォームは、エンドユーザ側で表示される部分です。フォームは、Web ブラウザで表示され、エンドユーザがデータを入力するためのコントロールを装備しています。下図は、簡単なフォームの例です。

図 1-1: インターネットアプリケーションの簡単なフォーム
上記のフォームでは、エンドユーザが [Send Form] ボタンをクリックすると、フォームに入力された情報がパッケージ化され、サーバ側プログラムに送信されます。サーバ側プログラムは、フォーム、Web ページのリンクなどにより起動された場合にのみ実行されます。サーバ側プログラムは、フォームの情報を処理し、エンドユーザに結果を返します。
結果は、プログラムの内容に応じて、別のフォームや、テキストを表示する簡単な HTML ページに表示されます。
上記のアプリケーション例は、非常に簡単なものです。実際のアプリケーションは、通常、より複雑です。また、互いにリンクされた複数のフォームやサーバ側プログラムで構成されている場合もあります。サーバ側プログラムは、次の 2 種類に分類されます。
対称サーバ側プログラムでは、入力と出力に対して同じフォームを使用します。たとえば、データベースの問い合わせプログラムや更新プログラムでは、レコードや SQL クエリーのためのフィールドセットを使用します。データベースに問い合わせるデータの入力とプログラムから返される結果の出力は、これらの同じフィールドを使用して行います。
非対称サーバ側プログラムでは、入力と出力に異なるフォームを使用します。たとえば、最初のフォームに顧客の詳細情報を入力すると、新規注文用の別のフォームが表示される注文入力プログラムなどがあげられます。
非対称サーバ側プログラムを作成する場合は、別個のフォームとサーバ側プログラムを連鎖させて、複雑なアプリケーションをビルドすることができます。下の図は、最初のプログラムの出力を受けて 2 番目のサーバ側プログラムが起動されるアプリケーションを示します。2 番目のプログラムは、処理パスに応じて異なるフォームを出力します。
サーバ側プログラムは、データを処理し、結果を返す間にのみ実行されます。エンドユーザからは、アプリケーションが常に実行されているように見えますが、実際のアプリケーションは、短時間だけ実行されて終了するトランザクションが連続した状態で作成されています。
対称サーバ側プログラム (この用語については、前項を参照してください) に基づいたアプリケーションは、次のように機能します。
この操作により、サーバ側プログラムが再度実行されます。
上記の手順以外にも、さまざまな流れがあります。たとえば、Server Express で提供する CGI デモンストレーションアプリケーション (デモンストレーションアプリケーションにアクセスするには Infomgr を使用してください) を起動すると、簡単な HTML ページを返す CGI プログラムを実行する入力フォームが表示されます。前項で簡単に説明した非対称サーバ側プログラムは、より複雑な例です。重要なことは、サーバ側プログラムは結果を返すまでの間しか実行されないということです。
このマニュアルでは、フォームのデータを処理し、結果を返すサーバ側プログラムを作成することを中心に説明しています。ただし、フォーム自体に対話型コードを入れることもできます。このようなコードを作成するには、Netscape ブラウザでサポートされている簡単なスクリプト言語である JavaScript を使用します。または、Microsoft 社のブラウザでサポートされている、JavaScript の変化型、Script を使用することもできます。フォームに相互動作を行うためのコードを追加する場合は、JavaScript または JScript の関数を記述し、これをフォームのイベントにリンクします。イベントにリンクされた関数をイベントハンドラと呼びます。たとえば、エンドユーザがデータの入力を終えたときに、特定のフィールドの値が指定の範囲内にあることを検証するようなイベントハンドラを作成することができます。
相互動作を行うコードを Web フォームに追加しようとしており、その対象がおもに Internet Explorer ユーザである場合は、Micorsoft の Web サイトにある Microsoft JScript ドキュメントを参照してください。対象がおもに Netscape ブラウザノユーザである場合は、Netscape の Web サイトにある Netscape JavaScript ドキュメントを参照してください。
Copyright © 2002 Micro Focus International Limited. All rights reserved.
本書、ならびに使用されている固有の商標と商品名は国際法で保護されています。
| フォーム | ![]() |