情報やサービスをインターネット経由で提供する必要のある企業が、ますます増加しています。 以前、Web ページに日々アクセスする訪問者に対しては、スタティックな HTML ページを提供することで十分でした。 今日、Web ではより洗練された HTML ページが提供されるようになり、インターネットを経由してビジネスロジックに完全にアクセスできるようにする必要性が急激に高まっています。 ビジネスに不可欠な情報が含まれているデータベース管理システムは、多くの場合、メインフレームのような高性能サーバーを基盤としています。
このセクションでは、次のトピックについて説明します。
Natural Web インターフェイスは、Web サーバー(正確には HTTP サーバー)とユーザーの Natural 環境とをリンクするものです。 これは、別のサーバーマシン(メインフレームなど)または HTTP サーバーと同じマシン(Apache や Microsoft IIS など)でも使用可能です。
Web ページの内容は、容易に Natural プログラムによってダイナミックに作成できます。 これは、実際の対話式アプリケーションを Web に実装する基盤となります。
対話式アプリケーションでは、ユーザーは情報を入力でき、アプリケーションはその入力に応じた出力を発行することによって応答します。 Web ベースのアプリケーションの例として、注文入力システム、旅行予約サービス、集配システムなどを挙げることができます。 これにより、Natural アプリケーションの適用範囲が大きく拡張されます。 今日、企業内ユーザーだけでなく、世界中の潜在的な顧客が、同じアプリケーションを使用できるようになりました。
Natural ユーザーは、このようなアプリケーションを実装するために、新しいプログラミング言語を習得する必要がありません。 ナビゲーションとユーザー入出力は、Natural に埋め込み HTML ステートメントを追加でいくつか使用することによって、完全に実装できます。
次のトピックについて説明します。
Natural Web インターフェイスは、以下の 3 つの内部モジュールで構成されています。
Natural Web インターフェイス
Natural の HTML API と HTTP API
Natural Web サーバーエクステンション
同一マシン上の Web サーバーにインターフェイスを提供する部分
必要なミドルウェア
RPC テクノロジを使用する EntireX Broker を含む EntireX Communicator
Natural Web インターフェイスの主要な機能の 1 つは、Web ページから Natural サブプログラムを 呼び出し可能であることです。 このことは、入力フィールドとボタンがある Web ページのフォームを使用して行うことができます。 ユーザーは、データを入力し、ボタンの 1 つをクリックしてこれらのデータを送信することができます。 これにより、ユーザーデータをパラメータとして渡す Natural サブプログラムが実行されます。
これにより、アプリケーション機能(サブプログラム)に簡単にアクセスできます。 大部分の Web サーバーでは、SQL(および ODBC ドライバ)を使用してデータを取得する簡単なデータベースアクセスが提供されていますが、この機能は、対話式アプリケーションを実装するには十分ではありません。 また、データ整合性およびユーザーデータの処理を保証するためのビジネスロジックも必要となります。
通常、整合性チェックや妥当性チェックなどのビジネスロジックは、実稼働アプリケーション向けに過去に実装されて、すでに存在しています。 これらのロジックが別の Natural モジュール(サブプログラム、プログラム、サブルーチンなど)として実装されている場合は、容易に再利用できるため、異なる環境または異なる言語で再実装する必要がありません。
したがって、Web サーバーをビジネス機能に接続するために特別なインターフェイスプログラムを作成する必要はありません。 Natural Web インターフェイスは、その目的のために標準化されたインターフェイスです。
プログラミング言語を学習する必要がないため、既存のスキルを活用できます(出力ページをフォーマットする HTML ステートメントを除く)。
Web の対話式アプリケーションで 2 番目に重要となる機能は、フォーマットされた Web ページでユーザーにフィードバックすることです。 Natural Web インターフェイスを使用すると、これらの Web ページをアプリケーションのニーズに従ってダイナミックにフォーマットできます。
このことには、レイアウトの制御およびこれらのページの内容が、外部の別のディレクトリにではなく、完全にアプリケーション/プログラムレベルにあるという利点があります。
また、Natural は多様なソース(Adabas、RDBMS、VSAM、およびシーケンシャルファイル、さらに Entire System Server ではシステム情報)からデータと情報を収集できるため、アプリケーションタイプは事実上無限です(Natural で構築できるアプリケーションはすべて Web と統合できます)。
Natural Web インターフェイスは、Software AG の Entire 製品群の実績あるミドルウェア製品セットが基盤となっています。
これにより、既存のクライアント/サーバー環境にシームレスに統合することが可能になります。 Web 接続は、既存の Natural サーバーに接続できる単なる別のクライアントとなります。 Entire Net-Work がインストールされている場合は、別のミドルウェア製品セットをインストールする必要はありません。
Natural for Windows では、このインターフェイスで Natural DCOM クラスを呼び出すことができます。 特定のインターフェイスで呼び出されたメソッドは、リモートプロシージャコール(RPC)を介して使用されるものと同じサブルーチンにマップできます。
Web ページは、標準ツール(Macromedia Dreamweaver、Microsoft Frontpage など)または Natural 生成機能を使用した Web ページ作成ツールを使用して作成できます。 Natural サーバーから、サブプログラムを生成できます。 他のプログラミング言語や Web ページ作成ツールに関する知識を習得する必要はありません。
ユーザーのブラウザの Web ページからの要求は、Web(または HTTP)サーバーに渡されます。 この要求が Natural サブプログラムの実行を要求する形式である場合、この要求は EntireX RPC、PAL、または DCOM 経由で Natural サブプログラムを実行する Natural Web サーバーエクステンション部分に渡されます。 プログラムは、ユーザーデータをパラメータとして取得し、その後、ユーザーにフィードバックを提供する一連のプログラムを発行します。
次の図は、Natural サブプログラムが HTML ブラウザからどのように呼び出されるかを示しています。 処理の各段階は数字で識別されます。これらの段階で発生する処理の詳細については、以下で説明します。
HTML ブラウザは URL を要求します。
ブラウザは、サーバー側で呼び出すプログラムを識別する URL を要求します。
Web サーバーは、Natural Web サーバーエクステンション CGI を呼び出します。
Web サーバーは、URL を取得し、Natural Web サーバーエクステンションを呼び出します。
Natural Web サーバーエクステンションは、呼び出しを RPC に変換します。
Natural Web サーバーエクステンションプログラムでは、URL を Natural RPC に変換します。この Natural RPC によって、当初 URL で指定されていた Natural サーバープログラムが呼び出されます。
Natural サブプログラムが実行され、戻りページが生成されます。
サーバー上の Natural サブプログラムが実行され、HTML 戻りページが生成されます。
戻りページは、Natural Web サーバーエクステンションに送り返されます。
HTML 戻りページは、サブルーチン呼び出しの応答として送り返されます。
Natural Web サーバーエクステンションは、戻りページを Web サーバーに送り返します。
Web サーバーは、ヘッダー情報を追加して、それをブラウザに送信します。
ブラウザは、URL に対する要求として送信したものへの回答を受信します。
注意:
Natural Web インターフェイスのコンテキストでは、外部サブルーチンだけが出力を返すことができます。
Natural Web インターフェイス経由で呼び出されたページは、Natural Security とともに動作することができます。 このことは、以下のように行われます。
最初に、Natural Web サーバーエクステンションを、HTTP サーバーで制限されたページとして定義する必要があります。
このように定義した後は、ブラウザでページを要求すると、ユーザー ID とパスワードの入力を求められます。
入力されたデータは、HTTP サーバーによって、データベースを使用して検証されます。
ユーザーが認証されると、リモートユーザー名を使用して Natural Web サーバーエクステンションが呼び出されます。
Natural RPC サーバーが Natural Security とともに開始されると、入力された名前が *USER として設定されます。
HTTP サーバーによってすでに承認が行われているため、Natural 側でのパスワードチェックは行われません。 したがって、Natural RPC サーバーは AUTO=ON で開始する必要があります。
また、2 番目のシナリオとして、初期化ファイルが開始されるとき、Natural Security で Natural RPC サーバーと通信するために、特定の固定された定義済みユーザー ID とパスワードを設定するという方法もあります。 「Natural Security との通信」も参照してください。