説明

クライアント/サーバアプリケーション作成方法及びその装置並びに情報記録媒体

【課題】 単独で動作するアプリケーションのソースコードを入力するのみで、クライアント及びサーバのアプリケーションを自動的に作成し、その開発工数を削減する。
【解決手段】 入力装置1、データ解析装置2、データ記憶装置3、アプリケーション作成装置4、出力装置5とを備えて、クライアントアプリケーションからサーバアプリケーションに対して実行を要求する処理関数のインタフェースを抽出する。更に、アプリケーションソースコードから、クライアントアプリケーションのソースコードとサーバアプリケーションのソースコードとを自動作成する。次に、処理関数の実行を要求する処理をクライアントアプリケーションに自動的に組み込み、かつ、クライアントアプリケーションから処理関数の実行要求に応答する処理をサーバアプリケーションに自動的に組み込む。

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、単独で動作するアプリケーションを分割してクライアント/サーバシステムにおけるクライアントアプリケーション及びサーバアプリケーションを作成し、特に、単独で動作するアプリケーションのソースコードを入力するのみでクライアントアプリケーション及びサーバアプリケーションを作成するクライアント/サーバアプリケーション作成方法及びその装置並びに情報記録媒体に関する。
【0002】
【従来の技術】近時の開発者が使用するクライアント/サーバシステムの開発環境(ソフトウェア)としては、独自開発又は汎用(市販)として提供される「Visigenic社のVisiBroker」、「日本ユニシス社のSYSTEMv」、「IONA社のOrbix」などが知られている。これらの独自開発又は汎用ソフトウェアを使用してクライアント/サーバシステムにおけるクライアントアプリケーション及びサーバアプリケーションを作成している。
【0003】図7は従来のクライアントアプリケーション及びサーバアプリケーションの作成手順を示すフローチャートである。この作成手順では、まず、サーバアプリケーションに示される処理関数のインタフェースをユーザが作成する(ステップS71)。次に、ユーザは、作成したインタフェースをソフトウェア(開発環境)が提供するコンパイラに適用することによって、サーバアプリケーションで使用するサーバ用処理ソースコード(適宜、サーバスケルトンと記載する)と、クライアントアプリケーションで使用するクライアント用処理ソースコード(適宜、クライアントスタブと記載する)を作成する(ステップS72)。次に、ユーザは、サーバスケルトンを用いてサーバアプリケーションを作成し(ステップS73)、更に、クライアントスタブを用いてクライアントアプリケーションを作成する(ステップS74)。
【0004】このような作成手順では、クライアントアプリケーションからサーバアプリケーションに対して、実行を要求する処理関数の抽出方法について、その考慮が行われていないため、ユーザがインタフェース定義を行う必要がある。また、開発者は、独自開発又は汎用(市販)アプリケーションソースコードを、サーバアプリケーションとクライアントアプリケーションで再利用できるように、適切に分割した後に、この分割したコードに開発環境で作成したサーバスケルトン及びクライアントスタブに組み込むための作業が必要になる。したがって、インタフェースからサーバスケルトン及びクライアントスタブを作成した後に、クライアントアプリケーション及びサーバアプリケーションを作成し直す作業が必要になり、その開発工数が増加する。
【0005】このようなクライアント/サーバシステムの作成として、特開平6−51968号及び特開平6−67865号の「遠隔手続き呼び出しプログラム生成装置」が知られている。この従来例では、効率的な遠隔手続き呼び出し処理を実現している。これと同時にユーザが共有データ領域を追加するための余分な作業を必要としない遠隔手続き呼び出しプログラムを生成している。
【0006】
【発明が解決しようとする課題】このように上記従来例では、インタフェースからクライアントスタブ及びサーバスケルトンを作成した後に、クライアントアプリケーション及びサーバアプリケーションを作成し直す必要があり、開発工数が増大するという欠点があった。また、公報例も開発工数の低減の視点からの改善の余地がある。
【0007】本発明は、このような従来の技術における課題を解決するものであり、単独で動作するアプリケーションのソースコードを入力するのみで、クライアントアプリケーション及びサーバアプリケーションが自動的に作成できるようになり、アプリケーションから移行して作成されるクライアント/サーバシステム用のクライアントアプリケーション及びサーバアプリケーションを作成する際の開発工数が削減できるクライアント/サーバアプリケーション作成方法及びその装置並びに情報記録媒体の提供を目的とする。
【0008】
【課題を解決するための手段】上記課題を達成するために、本発明は、単独で動作するアプリケーションを分割してクライアント/サーバシステムにおけるクライアントアプリケーション及びサーバアプリケーションを作成するクライアント/サーバアプリケーション作成方法において、クライアントアプリケーションからサーバアプリケーションに対して実行を要求する処理関数のインタフェースを抽出する処理と、アプリケーションソースコードから、クライアントアプリケーションのソースコードとサーバアプリケーションのソースコードとを自動作成する処理と、処理関数の実行を要求する処理をクライアントアプリケーションに自動的に組み込む処理と、クライアントアプリケーションから処理関数の実行要求に応答する処理をサーバアプリケーションに自動的に組み込む処理とを有している。
【0009】前記クライアント/サーバアプリケーション作成方法に、クライアントアプリケーションへ移行するグラフィカルユーザインタフェース(GUI)画面を選択する処理と、クライアントアプリケーションにおけるグラフィカルユーザインタフェース画面の遷移を実行する処理とを更に含んでいる。
【0010】本発明のクライアント/サーバアプリケーション作成装置は、アプリケーションのソースコードを入力するための入力手段と、入力手段からのアプリケーションのソースコードによって処理関数データとGUI画面データとを作成するデータ解析手段と、データ解析手段で作成された処理関数データ及びGUI画面データを記憶するデータ記憶手段と、データ記憶手段に記憶しているGUI画面データおよび、データ記憶手段に記憶している処理関数データに基づいたインタフェースで作成したクライアント用処理ソースコードとによってクライアントアプリケーションを作成し、かつ、データ記憶手段に記憶している処理関数データに基づいたインタフェースで作成したサーバ用処理ソースコードと入力手段からのアプリケーションのソースコードとによって、サーバアプリケーションを作成するアプリケーション作成手段と、アプリケーション作成手段で作成したクライアントアプリケーション及びサーバアプリケーションを出力する出力手段とを備える構成としてある。
【0011】前記データ解析手段として、入力手段からのアプリケーションのソースコードを解析し、GUI画面で発生するイベント処理で呼び出された処理関数の関数名、戻り値の型、引数の型、引数名からなる処理関数データを作成する処理関数データ抽出部と、入力手段からのアプリケーションのソースコードを解析し、GUI画面に位置しているGUI部品の種類、属性、部品で発生するイベント処理で呼び出された処理と処理関数データ抽出部で作成された処理関数データとの関係に基づいてGUI画面データを作成するGUI画面データ抽出部とを備える構成としてある。
【0012】前記データ記憶手段として、処理関数データ抽出部で作成された処理関数データを記憶する処理関数データ記憶部と、GUI画面データ抽出部で作成したGUI画面データを記憶するGUI画面データ記憶部とを備える構成としてある。
【0013】前記アプリケーション作成手段は、データ記憶手段に記憶している処理関数データによってGUI画面で発生するイベント処理で呼び出された処理関数のインタフェースを作成するインタフェース作成部と、インタフェース作成部で作成したインタフェースに基づいてクライアントアプリケーションの処理関数実行の要求を受け取るためのサーバ用処理ソースコードを作成するサーバスケルトン作成部と、インタフェース作成部で生成したインタフェースに基づいてサーバアプリケーションの処理関数実行の要求を行うためのクライアント用処理ソースコードを作成するクライアントスタブ作成部と、入力手段からのアプリケーションのソースコード及びサーバスケルトン作成部で作成されたサーバ用処理ソースコードからサーバアプリケーションを作成するサーバアプリケーション作成部と、データ記憶手段に記憶しているGUI画面データ及びクライアントスタブ作成部で作成されたクライアント用処理ソースコードからクライアントアプリケーションを作成するクライアントアプリケーション作成部とを備える構成である。
【0014】前記出力手段として、アプリケーション作成手段で作成されたサーバアプリケーションソースコードを記憶装置に送出するサーバアプリケーション出力部と、アプリケーション作成手段で作成されたクライアントアプリケーションソースコードを記憶装置に送出するクライアントアプリケーション出力部とを備える構成としてある。
【0015】前記データ解析手段が、入力手段からのアプリケーションソースコードに基づいて全てのGUI画面を抽出する処理、及び、記憶手段に記憶しているGUI画面データ間の遷移関係を入力手段からのアプリケーションソースコードから抽出してGUI画面遷移データを作成する処理を更に実行し、かつ、データ記憶手段が、データ解析手段で作成されたGUI画面遷移データを記憶する処理を更に実行するとともに、この処理を実行するデータ解析手段に、抽出したGUI画面中から、クライアントアプリケーションで用いるGUI画面を選択するための画面選択手段を更に備える構成としてある。
【0016】前記データ解析手段に、入力手段からのアプリケーションソースコードから全てのGUI画面を抽出する処理を行うGUI画面抽出部と、データ記憶手段に記憶しているGUI画面データ間の遷移関係を入力手段からのアプリケーションソースコードから抽出して、遷移元、イベント処理、遷移先からなるGUI画面遷移データを作成するGUI画面遷移データ抽出手段とを更に備える構成としてある。
【0017】前記データ記憶手段に、データ解析手段で作成したGUI画面遷移データを記憶するGUI画面遷移データ記憶部を更に備える構成としてある。
【0018】前記単独で動作するアプリケーションを、独自開発したクライアント/サーバシステムのためのソフトウェアとし、又は、クライアント/サーバシステムの開発環境として提供される汎用ソフトウェアとする構成としてある。
【0019】前記クライアント/サーバアプリケーション作成方法における処理を、汎用小型コンピュータで実行し、また、前記クライアント/サーバアプリケーション作成装置として、汎用小型コンピュータを用いている。
【0020】本発明の情報記録媒体は、クライアントアプリケーションからサーバアプリケーションに対して実行を要求する処理関数のインタフェースを抽出し、アプリケーションソースコードから、クライアントアプリケーションのソースコードとサーバアプリケーションのソースコードとを自動作成し、処理関数の実行を要求する処理をクライアントアプリケーションに自動的に組み込み、クライアントアプリケーションから処理関数の実行要求に応答する処理をサーバアプリケーションに自動的に組み込む制御を実行するプログラムを格納している。
【0021】前記情報記録媒体に、更に、クライアントアプリケーションへ移行するグラフィカルユーザインタフェース画面を選択し、かつ、クライアントアプリケーションにおけるグラフィカルユーザインタフェース画面の遷移を実行するプログラムを格納している。
【0022】このような本発明のクライアント/サーバアプリケーション作成方法及びその装置は、クライアントアプリケーションからサーバアプリケーションに対して実行を要求する処理関数のインタフェースを抽出し、アプリケーションソースコードから、クライアントアプリケーションのソースコードとサーバアプリケーションのソースコードとを自動作成する。そして、処理関数の実行を要求する処理をクライアントアプリケーションに自動的に組み込み、かつ、クライアントアプリケーションから処理関数の実行要求に応答する処理をサーバアプリケーションに自動的に組み込んでいる。
【0023】この結果、単独で動作するアプリケーションのソースコードを入力するのみで、サーバアプリケーション及びクライアントアプリケーションが自動的に作成できるようになり、独自開発又は既存のアプリケーション(汎用ソフトウェア)を移行してクライアント/サーバシステム用のサーバアプリケーション及びクライアントアプリケーションを作成する際の開発工数が削減される。
【0024】また、本発明のクライアント/サーバアプリケーション作成方法及びその装置は、クライアントアプリケーションへ移行するグラフィカルユーザインタフェース画面を選択し、また、クライアントアプリケーションにおけるグラフィカルユーザインタフェース画面の遷移を実行している。
【0025】この結果、前記した開発工数の削減が可能になるとともに、例えば、クライアント/サーバシステムの開発環境として用いられる独自開発又は汎用アプリケーションにおいて、グラフィカルユーザインタフェース画面を選択し、また、クライアントアプリケーションにおけるグラフィカルユーザインタフェース画面の遷移実行中に、その画面表示が可能になり、よりクライアントアプリケーション及びサーバアプリケーションに移行する作業が容易になる。
【0026】また、本発明の情報記録媒体は、単独で動作するアプリケーションを分割してクライアント/サーバシステムにおけるクライアントアプリケーション及びサーバアプリケーションの作成を実行するプログラムを格納している。この結果、特に、汎用小型コンピュータ(例えば、パーソナルコンピュータ/ワークステーション等)で、本発明を実施できるようになる。
【0027】また、本発明の情報記録媒体は、前記の情報記録媒体に、更に、クライアントアプリケーションへ移行するグラフィカルユーザインタフェース画面を選択し、また、クライアントアプリケーションにおけるグラフィカルユーザインタフェース画面の遷移を実行するプログラムを格納している。
【0028】この結果、特に、汎用小型コンピュータで、本発明を実施できるようになるとともに、グラフィカルユーザインタフェース画面を選択し、また、クライアントアプリケーションにおけるグラフィカルユーザインタフェース画面の遷移実行中に、その画面表示が可能になり、よりクライアントアプリケーション及びサーバアプリケーションに移行する作業が容易になる。
【0029】
【発明の実施の形態】次に、本発明のクライアント/サーバアプリケーション作成方法及びその装置並びに情報記録媒体の実施の形態を図面を参照して詳細に説明する。図1は本発明のクライアント/サーバアプリケーション作成方法及びその装置並びに情報記録媒体の第1実施形態における構成を示すブロック図である。このクライアント/サーバアプリケーション作成装置は、アプリケーションのソースコードを入力するための入力装置1と、制御プログラムを実行するデータ解析装置2と、データを一時的に記憶するデータ記憶装置3と、アプリケーションを作成するアプリケーション作成装置4と、作成したアプリケーションソースコードをハードディスク装置などに送出する出力装置5とを備えている。
【0030】データ解析装置2は、処理関数データ抽出部21及びグラフィカルユーザインタフェース(GUI)画面データ抽出部22とを備えている。処理関数データ抽出部21は、入力装置1からのアプリケーションのソースコードを解析し、GUI画面で発生するイベント処理で呼び出されている処理関数の関数名、戻り値の型、引数の型、引数名を抽出して処理関数データを作成する。GUI画面データ抽出部22は、入力装置1からのアプリケーションのソースコードを解析し、GUI画面に位置されているGUI部品の種類、属性、部品で発生するイベント処理で呼び出される処理と処理関数データ抽出部21で作成された処理関数データとの関係を抽出してGUI画面データを作成する。
【0031】データ記憶装置3は、処理関数データ抽出部21で作成された処理関数データを記憶する処理関数データ記憶部31と、GUI画面データ抽出部22で作成したGUI画面データを記憶するGUI画面データ記憶部32とを備えている。
【0032】アプリケーション作成装置4は、インタフェース作成部41と、サーバスケルトン(サーバ用処理ソースコード)作成部42と、クライアントスタブ(クライアント用処理ソースコード)作成部43と、サーバアプリケーション作成部44と、クライアントアプリケーション作成部45とを有している。
【0033】このアプリケーション作成装置4におけるインタフェース作成部41は、処理関数データ記憶部31に記憶している処理関数データの入力によって、GUI画面で発生するイベント処理で呼び出される処理関数のインタフェースを作成する。サーバスケルトン作成部42は、インタフェース作成部41で作成したインタフェースを通じてクライアントアプリケーションの処理関数実行の要求を受け取るサーバスケルトン(サーバ用処理ソースコード)を作成する。クライアントスタブ作成部43は、インタフェース作成部41で作成したインタフェースを通じてサーバアプリケーションの処理関数実行の要求を行うクライアントスタブ(クライアント用処理ソースコード)を作成する。
【0034】また、アプリケーション作成装置4のサーバアプリケーション作成部44は、入力装置1からのアプリケーションのソースコードとサーバスケルトン作成部42で作成されたサーバスケルトンとからサーバアプリケーションを作成する。クライアントアプリケーション作成部45は、GUI画面データ記憶部32に記憶しているGUI画面データ及びクライアントスタブ作成部43で作成されたクライアントスタブからクライアントアプリケーションを作成する。
【0035】出力装置5は、サーバアプリケーション作成部44で作成されたサーバアプリケーションソースコードを、ハードディスク装置などに送出して記憶するためのサーバアプリケーション出力部51と、クライアントアプリケーション作成部45で作成されたクライアントアプリケーションソースコードを、ハードディスク装置などに送出して記憶するためのクライアントアプリケーション出力部52とを備えている。
【0036】なお、この図1に示す構成は、汎用小型コンピュータ(パーソナルコンピュータ)やワークステーションで実現できる。また、以下の本発明の実施形態にかかる動作を実行するためのプログラムは、汎用小型コンピュータ用のソフトウェア(情報記録媒体/フロッピーディスク、ハードディスク、メモリ等)として提供可能である。
【0037】次に、この第1実施形態の動作について説明する。図2は第1実施形態の動作の処理手順を示すフローチャートである。図1及び図2において、入力装置1からのソースコードが、データ解析装置2の処理関数データ抽出部21に入力される。処理関数データ抽出部21では、GUI画面のソースコードを検索し、このソースコード中にGUI画面で発生するイベント処理で呼び出している処理関数を抽出する(ステップS1)。ここで、抽出した処理にGUI画面に対する処理以外の処理が含まれているかを判断する(ステップS2)。この判断でGUI画面に対する処理以外の処理が含まれていない場合(No)、GUI画面が他の処理と関連していないためアプリケーションの分割を行わない。したがって、エラーメッセージを出力し、その表示を行って処理終了となる(ステップS10)。
【0038】ステップS2でGUI画面に対する処理以外の処理が含まれている場合(Yes)、この処理関数を抽出する。この処理関数の宣言を、入力装置1から付与されるソースコードから検索する。この関数宣言から「関数名」、「戻り値の型」、「引数の型」、「引数名」を取り出して処理関数データを作成し、処理関数データ記憶部31に記憶する(ステップS3)。この処理関数データ記憶部31に記憶している処理関数データには、それぞれに番号を割り当てる。
【0039】次に、入力装置1からのソースコードは、GUI画面データ抽出部22に入力される。GUI画面データ抽出部22では、GUI画面のソースコードを検索して、GUI画面の属性を抽出する(ステップS4)。また、処理関数データ記憶部31に記憶している処理関数をGUI画面で発生するイベント処理で使用している場合は、GUI画面と処理関数データ記憶部31のデータとの関係を抽出する。この抽出した情報からGUI画面データを作成し、GUI画面データ記憶部32に記憶する。
【0040】次に、インタフェース作成部41は、処理関数データ記憶部31に記憶されている処理関数データの入力によって、GUI画面で発生するイベント処理で呼び出される処理関数のインタフェースを作成する(ステップS5)。次に、サーバスケルトン作成部42は、インタフェース作成部41で作成されたインタフェースから、サーバスケルトンを作成する(ステップS6)。このサーバスケルトンには、クライアントアプリケーションからの処理関数実行の要求を受け取って所定の適切な処理関数を実行し、処理関数の戻り値をクライアントアプリケーションに返送するための処理が記述されている。
【0041】次に、クライアントスタブ作成部43は、インタフェース作成部41で作成されたインタフェースからクライアントスタブを作成する(ステップS7)。このクライアントスタブは、処理関数データ記憶部31に記憶されている処理関数と同一の「関数名」「戻り値」「引数を持つ関数」とから構成され、かつ、サーバアプリケーションに対して処理関数の実行を要求する処理が記述されている。
【0042】また、サーバアプリケーション作成部44は、入力装置1からのソースコードとサーバスケルトン作成部42で作成されたサーバスケルトンから、サーバアプリケーションを作成する(ステップS8)。具体的には、入力装置1からのソースコードに、アプリケーション起動時にサーバスケルトンを初期化する処理を加える。
【0043】次に、クライアントアプリケーション作成部45では、GUI画面データ記憶部32に記憶しているGUI画面データとクライアントスタブ作成部43で作成したクライアントスタブとから、クライアントアプリケーションを作成する(ステップS9)。具体的には、GUI画面データからGUI画面のソースコードとGUI画面で発生するイベント処理で実行される処理関数のソースコードを作成する。作成した処理関数のソースコードにおいて、サーバアプリケーションの処理関数を実行する処理では、クライアントスタブに定義されている処理関数を呼び出すためのコードが記述されている。
【0044】最後に、サーバアプリケーション出力部51に対して、サーバアプリケーション作成部44で作成されたソースコードが付与され、このソースコードがハードディスク装置などに保存される。同様に、クライアントアプリケーション出力部52に対して、クライアントアプリケーション作成部45で作成されたソースコードが付与され、このソースコードがハードディスク装置などに保存される。
【0045】次に、具体例を挙げて第1実施形態の要部動作について説明する。図3は第1実施形態の具体例の要部動作を説明するための図である。図3において、「画面B11」、「関数click_Search( )」(B12)、「関数SearchID from Name(…)」(B13)などから構成されるアプリケーションが、入力ソースコード(B1)として与えられる。このソースコードは、「画面B11」のSearchボタンをクリック(選択)すると「関数click_Search( )」が呼び出されるように関連付けられている。
【0046】以下、このアプリケーションを入力した場合の処理について説明する。アプリケーションのソースコードを入力装置1に与えると、処理関数データ抽出部21は、「画面B11」のSearchボタンに関連付けられている「関数click_Search( )」(B12)内の「関数SearchID from Name(…)」を抽出する(ステップS1,S2)。この関数の宣言「string SearchID from Name(string Name)」(B13)から、関数名:SearchID from Name、戻り値:string、引数の型:string、引数名:name」という処理関数データを作成し、この処理関数データを関数番号1として図3中の(B12)に示す内容を、処理関数データ記憶部31に記憶する(ステップS3)。
【0047】次に、GUI画面データ抽出部22では、「画面B11」のソースコードを解析して、GUI画面に配置しているGUI部品や属性を抽出する。また、「画面B11」で発生するイベント処理によって実行される処理関数を解析し、Searchボタンのイベント処理が発生するとclick_Search( )関数が実行される。この関数で「関数番号1の関数を呼び出している」という情報を抽出する。そして、抽出した情報からGUI画面データを作成し、図3中に示す(B31)(B32)に示す内容をGUI画面データ記憶部32に保存する(ステップS4)。
【0048】次に、インタフェース作成部41では、処理関数データ記憶部31に保存されている処理関数データ「関数名:SearchID from Name、戻り値:string、引数の型:string、引数名:nameから図3中の(B4)に示すインタフェースを作成する(ステップS5)。サーバスケルトン作成部42は、インタフェース作成部41で作成されたインタフェースを用いて、サーバスケルトン(B52)を作成する(ステップS6)。クライアントスタブ作成部43は、クライアントスタブ(B63)を作成する(ステップS7)。
【0049】サーバアプリケーション作成部44では、サーバスケルトン作成部42で作成されたサーバスケルトン(B52)と入力装置1からのアプリケーションソースコード(B51)とを組み合わせることによって、クライアントアプリケーションからの処理関数実行の要求を受け取るためのサーバアプリケーションソースコードを作成する(ステップS8)。クライアントアプリケーション作成部45では、GUI画面データ記憶部32に記憶されているGUI画面データ(B3)とクライアントスタブ作成部43で作成されたクライアントスタブ(B63)から、クライアントアプリケーションソースコード(B6)を作成する。
【0050】このソースコードにおいて、Searchボタンがクリックされた際に呼び出される「関数click_Search( )」(B62)の中で、更に呼び出される「関数SearchID from Name(…)」が、クライアントスタブ(B63)で定義されている関数となる(ステップS9)。
【0051】最後に、サーバアプリケーション作成部44で作成されたサーバアプリケーションソースコード(B5)が、サーバアプリケーション出力部51へ送出され、ここからハードディスク装置などに出力される。また、クライアントアプリケーション作成部45で作成されたクライアントアプリケーションソースコード(B6)もクライアントアプリケーション出力部52に送出されて、ここからハードディスク装置などに出力される。
【0052】このように,この第1実施形態では、単独のアプリケーションを分割する際に、クライアントアプリケーションからサーバアプリケーションに対して実行を要求する処理関数のインタフェースを、アプリケーションのソースコードから自動作成している。そして、処理関数の実行を要求する処理をクライアントアプリケーションに自動的に組み込み、クライアントアプリケーションから処理関数の実行要求に応答する処理をサーバアプリケーションに自動的に組み込んでいる。
【0053】この結果、単独で動作するアプリケーションのソースコードを入力するのみで、クライアントアプリケーション及びサーバアプリケーションを自動的に作成できるようになる。したがって、既存のアプリケーションを移行してクライアント/サーバシステム用のクライアントアプリケーション及びサーバアプリケーションを作成する際の開発工数を削減できるようになる。
【0054】次に、第2実施形態について説明する。図4R>4は第2実施形態の構成を示すブロック図である。この第2実施形態では、図4中のデータ解析装置6に、図1中の第1実施形態におけるデータ解析装置2の構成に追加して、GUI画面抽出部23及びGUI画面遷移データ抽出部24が設けられている。また、図4中のデータ記憶装置7には、図1中の第1実施形態におけるデータ記憶装置3の構成に追加して、GUI画面遷移データ記憶部33が設けられている。更に、この第2実施形態には画面選択装置8が、図1中の第1実施形態に追加して設けられている。
【0055】図4中のデータ解析装置6におけるGUI画面抽出部23は、入力装置1からのアプリケーションソースコードから全てのGUI画面を抽出する処理を行う。また、GUI画面遷移データ抽出部24は、GUI画面データ記憶部32に記憶されているGUI画面データ間の遷移関係を、入力装置1からのアプリケーションソースコードから抽出し、「遷移元」「イベント処理」「遷移先」からなるGUI画面遷移データを作成する。
【0056】また、図4中のGUI画面遷移データ記憶部33は、GUI画面遷移データ抽出部24で作成されたGUI画面遷移データを記憶する。
【0057】更に、図4中の画面選択装置8では、GUI画面抽出部23で抽出したGUI画面中から、クライアントアプリケーションで用いるGUI画面をユーザが選択する。この第2実施形態では、複数のGUI画面がアプリケーションソースコードに含まれている場合には、これらのGUI画面の全てをユーザに提示し、クライアントアプリケーションに移行するGUI画面を選択させる。このGUI画面は複数の選択が可能である。
【0058】次に、第2実施形態の動作について説明する。図5は第2実施形態の動作の処理手順を示すフローチャートである。なお、このフローチャートでは、図2に示す第1実施形態のフローチャートと同一の処理に同一のステップ符号を付した。前記の第1実施形態では、クライアントアプリケーションに使用するGUI画面を、入力装置1から与えられたソースコードに存在する一つのGUI画面としていたが、この第2実施形態では、図4及び図5において、GUI画面抽出部23が、入力装置1から与えられたソースコードを解析してGUI画面を抽出する(ステップS11)。
【0059】画面選択装置8では、GUI画面抽出部23で抽出したGUI画面を受け取ってユーザに提示し、クライアントアプリケーションへ移行するGUI画面を選択させる(ステップS12)。ここでGUI画面が一つ以上選択されたか否かを判断する(ステップS13)。この判断でGUI画面が一つ以上選択されていない場合(No)、エラーメッセージを表示し、その処理を終了する(ステップS10)。GUI画面が選択された場合の処理中にあって、ステップS1からステップS4までの処理は、図2に示す第2実施形態の場合と同様である。
【0060】GUI画面データの作成及び記憶(ステップS4)が終了した場合、GUI画面遷移データ抽出部24は、GUI画面データ記憶部32に記憶しているGUI画面データ間の遷移を抽出し、GUI画面遷移データを作成して、GUI画面遷移データ記憶部33に記憶する(ステップS14)。また、図5中のステップS6からステップS8までの処理は、図2の第2実施形態と同様である。
【0061】クライアントアプリケーション作成部45では、クライアントスタブ作成部43で作成されたクライアントスタブと、GUI画面データ記憶部32に記憶しているGUI画面データとGUI画面遷移データ記憶部33に記憶されているGUI画面遷移データとから、クライアントアプリケーションを作成する(ステップS9)。最後に、サーバアプリケーションソースコードとクライアントアプリケーションソースコードとが、それぞれサーバアプリケーション出力部51及びクライアントアプリケーション出力部52に送出され、ここからハードディスク装置などに出力される。
【0062】図6は第2実施形態の具体例の要部動作を説明するための図である。図6では、図3に示した第1実施形態におけるアプリケーションソースコードに「画面B14」を加えたソースコードを用いている。この「画面B14」は二つのボタンを有しており、この中の一つのSearchIDボタンには、クリック(指示)した際に、「画面B11」を表示するためのコードが記述されている。なお、「画面B11」の動作は、図3の第1実施形態の場合と同様である。
【0063】このアプリケーションを入力装置1に与えるとGUI画面抽出部23では、「画面B11」及び「画面B14」を抽出する(ステップS11)。画面選択装置8は、ユーザに「画面B11」及び「画面B14」を提示して、クライアントアプリケーションとして使用する画面を選択させる(ステップS12)。ここでは、「画面B11」及び「画面B14」が選択される。二つのGUI画面が選択され、その処理を続行する(ステップS13)。処理関数データ抽出部21では、「画面B11」及び「画面B14」から「関数SearchID from Name(…)」を抽出し(ステップS1,S2)、図6中の(B2)に示すデータを処理関数データ記憶部31に記憶する。
【0064】GUI画面データ抽出部22では、「画面B11」のデータと「画面B11」で発生するイベント処理によって実行される処理関数とを解析して、「関数click_Search( )」を抽出し、図6中の(B31)(B32)に示す内容をGUI画面データ記憶部32が記憶する。また、「画面B14」のデータも解析され、図6の(B33)に示すようにGUI画面データをGUI画面データ記憶部32に記憶する(ステップS4)。次に、GUI画面遷移データ抽出部24おいて、GUI画面データ記憶部32に記憶されているGUI画面データ間のGUI画面遷移データを得るために、入力装置1からのソースコードを解析する。
【0065】このソースコードには、「画面B14」のSearchIDボタンをクリックした際に「画面B11」を表示する内容が記述されている。更に、GUI画面データ記憶部32では、「画面B11」が(B31)、「画面B14」が(B33)として記憶されているため、(B10)に示す内容のGUI画面データが、GUI画面遷移データ記憶部33に記憶される(ステップS14)。この後に処理されるステップS5からステップS8までの具体例は、図3に示した場合と同様である。
【0066】クライアントアプリケーション作成部45では、クライアントスタブ作成部43で作成されたクライアントスタブ(B63)と、GUI画面データ記憶部32に保存されているデータ(B31)(B32)(B33)及びGUI画面遷移データ記憶部33に記憶されているGUI画面遷移データ(B10)から(B9)に示すクライアントアプリケーションを作成する(ステップS9)。(B9)において、「画面B61」への遷移を行うソースコードは、(B10)のGUI画面遷移データを用いて作成される。これ以降の出力装置5における処理は、図3に示す具体的例と同様である。
【0067】このように、この第2実施形態では、入力されたソースコードからGUI画面を抽出してユーザに選択させるとともに、GUI画面遷移データを抽出し、また、GUI画面遷移データを記憶することにより、ユーザがクライアントアプリケーションへ移行するGUI画面を選択できるようになる。また、クライアントアプリケーションへ移行するGUI画面を選択できるとともに、クライアントアプリケーションにおけるGUI画面の遷移が出来るようになる。
【0068】この結果、第1実施形態と同様に開発工数の削減が可能になるとともに、グラフィカルユーザインタフェース画面を選択し、また、クライアントアプリケーションにおけるグラフィカルユーザインタフェース画面の遷移実行中に、その画面表示が可能になり、よりクライアントアプリケーション及びサーバアプリケーションに移行する作業が容易になる。
【0069】
【発明の効果】以上の説明から明らかなように、本発明のクライアント/サーバアプリケーション作成方法及びその装置によれば、クライアントアプリケーションからサーバアプリケーションに対して実行を要求する処理関数のインタフェースを抽出し、アプリケーションソースコードから、クライアントアプリケーションのソースコードとサーバアプリケーションのソースコードとを自動作成する。そして、処理関数の実行を要求する処理をクライアントアプリケーションに自動的に組み込み、かつ、クライアントアプリケーションから処理関数の実行要求に応答する処理をサーバアプリケーションに自動的に組み込んでいる。
【0070】この結果、単独で動作するアプリケーションのソースコードを入力するのみで、サーバアプリケーション及びクライアントアプリケーションが自動的に作成できるようになる。したがって、独自開発又は既存のアプリケーションの移行してクライアント/サーバシステム用のサーバアプリケーション及びクライアントアプリケーションを作成する際の開発工数を削減できるようになる。
【0071】また、本発明のクライアント/サーバアプリケーション作成方法及びその装置によれば、クライアントアプリケーションへ移行するグラフィカルユーザインタフェース画面を選択し、また、クライアントアプリケーションにおけるグラフィカルユーザインタフェース画面の遷移を実行している。
【0072】この結果、前記の開発工数の削減が可能になるとともに、独自開発又は汎用アプリケーションにおいて、グラフィカルユーザインタフェース画面を選択し、また、クライアントアプリケーションにおけるグラフィカルユーザインタフェース画面の遷移実行中に、その画面表示が可能になり、よりクライアントアプリケーション及びサーバアプリケーションに移行する作業が容易になる。
【0073】また、本発明の情報記録媒体によれば、単独で動作するアプリケーションを分割してクライアント/サーバシステムにおけるクライアントアプリケーション及びサーバアプリケーションの作成を実行するプログラムを格納している。この結果、特に、汎用小型コンピュータで、本発明を実施できるようになる。
【0074】また、本発明の情報記録媒体は、前記した情報記録媒体に、更に、クライアントアプリケーションへ移行するグラフィカルユーザインタフェース画面を選択し、また、クライアントアプリケーションにおけるグラフィカルユーザインタフェース画面の遷移を実行するプログラムを格納している。
【0075】この結果、特に、汎用小型コンピュータで、本発明を実施できるようになるとともに、グラフィカルユーザインタフェース画面を選択し、また、クライアントアプリケーションにおけるグラフィカルユーザインタフェース画面の遷移実行中に、その画面表示が可能になり、よりクライアントアプリケーション及びサーバアプリケーションに移行する作業が容易に出来るようになる。
【図面の簡単な説明】
【図1】本発明のクライアント/サーバアプリケーション作成方法及びその装置並びに情報記録媒体の第1実施形態における構成を示すブロック図である。
【図2】第1実施形態の動作の処理手順を示すフローチャートである。
【図3】第1実施形態の具体例の要部動作を説明するための図である。
【図4】第2実施形態の構成を示すブロック図である。
【図5】第2実施形態の動作の処理手順を示すフローチャートである。
【図6】第2実施形態の具体例の要部動作を説明するための図である。
【図7】従来例にあってクライアントアプリケーション及びサーバアプリケーションの作成手順を示すフローチャートである。
【符号の説明】
1 入力装置
2 データ解析装置
3 データ記憶装置
4 アプリケーション作成装置
5 出力装置
8 画面選択装置
21 処理関数データ抽出部
22 GUI画面データ抽出部
23 GUI画面抽出部
24 GUI画面遷移データ抽出部
31 処理関数データ記憶部
32 GUI画面データ記憶部
33 GUI画面遷移データ記憶部
41 インタフェース作成部
42 サーバスケルトン作成部
43 クライアントスタブ作成部
44 サーバアプリケーション作成部
45 クライアントアプリケーション作成部
51 サーバアプリケーション出力部
52 クライアントアプリケーション出力部

【特許請求の範囲】
【請求項1】 単独で動作するアプリケーションを分割してクライアント/サーバシステムにおけるクライアントアプリケーション及びサーバアプリケーションを作成するクライアント/サーバアプリケーション作成方法において、クライアントアプリケーションからサーバアプリケーションに対して実行を要求する処理関数のインタフェースを抽出する処理と、アプリケーションソースコードから、クライアントアプリケーションのソースコードとサーバアプリケーションのソースコードとを自動作成する処理と、処理関数の実行を要求する処理をクライアントアプリケーションに自動的に組み込む処理と、クライアントアプリケーションから処理関数の実行要求に応答する処理をサーバアプリケーションに自動的に組み込む処理と、を有することを特徴とするクライアント/サーバアプリケーション作成方法。
【請求項2】 前記請求項1記載のクライアント/サーバアプリケーション作成方法に、クライアントアプリケーションへ移行するグラフィカルユーザインタフェース(GUI)画面を選択する処理と、クライアントアプリケーションにおけるグラフィカルユーザインタフェース画面の遷移を実行する処理と、を更に含むことを特徴とするクライアント/サーバアプリケーション作成方法。
【請求項3】 アプリケーションのソースコードを入力するための入力手段と、前記入力手段からのアプリケーションのソースコードによって処理関数データとGUI画面データとを作成するデータ解析手段と、前記データ解析手段で作成された処理関数データ及びGUI画面データを記憶するデータ記憶手段と、前記データ記憶手段に記憶しているGUI画面データおよび、前記データ記憶手段に記憶している処理関数データに基づいたインタフェースで作成したクライアント用処理ソースコードとによってクライアントアプリケーションを作成し、かつ、前記データ記憶手段に記憶している処理関数データに基づいたインタフェースで作成したサーバ用処理ソースコードと入力手段からのアプリケーションのソースコードとによって、サーバアプリケーションを作成するアプリケーション作成手段と、前記アプリケーション作成手段で作成したクライアントアプリケーション及びサーバアプリケーションを出力する出力手段と、を備えることを特徴とするクライアント/サーバアプリケーション作成装置。
【請求項4】 前記データ解析手段として、入力手段からのアプリケーションのソースコードを解析し、GUI画面で発生するイベント処理で呼び出された処理関数の関数名、戻り値の型、引数の型、引数名からなる処理関数データを作成する処理関数データ抽出部と、入力手段からのアプリケーションのソースコードを解析し、GUI画面に位置しているGUI部品の種類、属性、部品で発生するイベント処理で呼び出された処理と前記処理関数データ抽出部で作成された処理関数データとの関係に基づいてGUI画面データを作成するGUI画面データ抽出部と、を備えることを特徴とする請求項3記載のクライアント/サーバアプリケーション作成装置。
【請求項5】 前記データ記憶手段として、処理関数データ抽出部で作成された処理関数データを記憶する処理関数データ記憶部と、GUI画面データ抽出部で作成したGUI画面データを記憶するGUI画面データ記憶部と、を備えることを特徴とする請求項3又は4記載のクライアント/サーバアプリケーション作成装置。
【請求項6】 前記アプリケーション作成手段として、データ記憶手段に記憶している処理関数データによってGUI画面で発生するイベント処理で呼び出された処理関数のインタフェースを作成するインタフェース作成部と、前記インタフェース作成部で作成したインタフェースに基づいてクライアントアプリケーションの処理関数実行の要求を受け取るためのサーバ用処理ソースコードを作成するサーバスケルトン作成部と、前記インタフェース作成部で生成したインタフェースに基づいてサーバアプリケーションの処理関数実行の要求を行うためのクライアント用処理ソースコードを作成するクライアントスタブ作成部と、入力手段からのアプリケーションのソースコード及び前記サーバスケルトン作成部で作成されたサーバ用処理ソースコードからサーバアプリケーションを作成するサーバアプリケーション作成部と、前記データ記憶手段に記憶しているGUI画面データ及び前記クライアントスタブ作成部で作成されたクライアント用処理ソースコードからクライアントアプリケーションを作成するクライアントアプリケーション作成部と、を備えることを特徴とする請求項3,4又は5記載のクライアント/サーバアプリケーション作成装置。
【請求項7】 前記出力手段として、前記アプリケーション作成手段で作成されたサーバアプリケーションソースコードを記憶装置に送出するサーバアプリケーション出力部と、前記アプリケーション作成手段で作成されたクライアントアプリケーションソースコードを記憶装置に送出するクライアントアプリケーション出力部と、を備えることを特徴とする請求項3,4,5又は6記載のクライアント/サーバアプリケーション作成装置。
【請求項8】 前記請求項3記載のデータ解析手段が、入力手段からのアプリケーションソースコードに基づいて全てのGUI画面を抽出する処理、及び、記憶手段に記憶しているGUI画面データ間の遷移関係を入力手段からのアプリケーションソースコードから抽出してGUI画面遷移データを作成する処理を更に実行し、かつ、データ記憶手段が、前記データ解析手段で作成されたGUI画面遷移データを記憶する処理を更に実行するとともに、この処理を実行するデータ解析手段に、抽出したGUI画面中から、クライアントアプリケーションで用いるGUI画面を選択するための画面選択手段を更に備えることを特徴とするクライアント/サーバアプリケーション作成装置。
【請求項9】 前記データ解析手段に、入力手段からのアプリケーションソースコードから全てのGUI画面を抽出する処理を行うGUI画面抽出部と、前記データ記憶手段に記憶しているGUI画面データ間の遷移関係を入力手段からのアプリケーションソースコードから抽出して、遷移元、イベント処理、遷移先からなるGUI画面遷移データを作成するGUI画面遷移データ抽出手段と、を更に備えることを特徴とする請求項4記載のクライアント/サーバアプリケーション作成装置。
【請求項10】 前記データ記憶手段に、データ解析手段で作成したGUI画面遷移データを記憶するGUI画面遷移データ記憶部を更に備えることを特徴とする請求項5記載のクライアント/サーバアプリケーション作成装置。
【請求項11】 前記単独で動作するアプリケーションが、独自開発したクライアント/サーバシステムのためのソフトウェアであり、又は、クライアント/サーバシステムの開発環境として提供される汎用ソフトウェアであることを特徴とする請求項3記載のクライアント/サーバアプリケーション作成装置。
【請求項12】 前記請求項1及び2記載のクライアント/サーバアプリケーション作成方法における処理を、汎用小型コンピュータで実行することを特徴とするクライアント/サーバアプリケーション作成方法。
【請求項13】 前記請求項3記載のクライアント/サーバアプリケーション作成装置として、汎用小型コンピュータを用いることを特徴とするクライアント/サーバアプリケーション作成装置。
【請求項14】 クライアントアプリケーションからサーバアプリケーションに対して実行を要求する処理関数のインタフェースを抽出し、アプリケーションソースコードから、クライアントアプリケーションのソースコードとサーバアプリケーションのソースコードとを自動作成し、処理関数の実行を要求する処理をクライアントアプリケーションに自動的に組み込み、クライアントアプリケーションから処理関数の実行要求に応答する処理をサーバアプリケーションに自動的に組み込む制御を実行するプログラムを格納したことを特徴とする情報記録媒体。
【請求項15】 前記請求項14記載の情報記録媒体に、更に、クライアントアプリケーションへ移行するグラフィカルユーザインタフェース画面を選択し、かつ、クライアントアプリケーションにおけるグラフィカルユーザインタフェース画面の遷移を実行するプログラムを格納したことを特徴とする情報記録媒体。

【図1】
image rotate


【図2】
image rotate


【図3】
image rotate


【図4】
image rotate


【図5】
image rotate


【図6】
image rotate


【図7】
image rotate


【公開番号】特開2000−137600(P2000−137600A)
【公開日】平成12年5月16日(2000.5.16)
【国際特許分類】
【出願番号】特願平10−309248
【出願日】平成10年10月29日(1998.10.29)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】