JP2004356735A - Method, program, server and system for accessing network - Google Patents

Method, program, server and system for accessing network Download PDF

Info

Publication number
JP2004356735A
JP2004356735A JP2003149432A JP2003149432A JP2004356735A JP 2004356735 A JP2004356735 A JP 2004356735A JP 2003149432 A JP2003149432 A JP 2003149432A JP 2003149432 A JP2003149432 A JP 2003149432A JP 2004356735 A JP2004356735 A JP 2004356735A
Authority
JP
Japan
Prior art keywords
server
client
lan
broker
address information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2003149432A
Other languages
Japanese (ja)
Inventor
Katsuyuki Kiyono
克行 清野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CYBER SPACE KK
Original Assignee
CYBER SPACE KK
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by CYBER SPACE KK filed Critical CYBER SPACE KK
Priority to JP2003149432A priority Critical patent/JP2004356735A/en
Publication of JP2004356735A publication Critical patent/JP2004356735A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To enable a client on a WAN to conveniently access a server in a LAN through the WAN. <P>SOLUTION: Only by performing predetermined input processing on a Web screen for access, the client 106 accesses servers 12, 14 in the LAN system 30 by functions of CGI 111 and a client stub 112 in the Web server 110 and a broker 22 by the same procedure or technique as that of clients 20 in the LAN system 30, and a desired processing result is displayed on a screen of the client 106. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は、ネットワークアクセスのための方法,プログラム,サーバ,システムに関するものであり、例えばWAN(Wide Area Network)に接続されたクライアントからLAN(Local Area Network)上に配置されたサーバ群にアクセスするための技術に関する。
【0002】
【背景技術】
C/S(クライアント/サーバ)システムは、多方面の分野で実用化されているが、特に企業向けの大規模な基幹業務などにおける2階層のC/Sシステムでは、クライアントやネットワークの負荷が高くなって処理性能上のボトルネックとなる,必ずしも拡張性がよいとはいえない,アプリケーションプログラムの保守性が悪い,など必ずしも満足し得るものではない。そのような不都合を改良するため、3階層のC/Sシステムが開発されている。
【0003】
図4には、3階層C/Sシステムの基本構成が示されており、クライアント900とデータベース906の間に2つのサーバ902,904が存在する構成となっている。これらのうち、ファンクショナルサーバ902は、各種の処理ロジック機能を統合したものである。データベースサーバ904は、データベース906に対するデータの入出力関連の処理を行う。
【0004】
ところで、C/Sシステムは通常分散環境で実行され、図4に示したクライアント,サーバ,データベースを含むシステムが多数運用される場合がある。例えば、会社が複数の部門を有しており、各部門毎にC/Sシステムが運用されているような場合である。このような場合に、クライアント側からいずれかのサーバ上のプロシージャ(一連の処理単位の命令)を呼び出す(実行する)場合、該当するサーバのアドレス情報を知る必要がある。ところが、このようなサーバアドレス情報がクライアント側のプログラムに記述されている場合、サーバの増設などによってサーバのアドレスの変更がある毎にそのアドレス情報を書き換える必要があり、極めて非効率的であるとともに、システムの拡張性も低下してしまう。クライアント側のプログラムにサーバアドレス情報を記述することなく所望のサーバにアクセスすることができれば、クライアント側のプログラムの変更を一切行うことなく、サーバの増設,アップグレード,配置変更を自由に行うことができる。
【0005】
このような仕組みを実現するものとして、ネーミングサービスと呼ばれるものがある。このネーミングサービスは、図5に示すブローカによって実現可能である。同図において、LANシステム30のデータベース群10は、データベースサーバ群12に接続されており、データベースサーバ群12はファンクショナルサーバ群14に接続されている。データベース群10には複数のデータベース10A〜10C・・・が含まれており、データベースサーバ群12には複数のデータベースサーバ12A,12B,・・・が含まれており、ファンクショナルサーバ群14には複数のファンクショナルサーバ14A,14B,・・・が含まれている。例えば、ファンクショナルサーバ14Aは販売管理用,ファンクショナルサーバ14Bは会計/決算用,ファンクショナルサーバ14Cは生産管理用……という具合である。
【0006】
これらのサーバ群16は、社内LAN18を介してクライアント(PC)群20に接続されている。なお、クライアント群20には、クライアント20A,20B,・・・が含まれている。例えば、クライアント20Aは販売/売掛管理用,クライアント20Bは購買/買掛管理用,クライアント20Cは経理用・・・という具合である。また、サーバ群12,14は、ネーミングサービスを行うブローカ22に接続されている。なお、ブローカ22自体はプログラムであり、例えば単一ブローカの場合はシステムの中心となるサーバで実行されるようになっている。
【0007】
システムの立ち上げの際に、まず最初にブローカ22が立ち上がる。このとき、ブローカ22は、自身の環境ファイルを読み込む。この環境ファイルには、自身が起動するプラットホームのホスト名やポート番号などが記述されている。次に、データベースサーバ群12,ファンクショナルサーバ群14がそれぞれ立ち上がる。このときも同様に環境ファイルがそれぞれ読み込まれる。環境ファイルには、既に起動しているブローカ22のホスト名やポート番号がブローカアドレス情報12P,14Pとして書き込まれている。各サーバは、読み込んだ環境ファイルに記述されているブローカアドレス(ホスト名とポート番号)を使用してブローカ22と通信を開始し、自分のホスト名やポート番号をブローカ22に伝える。このような操作がブローカ22と各サーバとの間で順次行われることで、ブローカ22にサーバアドレス情報一覧22Aが生成される。
【0008】
一方、クライアント群20も、同様に起動時に環境ファイルを読み込む。この環境ファイルには、ブローカ22のアドレス情報20Pなどが書き込まれており、これがクライアント群20でそれぞれ保持される。
【0009】
以上のような立ち上げ後の状態で、例えばクライアント20Cで経理処理が行われ、経理処理のためのプログラムを実行するものとする。クライアント20Cは、まず最初に、保持しているブローカアドレス情報を参照してブローカ22にアクセスする。そして、アクセスしたいサーバのアドレス情報を問い合わせる。上述したように、ブローカ22はサーバアドレス情報一覧22Aを保持しているので、これを参照して該当するサーバのアドレス情報をクライアント20Cに伝える。次にクライアント20Cは、ブローカ22から受け取ったアドレス情報に基づいて所望のサーバにアクセスする。例えば、ファンクショナルサーバ14Bにアクセスし、経理処理に関するサーバ関数を呼び出す(すなわち経理処理に関する命令を実行する)という具合である。つまり、
(1)最初に、ブローカ22に対して所望するサーバのアドレス情報を問い合わせ、アドレス情報を取得する。
(2)次に、取得したアドレス情報を利用して、該当するサーバにアクセスする。
という手順で、クライアントはサーバにアクセスする。
【0010】
このように、クライアントは、ブローカ22のネーミングサービスを利用して、サーバアドレス情報を一切保持することなく所望の処理内容に応じたサーバへアクセスすることが可能となる。なお、サーバ呼び出しの度にブローカにサーバアドレスを問い合わせるようでは非効率的であるし、社内LAN18の負荷も増大するので、最初にアクセスしたときに取得したサーバアドレス情報はクライアント側で保持されるようにする。以上のような3階層C/Sシステムについては、以下の非特許文献1〜3に詳述されている。
【非特許文献1】
日経オープンシステム,1998年2月号,P270〜279,「3階層C/Sシステム構築技法(第1回)」
【非特許文献2】
日経オープンシステム,1998年3月号,P264〜275,「3階層C/Sシステム構築技法(第2回)」
【非特許文献3】
日経オープンシステム,1998年4月号,P268〜279,「3階層C/Sシステム構築技法(第3回)」
【0011】
【発明が解決しようとする課題】
ところで、以上のような3階層C/Sシステムは、企業の社内システムとして構築される場合が多いであろうが、一方では、最近のPDF,ノートパソコン,携帯電話などのモバイル情報機器の普及により、インターネットを利用して社外から社内システムにアクセスしたいという要望が高まっている。しかしながら、従来のC/Sシステムは、基本的にローカルでプライベートなネットワークシステムであり、インターネットとの接続についてはまったく考慮されていない。
【0012】
本発明は、以上の点に着目したもので、第1の目的は、LAN内のシステムに対し、そのサーバ構成の変更を伴うことなく、WAN(広域ネットワーク)側から簡便にアクセスすることである。第2の目的は、現存するLAN内のシステムをそのまま利用して、WAN側からのアクセスを可能にすることである。第3の目的は、WAN上のクライアントに対して特別なソフトないしプログラムを要求することなく、LAN内のシステムへのアクセスを実現することである。
【0013】
【課題を解決するための手段】
前記目的を達成するため、本発明は、ブローカのネーミングサービスによってLAN内のクライアントがアクセスするLAN内のサーバに、WAN側のクライアントがWAN側のサーバを通じてアクセスする際に、前記WAN側のクライアントと前記WAN側のサーバとの通信を、前記WANにおいて決められた手順で行うとともに、前記WAN側のサーバと前記ブローカとの通信を、前記LAN内のクライアントと前記ブローカとの間で決められた手順と同一の手順で行うことを特徴とするものである。
【0014】
本発明の前記及び他の目的,特徴,利点は、以下の詳細な説明及び添付図面から明瞭になろう。
【0015】
【発明の実施の形態】
<実施形態の構成>・・・以下、本発明の実施の形態について詳細に説明する。図1には、本発明の一実施形態の基本構成が示されている。なお、上述した背景技術と同様の構成部分については同一の符号を用いる。同図において、携帯電話100,PDA102,ノートPC(パーソナルコンピュータ)104などのクライアント106は、インターネット108を介してWebサーバ110とネットワークを構成している。更に、Webサーバ110は、上述したLANシステム30に接続されている。なお、交換機やプロバイダなどは省略している。
【0016】
クライアント106は、Webサーバ110との間で、HTTP(HyperText Transfer Protocol)もしくはHTTPS(Hyper Text Transfer Protocol over SSL)によって通信可能となっている。クライアント106としては、携帯電話100,PDA102,ノートPC104が代表的なものであるが、インターネット108を通じてHTTP又はHTTPSでWebサーバ110と通信可能なものが全て適用可能である。また、携帯電話100は、C−HTML,Iモード,Java(登録商標),Macromedia Flash MXなどに対応しており、PDA102やノートPC104は、HTML(+Java(登録商標) Script又はVB Script),Java(登録商標) Appletに対応している。
【0017】
一方、Webサーバ110は、WWWサーバ,メールサーバ,DNSサーバ,ファイアウォールサーバなどを必要に応じて含んでいる。このWebサーバ110は、クライアント106に表示するためのHTMLデータ109を備えている。クライアント106からLANシステム30へのアクセス要求があったとき(その旨のURLの送信があったとき)は、このHTMLデータ109がクライアント106に送信され、データ入力用のページが表示されるようになっている。更に本実施形態では、後述するクライアントスタブを呼び出す必要性から、Webサーバ110は、CGI(Common Gateway Interface)もしくはJava(登録商標) Servlet(以下「CGI」で代表する)111を備えている。詳細は後述する。
【0018】
次に、クライアント106は、いずれもWebブラウザを備えており、これによってLANシステム30にアクセスするための前記HTMLデータ109に基づくページを表示したり、該ホームページ上におけるデータ入力が可能となっている。このデータ入力の結果、Webサーバ110に送信されるデータが、例えば図2に示すように、最初のパラメータ名の値はCGI111からローカルに呼び出されるサーバ関数呼び出しルーチン名,2番目のパラメータ名の値はローカルに呼び出される表示ルーチン名となるように、HTMLデータ109のフォームが構成されている。これらの第1番目及び第2番目のパラメータが、一般的なWebページ表示の場合のパラメータに追加された構成となっている。そして、これらのパラメータは、HTMLの隠しフィールド(HIDDEN FIELD)としてクライアント106からWebサーバ110に送信される。従って、クライアント106では、通常のWebブラウザと同様の操作を行うのみでよい。
【0019】
以上のように、クライアント106は、所望する処理を行うためのサーバ関数呼び出しを直接行うことはなく、サーバ関数呼び出し用のルーチン名を指定するのみである。実際のリモート関数コール(データベースサーバ群12又はファンクショナルサーバ群14に含まれるサーバの呼び出し)は、サーバ関数呼び出しルーチン内で行われる。サーバ関数呼び出しルーチンからのリモート関数コールは、1個のリモート関数コールの場合から異なる複数のリモート関数コールに及ぶ場合がある。
【0020】
一方、Webサーバ110側には、CGI111にサーバ関数呼び出しルーチン111A,データ表示ルーチン111Bの各機能がそれぞれ用意されており、更に、クライアントスタブ112と、環境ファイル113が用意されている。これらのうち、CGI111及びクライアントスタブ112は、クライアント106側からの要求と、LANシステム30における該当するサーバ呼び出しとの仲介を行うためのプログラムである。CGI111は、該当するサーバのアドレス情報を取得し、クライアントスタブ112は、取得したアドレス情報を利用して該当するサーバにアクセスする機能を備えている。これらにより、Webサーバ110が、あたかもLANシステム30の内部にあるクライアント群20のように、ブローカ22にアクセスし、更にはLANシステム30内の該当するサーバにアクセスすることが可能となる。なお、Webサーバ110には、必要に応じて他のCGIなどが用意されている場合がある(図示せず)。
【0021】
前記クライアントスタブ112は、例えばNextra(次世代情報交換ネットワーク,前記非特許文献参照)の場合、IDL(Interface Definition Language)ファイル(CGI111から呼び出される関数がファンクショナル サーバ群14の場合),もしくは、SQL(Structured Query Language)ファイル(CGI111から呼び出される関数がデータベースサーバ群12の場合)を、IDLコンパイラによってコンパイルすることで生成される。Nextraには、スタブ生成用のツールが用意されている。具体的には、データベースサーバ群12に対して「SQLmake」が用意されており、ファンクショナルサーバ群14に対して「Rpcmake」が用意されている。なお、前記IDLファイルもしくはSQLファイルには、CGI111から呼び出される関数が総て含まれているものとする。
【0022】
CGI111には、サーバ関数呼び出しルーチン111A,データ表示ルーチン111Bの機能が含まれている。また、Webサーバ110には、その実行ディレクトリに環境ファイル113が用意されている。この環境ファイル113には、ブローカ22のアドレス情報が記述されている。CGI111のプログラムは、コンパイルされて実行モジュール化された後、CGI111の実行ディレクトリに配置される。
【0023】
<実施形態の動作>・・・次に、図3のフローチャートを参照しながら本実施形態の動作を説明する。クライアント106は、Webブラウザを起動し、LANシステム30にアクセスするためのサイトのURLを指定する。すると、Webサーバ110からHTMLデータ109がインターネット108を通じてクライアント106に送信され、クライアント106では入力画面が表示される(ステップS10)。
【0024】
そして、画面を参照しながら所望のデータを入力する(ステップS12)。入力データには、アクセス認証用のIDやパスワードなども含まれる。なお、プルダウンメニューなどによって必要な項目を選択するようにしてもよい。入力されたデータは、CGI111にデータを引き渡すことができるように、HTMLフォーム形式のポストメソッド(POST Method)又はゲットメソッド(GET Method)でインターネット108を介してWebサーバ110に送信される。
【0025】
Webサーバ110は、HTML FORMタグのACTION属性から実行するCGI又はServletを認識し起動する。本実施形態の場合は、CGI111が起動される(ステップS14)。起動されたCGI111は、初期化処理を行う。この処理には、環境ファイル113に書かれているブローカ22のアドレス情報(ホスト名又はIPアドレスとポート番号)を読み込む処理も含まれる(ステップS16)。ここで、ステップS16に対応するCGI111のプログラムコードの一例を示すと以下のようになる。

Figure 2004356735
「if (!dce_setenv(”vfm.env”,NULL,NULL))」の部分は、環境ファイル113情報の読み込みステートメントを示している。このようなブローカアドレス情報の読み込みにより、CGI111はブローカ22との通信が可能となり、その結果、サーバ群12,14との通信(サーバ関数コール)が可能となる。CGI111は、クライアント106から送信されたデータを解析し、共通変数配列にセットする(ステップS18)。ステップS18に対応するCGI111のプログラムコードの一例を示すと次のようになる。
Figure 2004356735
Figure 2004356735
【0026】
次に、CGI111は、サーバ関数のディスパッチ(割り当て)を行う。図2に示したように、クライアント106から受信したデータの最初のパラメータ名の値は「サーバ関数呼び出しルーチン名」となっており、2番目のパラメータ名の値は「表示ルーチン名」となっている。サーバ関数ディスパッチでは、最初のパラメータ値から呼び出すべきサーバ関数呼び出しルーチン名を判定し、更にその呼び出しを行う(ステップS20)。
【0027】
すると、呼び出されたサーバ関数呼び出しルーチン111Aが実行され、サーバ関数コールが行われる。このとき、サーバ関数コールが初回のコールであるかどうかが判定される(ステップS22)。その結果、初回であるときは(ステップS22のYes)、環境ファイル113から読み込んだアドレス情報を利用してブローカ22にアクセスする(ステップS24)。ブローカ22は、呼び出すべきサーバのアドレス情報を、サーバアドレス情報一覧22Aから取得してWebサーバ110に出力する(ステップS26)。Webサーバ110では、CGI111の環境ファイル読込み関数を実行して、取得したサーバアドレス情報をメモリ内に格納保持する(ステップS28)。
【0028】
別言すると、CGI111は、呼び出すサーバ関数名だけを認識してブローカ22に問い合わせる。ブローカ22は、問い合せがあった関数名のサーバがデータベースサーバ群12内のサーバであれば、そのサーバのアドレス情報をCGI111に返し、ファンクショナルサーバ群14内のサーバであれば、そのサーバのアドレス情報を同様にCGI111に返す。例えば、クライアント106が販売管理に関する問い合わせを行ったときは、ファンクショナルサーバ14Aのサーバ関数名のデータが、クライアント106からWebサーバ110に送られる。CGI111は、クライアント106から送信されたデータを解析し、サーバ関数の呼び出しルーチン111Aを実行し、ファンクショナルサーバ14Aのサーバ関数コールが行われる。そして、ファンクショナルサーバ14Aのアドレス情報が、ブローカ22からWebサーバ110のCGI111に送られるという具合である。
【0029】
その後、CGI111は、クライアント106から受信したデータに含まれる関数パラメータを、コールするサーバ関数の引数にセットし(ステップS30)、サーバ関数呼び出しルーチン111A内でサーバ関数コールを発行する(ステップS32)。該ステップS30及びS32に対応するCGI111のプログラムコードの一例を示すと次のようになる。
Figure 2004356735
この関数コール発行により、クライアントスタブ112がCGI111によって呼び出されて実行され、LANシステム30内の該当するサーバに対するアクセスが行われる。すなわち、該当するサーバでは、クライアント106の入力データに対する処理が実行される。なお、クライアントスタブ112のプログラムコードの一例を示すと、次の通りである。
Figure 2004356735
Figure 2004356735
なお、2回目以降の同一サーバに対するサーバ関数コールでは、前記ステップS28で記録したサーバアドレス情報を使用してブローカ22を介することなく直接サーバ関数コールが発行される(ステップS22のNo)。
【0030】
以上のように、クライアント106から要求があると、
(1)ブローカ22に対して、LANシステム30内の所望するサーバのアドレス情報を問い合わせ、アドレス情報を取得する。
(2)次に、取得したアドレス情報を利用して、LANシステム30内の該当するサーバにアクセスする。
という手順による処理がWebサーバ110のCGI111及びクライアントスタブ112によって行われる。すなわち、Webサーバ110は、LANシステム30内のクライアント群20とまったく同様の手順でLANシステム30内のサーバ群12,14にアクセスする。
【0031】
次に、サーバ関数コールの結果処理について説明する。この場合は、データ参照呼び出しか、データ登録/更新/削除呼び出しかによって、CGI111における処理が分かれる。まず、データ参照呼び出しの場合は、サーバ関数コール完了後、サーバ関数呼び出しルーチン111Aによって、サーバ呼び出し関数の引数に返された値を使用し、クライアント106から受信したデータの2番目のパラメータ値に対応するデータ表示ルーチン111Bを呼び出す。呼び出されたデータ表示ルーチン111Bは、渡された値を使用して表示用の編集処理を行い(ステップS34)、その後Webサーバ110及びインターネット108を介してクライアント106に編集データを送信する(ステップS36)。ステップS34及びS36に対応するプログラムコードの一例を示すと次の通りである。
Figure 2004356735
クライアント106のWebブラウザは、受取った編集データを画面上に表示する(ステップS38)。
【0032】
一方、データ登録/更新/削除呼び出しの場合は、サーバ関数コール完了後、サーバ関数呼び出しルーチン111Aによってサーバ呼び出し関数の戻り値により、データ登録/更新/削除処理の成功または不成功を判別する(ステップS40)。そして、判別結果に対応するデータ表示ルーチン111Bを呼び出す。呼び出されたデータ表示用ルーチン111Bは、Webサーバ110及びインターネット108を介してクライアント106に表示データを送信する(ステップS42)。クライアント106のWebブラウザは、受取った表示データを画面上に表示する(ステップS38)。
【0033】
<実施形態の効果>・・・このように、本実施形態によれば、次のような効果がある。
(1)インターネット108側のクライアント106からみると、アクセス用のWeb画面上で所定の入力処理を行うのみでLANシステム30のサーバにアクセスすることができ、所望の処理結果を画面表示することができる。クライアント106とWebサーバ110との通信手順は、図2に示した第1番目及び第2番目のパラメータの部分が、一般的なWeb上における通信手順と異なるのみである。しかし、この部分は、クライアント106がLANシステム30にアクセスする際のWeb画面情報に予め含まれており、クライアント106における表示画面上は隠れている。このため、クライアント106のユーザから見ると、従来のホームページ上における扱いとまったく同様であり、クライアント106側に特別なプログラムなどをまったく必要とすることなく、プライベートなLANシステム30に対してインターネット108側から簡便にアクセスすることができる。
【0034】
(2)Webサーバ110とブローカ22との間の通信手順は、LANシステム30内のクライアント群20とブローカ22との間の通信手順とまったく同様である。このため、LANシステム30内のサーバ構成になんら変更を行うことなく、インターネット108上のクライアント106からアクセスが可能であり、サーバの増設,アップグレード,配置変更は、従来と同様に自由に行うことができる。
【0035】
<他の実施形態>・・・本発明には数多くの実施形態があり、以上の開示に基づいて多様に改変することが可能である。例えば次のようなものも含まれる。
(1)前記実施形態では、CGI及び(登録商標) Servletを利用して、ブローカ22に対するサーバアドレス情報の取得を行ったが、同様の機能を奏するものであれば、どのようなものであってもよい。
(2)前記実施形態では、LAN内のサーバに対するアクセス手順を、クライアントスタブを利用することによって、WAN側のクライアントとLAN内のクライアントで同一となるようにしたが、このようなクライアントスタブを生成できるものとしては、現状では、クライアントスタブが生成可能な言語(C/C++,Perl,Visual Basic,COBOLなど)で記述されたCGIやJava(登録商標) Servletがある。しかし、同様の機能を奏するものであれば、どのようなものであってもよい。
(3)前記実施形態では、Webサーバ110とブローカ22の間の通信手順が、LANシステム30内のクライアント群20とブローカ22の間の通信手順とまったく同様であるとしたが、互換性のある手順も含まれる。互換性があれば、LANシステム30内のサーバ構成に影響を与える恐れがない。
(4)前記実施形態では、販売・購買・経理などの業務を行うLANシステムの場合を例として説明したが、各種のLANシステムに対して適用可能である。また、サーバ,データベース,ブローカ,クライアントの数も任意であり、必要に応じて増減してよい。
【0036】
【発明の効果】
以上説明したように、本発明によれば、次のような効果がある。
(1)LAN内のシステムに対し、そのサーバ構成の変更を伴うことなく、WAN側から簡便にアクセスすることができる。このため、現存するLAN内のシステムをそのまま利用することができる。
(2)WAN上のクライアントに対して特別なソフトないしプログラムを要求することなく、LAN内のサーバにアクセスすることができる。
【図面の簡単な説明】
【図1】本発明の一実施形態の全体構成を示す図である。
【図2】前記実施形態におけるクライアントからの送信データの主要部を示す図である。
【図3】前記実施形態の動作を示すフローチャートである。
【図4】3階層のC/Sシステムの一例を示す図である。
【図5】プライベートなLANシステムの一例を示す図である。
【符号の説明】
10・・・データベース群
10A〜10C・・・データベース
12・・・データベースサーバ群
12A〜12C・・・データベースサーバ
12P,14P・・・ブローカアドレス情報
14・・・ファンクショナルサーバ群
14A〜14C・・・ファンクショナルサーバ
16・・・サーバ群
18・・・社内LAN
20・・・クライアント群
20A〜20E・・・クライアント
20P・・・ブローカアドレス情報
22・・・ブローカ
22A・・・サーバアドレス情報一覧
30・・・LANシステム
100・・・携帯電話
102・・・PDA
104・・・ノートPC
106・・・クライアント
108・・・インターネット
109・・・HTMLデータ
110・・・Webサーバ
111・・・CGI又はJava(登録商標) Servlet
111A・・・サーバ関数呼び出しルーチン
111B・・・データ表示ルーチン
112・・・クライアントスタブ
113・・・環境ファイル
900・・・クライアント
902・・・ファンクショナルサーバ
904・・・データベースサーバ
906・・・データベース[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a method, a program, a server, and a system for network access. For example, a client connected to a WAN (Wide Area Network) accesses a group of servers arranged on a LAN (Local Area Network). For technology.
[0002]
[Background Art]
C / S (client / server) systems have been put to practical use in a variety of fields. In particular, in a two-layer C / S system in a large-scale core business for a company or the like, the load of a client or a network is high. It is not always satisfactory, such as becoming a bottleneck in processing performance, not necessarily having good expandability, and having poor maintainability of application programs. To remedy such inconvenience, a three-layer C / S system has been developed.
[0003]
FIG. 4 shows a basic configuration of a three-tier C / S system, in which two servers 902 and 904 exist between a client 900 and a database 906. Among these, the functional server 902 integrates various processing logic functions. The database server 904 performs processing related to input / output of data to / from the database 906.
[0004]
Incidentally, the C / S system is usually executed in a distributed environment, and a large number of systems including the client, server, and database shown in FIG. 4 may be operated. For example, there is a case where a company has a plurality of departments and a C / S system is operated for each department. In such a case, when calling (executing) a procedure (an instruction in a series of processing units) on any server from the client side, it is necessary to know the address information of the corresponding server. However, when such server address information is described in a program on the client side, it is necessary to rewrite the address information every time the address of the server is changed due to the addition of a server or the like, which is extremely inefficient and However, the scalability of the system is also reduced. If a desired server can be accessed without describing the server address information in the client program, the server can be freely added, upgraded, or relocated without making any change in the client program. .
[0005]
There is a so-called naming service that realizes such a mechanism. This naming service can be realized by the broker shown in FIG. In the figure, a database group 10 of a LAN system 30 is connected to a database server group 12, and the database server group 12 is connected to a functional server group 14. The database group 10 includes a plurality of databases 10A to 10C..., The database server group 12 includes a plurality of database servers 12A, 12B,. A plurality of functional servers 14A, 14B,... Are included. For example, the functional server 14A is for sales management, the functional server 14B is for accounting / closing, the functional server 14C is for production management, and so on.
[0006]
These servers 16 are connected to a client (PC) group 20 via an in-house LAN 18. The client group 20 includes clients 20A, 20B,... For example, the client 20A is for sales / account management, the client 20B is for purchase / account management, the client 20C is for accounting, and so on. The server groups 12 and 14 are connected to a broker 22 that performs a naming service. The broker 22 itself is a program. For example, in the case of a single broker, the broker 22 is configured to be executed by a server at the center of the system.
[0007]
When starting up the system, first, the broker 22 starts up. At this time, the broker 22 reads its own environment file. This environment file describes the host name and port number of the platform on which it runs. Next, the database server group 12 and the functional server group 14 start up, respectively. At this time, the environment files are similarly read. In the environment file, the host names and port numbers of the brokers 22 that have already been started are written as broker address information 12P and 14P. Each server starts communication with the broker 22 using the broker address (host name and port number) described in the read environment file, and notifies its own host name and port number to the broker 22. Such an operation is sequentially performed between the broker 22 and each server, so that a server address information list 22A is generated in the broker 22.
[0008]
On the other hand, the client group 20 also reads the environment file at the time of startup. In this environment file, address information 20P of the broker 22 and the like are written, and these are held in the client group 20, respectively.
[0009]
In the state after startup as described above, for example, accounting processing is performed by the client 20C, and a program for accounting processing is executed. First, the client 20C accesses the broker 22 with reference to the held broker address information. Then, an inquiry is made for the address information of the server to be accessed. As described above, since the broker 22 holds the server address information list 22A, the broker 22 refers to the server address information list 22A and transmits the corresponding server address information to the client 20C. Next, the client 20C accesses a desired server based on the address information received from the broker 22. For example, it accesses the functional server 14B and calls a server function related to accounting processing (that is, executes an instruction related to accounting processing). That is,
(1) First, the broker 22 is queried for address information of a desired server and acquires address information.
(2) Next, using the acquired address information, access the corresponding server.
In this procedure, the client accesses the server.
[0010]
As described above, the client can use the naming service of the broker 22 to access a server corresponding to a desired processing content without holding any server address information. It is inefficient to inquire the broker for the server address every time the server is called, and the load on the in-house LAN 18 increases. Therefore, the server address information acquired at the first access is held on the client side. To The above three-layer C / S system is described in detail in Non-Patent Documents 1 to 3 below.
[Non-patent document 1]
Nikkei Open System, February 1998, pp. 270-279, "Three-tier C / S system construction technique (1)"
[Non-patent document 2]
Nikkei Open System, March 1998, pp. 264-275, "Three-tier C / S system construction technique (2)"
[Non-Patent Document 3]
Nikkei Open System, April 1998, P268-279, "Three-tier C / S system construction technique (3rd)"
[0011]
[Problems to be solved by the invention]
By the way, the three-tier C / S system as described above will often be constructed as an in-house system of a company, but on the other hand, with the recent spread of mobile information devices such as PDF, notebook personal computers, and mobile phones, There is a growing demand to access internal systems from outside the company using the Internet. However, the conventional C / S system is basically a local and private network system, and does not consider connection to the Internet at all.
[0012]
The present invention focuses on the above points, and a first object is to easily access a system in a LAN from a WAN (wide area network) without changing the server configuration. . A second object is to enable access from the WAN side by using the existing system in the LAN as it is. A third object is to realize access to a system in a LAN without requiring special software or a program for a client on a WAN.
[0013]
[Means for Solving the Problems]
In order to achieve the above object, the present invention provides a method in which a client in a LAN accesses a server in a LAN by a client in the LAN through a naming service of a broker. Communication with the server on the WAN side is performed according to a procedure determined in the WAN, and communication between the server on the WAN side and the broker is performed between a client in the LAN and the broker. It is characterized by performing the same procedure as described above.
[0014]
The above and other objects, features, and advantages of the present invention will be apparent from the following detailed description and the accompanying drawings.
[0015]
BEST MODE FOR CARRYING OUT THE INVENTION
<Configuration of the Embodiment> An embodiment of the present invention will be described in detail below. FIG. 1 shows a basic configuration of an embodiment of the present invention. Note that the same reference numerals are used for components similar to those in the above-described background art. In FIG. 1, a client 106 such as a mobile phone 100, a PDA 102, and a notebook PC (personal computer) 104 forms a network with a Web server 110 via the Internet 108. Further, the Web server 110 is connected to the LAN system 30 described above. It should be noted that exchanges and providers are omitted.
[0016]
The client 106 can communicate with the Web server 110 using HTTP (HyperText Transfer Protocol) or HTTPS (HyperText Transfer Protocol over SSL). As the client 106, a mobile phone 100, a PDA 102, and a notebook PC 104 are typical. However, any client that can communicate with the Web server 110 by HTTP or HTTPS via the Internet 108 is applicable. The mobile phone 100 supports C-HTML, I-mode, Java (registered trademark), Macromedia Flash MX, and the like. The PDA 102 and the notebook PC 104 support HTML (+ Java (registered trademark) Script or VB Script), Java. (Registered trademark) Applet.
[0017]
On the other hand, the Web server 110 includes a WWW server, a mail server, a DNS server, a firewall server, and the like as necessary. The Web server 110 has HTML data 109 to be displayed on the client 106. When there is an access request from the client 106 to the LAN system 30 (when a URL to that effect is transmitted), the HTML data 109 is transmitted to the client 106 so that a data input page is displayed. Has become. Further, in the present embodiment, the Web server 110 includes a CGI (Common Gateway Interface) or Java (registered trademark) Servlet (hereinafter, referred to as “CGI”) 111 because it is necessary to call a client stub described later. Details will be described later.
[0018]
Next, each of the clients 106 is provided with a Web browser, whereby a page based on the HTML data 109 for accessing the LAN system 30 is displayed, and data can be input on the homepage. . As a result of this data input, the data transmitted to the Web server 110 is, for example, as shown in FIG. 2, the value of the first parameter name is the name of the server function call routine that is locally called from the CGI 111, and the value of the second parameter name is The form of the HTML data 109 is configured to be the name of the display routine called locally. The first and second parameters are added to the parameters for displaying a general Web page. Then, these parameters are transmitted from the client 106 to the Web server 110 as a hidden field of HTML (HIDDEN FIELD). Therefore, the client 106 only needs to perform the same operation as a normal Web browser.
[0019]
As described above, the client 106 does not directly call a server function for performing a desired process, but only specifies a routine name for calling a server function. An actual remote function call (call of a server included in the database server group 12 or the functional server group 14) is performed in a server function call routine. A remote function call from a server function calling routine may range from a single remote function call to a plurality of different remote function calls.
[0020]
On the other hand, on the Web server 110 side, each function of a server function call routine 111A and a data display routine 111B is provided in the CGI 111, and further, a client stub 112 and an environment file 113 are provided. Among them, the CGI 111 and the client stub 112 are programs for mediating a request from the client 106 and a corresponding server call in the LAN system 30. The CGI 111 acquires the address information of the corresponding server, and the client stub 112 has a function of accessing the corresponding server using the acquired address information. As a result, the Web server 110 can access the broker 22 as if it were a group of clients 20 inside the LAN system 30, and further can access the corresponding server in the LAN system 30. The Web server 110 may be provided with another CGI or the like as needed (not shown).
[0021]
For example, in the case of Nextra (next-generation information exchange network, refer to the non-patent document), the client stub 112 is an IDL (Interface Definition Language) file (when the function called from the CGI 111 is the functional server group 14) or SQL. It is generated by compiling an (Structured Query Language) file (when the function called from the CGI 111 is the database server group 12) by the IDL compiler. Nextra provides a stub generation tool. Specifically, “SQLmake” is prepared for the database server group 12 and “Rpmake” is prepared for the functional server group 14. It is assumed that the IDL file or the SQL file contains all functions called from the CGI 111.
[0022]
The CGI 111 includes functions of a server function calling routine 111A and a data display routine 111B. The Web server 110 has an environment file 113 in its execution directory. In the environment file 113, address information of the broker 22 is described. After the program of the CGI 111 is compiled and converted into an execution module, it is placed in the execution directory of the CGI 111.
[0023]
<Operation of Embodiment> Next, the operation of this embodiment will be described with reference to the flowchart of FIG. The client 106 starts a Web browser and specifies a URL of a site for accessing the LAN system 30. Then, the HTML data 109 is transmitted from the Web server 110 to the client 106 via the Internet 108, and an input screen is displayed on the client 106 (step S10).
[0024]
Then, the user inputs desired data while referring to the screen (step S12). The input data includes an ID and a password for access authentication. Note that necessary items may be selected by a pull-down menu or the like. The input data is transmitted to the Web server 110 via the Internet 108 by a post method (POST Method) or a get method (GET Method) in an HTML form so that the data can be delivered to the CGI 111.
[0025]
The Web server 110 recognizes and starts the CGI or Servlet to be executed from the ACTION attribute of the HTML FORM tag. In the case of the present embodiment, the CGI 111 is activated (Step S14). The activated CGI 111 performs an initialization process. This process includes a process of reading the address information (host name or IP address and port number) of the broker 22 written in the environment file 113 (step S16). Here, an example of the program code of the CGI 111 corresponding to step S16 is as follows.
Figure 2004356735
The part of “if (! Dce_setenv (“ vfm.env ”, NULL, NULL))” indicates a read statement of the environment file 113 information. By reading the broker address information, the CGI 111 can communicate with the broker 22, and as a result, can communicate with the server groups 12 and 14 (server function call). The CGI 111 analyzes the data transmitted from the client 106 and sets the same in the common variable array (step S18). An example of the program code of the CGI 111 corresponding to step S18 is as follows.
Figure 2004356735
Figure 2004356735
[0026]
Next, the CGI 111 dispatches (assigns) the server function. As shown in FIG. 2, the value of the first parameter name of the data received from the client 106 is “server function calling routine name”, and the value of the second parameter name is “display routine name”. In the server function dispatch, the server function calling routine name to be called is determined from the first parameter value, and the calling is further performed (step S20).
[0027]
Then, the called server function calling routine 111A is executed, and a server function call is performed. At this time, it is determined whether the server function call is the first call (step S22). As a result, if it is the first time (Yes in step S22), the broker 22 is accessed using the address information read from the environment file 113 (step S24). The broker 22 acquires the address information of the server to be called from the server address information list 22A and outputs it to the Web server 110 (Step S26). The Web server 110 executes the environment file reading function of the CGI 111, and stores and retains the acquired server address information in the memory (Step S28).
[0028]
In other words, the CGI 111 recognizes only the server function name to be called and inquires the broker 22. The broker 22 returns the address information of the server to the CGI 111 if the server having the inquired function name is a server in the database server group 12, and returns the address of the server if the server is in the functional server group 14. The information is returned to the CGI 111 in the same manner. For example, when the client 106 makes an inquiry regarding sales management, data of the server function name of the functional server 14A is sent from the client 106 to the Web server 110. The CGI 111 analyzes the data transmitted from the client 106, executes a server function calling routine 111A, and performs a server function call of the functional server 14A. Then, the address information of the functional server 14A is sent from the broker 22 to the CGI 111 of the Web server 110.
[0029]
Thereafter, the CGI 111 sets a function parameter included in the data received from the client 106 as an argument of the server function to be called (step S30), and issues a server function call in the server function calling routine 111A (step S32). An example of the program code of the CGI 111 corresponding to steps S30 and S32 is as follows.
Figure 2004356735
By issuing this function call, the client stub 112 is called and executed by the CGI 111, and access to a corresponding server in the LAN system 30 is performed. That is, the server performs processing on the input data of the client 106. An example of the program code of the client stub 112 is as follows.
Figure 2004356735
Figure 2004356735
In the second and subsequent server function calls to the same server, a server function call is issued directly without using the broker 22 using the server address information recorded in step S28 (No in step S22).
[0030]
As described above, when there is a request from the client 106,
(1) The broker 22 is inquired about address information of a desired server in the LAN system 30 and acquires address information.
(2) Next, the corresponding server in the LAN system 30 is accessed using the acquired address information.
Is performed by the CGI 111 and the client stub 112 of the Web server 110. That is, the Web server 110 accesses the server groups 12 and 14 in the LAN system 30 in exactly the same procedure as the client group 20 in the LAN system 30.
[0031]
Next, the result processing of the server function call will be described. In this case, the processing in the CGI 111 is divided depending on whether it is a data reference call or a data registration / update / delete call. First, in the case of the data reference call, after the server function call is completed, the server function call routine 111A uses the value returned as the argument of the server call function to correspond to the second parameter value of the data received from the client 106. The data display routine 111B is called. The called data display routine 111B performs editing processing for display using the passed value (step S34), and then transmits the edited data to the client 106 via the Web server 110 and the Internet 108 (step S36). ). An example of the program code corresponding to steps S34 and S36 is as follows.
Figure 2004356735
The Web browser of the client 106 displays the received edited data on the screen (Step S38).
[0032]
On the other hand, in the case of the data registration / update / delete call, after the server function call is completed, the server function call routine 111A determines the success or failure of the data registration / update / deletion process based on the return value of the server call function (step). S40). Then, the data display routine 111B corresponding to the determination result is called. The called data display routine 111B transmits display data to the client 106 via the Web server 110 and the Internet 108 (Step S42). The Web browser of the client 106 displays the received display data on the screen (Step S38).
[0033]
<Effects of Embodiment> As described above, according to the present embodiment, the following effects are obtained.
(1) From the viewpoint of the client 106 on the Internet 108 side, the server of the LAN system 30 can be accessed only by performing a predetermined input process on the access Web screen, and a desired processing result can be displayed on the screen. it can. The communication procedure between the client 106 and the Web server 110 is different from the general communication procedure on the Web only in the first and second parameters shown in FIG. However, this part is included in advance in the Web screen information when the client 106 accesses the LAN system 30, and is hidden on the display screen of the client 106. Therefore, from the viewpoint of the user of the client 106, it is completely the same as the conventional treatment on the homepage, and does not require any special program or the like on the client 106 side. Can be easily accessed.
[0034]
(2) The communication procedure between the Web server 110 and the broker 22 is exactly the same as the communication procedure between the client group 20 and the broker 22 in the LAN system 30. For this reason, it is possible to access from the client 106 on the Internet 108 without making any change to the server configuration in the LAN system 30, and it is possible to freely add, upgrade, and change the server as in the conventional case. it can.
[0035]
<Other Embodiments> There are many embodiments of the present invention, and various modifications can be made based on the above disclosure. For example, the following are also included.
(1) In the above-described embodiment, the server address information for the broker 22 is obtained using the CGI and (registered trademark) Servlet. However, any server having the same function may be used. Is also good.
(2) In the above embodiment, the access procedure to the server in the LAN is the same for the client on the WAN side and the client in the LAN by using the client stub. However, such a client stub is generated. At present, there are CGI and Java (registered trademark) Servlet written in a language (C / C ++, Perl, Visual Basic, COBOL, etc.) that can generate a client stub. However, any other device having the same function may be used.
(3) In the above embodiment, the communication procedure between the Web server 110 and the broker 22 is exactly the same as the communication procedure between the client group 20 and the broker 22 in the LAN system 30. Procedures are also included. If there is compatibility, there is no possibility of affecting the server configuration in the LAN system 30.
(4) In the above-described embodiment, the case of a LAN system that performs operations such as sales, purchase, and accounting has been described as an example, but the present invention is applicable to various LAN systems. The number of servers, databases, brokers, and clients is also arbitrary, and may be increased or decreased as needed.
[0036]
【The invention's effect】
As described above, the present invention has the following effects.
(1) The system in the LAN can be easily accessed from the WAN without changing the server configuration. Therefore, the existing system in the LAN can be used as it is.
(2) It is possible to access a server in a LAN without requiring a special software or program for a client on a WAN.
[Brief description of the drawings]
FIG. 1 is a diagram showing an overall configuration of an embodiment of the present invention.
FIG. 2 is a diagram showing a main part of transmission data from a client in the embodiment.
FIG. 3 is a flowchart showing the operation of the embodiment.
FIG. 4 is a diagram illustrating an example of a three-level C / S system.
FIG. 5 is a diagram illustrating an example of a private LAN system.
[Explanation of symbols]
10 ... Database group
10A ~ 10C ・ ・ ・ Database
12 ... Database server group
12A to 12C ... database server
12P, 14P ... Broker address information
14 ... Functional server group
14A-14C: Functional server
16 Server group
18 ・ ・ ・ In-house LAN
20 Client group
20A-20E ・ ・ ・ Client
20P ... Broker address information
22 ... Broker
22A: Server address information list
30 ... LAN system
100 ... mobile phone
102 ・ ・ ・ PDA
104 ・ ・ ・ Notebook PC
106 ・ ・ ・ Client
108 Internet
109 ... HTML data
110 ... Web server
111: CGI or Java (registered trademark) Servlet
111A: Server function calling routine
111B Data display routine
112 ・ ・ ・ Client stub
113 ・ ・ ・ Environment file
900 Client
902: Functional server
904: database server
906 ... Database

Claims (8)

ブローカのネーミングサービスによってLAN内のクライアントがアクセスするLAN内のサーバに、WAN側のクライアントがWAN側のサーバを通じてアクセスするためのネットワークアクセス方法であって、
前記WAN側のクライアントでデータを入力するステップ1,
このステップ1で入力されたデータを、前記WAN側において決められた手順で前記WAN側のサーバに送信するステップ2,
このステップ2でデータを受信したWAN側のサーバが、前記LAN内のクライアントと前記ブローカとの間で決められた手順と同一の手順で前記ブローカにアクセスし、前記ブローカのネーミングサービス機能によって、前記LAN内の該当するサーバのアドレス情報を取得するステップ3,
このステップ3で取得したアドレス情報に基づいて、前記WAN側のサーバが該当するLAN内のサーバにアクセスするステップ4,
このステップ4によってアクセスしたLAN内のサーバによる処理結果を、前記WAN側の該当するクライアントに送信して表示するステップ5,
を含むことを特徴とするネットワークアクセス方法。
A network access method for allowing a client on a WAN side to access a server in a LAN accessed by a client in the LAN by a naming service of a broker through a server on the WAN side,
Inputting data by the client on the WAN side,
Transmitting the data input in step 1 to the server on the WAN side in a procedure determined on the WAN side;
The server on the WAN side that has received the data in step 2 accesses the broker in the same procedure as the procedure determined between the client in the LAN and the broker, and the naming service function of the broker causes the server to access the broker. Step 3 of acquiring address information of a corresponding server in the LAN
Based on the address information obtained in step 3, the server on the WAN side accesses a server in the corresponding LAN, step 4,
Transmitting and displaying the processing result by the server in the LAN accessed in step 4 to the corresponding client on the WAN side;
A network access method, comprising:
前記ステップ3が、前記WAN側のサーバに設けられたCGIもしくはJava(登録商標) Servletによって実行され、
前記ステップ4が、該CGIもしくはJava(登録商標) Servletによってクライアントスタブを呼び出すことにより実行されることを特徴とする請求項1記載のネットワークアクセス方法。
Step 3 is executed by CGI or Java (registered trademark) Servlet provided in the server on the WAN side,
2. The network access method according to claim 1, wherein the step 4 is performed by calling a client stub by the CGI or Java (registered trademark) Servlet.
前記ステップ3が、該当するLAN内のサーバに対する初回のアドレス情報取得の場合は取得したアドレス情報を記憶し、2回目以降の場合は、該記憶したアドレス情報に基づいて前記ステップ4の処理を実行することを特徴とする請求項1又は2記載のネットワークアクセス方法。If the step 3 is the first acquisition of the address information for the server in the applicable LAN, the acquired address information is stored. 3. The network access method according to claim 1, wherein LAN内のクライアントがLAN内のサーバに対してアクセスする際にネーミングサービスを行うブローカを含むLANシステム,
WANを通じて、前記LAN内のサーバにアクセスするWAN側のクライアント,
前記WAN側のクライアントと前記LANとの通信を仲介するWAN側のサーバ,
を備えており、
前記WAN側のクライアントと前記WAN側のサーバとの通信を、前記WANにおいて決められた手順で行うとともに、前記WAN側のサーバと前記ブローカとの通信を、前記LAN内のクライアントと前記ブローカとの間で決められた手順と同一の手順で行う仲介手段を、前記WAN側のサーバに設けたことを特徴とするネットワークアクセスシステム。
A LAN system including a broker for performing a naming service when a client in the LAN accesses a server in the LAN,
A client on the WAN side accessing a server in the LAN through the WAN;
A server on the WAN side that mediates communication between the client on the WAN side and the LAN;
With
Communication between the WAN-side client and the WAN-side server is performed according to a procedure determined in the WAN, and communication between the WAN-side server and the broker is performed between a client in the LAN and the broker. A network access system, wherein an intermediary means for performing the same procedure as a procedure determined between the servers is provided in the WAN-side server.
前記仲介手段は、
前記WAN側のサーバに設けられており、前記LAN内のクライアントと前記ブローカとの間で決められた手順と同一の手順で前記ブローカにアクセスし、前記ブローカのネーミングサービス機能によって、前記LAN内の該当するサーバのアドレス情報を取得するサーバアドレス情報取得手段,
このサーバアドレス情報取得手段によって取得した前記アドレス情報に基づいて、前記WAN側のサーバが該当するLAN内のサーバにアクセスするサーバアクセス手段,
を含むことを特徴とする請求項4記載のネットワークアクセスシステム。
The mediation means,
It is provided in the server on the WAN side, accesses the broker in the same procedure as the procedure determined between the client in the LAN and the broker, and uses the naming service function of the broker to connect to the broker in the LAN. Server address information obtaining means for obtaining the address information of the corresponding server,
Server access means for allowing the server on the WAN side to access a server in the LAN based on the address information acquired by the server address information acquisition means;
5. The network access system according to claim 4, comprising:
前記サーバアドレス情報取得手段がCGIもしくはJava(登録商標) Servletによって構成されており、前記サーバアクセス手段が該CGIもしくはJava(登録商標) Servletによって呼び出されるクライアントスタブによって構成されていることを特徴とする請求項5記載のネットワークアクセスシステム。The server address information acquisition means is constituted by CGI or Java (registered trademark) Servlet, and the server access means is constituted by a client stub called by the CGI or Java (registered trademark) Servlet. The network access system according to claim 5. ブローカのネーミングサービスによってLAN内のクライアントがアクセスするLAN内のサーバに、WAN側のクライアントがWAN側のサーバを通じてアクセスするためのプログラムであって、
前記WAN側のクライアントで入力されたデータを受信したWAN側のサーバが、前記LAN内のクライアントと前記ブローカとの間で決められた手順と同一の手順で前記ブローカにアクセスし、該ブローカのネーミングサービス機能によって、前記LAN内の該当するサーバのアドレス情報を取得するサーバアドレス情報取得機能,
このサーバアドレス情報取得機能によって取得した前記アドレス情報に基づいて、前記WAN側のサーバが該当するLAN内のサーバにアクセスするサーバアクセス機能,
を備えたことを特徴とするネットワークアクセスプログラム。
A program for allowing a client on the WAN side to access a server in the LAN accessed by a client in the LAN by the naming service of the broker through the server on the WAN side,
A server on the WAN side that has received the data input by the client on the WAN side accesses the broker in the same procedure as that determined between the client in the LAN and the broker, and names the broker. A server address information acquisition function for acquiring address information of a corresponding server in the LAN by a service function;
A server access function for allowing the server on the WAN side to access a server in the LAN based on the address information acquired by the server address information acquisition function;
A network access program comprising:
ブローカのネーミングサービスによってLAN内のクライアントがアクセスするLAN内のサーバと、WAN側のクライアントとの仲介を行うWAN側に設けられたネットワークアクセスサーバであって、
前記WAN側のクライアントで入力されたデータを受信したWAN側のサーバが、前記LAN内のクライアントと前記ブローカとの間で決められた手順と同一の手順で前記ブローカにアクセスし、該ブローカのネーミングサービス機能によって、前記LAN内の該当するサーバのアドレス情報を取得するサーバアドレス情報取得手段,
このサーバアドレス情報取得機能によって取得した前記アドレス情報に基づいて、前記WAN側のサーバが該当するLAN内のサーバにアクセスするサーバアクセス手段,
を備えたことを特徴とするネットワークアクセスサーバ。
A network access server provided on the WAN side for mediating between a server in the LAN accessed by a client in the LAN by a broker naming service and a client on the WAN side,
A server on the WAN side that has received the data input by the client on the WAN side accesses the broker in the same procedure as that determined between the client in the LAN and the broker, and names the broker. Server address information acquisition means for acquiring address information of a corresponding server in the LAN by a service function;
Server access means for allowing the server on the WAN side to access a server in a corresponding LAN based on the address information acquired by the server address information acquisition function;
A network access server comprising:
JP2003149432A 2003-05-27 2003-05-27 Method, program, server and system for accessing network Pending JP2004356735A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003149432A JP2004356735A (en) 2003-05-27 2003-05-27 Method, program, server and system for accessing network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003149432A JP2004356735A (en) 2003-05-27 2003-05-27 Method, program, server and system for accessing network

Publications (1)

Publication Number Publication Date
JP2004356735A true JP2004356735A (en) 2004-12-16

Family

ID=34045537

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003149432A Pending JP2004356735A (en) 2003-05-27 2003-05-27 Method, program, server and system for accessing network

Country Status (1)

Country Link
JP (1) JP2004356735A (en)

Similar Documents

Publication Publication Date Title
US7343428B2 (en) Dynamic, real-time integration of software resources through services of a content framework
US7836439B2 (en) System and method for extending a component-based application platform with custom services
US7281060B2 (en) Computer-based presentation manager and method for individual user-device data representation
US7266600B2 (en) Programmatic management of software resources in a content framework environment
US6985939B2 (en) Building distributed software services as aggregations of other services
CA2495024C (en) System and method for adaptable provisioning of generic application content
US8799308B2 (en) Enhance search experience using logical collections
JP4046320B2 (en) Portal server, method and computer program for dynamically integrating remote portlets into a portal, content provider system, application provider server
US8473896B2 (en) Computer software development incorporating core and compound services
EP1818820A1 (en) System and method for installing custom services on a component-based application platform
US20120331044A1 (en) Information Messaging and Collaboration System
EP1560117A1 (en) System and method for publishing and accessing application apis on a generic terminal
US20050172281A1 (en) System and method for customized provisioning of application content
JP2004356735A (en) Method, program, server and system for accessing network
JP2002014963A (en) Database management system and its developing system
EP1845446A2 (en) System and method for publishing and accessing application APIS on a generic terminal
EP1117048A1 (en) Method and device for representing data
JP4512184B2 (en) Information retrieval system
JP2005148823A (en) Web service retrieving system
Xue et al. A Generalized Framework for Pathosystems Informatics & Bioinformatics Web Services.
JP2002333986A (en) Application server system and program and storage medium with the program stored therein