(57)【要約】【課題】ＷＡＮ上のクライアントがＷＡＮを通じて簡便にＬＡＮ内のサーバにアクセスする。【解決手段】クライアント１０６は、アクセス用のＷｅｂ画面上で所定の入力処理を行うのみで、Ｗｅｂサーバ１１０のＣＧＩ１１１，クライアントスタブ１１２及びブローカ２２の機能により、ＬＡＮシステム３０内のクライアント群２０とまったく同様の手順ないし手法で、ＬＡＮシステム３０のサーバ群１２，１４にアクセスし、所望の処理結果がクライアント１０６の画面上に表示される。【選択図】      図１
2004356735.tif 000002
【特許請求の範囲】
【請求項１】
ブローカのネーミングサービスによってＬＡＮ内のクライアントがアクセスするＬＡＮ内のサーバに、ＷＡＮ側のクライアントがＷＡＮ側のサーバを通じてアクセスするためのネットワークアクセス方法であって、
前記ＷＡＮ側のクライアントでデータを入力するステップ１，
このステップ１で入力されたデータを、前記ＷＡＮ側において決められた手順で前記ＷＡＮ側のサーバに送信するステップ２，
このステップ２でデータを受信したＷＡＮ側のサーバが、前記ＬＡＮ内のクライアントと前記ブローカとの間で決められた手順と同一の手順で前記ブローカにアクセスし、前記ブローカのネーミングサービス機能によって、前記ＬＡＮ内の該当するサーバのアドレス情報を取得するステップ３，
このステップ３で取得したアドレス情報に基づいて、前記ＷＡＮ側のサーバが該当するＬＡＮ内のサーバにアクセスするステップ４，
このステップ４によってアクセスしたＬＡＮ内のサーバによる処理結果を、前記ＷＡＮ側の該当するクライアントに送信して表示するステップ５，
を含むことを特徴とするネットワークアクセス方法。
【請求項２】
前記ステップ３が、前記ＷＡＮ側のサーバに設けられたＣＧＩもしくはＪａｖａ（登録商標）  Ｓｅｒｖｌｅｔによって実行され、
前記ステップ４が、該ＣＧＩもしくはＪａｖａ（登録商標）  Ｓｅｒｖｌｅｔによってクライアントスタブを呼び出すことにより実行されることを特徴とする請求項１記載のネットワークアクセス方法。
【請求項３】
前記ステップ３が、該当するＬＡＮ内のサーバに対する初回のアドレス情報取得の場合は取得したアドレス情報を記憶し、２回目以降の場合は、該記憶したアドレス情報に基づいて前記ステップ４の処理を実行することを特徴とする請求項１又は２記載のネットワークアクセス方法。
【請求項４】
ＬＡＮ内のクライアントがＬＡＮ内のサーバに対してアクセスする際にネーミングサービスを行うブローカを含むＬＡＮシステム，
ＷＡＮを通じて、前記ＬＡＮ内のサーバにアクセスするＷＡＮ側のクライアント，
前記ＷＡＮ側のクライアントと前記ＬＡＮとの通信を仲介するＷＡＮ側のサーバ，
を備えており、
前記ＷＡＮ側のクライアントと前記ＷＡＮ側のサーバとの通信を、前記ＷＡＮにおいて決められた手順で行うとともに、前記ＷＡＮ側のサーバと前記ブローカとの通信を、前記ＬＡＮ内のクライアントと前記ブローカとの間で決められた手順と同一の手順で行う仲介手段を、前記ＷＡＮ側のサーバに設けたことを特徴とするネットワークアクセスシステム。
【請求項５】
前記仲介手段は、
前記ＷＡＮ側のサーバに設けられており、前記ＬＡＮ内のクライアントと前記ブローカとの間で決められた手順と同一の手順で前記ブローカにアクセスし、前記ブローカのネーミングサービス機能によって、前記ＬＡＮ内の該当するサーバのアドレス情報を取得するサーバアドレス情報取得手段，
このサーバアドレス情報取得手段によって取得した前記アドレス情報に基づいて、前記ＷＡＮ側のサーバが該当するＬＡＮ内のサーバにアクセスするサーバアクセス手段，
を含むことを特徴とする請求項４記載のネットワークアクセスシステム。
【請求項６】
前記サーバアドレス情報取得手段がＣＧＩもしくはＪａｖａ（登録商標）  Ｓｅｒｖｌｅｔによって構成されており、前記サーバアクセス手段が該ＣＧＩもしくはＪａｖａ（登録商標）  Ｓｅｒｖｌｅｔによって呼び出されるクライアントスタブによって構成されていることを特徴とする請求項５記載のネットワークアクセスシステム。
【請求項７】
ブローカのネーミングサービスによってＬＡＮ内のクライアントがアクセスするＬＡＮ内のサーバに、ＷＡＮ側のクライアントがＷＡＮ側のサーバを通じてアクセスするためのプログラムであって、
前記ＷＡＮ側のクライアントで入力されたデータを受信したＷＡＮ側のサーバが、前記ＬＡＮ内のクライアントと前記ブローカとの間で決められた手順と同一の手順で前記ブローカにアクセスし、該ブローカのネーミングサービス機能によって、前記ＬＡＮ内の該当するサーバのアドレス情報を取得するサーバアドレス情報取得機能，
このサーバアドレス情報取得機能によって取得した前記アドレス情報に基づいて、前記ＷＡＮ側のサーバが該当するＬＡＮ内のサーバにアクセスするサーバアクセス機能，
を備えたことを特徴とするネットワークアクセスプログラム。
【請求項８】
ブローカのネーミングサービスによってＬＡＮ内のクライアントがアクセスするＬＡＮ内のサーバと、ＷＡＮ側のクライアントとの仲介を行うＷＡＮ側に設けられたネットワークアクセスサーバであって、
前記ＷＡＮ側のクライアントで入力されたデータを受信したＷＡＮ側のサーバが、前記ＬＡＮ内のクライアントと前記ブローカとの間で決められた手順と同一の手順で前記ブローカにアクセスし、該ブローカのネーミングサービス機能によって、前記ＬＡＮ内の該当するサーバのアドレス情報を取得するサーバアドレス情報取得手段，
このサーバアドレス情報取得機能によって取得した前記アドレス情報に基づいて、前記ＷＡＮ側のサーバが該当するＬＡＮ内のサーバにアクセスするサーバアクセス手段，
を備えたことを特徴とするネットワークアクセスサーバ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワークアクセスのための方法，プログラム，サーバ，システムに関するものであり、例えばＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）に接続されたクライアントからＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）上に配置されたサーバ群にアクセスするための技術に関する。
【０００２】
【背景技術】
Ｃ／Ｓ（クライアント／サーバ）システムは、多方面の分野で実用化されているが、特に企業向けの大規模な基幹業務などにおける２階層のＣ／Ｓシステムでは、クライアントやネットワークの負荷が高くなって処理性能上のボトルネックとなる，必ずしも拡張性がよいとはいえない，アプリケーションプログラムの保守性が悪い，など必ずしも満足し得るものではない。そのような不都合を改良するため、３階層のＣ／Ｓシステムが開発されている。
【０００３】
図４には、３階層Ｃ／Ｓシステムの基本構成が示されており、クライアント９００とデータベース９０６の間に２つのサーバ９０２，９０４が存在する構成となっている。これらのうち、ファンクショナルサーバ９０２は、各種の処理ロジック機能を統合したものである。データベースサーバ９０４は、データベース９０６に対するデータの入出力関連の処理を行う。
【０００４】
ところで、Ｃ／Ｓシステムは通常分散環境で実行され、図４に示したクライアント，サーバ，データベースを含むシステムが多数運用される場合がある。例えば、会社が複数の部門を有しており、各部門毎にＣ／Ｓシステムが運用されているような場合である。このような場合に、クライアント側からいずれかのサーバ上のプロシージャ（一連の処理単位の命令）を呼び出す（実行する）場合、該当するサーバのアドレス情報を知る必要がある。ところが、このようなサーバアドレス情報がクライアント側のプログラムに記述されている場合、サーバの増設などによってサーバのアドレスの変更がある毎にそのアドレス情報を書き換える必要があり、極めて非効率的であるとともに、システムの拡張性も低下してしまう。クライアント側のプログラムにサーバアドレス情報を記述することなく所望のサーバにアクセスすることができれば、クライアント側のプログラムの変更を一切行うことなく、サーバの増設，アップグレード，配置変更を自由に行うことができる。
【０００５】
このような仕組みを実現するものとして、ネーミングサービスと呼ばれるものがある。このネーミングサービスは、図５に示すブローカによって実現可能である。同図において、ＬＡＮシステム３０のデータベース群１０は、データベースサーバ群１２に接続されており、データベースサーバ群１２はファンクショナルサーバ群１４に接続されている。データベース群１０には複数のデータベース１０Ａ〜１０Ｃ・・・が含まれており、データベースサーバ群１２には複数のデータベースサーバ１２Ａ，１２Ｂ，・・・が含まれており、ファンクショナルサーバ群１４には複数のファンクショナルサーバ１４Ａ，１４Ｂ，・・・が含まれている。例えば、ファンクショナルサーバ１４Ａは販売管理用，ファンクショナルサーバ１４Ｂは会計／決算用，ファンクショナルサーバ１４Ｃは生産管理用……という具合である。
【０００６】
これらのサーバ群１６は、社内ＬＡＮ１８を介してクライアント（ＰＣ）群２０に接続されている。なお、クライアント群２０には、クライアント２０Ａ，２０Ｂ，・・・が含まれている。例えば、クライアント２０Ａは販売／売掛管理用，クライアント２０Ｂは購買／買掛管理用，クライアント２０Ｃは経理用・・・という具合である。また、サーバ群１２，１４は、ネーミングサービスを行うブローカ２２に接続されている。なお、ブローカ２２自体はプログラムであり、例えば単一ブローカの場合はシステムの中心となるサーバで実行されるようになっている。
【０００７】
システムの立ち上げの際に、まず最初にブローカ２２が立ち上がる。このとき、ブローカ２２は、自身の環境ファイルを読み込む。この環境ファイルには、自身が起動するプラットホームのホスト名やポート番号などが記述されている。次に、データベースサーバ群１２，ファンクショナルサーバ群１４がそれぞれ立ち上がる。このときも同様に環境ファイルがそれぞれ読み込まれる。環境ファイルには、既に起動しているブローカ２２のホスト名やポート番号がブローカアドレス情報１２Ｐ，１４Ｐとして書き込まれている。各サーバは、読み込んだ環境ファイルに記述されているブローカアドレス（ホスト名とポート番号）を使用してブローカ２２と通信を開始し、自分のホスト名やポート番号をブローカ２２に伝える。このような操作がブローカ２２と各サーバとの間で順次行われることで、ブローカ２２にサーバアドレス情報一覧２２Ａが生成される。
【０００８】
一方、クライアント群２０も、同様に起動時に環境ファイルを読み込む。この環境ファイルには、ブローカ２２のアドレス情報２０Ｐなどが書き込まれており、これがクライアント群２０でそれぞれ保持される。
【０００９】
以上のような立ち上げ後の状態で、例えばクライアント２０Ｃで経理処理が行われ、経理処理のためのプログラムを実行するものとする。クライアント２０Ｃは、まず最初に、保持しているブローカアドレス情報を参照してブローカ２２にアクセスする。そして、アクセスしたいサーバのアドレス情報を問い合わせる。上述したように、ブローカ２２はサーバアドレス情報一覧２２Ａを保持しているので、これを参照して該当するサーバのアドレス情報をクライアント２０Ｃに伝える。次にクライアント２０Ｃは、ブローカ２２から受け取ったアドレス情報に基づいて所望のサーバにアクセスする。例えば、ファンクショナルサーバ１４Ｂにアクセスし、経理処理に関するサーバ関数を呼び出す（すなわち経理処理に関する命令を実行する）という具合である。つまり、
（１）最初に、ブローカ２２に対して所望するサーバのアドレス情報を問い合わせ、アドレス情報を取得する。
（２）次に、取得したアドレス情報を利用して、該当するサーバにアクセスする。
という手順で、クライアントはサーバにアクセスする。
【００１０】
このように、クライアントは、ブローカ２２のネーミングサービスを利用して、サーバアドレス情報を一切保持することなく所望の処理内容に応じたサーバへアクセスすることが可能となる。なお、サーバ呼び出しの度にブローカにサーバアドレスを問い合わせるようでは非効率的であるし、社内ＬＡＮ１８の負荷も増大するので、最初にアクセスしたときに取得したサーバアドレス情報はクライアント側で保持されるようにする。以上のような３階層Ｃ／Ｓシステムについては、以下の非特許文献１〜３に詳述されている。
【非特許文献１】
日経オープンシステム，１９９８年２月号，Ｐ２７０〜２７９，「３階層Ｃ／Ｓシステム構築技法（第１回）」
【非特許文献２】
日経オープンシステム，１９９８年３月号，Ｐ２６４〜２７５，「３階層Ｃ／Ｓシステム構築技法（第２回）」
【非特許文献３】
日経オープンシステム，１９９８年４月号，Ｐ２６８〜２７９，「３階層Ｃ／Ｓシステム構築技法（第３回）」
【００１１】
【発明が解決しようとする課題】
ところで、以上のような３階層Ｃ／Ｓシステムは、企業の社内システムとして構築される場合が多いであろうが、一方では、最近のＰＤＦ，ノートパソコン，携帯電話などのモバイル情報機器の普及により、インターネットを利用して社外から社内システムにアクセスしたいという要望が高まっている。しかしながら、従来のＣ／Ｓシステムは、基本的にローカルでプライベートなネットワークシステムであり、インターネットとの接続についてはまったく考慮されていない。
【００１２】
本発明は、以上の点に着目したもので、第１の目的は、ＬＡＮ内のシステムに対し、そのサーバ構成の変更を伴うことなく、ＷＡＮ（広域ネットワーク）側から簡便にアクセスすることである。第２の目的は、現存するＬＡＮ内のシステムをそのまま利用して、ＷＡＮ側からのアクセスを可能にすることである。第３の目的は、ＷＡＮ上のクライアントに対して特別なソフトないしプログラムを要求することなく、ＬＡＮ内のシステムへのアクセスを実現することである。
【００１３】
【課題を解決するための手段】
前記目的を達成するため、本発明は、ブローカのネーミングサービスによってＬＡＮ内のクライアントがアクセスするＬＡＮ内のサーバに、ＷＡＮ側のクライアントがＷＡＮ側のサーバを通じてアクセスする際に、前記ＷＡＮ側のクライアントと前記ＷＡＮ側のサーバとの通信を、前記ＷＡＮにおいて決められた手順で行うとともに、前記ＷＡＮ側のサーバと前記ブローカとの通信を、前記ＬＡＮ内のクライアントと前記ブローカとの間で決められた手順と同一の手順で行うことを特徴とするものである。
【００１４】
本発明の前記及び他の目的，特徴，利点は、以下の詳細な説明及び添付図面から明瞭になろう。
【００１５】
【発明の実施の形態】
＜実施形態の構成＞・・・以下、本発明の実施の形態について詳細に説明する。図１には、本発明の一実施形態の基本構成が示されている。なお、上述した背景技術と同様の構成部分については同一の符号を用いる。同図において、携帯電話１００，ＰＤＡ１０２，ノートＰＣ（パーソナルコンピュータ）１０４などのクライアント１０６は、インターネット１０８を介してＷｅｂサーバ１１０とネットワークを構成している。更に、Ｗｅｂサーバ１１０は、上述したＬＡＮシステム３０に接続されている。なお、交換機やプロバイダなどは省略している。
【００１６】
クライアント１０６は、Ｗｅｂサーバ１１０との間で、ＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）もしくはＨＴＴＰＳ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ  ｏｖｅｒ  ＳＳＬ）によって通信可能となっている。クライアント１０６としては、携帯電話１００，ＰＤＡ１０２，ノートＰＣ１０４が代表的なものであるが、インターネット１０８を通じてＨＴＴＰ又はＨＴＴＰＳでＷｅｂサーバ１１０と通信可能なものが全て適用可能である。また、携帯電話１００は、Ｃ−ＨＴＭＬ，Ｉモード，Ｊａｖａ（登録商標），Ｍａｃｒｏｍｅｄｉａ  Ｆｌａｓｈ  ＭＸなどに対応しており、ＰＤＡ１０２やノートＰＣ１０４は、ＨＴＭＬ（＋Ｊａｖａ（登録商標）  Ｓｃｒｉｐｔ又はＶＢ  Ｓｃｒｉｐｔ），Ｊａｖａ（登録商標）  Ａｐｐｌｅｔに対応している。
【００１７】
一方、Ｗｅｂサーバ１１０は、ＷＷＷサーバ，メールサーバ，ＤＮＳサーバ，ファイアウォールサーバなどを必要に応じて含んでいる。このＷｅｂサーバ１１０は、クライアント１０６に表示するためのＨＴＭＬデータ１０９を備えている。クライアント１０６からＬＡＮシステム３０へのアクセス要求があったとき（その旨のＵＲＬの送信があったとき）は、このＨＴＭＬデータ１０９がクライアント１０６に送信され、データ入力用のページが表示されるようになっている。更に本実施形態では、後述するクライアントスタブを呼び出す必要性から、Ｗｅｂサーバ１１０は、ＣＧＩ（Ｃｏｍｍｏｎ  Ｇａｔｅｗａｙ  Ｉｎｔｅｒｆａｃｅ）もしくはＪａｖａ（登録商標）  Ｓｅｒｖｌｅｔ（以下「ＣＧＩ」で代表する）１１１を備えている。詳細は後述する。
【００１８】
次に、クライアント１０６は、いずれもＷｅｂブラウザを備えており、これによってＬＡＮシステム３０にアクセスするための前記ＨＴＭＬデータ１０９に基づくページを表示したり、該ホームページ上におけるデータ入力が可能となっている。このデータ入力の結果、Ｗｅｂサーバ１１０に送信されるデータが、例えば図２に示すように、最初のパラメータ名の値はＣＧＩ１１１からローカルに呼び出されるサーバ関数呼び出しルーチン名，２番目のパラメータ名の値はローカルに呼び出される表示ルーチン名となるように、ＨＴＭＬデータ１０９のフォームが構成されている。これらの第１番目及び第２番目のパラメータが、一般的なＷｅｂページ表示の場合のパラメータに追加された構成となっている。そして、これらのパラメータは、ＨＴＭＬの隠しフィールド（ＨＩＤＤＥＮ  ＦＩＥＬＤ）としてクライアント１０６からＷｅｂサーバ１１０に送信される。従って、クライアント１０６では、通常のＷｅｂブラウザと同様の操作を行うのみでよい。
【００１９】
以上のように、クライアント１０６は、所望する処理を行うためのサーバ関数呼び出しを直接行うことはなく、サーバ関数呼び出し用のルーチン名を指定するのみである。実際のリモート関数コール（データベースサーバ群１２又はファンクショナルサーバ群１４に含まれるサーバの呼び出し）は、サーバ関数呼び出しルーチン内で行われる。サーバ関数呼び出しルーチンからのリモート関数コールは、１個のリモート関数コールの場合から異なる複数のリモート関数コールに及ぶ場合がある。
【００２０】
一方、Ｗｅｂサーバ１１０側には、ＣＧＩ１１１にサーバ関数呼び出しルーチン１１１Ａ，データ表示ルーチン１１１Ｂの各機能がそれぞれ用意されており、更に、クライアントスタブ１１２と、環境ファイル１１３が用意されている。これらのうち、ＣＧＩ１１１及びクライアントスタブ１１２は、クライアント１０６側からの要求と、ＬＡＮシステム３０における該当するサーバ呼び出しとの仲介を行うためのプログラムである。ＣＧＩ１１１は、該当するサーバのアドレス情報を取得し、クライアントスタブ１１２は、取得したアドレス情報を利用して該当するサーバにアクセスする機能を備えている。これらにより、Ｗｅｂサーバ１１０が、あたかもＬＡＮシステム３０の内部にあるクライアント群２０のように、ブローカ２２にアクセスし、更にはＬＡＮシステム３０内の該当するサーバにアクセスすることが可能となる。なお、Ｗｅｂサーバ１１０には、必要に応じて他のＣＧＩなどが用意されている場合がある（図示せず）。
【００２１】
前記クライアントスタブ１１２は、例えばＮｅｘｔｒａ（次世代情報交換ネットワーク，前記非特許文献参照）の場合、ＩＤＬ（Ｉｎｔｅｒｆａｃｅ  Ｄｅｆｉｎｉｔｉｏｎ  Ｌａｎｇｕａｇｅ）ファイル（ＣＧＩ１１１から呼び出される関数がファンクショナル  サーバ群１４の場合），もしくは、ＳＱＬ（Ｓｔｒｕｃｔｕｒｅｄ  Ｑｕｅｒｙ  Ｌａｎｇｕａｇｅ）ファイル（ＣＧＩ１１１から呼び出される関数がデータベースサーバ群１２の場合）を、ＩＤＬコンパイラによってコンパイルすることで生成される。Ｎｅｘｔｒａには、スタブ生成用のツールが用意されている。具体的には、データベースサーバ群１２に対して「ＳＱＬｍａｋｅ」が用意されており、ファンクショナルサーバ群１４に対して「Ｒｐｃｍａｋｅ」が用意されている。なお、前記ＩＤＬファイルもしくはＳＱＬファイルには、ＣＧＩ１１１から呼び出される関数が総て含まれているものとする。
【００２２】
ＣＧＩ１１１には、サーバ関数呼び出しルーチン１１１Ａ，データ表示ルーチン１１１Ｂの機能が含まれている。また、Ｗｅｂサーバ１１０には、その実行ディレクトリに環境ファイル１１３が用意されている。この環境ファイル１１３には、ブローカ２２のアドレス情報が記述されている。ＣＧＩ１１１のプログラムは、コンパイルされて実行モジュール化された後、ＣＧＩ１１１の実行ディレクトリに配置される。
【００２３】
＜実施形態の動作＞・・・次に、図３のフローチャートを参照しながら本実施形態の動作を説明する。クライアント１０６は、Ｗｅｂブラウザを起動し、ＬＡＮシステム３０にアクセスするためのサイトのＵＲＬを指定する。すると、Ｗｅｂサーバ１１０からＨＴＭＬデータ１０９がインターネット１０８を通じてクライアント１０６に送信され、クライアント１０６では入力画面が表示される（ステップＳ１０）。
【００２４】
そして、画面を参照しながら所望のデータを入力する（ステップＳ１２）。入力データには、アクセス認証用のＩＤやパスワードなども含まれる。なお、プルダウンメニューなどによって必要な項目を選択するようにしてもよい。入力されたデータは、ＣＧＩ１１１にデータを引き渡すことができるように、ＨＴＭＬフォーム形式のポストメソッド（ＰＯＳＴ  Ｍｅｔｈｏｄ）又はゲットメソッド（ＧＥＴ  Ｍｅｔｈｏｄ）でインターネット１０８を介してＷｅｂサーバ１１０に送信される。
【００２５】
Ｗｅｂサーバ１１０は、ＨＴＭＬ  ＦＯＲＭタグのＡＣＴＩＯＮ属性から実行するＣＧＩ又はＳｅｒｖｌｅｔを認識し起動する。本実施形態の場合は、ＣＧＩ１１１が起動される（ステップＳ１４）。起動されたＣＧＩ１１１は、初期化処理を行う。この処理には、環境ファイル１１３に書かれているブローカ２２のアドレス情報（ホスト名又はＩＰアドレスとポート番号）を読み込む処理も含まれる（ステップＳ１６）。ここで、ステップＳ１６に対応するＣＧＩ１１１のプログラムコードの一例を示すと以下のようになる。
2004356735.tif 000003
「ｉｆ  （！ｄｃｅ＿ｓｅｔｅｎｖ（”ｖｆｍ．ｅｎｖ”，ＮＵＬＬ，ＮＵＬＬ））」の部分は、環境ファイル１１３情報の読み込みステートメントを示している。このようなブローカアドレス情報の読み込みにより、ＣＧＩ１１１はブローカ２２との通信が可能となり、その結果、サーバ群１２，１４との通信（サーバ関数コール）が可能となる。ＣＧＩ１１１は、クライアント１０６から送信されたデータを解析し、共通変数配列にセットする（ステップＳ１８）。ステップＳ１８に対応するＣＧＩ１１１のプログラムコードの一例を示すと次のようになる。
2004356735.tif 000004
2004356735.tif 000005
【００２６】
次に、ＣＧＩ１１１は、サーバ関数のディスパッチ（割り当て）を行う。図２に示したように、クライアント１０６から受信したデータの最初のパラメータ名の値は「サーバ関数呼び出しルーチン名」となっており、２番目のパラメータ名の値は「表示ルーチン名」となっている。サーバ関数ディスパッチでは、最初のパラメータ値から呼び出すべきサーバ関数呼び出しルーチン名を判定し、更にその呼び出しを行う（ステップＳ２０）。
【００２７】
すると、呼び出されたサーバ関数呼び出しルーチン１１１Ａが実行され、サーバ関数コールが行われる。このとき、サーバ関数コールが初回のコールであるかどうかが判定される（ステップＳ２２）。その結果、初回であるときは（ステップＳ２２のＹｅｓ）、環境ファイル１１３から読み込んだアドレス情報を利用してブローカ２２にアクセスする（ステップＳ２４）。ブローカ２２は、呼び出すべきサーバのアドレス情報を、サーバアドレス情報一覧２２Ａから取得してＷｅｂサーバ１１０に出力する（ステップＳ２６）。Ｗｅｂサーバ１１０では、ＣＧＩ１１１の環境ファイル読込み関数を実行して、取得したサーバアドレス情報をメモリ内に格納保持する（ステップＳ２８）。
【００２８】
別言すると、ＣＧＩ１１１は、呼び出すサーバ関数名だけを認識してブローカ２２に問い合わせる。ブローカ２２は、問い合せがあった関数名のサーバがデータベースサーバ群１２内のサーバであれば、そのサーバのアドレス情報をＣＧＩ１１１に返し、ファンクショナルサーバ群１４内のサーバであれば、そのサーバのアドレス情報を同様にＣＧＩ１１１に返す。例えば、クライアント１０６が販売管理に関する問い合わせを行ったときは、ファンクショナルサーバ１４Ａのサーバ関数名のデータが、クライアント１０６からＷｅｂサーバ１１０に送られる。ＣＧＩ１１１は、クライアント１０６から送信されたデータを解析し、サーバ関数の呼び出しルーチン１１１Ａを実行し、ファンクショナルサーバ１４Ａのサーバ関数コールが行われる。そして、ファンクショナルサーバ１４Ａのアドレス情報が、ブローカ２２からＷｅｂサーバ１１０のＣＧＩ１１１に送られるという具合である。
【００２９】
その後、ＣＧＩ１１１は、クライアント１０６から受信したデータに含まれる関数パラメータを、コールするサーバ関数の引数にセットし（ステップＳ３０）、サーバ関数呼び出しルーチン１１１Ａ内でサーバ関数コールを発行する（ステップＳ３２）。該ステップＳ３０及びＳ３２に対応するＣＧＩ１１１のプログラムコードの一例を示すと次のようになる。
2004356735.tif 000006
この関数コール発行により、クライアントスタブ１１２がＣＧＩ１１１によって呼び出されて実行され、ＬＡＮシステム３０内の該当するサーバに対するアクセスが行われる。すなわち、該当するサーバでは、クライアント１０６の入力データに対する処理が実行される。なお、クライアントスタブ１１２のプログラムコードの一例を示すと、次の通りである。
2004356735.tif 000007
2004356735.tif 000008
なお、２回目以降の同一サーバに対するサーバ関数コールでは、前記ステップＳ２８で記録したサーバアドレス情報を使用してブローカ２２を介することなく直接サーバ関数コールが発行される（ステップＳ２２のＮｏ）。
【００３０】
以上のように、クライアント１０６から要求があると、
（１）ブローカ２２に対して、ＬＡＮシステム３０内の所望するサーバのアドレス情報を問い合わせ、アドレス情報を取得する。
（２）次に、取得したアドレス情報を利用して、ＬＡＮシステム３０内の該当するサーバにアクセスする。
という手順による処理がＷｅｂサーバ１１０のＣＧＩ１１１及びクライアントスタブ１１２によって行われる。すなわち、Ｗｅｂサーバ１１０は、ＬＡＮシステム３０内のクライアント群２０とまったく同様の手順でＬＡＮシステム３０内のサーバ群１２，１４にアクセスする。
【００３１】
次に、サーバ関数コールの結果処理について説明する。この場合は、データ参照呼び出しか、データ登録／更新／削除呼び出しかによって、ＣＧＩ１１１における処理が分かれる。まず、データ参照呼び出しの場合は、サーバ関数コール完了後、サーバ関数呼び出しルーチン１１１Ａによって、サーバ呼び出し関数の引数に返された値を使用し、クライアント１０６から受信したデータの２番目のパラメータ値に対応するデータ表示ルーチン１１１Ｂを呼び出す。呼び出されたデータ表示ルーチン１１１Ｂは、渡された値を使用して表示用の編集処理を行い（ステップＳ３４）、その後Ｗｅｂサーバ１１０及びインターネット１０８を介してクライアント１０６に編集データを送信する（ステップＳ３６）。ステップＳ３４及びＳ３６に対応するプログラムコードの一例を示すと次の通りである。
2004356735.tif 000009
クライアント１０６のＷｅｂブラウザは、受取った編集データを画面上に表示する（ステップＳ３８）。
【００３２】
一方、データ登録／更新／削除呼び出しの場合は、サーバ関数コール完了後、サーバ関数呼び出しルーチン１１１Ａによってサーバ呼び出し関数の戻り値により、データ登録／更新／削除処理の成功または不成功を判別する（ステップＳ４０）。そして、判別結果に対応するデータ表示ルーチン１１１Ｂを呼び出す。呼び出されたデータ表示用ルーチン１１１Ｂは、Ｗｅｂサーバ１１０及びインターネット１０８を介してクライアント１０６に表示データを送信する（ステップＳ４２）。クライアント１０６のＷｅｂブラウザは、受取った表示データを画面上に表示する（ステップＳ３８）。
【００３３】
＜実施形態の効果＞・・・このように、本実施形態によれば、次のような効果がある。
（１）インターネット１０８側のクライアント１０６からみると、アクセス用のＷｅｂ画面上で所定の入力処理を行うのみでＬＡＮシステム３０のサーバにアクセスすることができ、所望の処理結果を画面表示することができる。クライアント１０６とＷｅｂサーバ１１０との通信手順は、図２に示した第１番目及び第２番目のパラメータの部分が、一般的なＷｅｂ上における通信手順と異なるのみである。しかし、この部分は、クライアント１０６がＬＡＮシステム３０にアクセスする際のＷｅｂ画面情報に予め含まれており、クライアント１０６における表示画面上は隠れている。このため、クライアント１０６のユーザから見ると、従来のホームページ上における扱いとまったく同様であり、クライアント１０６側に特別なプログラムなどをまったく必要とすることなく、プライベートなＬＡＮシステム３０に対してインターネット１０８側から簡便にアクセスすることができる。
【００３４】
（２）Ｗｅｂサーバ１１０とブローカ２２との間の通信手順は、ＬＡＮシステム３０内のクライアント群２０とブローカ２２との間の通信手順とまったく同様である。このため、ＬＡＮシステム３０内のサーバ構成になんら変更を行うことなく、インターネット１０８上のクライアント１０６からアクセスが可能であり、サーバの増設，アップグレード，配置変更は、従来と同様に自由に行うことができる。
【００３５】
＜他の実施形態＞・・・本発明には数多くの実施形態があり、以上の開示に基づいて多様に改変することが可能である。例えば次のようなものも含まれる。
（１）前記実施形態では、ＣＧＩ及び（登録商標）  Ｓｅｒｖｌｅｔを利用して、ブローカ２２に対するサーバアドレス情報の取得を行ったが、同様の機能を奏するものであれば、どのようなものであってもよい。
（２）前記実施形態では、ＬＡＮ内のサーバに対するアクセス手順を、クライアントスタブを利用することによって、ＷＡＮ側のクライアントとＬＡＮ内のクライアントで同一となるようにしたが、このようなクライアントスタブを生成できるものとしては、現状では、クライアントスタブが生成可能な言語（Ｃ／Ｃ＋＋，Ｐｅｒｌ，Ｖｉｓｕａｌ  Ｂａｓｉｃ，ＣＯＢＯＬなど）で記述されたＣＧＩやＪａｖａ（登録商標）  Ｓｅｒｖｌｅｔがある。しかし、同様の機能を奏するものであれば、どのようなものであってもよい。
（３）前記実施形態では、Ｗｅｂサーバ１１０とブローカ２２の間の通信手順が、ＬＡＮシステム３０内のクライアント群２０とブローカ２２の間の通信手順とまったく同様であるとしたが、互換性のある手順も含まれる。互換性があれば、ＬＡＮシステム３０内のサーバ構成に影響を与える恐れがない。
（４）前記実施形態では、販売・購買・経理などの業務を行うＬＡＮシステムの場合を例として説明したが、各種のＬＡＮシステムに対して適用可能である。また、サーバ，データベース，ブローカ，クライアントの数も任意であり、必要に応じて増減してよい。
【００３６】
【発明の効果】
以上説明したように、本発明によれば、次のような効果がある。
（１）ＬＡＮ内のシステムに対し、そのサーバ構成の変更を伴うことなく、ＷＡＮ側から簡便にアクセスすることができる。このため、現存するＬＡＮ内のシステムをそのまま利用することができる。
（２）ＷＡＮ上のクライアントに対して特別なソフトないしプログラムを要求することなく、ＬＡＮ内のサーバにアクセスすることができる。
【図面の簡単な説明】
【図１】本発明の一実施形態の全体構成を示す図である。
【図２】前記実施形態におけるクライアントからの送信データの主要部を示す図である。
【図３】前記実施形態の動作を示すフローチャートである。
【図４】３階層のＣ／Ｓシステムの一例を示す図である。
【図５】プライベートなＬＡＮシステムの一例を示す図である。
【符号の説明】
１０・・・データベース群
１０Ａ〜１０Ｃ・・・データベース
１２・・・データベースサーバ群
１２Ａ〜１２Ｃ・・・データベースサーバ
１２Ｐ，１４Ｐ・・・ブローカアドレス情報
１４・・・ファンクショナルサーバ群
１４Ａ〜１４Ｃ・・・ファンクショナルサーバ
１６・・・サーバ群
１８・・・社内ＬＡＮ
２０・・・クライアント群
２０Ａ〜２０Ｅ・・・クライアント
２０Ｐ・・・ブローカアドレス情報
２２・・・ブローカ
２２Ａ・・・サーバアドレス情報一覧
３０・・・ＬＡＮシステム
１００・・・携帯電話
１０２・・・ＰＤＡ
１０４・・・ノートＰＣ
１０６・・・クライアント
１０８・・・インターネット
１０９・・・ＨＴＭＬデータ
１１０・・・Ｗｅｂサーバ
１１１・・・ＣＧＩ又はＪａｖａ（登録商標）  Ｓｅｒｖｌｅｔ
１１１Ａ・・・サーバ関数呼び出しルーチン
１１１Ｂ・・・データ表示ルーチン
１１２・・・クライアントスタブ
１１３・・・環境ファイル
９００・・・クライアント
９０２・・・ファンクショナルサーバ
９０４・・・データベースサーバ
９０６・・・データベース
【図１】
2004356735.tif 000010
【図２】
2004356735.tif 000011
【図３】
2004356735.tif 000012
【図４】
2004356735.tif 000013
【図５】
2004356735.tif 000014