説明

サーバ装置,ネットワークを通じたサービス提供方法

【課題】 プログラム修正等の追加作業を極力発生させずに,Webシステム及びレガシープログラムの各実行環境をリンクし,レガシープログラムの実行で得られる結果をサービス提供できること。
【解決手段】 端末からネットワーク経由でサービス要求を受信する(S11)一方,その要求に応じたサービス提供情報をネットワークを通じて端末に送信する(S16)Webサーバのタスクと,FORTRAN等で作成された特定演算プログラム(レガシープログラム)のタスクと,それと異なる言語で作成され,Webサーバのタスクで受信されたサービス要求に基づいて特定演算プログラムのタスクで用いる入力情報を生成して共有メモリ12に書き込む処理(S23),及び特定演算処理のタスクの演算結果情報からサービス提供情報を生成し,Webサーバのタスクに引き渡す処理(S26)を行うCGIプログラムのタスクとを実行するサーバ装置。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は,ネットワークを通じてサービスを提供するサーバ装置及びサービス提供方法に関するものである。
【背景技術】
【0002】
近年,サーバ装置から端末装置に対してネットワークを通じたサービス提供を行うシステムとしては,WWW(World Wide Web)技術を用いてサービス提供を行うシステム(以下,Webシステムという)が広く普及している。
このようなWebシステムにおけるサーバ装置では,その演算手段(CPU)により,TCP/IPプロトコルをベースとしたHTTPやFTP等の通信プロトコルに基づいて,端末装置からネットワークを経由して伝送される所定のサービス要求を受信する処理,及びそのサービス要求に応じたサービス提供情報をHTMLやJavaScript(サン・マイクロシステムズ・インコーポレーテッドの登録商標,以下同じ)等で表現された配信情報(コンテンツ)として端末装置に送信する処理の各々が,Webサーバプログラムに従って実行される。ここで,予め用意されたホームページ等をサービス提供情報として提供(送信)する場合は,Webサーバプログラムの実行のみで対応できる。この場合,Webサーバプログラムの実行により,サービス要求において指定されているデータの存在場所を表す所在情報(URL等)に従って,そのデータの存在場所にアクセスし,そこに存在するホームページ等のデータをサービス提供情報として端末に送信する。
【0003】
また,例えば情報検索サービスのように,要求に対応する配信情報を都度生成して提供する場合,前記Webサーバプログラムの実行により受信されたサービス要求に基づいて,そのサービス要求に応じた情報を得るための処理(データベース検索処理等)を実行する装置やプログラム(以下,要求対応処理手段という)に対し,その処理に必要な情報を生成して引き渡すとともに,前記要求対応処理手段により得られる処理結果情報に基づいてサービス提供情報を生成する処理を実行することにより,Webサーバプログラムと前記要求対応処理手段とを中継するための中継プログラムが必要となる。一般に,このような中継プログラムは,PerlやPHP(Hypertext Preprocessor)等のプログラム言語で作成されたCGI(Common Gateway Interface)プログラムとして実現される。また,Webサーバプログラムの機能と,CGIプログラム(中継プログラム)の機能とを兼ね備え,C,C++,Java(サン・マイクロシステムズ・インコーポレーテッドの登録商標,以下同じ)等のプログラム言語で作成された,いわゆるアプリケーションサーバ等も存在する。
【0004】
一方,古くから,汎用計算機やスーパーコンピュータ等によって基幹業務支援用プログラムや科学技術計算用プログラム等が実行されることにより,企業の給与や人事等に関する基幹業務支援サービスや構造解析計算や流体解析計算等の科学技術計算サービスを提供するシステムが稼働している。このような古くからあるシステムで実行されるプログラム(以下,レガシープログラムという)は,一般にマルチユーザ/マルチタスクのOS環境下で実行されるが,FORTRAN,COBOL或いはPL1等,昨今のネットワークシステムではほとんど用いられず,また,それに用いることに適さないプログラム言語(以下,レガシー言語という)で作成されたものが多く,また,大規模或いは処理内容が複雑なものが多い。従って,このようなレガシープログラムを,現在主流のプログラム言語(Java,C,C++等)で再構築するには,膨大な作業を要する。
これに対し,このようなレガシープログラムの実行環境を,現在普及しているインターネットやイントラネット等のネットワークシステムとリンクし,ネットワークを通じてレガシープログラムの実行によるサービスを提供できれば,従来の資産を有効活用でき好適である。
従来,例えば特許文献1には,技術シミュレーション(応力解析,振動解析等)用のプログラム(ソルバ)の実行マシンと利用者端末とをインターネット及び仲介用のコンピュータを介して接続し,利用者端末からソルバを利用可能とするシステムが示されている。
【特許文献1】特開2003−150888号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら,レガシープログラムに用いられているFORTRAN等のレガシー言語は,変数のI/O(Input/Output)に関する機能が弱い。例えば,情報の入力はパンチカードやキーボード,或いはファイルを通じてしか行えず,また,情報の出力は,プリントアウトやファイルへの出力によってしか行えないことが多い。さらに,レガシープログラムを実行する計算機は,シングルタスクOSが採用されているものや,時分割方式のマルチタスクOSが採用されているものが多く,並列処理に向いていない。
このため,レガシー言語で作成されたレガシープログラムの実行環境を,端末側から多数の同時アクセスがなされ得るWebシステムとそのままリンクさせる場合,同時アクセス時にレガシープログラム側のI/O関連の処理の負荷が大きくなり,迅速な応答(サービス提供)を行うことができないという問題点があった。さらに,レガシープログラムにおけるI/O関連のプログラム修正(追加)に多大な工数を要するという問題も生じる。
また,I/O関連の負荷軽減のために,同時処理(並行処理)可能なサービス要求(トランザクション)を1つに限定することは,Webシステムを通じたサービス提供として非現実的である。
また,特許文献1には,I/Oに関する機能が弱いレガシープログラム(ソルバ)を実行するマシンと,仲介用のコンピュータとを,I/O機能の弱さが問題とならないようにいかに接続するかについてなんら開示も示唆もなされていない。
従って,本発明は上記事情に鑑みてなされたものであり,その目的とするところは,既存プログラムの修正等の追加作業を極力発生させずに,現在普及しているWWW技術を基礎とするネットワークシステムであるWebシステムと,FORTRAN等のレガシー言語で作成された既存のレガシープログラムの実行環境とをリンクすることにより,レガシープログラムの実行により得られる処理結果をネットワークを通じた提供情報として送信できるサーバ装置及びネットワークを通じたサービス提供方法を提供することにある。
【課題を解決するための手段】
【0006】
上記目的を達成するために本発明は,1又は複数の端末からインターネットやイントラネット等のネットワークを通じて所定のサービス要求を受信するとともに,そのサービス要求に応じたサービス提供情報を前記ネットワークを通じて各端末に送信する通信手段を備えたサーバ装置に適用されるものであり,所定の入力情報に基づく特定の演算処理(例えば,構造解析処理や流体解析処理等)を,FORTRAN,COBOL或いはPL1等のプログラム言語で作成されたプログラムである特定演算プログラムに従って実行する特定演算処理手段と,前記通信手段を通じて受信された前記サービス要求に基づいて前記特定演算処理手段に用いられる前記入力情報を生成する処理,及び前記特定演算処理手段により得られる前記特定の演算処理の結果情報に基づいて前記サービス提供情報を生成する処理の各々を,前記特定演算プログラムとは異なるプログラム言語で作成されたプログラムである中継プログラム(CGIプログラムやアプリケーションサーバプログラムに包含されるCGI機能に相当する部分等)に従って実行する中継処理手段と,前記特定演算処理手段と前記中継処理手段とのいずれからもアクセスされる共用記憶領域を有する共用記憶手段と,を具備し,前記中継処理手段により前記共用記憶領域に前記入力情報を書き込み,前記特定演算処理手段により前記共用記憶領域から前記入力情報を読み出すとともに,前記特定の演算処理を実行してその特定の演算処理の結果情報を前記共用記憶手段に書き込み,前記中継処理手段により前記共用記憶領域から前記特定の演算処理の結果情報を読み出すとともに,前記サービス提供情報を生成してこれを前記通信手段に引き渡すよう構成されたものである。
【0007】
このような構成により,レガシー言語で作成された前記特定演算プログラムが存在する場合に,これとWWW技術を基礎とする言語で作成されることが多い前記中継プログラムとを,前記共用記憶手段(共有メモリ)を介してリンクすることができる結果,前記特定演算プログラムの実行により得られる処理結果を,ネットワークを通じた提供情報として送信できるサーバ装置を構成することができる。
しかも,前記特定演算プログラムを実行する前記特定演算処理手段,及び前記中継プログラムを実行する前記中継処理手段の各々は,それら相互間の情報のやりとりの際,直接的には前記共用記憶手段にアクセスするだけである。このため,既存の前記特定演算プログラムについて,修正等の追加作業を極力発生させずに,前記中継プログラムと前記特定演算プログラムとをリンクさせることが可能となる。
なお,前記通信手段として捉えられるものとしては,例えばTCP/IP対応のネットワークインターフェースカード等の通信機器と,前記Webサーバプログラムを実行する手段(Webサーバ機能を実現するCPU等)とを併せたものが考えられる。
【0008】
また,本発明は,前記サーバ装置を用いてネットワークを通じたサービス提供を行う方法として捉えたものであってもよい。
即ち,1又は複数の端末からネットワークを通じて所定のサービス要求を受信するとともに,そのサービス要求に応じたサービス提供情報を前記ネットワークを通じて前記端末に送信する通信手段を備えたサーバ装置によるネットワークを通じたサービス提供方法であって,前記サーバ装置が,前記特定演算処理手段と,前記中継処理手段と,前記共用記憶手段と,を具備している場合に,前記中継処理手段により前記共用記憶領域に前記入力情報を書き込む工程と,前記特定演算処理手段により前記共用記憶領域から前記入力情報を読み出すとともに,前記特定の演算処理を実行して該特定の演算処理の結果情報を前記共用記憶手段に書き込む工程と,前記中継処理手段により前記共用記憶領域から前記特定の演算処理の結果情報を読み出すとともに,前記サービス提供情報を生成してこれを前記通信手段に引き渡す工程と,を有するネットワークを通じたサービス提供方法として捉えたものである。
これによっても前記サーバ装置について述べた作用効果を同様に奏する。
【発明の効果】
【0009】
本発明によれば,FORTRAN等のレガシー言語で作成された前記特定演算プログラム(レガシープログラム)が存在する場合に,これとWWW技術を基礎とするPerlやJava等の言語で作成されることが多い前記中継プログラムとを,前記共用記憶手段(共有メモリ)を介してリンクすることができる結果,前記特定演算プログラムの実行により得られる処理結果を,ネットワークを通じて提供情報として送信できるサーバ装置を構成することができる。
しかも,前記特定演算プログラムを実行する前記特定演算処理手段,及び前記中継プログラムを実行する前記中継処理手段の各々は,それら相互間の情報のやりとりの際,直接的には前記共用記憶手段にアクセスするだけであるため,既存の前記特定演算プログラムについて,修正等の追加作業を極力発生させずに,上記の両プログラムをリンクさせることが可能となる。
【発明を実施するための最良の形態】
【0010】
以下添付図面を参照しながら,本発明の実施の形態について説明し,本発明の理解に供する。尚,以下の実施の形態は,本発明を具体化した一例であって,本発明の技術的範囲を限定する性格のものではない。
ここに,図1は本発明の実施形態に係るサーバXを構成要素とするサービス提供システムAの概略構成図,図2はサービス提供システムAを構成するサーバX及び端末2の概略構成を表すブロック図,図3はサーバXによるサービス提供処理の手順を表すフローチャートである。
【0011】
まず,図1及び図2を用いて,本発明の実施形態に係るサービス提供システムA,並びにそれを構成するサーバX及び端末2の概略構成について説明する。
サービス提供システムAは,WWW技術を基礎とするネットワークシステム(Webシステム)と,FORTRAN等のレガシー言語で作成された既存のレガシープログラムである特定演算プログラムの実行環境とをリンクしたサービス提供システムであり,それを構成するサーバXから端末2に対し,前記特定演算プログラムの実行により得られる処理結果を,ネットワーク1を通じてサービス提供情報として送信するものである。
図1に示すように,サービス提供システムAは,インターネットやイントラネット等のネットワーク1に接続されたサーバXと端末2とを有し,それらがネットワーク1を通じて相互に通信可能に構成されている。
サーバXは,1又は複数の端末2からネットワーク1を通じて所定のサービス要求を受信し,そのサービス要求に応じた情報(以下,サービス提供情報という)をネットワーク1を通じてそのサービス要求を行った端末2に送信するサービス提供用の情報処理装置(計算機)である。
また,端末2は,インターネット1を介してサーバXに対してサービス要求を送信するとともに,その要求に応じて返信されるサービス提供情報を受信するパソコンや携帯端末(携帯電話,PDA等)等の情報端末である。
【0012】
図2(a)に示すように,サーバXは,演算部11,共有メモリ12,操作表示部13,通信制御部14及び固定記憶部15等を具備している。
前記演算部11は,CPU,ROM,RAM等からなる演算手段であり,後述する各種プログラムをマルチユーザ・マルチタスクのOS環境下で並列的に実行するものである。
前記操作表示部13は,不図示のCRTディスプレイ等の表示手段と,キーボードやマウス等の入力手段から構成され,データの登録操作等,当該サーバXにおける各種情報の操作入力処理及び表示処理を行うマンマシンインターフェースである。
前記通信制御部14は,インターネット1及びこれに接続するためのLANや公衆回線(不図示)を介して,端末2との間のTCP/IPに準拠した通信制御を行うものである。
前記固定記憶部15は,ハードディスク等の記憶装置であり,演算部11により実行される各種プログラム及びそのプログラムの実行の際に参照或いは記録される各種データが記憶される。
本実施形態では,演算部11により実行されるプログラムとして,Webサーバプログラムp1,CGIプログラムp2及び特定演算処理プログラムp3が予め記憶されている。これら各プログラムの実行により実現される機能については後述する。また,前記CGIプログラムp2の実行の際に参照される雛形データd1も予め記憶されている。
なお,特定演算処理プログラムp3は,所定の入力情報に基づいて,構造解析処理や流体解析処理等の特定の演算処理(以下,特定演算処理という)を実行するためのプログラムである。
前記共有メモリ12は,RAM等により構成される記憶手段であり,演算部11により前記CGIプログラムp2及び前記特定演算処理プログラムp3の各々がマルチタスクで実行された場合に,それら両タスクのいずれからもアクセスされる共用のメモリ領域(共用記憶領域)を有する記憶手段である。なお,後述するように,CGIプログラムp2及び特定演算処理プログラムp3の各々を実行して各タスクを構成する演算部11が,中継処理手段及び特定演算処理手段の一例である。
【0013】
一方,前記端末2は,一般的なパソコンやPDA等の情報端末であり,図2(b)に示すように,不図示のCRTディスプレイ,キーボード及びマウス等,或いは液晶パネル及びシートキー等から構成される操作表示部21と,不図示のMPU,主メモリ,及びその周辺機器から構成されるデータ制御部22と,ハードディスクや不揮発性RAM等のデータ記憶部23と,インターネット1及びこれに接続するためのLANや公衆回線(不図示)を介したデータ通信を行う通信制御部24とを具備している。
前記データ記憶部23には,前記サーバXへの各種データ要求や前記サーバXから受信する前記サービス提供情報(HTMLやJavaScript等のデータで構成されたコンテンツ)を前記操作表示部21へ表示出力するウェブブラウザ等のプログラムがインストールされている。これらのプログラムは,必要に応じて前記データ制御部22の前記主メモリに展開され,そのデータ制御部22により実行される。
以上の他,前記端末2は一般的なパソコンやPDA等と同様の他の構成を有するが,周知であるのでここでは説明を省略する。
【0014】
続いて,各プログラム及びその実行により実現される機能について説明する。
前記特定演算処理プログラムp3は,所定の入力情報に基づく特定の演算処理を,FORTRAN,COBOL或いはPL1等のレガシーなプログラム言語で作成されたプログラムであり,企業の給与や人事等に関する基幹業務支援サービスに関する演算処理,構造解析計算や流体解析計算等の科学技術計算の演算処理等を前記演算部11に実行させるためのレガシープログラムである。ここで,この特定演算処理プログラムp3を実行する演算部11が,特定演算処理手段の一例を構成する。
例えば,特定演算処理プログラムp3が構造解析計算を行うプログラムである場合,前記入力情報は,解析対象とする構造物の材質,形状・寸法の情報,各部位におけるメッシュ分割の大きさの情報,与える荷重の位置・向き・大きさの情報,その荷重により生じる変位を求めたい部位(指定部位)の情報等であり,その演算処理の結果は,指定部位の変位量或いは塑性状況等の情報や,前記入力情報として与えられた構造物の形状・寸法の情報とメッシュ分割の大きさの情報とに基づく各部位のメッシュごとの応力情報等である。
【0015】
前記Webサーバプログラムp1は,それを実行する演算部11(コンピュータ)をいわゆるウェブサーバとして機能させるためのプログラムである。即ち,TCP/IPプロトコル及びその上位層を構成するHTTPやFTP等の通信プロトコルに基づいて,端末2からネットワーク1を経由して伝送される所定のサービス要求を前記通信制御部14を通じて受信する処理,及びそのサービス要求に応じたサービス提供情報を前記通信制御部14及びネットワーク1を通じて端末2に送信する処理の各々を演算部11に実行させるためのプログラムである。このWebサーバプログラムp1は,例えば,C言語やJava等のプログラム言語により作成されている。このWebサーバプログラムp1を実行する演算部11及び前記通信制御部14が,通信手段の一例を構成している。
また,前記サービス提供情報は,HTMLやJavaScript等のスクリプト言語で表現されたデータと画像データ等との組み合わせにより構成されたコンテンツとして端末2に送信される。
【0016】
前記CGIプログラムp2は,Webサーバプログラムp1のタスク(或いはプロセス)と特定演算処理プログラムp3のタスク(或いはプロセス)との間の情報のやりとりを中継するタスク(或いはプロセス)を形成するためのプログラムである。
より具体的には,演算部11がCGIプログラムp2を実行することにより,まず,前記Webサーバプログラムp1のタスクを通じて受信された前記サービス要求をタスク間通信等により取得し,このサービス要求に基づいて前記特定演算処理プログラムp3のタスク(特定演算処理手段の一例)で用いられる前記入力情報を生成する処理,及びその入力情報を前記共有メモリ12の共用記憶領域に書き込む処理が実行される(後述する図3のS23)。
さらに,前記特定演算処理プログラムp3のタスクにより得られる前記特定の演算処理(構造解析処理等)の結果情報を前記共有メモリ12の共用記憶領域から読み出す処理,及びその読み出した演算処理の結果情報に基づいて,前記Webサーバプログラムp1により端末2に提供される前記サービス提供情報を生成する処理が実行される(後述する図3のS26)。
また,このCGIプログラムp2は,前記特定演算処理プログラムp3とは異なるプログラム言語,例えば,WWW技術を基礎とするWebサーバプログラムp1と親和性の高いプログラム言語であるPerlやC言語等により作成されている。
ここで,このCGIプログラムp2を実行する演算部11が,中継処理手段の一例を構成する。
【0017】
次に,図3に示すフローチャートを用いて,サーバXによる端末2へのサービス提供処理の手順について説明する。
ここで,前記演算部11は,前記Webサーバプログラムp1,前記CGIプログラムp2及び前記特定演算処理プログラムp3の各々をマルチタスク(或いはマルチプロセス)で実行して以下の処理を行う。以下,各実行タスクを,Webサーバタスク,CGIタスク及び特定演算処理タスクという。また,以下に示すS11,S12,…は,演算部11が各プログラムを実行して行う処理手順(ステップ)の識別符号を表す。
まず,Webサーバタスクにおいては,1又は複数の端末2からネットワーク1を通じて伝送される所定のサービス要求が前記通信制御部14を介して受信されるまで,その受信処理が実行される(S11,S12)。
前記サービス要求は,例えば,前記CGIプログラムp2の存在場所を表すURL情報と,前記特定演算処理プログラムp3に与える前記入力情報に関する情報とが予め定められたフォーマットに従って含められた情報が,HTTPやFTP等のプロトコルにより伝送されるものである。
そして,Webサーバタスクにおいて,前記サービス要求が受信されると,そのサービス要求が,例えばタスク間通信等により,CGIタスクに引き渡される(S13)。
【0018】
一方,CGIタスクにおいては,Webサーバタスクから引き渡される前記サービス要求が取得されるまで,その取得処理が実行される(S21,S22)。
そして,CGIタスクにおいて,Webサーバタスクからサービス要求が取得されると,そのサービス要求に基づいて,特定演算処理タスクに与えるべき前記入力情報が生成され,生成された入力情報が前記共有メモリ12の共用記憶領域に書き込まれる(S23)。
前記入力情報の生成処理としては,例えば,前記サービス要求に含まれる前記入力情報を単に抽出する,若しくはその抽出情報を所定のフォーマットに編成するだけの処理や,或いは,サービス要求に含まれる前記入力情報に関する情報に基づいて,構造解析処理等への前記入力情報とする構造物の形状情報やメッシュ分割情報等を生成するいわゆるプリプロセッサ(プログラム)を実行させ,これにより前記入力情報を得る処理等が考えられる。
【0019】
また,特定演算処理タスクにおいては,CGIタスクにより新たな前記入力情報が前記共有メモリ12の共用記憶領域に書き込まれるまで,その読み出し処理が実行される(S31,S32)。
そして,特定演算処理タスクにおいて,CGIタスクから前記共有メモリ12に新たに書き込まれた前記入力情報を読み出せたことが確認されると,その入力情報に基づく構造解析処理等の前記特定演算処理が実行される(S33)。
ここで,特定演算処理タスクにおいて,前記入力情報の読み出しが完了した際には,共有メモリ12におけるその読み出しを行った領域の初期化処理,或いはその領域について読み出しが完了している旨を表す読み出し完了情報を共有メモリ12内の所定領域に書き込む処理が行われる。これにより,特定演算処理タスクのステップS31,32において,共有メモリ12における前記入力情報の書き込み領域が初期化状態であるか否か,或いはその領域に対応する前記読み出し完了情報の有無を判別することにより,CGIタスクによって新たな前記入力情報が書き込まれたか否かを判別できる。
同様に,CGIタスクにおいても,新たな前記入力情報を書き込み可能な領域を判別できる。なお,前記読み出し完了情報を用いる場合には,CGIタスクにおいて,前記入力情報の書き込み終了時に,それに対応する読み出し完了情報の削除や初期化を行えばよい。
さらに,前記特定演算処理が終了すると,その特定演算処理の結果情報(以下,特定演算結果情報という)が前記共有メモリ12の共用記憶領域に書き込まれる(S34)。
この特定演算処理タスクでは,以上示したステップS31〜S34の処理が繰り返される。
【0020】
一方,CGIタスクにおいては,前述した前記共有メモリ12への前記入力情報の書き込み(S23)の後,特定演算処理タスクによって新たな前記特定演算結果情報が前記共有メモリ12の共用記憶領域に書き込まれるまで,その読み出し処理が実行される(S24,S25)。
そして,CGIタスクにおいて,特定演算処理タスクから前記共有メモリ12に新たに書き込まれた前記特定演算結果情報を読み出せたことが確認されると,その情報に基づいて,端末2からの前記サービス要求に応じた前記サービス提供情報が生成され,それがタスク間通信等によってWebサーバタスクに引き渡される(S26)。
ここで,CGIタスクにおいて,前記特定演算結果情報の読み出しが完了した際には,前述した前記入力情報の場合(S31)と同様に,共有メモリ12におけるその読み出しを行った領域の初期化処理,或いはその領域について読み出しが完了している旨を表す読み出し完了情報を共有メモリ12内の所定領域に書き込む処理が行われる。なお,前記読み出し完了情報を用いる場合には,前記入力情報について前述したのと同様に,特定演算処理タスクにおいて,前記特定演算結果情報の書き込み終了時に,それに対応する読み出し完了情報の削除や初期化を行えばよい。
また,前記サービス提供情報の生成処理としては,例えば,予めHTMLやJavaScript等のスクリプト言語のデータや画像データ等で構成された前記雛形データd1を前記固定記憶部15から読み出し,その雛形データd1における所定位置に前記特定演算結果情報を埋め込むことにより,端末2のWebブラウザで表示可能な前記サービス提供情報(コンテンツ)を生成すること等が考えられる。
このCGIタスクでは,以上示したステップS21〜S26の処理が繰り返される。
【0021】
一方,Webサーバタスクにおいては,前述したCGIタスクへの前記サービス要求の引き渡し(S13)の後,CGIタスクから新たな前記サービス提供情報が取得されるまで,その取得処理が実行される(S14,S15)。
そして,Webサーバタスクにおいて,CGIタスクからサービス提供情報が取得されると,そのサービス提供情報に,ステップS11で受信された前記サービス要求に含まれるその送信元(端末2)のアドレス情報を宛先情報として付加され,その宛先情報が付加された前記サービス提供情報が,前記通信制御部14を通じてネットワーク1に送出される(S16)。これにより,前記サービス提供情報が,ネットワーク1を通じて,前記サービス要求を発信した端末2に送信(返信)される。
【0022】
以上示したように,サーバXによれば,FORTRAN等のレガシー言語で作成された前記特定演算処理プログラムp3(レガシープログラム)が存在する場合に,これとWWW技術を基礎とするPerlやJava等の言語で作成されることが多い前記CGIプログラムp2(中継プログラム)とが,前記共有メモリ12(共用記憶手段)を介してリンクされる結果,前記特定演算処理プログラムp3の実行により得られる処理結果(前記特定演算結果情報)を,ネットワーク1を通じて提供情報として端末2へ送信するシステムを構成することができる。
しかも,前記特定演算処理プログラムp3のタスク(特定演算処理手段の一例),及び前記CGIプログラムのタスク(中継処理手段の一例)の各々は,それら相互間の情報のやりとりの際,直接的には前記共有メモリ12にアクセスするだけである。このため,I/O機能の弱いレガシー言語で作成された既存の前記特定演算処理プログラムp3について,その修正等の追加作業を極力発生させずに,Webサーバプログラムp1及びCGIプログラム2とリンクさせて有効活用することが可能となる。
【0023】
ところで,前記Webサーバタスクは,ステップS11,S12の処理と,それ以降のステップS13〜S16の処理とは親タスクと子タスクとの関係で実行されるよう構成され,1つの親タスクによりステップS11,S12の処理が繰り返されるとともに,前記サービス要求が受信されるごとに,そのサービス要求各々についてステップS13〜S16の処理を行う子タスクが起動される。従って,複数の前記サービス要求がほぼ同時に発生する(受信される)場合には,各サービス要求に対応する複数の子タスク(S13〜S16)が起動される。
さらに,それに応じて,各サービス要求ごとに,前記CGIタスク及び前記特定演算処理タスクが各々起動される。
これにより,ほぼ同時に発生する前記サービス要求にも対応可能である。
なお,以上示した実施形態では,1つの演算部11のマルチタスク処理により,Webサーバプログラムp1,CGIプログラムp2及び特定演算処理プログラムp3の各々を実行する例について示したが,これに限るものでなく,例えば,各プログラムごとに異なる演算手段(CPU及びその周辺装置(即ち,広義のコンピュータ))を設けた構成や,一部のプログラムについてのみ異なる演算手段を設けた構成等も考えられる。
【産業上の利用可能性】
【0024】
本発明は,ネットワークを通じたサービス提供を行うサーバ装置への利用が可能である。
【図面の簡単な説明】
【0025】
【図1】本発明の実施形態に係るサーバXを構成要素とするサービス提供システムAの概略構成図。
【図2】サービス提供システムAを構成するサーバX及び端末2の概略構成を表すブロック図。
【図3】サーバXによるサービス提供処理の手順を表すフローチャート。
【符号の説明】
【0026】
A…サービス提供システム
X…サーバ(サーバ装置)
1…ネットワーク
2…端末
11…演算部
12…共有メモリ(共用記憶手段)
13…操作表示部
14…通信制御部
15…固定記憶部
p1…Webサーバプログラム
p2…CGIプログラム
p3…特定演算処理プログラム
S11,S12,,,…処理手順(ステップ)

【特許請求の範囲】
【請求項1】
1又は複数の端末からネットワークを通じて所定のサービス要求を受信するとともに,該サービス要求に応じたサービス提供情報を前記ネットワークを通じて前記端末に送信する通信手段を備えたサーバ装置であって,
所定の入力情報に基づく特定の演算処理を,所定のプログラム言語で作成されたプログラムである特定演算プログラムに従って実行する特定演算処理手段と,
前記通信手段を通じて受信された前記サービス要求に基づいて前記特定演算処理手段に用いられる前記入力情報を生成する処理,及び前記特定演算処理手段により得られる前記特定の演算処理の結果情報に基づいて前記サービス提供情報を生成する処理の各々を,前記特定演算プログラムとは異なるプログラム言語で作成されたプログラムである中継プログラムに従って実行する中継処理手段と,
前記特定演算処理手段と前記中継処理手段とのいずれからもアクセスされる共用記憶領域を有する共用記憶手段と,を具備し,
前記中継処理手段により前記共用記憶領域に前記入力情報を書き込み,
前記特定演算処理手段により前記共用記憶領域から前記入力情報を読み出すとともに,前記特定の演算処理を実行して該特定の演算処理の結果情報を前記共用記憶手段に書き込み,
前記中継処理手段により前記共用記憶領域から前記特定の演算処理の結果情報を読み出すとともに,前記サービス提供情報を生成してこれを前記通信手段に引き渡してなることを特徴とするサーバ装置。
【請求項2】
前記特定演算プログラムが,FORTRAN,COBOL,PL1及びFORCEのうちのいずれかのプログラム言語で作成されたものである請求項1に記載のサーバ装置。
【請求項3】
1又は複数の端末からネットワークを通じて所定のサービス要求を受信するとともに,該サービス要求に応じたサービス提供情報を前記ネットワークを通じて前記端末に送信する通信手段を備えたサーバ装置によるネットワークを通じたサービス提供方法であって,
前記サーバ装置が,
所定の入力情報に基づく特定の演算処理を,所定のプログラム言語で作成されたプログラムである特定演算プログラムに従って実行する特定演算処理手段と,
前記通信手段を通じて受信された前記サービス要求に基づいて前記特定演算処理手段に用いられる前記入力情報を生成する処理,及び前記特定演算処理手段により得られる前記特定の演算処理の結果情報に基づいて前記サービス提供情報を生成する処理の各々を,前記特定演算プログラムとは異なるプログラム言語で作成されたプログラムである中継プログラムに従って実行する中継処理手段と,
前記特定演算処理手段と前記中継処理手段とのいずれからもアクセスされる共用記憶領域を有する共用記憶手段と,を具備しており,
前記中継処理手段により前記共用記憶領域に前記入力情報を書き込む工程と,
前記特定演算処理手段により前記共用記憶領域から前記入力情報を読み出すとともに,前記特定の演算処理を実行して該特定の演算処理の結果情報を前記共用記憶手段に書き込む工程と,
前記中継処理手段により前記共用記憶領域から前記特定の演算処理の結果情報を読み出すとともに,前記サービス提供情報を生成してこれを前記通信手段に引き渡す工程と,
を有してなることを特徴とするネットワークを通じたサービス提供方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate


【公開番号】特開2008−204090(P2008−204090A)
【公開日】平成20年9月4日(2008.9.4)
【国際特許分類】
【出願番号】特願2007−38345(P2007−38345)
【出願日】平成19年2月19日(2007.2.19)
【出願人】(000001199)株式会社神戸製鋼所 (5,860)
【Fターム(参考)】