JPH06301526A - クライアント/サーバモデルのプログラム開発支援方式 - Google Patents

クライアント/サーバモデルのプログラム開発支援方式

Info

Publication number
JPH06301526A
JPH06301526A JP5107183A JP10718393A JPH06301526A JP H06301526 A JPH06301526 A JP H06301526A JP 5107183 A JP5107183 A JP 5107183A JP 10718393 A JP10718393 A JP 10718393A JP H06301526 A JPH06301526 A JP H06301526A
Authority
JP
Japan
Prior art keywords
client
server
definition
interface
server model
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
JP5107183A
Other languages
English (en)
Inventor
Hitoshi Inai
均 井内
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP5107183A priority Critical patent/JPH06301526A/ja
Publication of JPH06301526A publication Critical patent/JPH06301526A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Computer And Data Communications (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 【目的】 クライアント/サーバモデルのプログラムの
記述言語を意識する必要のない開発支援方式。 【構成】 クライアント/サーバモデル定義作成手段1
と、クライアント/サーバモデル定義2と、インタフェ
ース定義言語IDLによるインタフェース定義を生成す
るインタフェース定義生成手段3と、インタフェース定
義4と、インタフェース定義言語IDLプロセッサ5
と、クライアントスタブ6と、サーバスタブ7と、クラ
イアント初期プログラム生成手段8と、クライアント初
期プログラム9と、サーバ初期プログラム生成手段10
と、サーバ初期プログラム11と、クライアントプログ
ラム12と、サーバプログラム13とで構成される。 【効果】 クライアント/サーバモデルのプログラムの
生産性が向上する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、リモートプロシージャ
コールRPCを利用したクライアント/サーバモデルの
プログラム開発支援方式に関する。
【0002】
【従来の技術】従来のCASE(コンピュータ支援ソフ
トウェアエンジニアリング)システムでは、専門開発ツ
ールであるアプリケーションツールのCASEシステム
への統合化が行われている。その例として、特開平3−
34018号、コンピュータプログラムのカプセル化方
法及びその装置を参照することができる。
【0003】図3は従来のコンピュータプログラムのカ
プセル化方法及びその装置におけるカプセル化システム
のブロック図であり、アプリケーションツールをCAS
Eシステムに統合するカプセル化プログラムは、入力を
アプリケーションツール42へ送り出力をアプリケーシ
ョンツール42から受けとる実行時間インタフェースプ
ログラム40を有している。インターフェースプログラ
ム40は、CASEシステムの標準ツールである、プロ
グラム編集ツール、構築ツール、デバッグツール等と同
じ様式でCASEシステムと通信が可能であって、ユー
ザインタフェース44を介してX−ウインドウシステム
34と通信を行い、メッセージインタフェース46を介
してメッセージサーバ36と通信を行い、システム信号
47を介してオペレーティングシステムと通信を行う。
【0004】インタフェースプログラム40は、インタ
フエース記述言語IDLを利用して容易に発生させるこ
とができる。このインタフェース記述言語IDLによれ
ばユーザはアプリケーションツールや、他のツールとの
通信を規定しアプリケーションツールとのインタフェー
スを規定することができるものであり、インタフェース
記述言語IDLは特定のアプリケーションツールに特有
のインタフェース記述ファイルIDF48を開発するの
に利用することができる。ユーザはインタフェース記述
言語IDLを使用して、インタフェースプログラムによ
って行うべき機能を指定する。インタフェース記述言語
IDLはインタフェースプログラムにより利用される記
述ファイルを構成するC類似言語である。また、インタ
フェース記述言語IDLは、対象属性および対象事象を
作成する構文を規定し制御構文を備え、「属性、論理、
事象、整数、ロケーション、対象、ストリング」のよう
な簡単なデータ形式を備えている。
【0005】このようにして、まずユーザはインタフェ
ース記述ファイル48を作成する。インタフェース記述
ファイル48は、専門コンパイラ50によりコンパイル
されて、中間レベルコード(記号テーブル52、命令文
テーブル54)を作る。インタプリタ58がこれを評価
して対象テーブル60を作成し、事象ハンドラ62は入
力事象を受けとり出力をX−ウインドウシステム34を
通してユーザに供給する処理を行う。事象ハンドラ62
はメッセージサーバ36に対して送受されるメッセージ
事象を介して、CASEシステム内の他のツールとも通
信を行い、オペレーティングシステムからはシステム事
象がシステム信号の形で事象ハンドラ62に送られる。
アプリケーションツール42との通信はサブプロセス制
御器68を通して行い統合する。事象ハンドラ62はユ
ーザ事象、メッセージ事象、システム事象、アプリケー
ション事象に応答してインタプリタ58を呼び出し、対
象テーブル60に規定されている機能を実行する。
【0006】
【発明が解決しようとする課題】しかしながら、多数の
WS(ワークステーション)が回路網上に相互に接続さ
れている分散協働環境を、CASEシステムが支援する
ような形式による、従来のクライアント/サーバモデル
のプログラム開発支援方式は、ユーザがインタフェース
定義言語IDLで記述されたインタフェース定義を作成
し、それによってクライアントスタブあるいはサーバス
タブの生成が行われ、クライアント/サーバモデルのプ
ログラムから、APIコール等のリモートプロシージャ
コールRPCのライブラリを呼び出し、リモートプロシ
ージャコールRPCの初期処理が行われている。
【0007】従って、クライアント/サーバモデルのプ
ログラムは特定の記述言語(「記述言語A」とする)で
記述されることが前提であり、クライアント/サーバモ
デルのプログラムを特定の記述言語以外の記述言語
(「記述言語B」とする)で記述するような場合、ユー
ザはインタフェース定義言語IDLで記述されたインタ
フェース定義を作成するとき、あるいはクライアント/
サーバモデルのプログラムからリモートプロシージャコ
ールRPCのライブラリを呼び出すときに、「記述言語
A」と「記述言語B」の言語仕様の違いを意識する必要
があり、クライアント/サーバモデルのプログラムの生
産性が低下するという問題があった。
【0008】本発明は上述の問題点に鑑みて、インタフ
ェース定義言語IDLで記述されたインタフェース定義
を作成するとき、あるいはクライアント/サーバモデル
のプログラムからリモートプロシージャコールRPCの
ライブラリを呼び出すとき、クライアント/サーバモデ
ルのプログラムの記述言語を意識する必要のないクライ
アント/サーバモデルのプログラム開発支援方式を提供
することを目的としている。
【0009】
【課題を解決するための手段】本発明のクライアント/
サーバモデルのプログラム開発支援方式は、利用者がイ
ンタフェース定義に必要な情報を指定してクライアント
/サーバモデル定義を作成するクライアント/サーバモ
デル定義作成手段と、前記クライアント/サーバモデル
定義作成手段によって作成されるクライアント/サーバ
モデル定義と、前記クライアント/サーバモデル定義の
うち、インタフェース定義に必要な情報からインタフェ
ース定義言語IDLで記述されたインタフェース定義を
生成するインタフェース定義生成手段と、前記インター
フェース定義生成手段によって生成されるインターフェ
ース定義言語IDLで記述されたインタフェース定義
と、前記インタフェース定義からクライアントスタブお
よびサーバスタブを生成するインタフェース定義言語プ
ロセッサと、前記インタフェース定義言語プロセッサに
よって生成され、出力パラメータのデータ変換およびプ
ロセス間通信を用いたサーバスタブとの通信を行うクラ
イアントスタブと、前記インタフェース定義言語プロセ
ッサによって生成され、入力パラメータのデータ変換お
よびプロセス間通信を用いたクライアントスタブとの通
信を行うサーバスタブを有している。
【0010】また、利用者がリモートプロシージャコー
ルRPCの初期処理を行うために必要な情報を指定し
て、クライアント/サーバモデル定義を作成するクライ
アント/サーバモデル定義作成手段と、前記クライアン
ト/サーバモデル定義作成手段によって作成されるクラ
イアント/サーバモデル定義と、前記クライアント/サ
ーバモデル定義のうち、リモートプロシージャコールR
PCの初期処理を行うために必要な情報からクライアン
ト初期プログラムを生成するクライアント/初期プログ
ラム生成手段と、前記クライアント初期プログラム生成
手段によって生成され、リモートプロシージャーコール
RPCのライブラリを呼び出してリモートプロシージャ
コールRPCの初期処理を行うクライアント初期プログ
ラムと、前記クライアント/サーバモデル定義のうち、
リモートプロシージャコールRPCの初期処理を行うた
めに必要な情報からサーバ初期プログラムを生成するサ
ーバ初期プログラム生成手段と、前記サーバ初期プログ
ラム生成手段によって生成され、リモートプロシージャ
コールRPCのライブラリを呼び出してリモートプロシ
ージャコールRPCの初期処理を行うサーバ初期プログ
ラムを有している。
【0011】
【作用】上記構成によれば、クライアント/サーバモデ
ル定義作成手段によって、利用者がインタフェース定義
に必要な情報を指定しクライアント/サーバモデル定義
を作成する。インタフェース定義作成手段により、該ク
ライアント/サーバモデル定義のうちのインタフェース
定義に必要な情報から、インタフェース定義言語IDL
で記述されたインタフェース定義を生成し、そのインタ
フェース定義からインタフェース定義言語プロセッサに
より、クライアントスタブおよびサーバスタブを生成す
る。
【0012】あるいは、クライアント/サーバモデル定
義作成手段により、利用者はリモートプロシージャコー
ルRPCの初期処理を行うために必要な情報を指定しク
ライアント/サーバモデル定義を作成する。クライアン
ト初期プログラム作成手段により、該クライアント/サ
ーバモデル定義のうち、リモートプロシージャコールR
PCの初期処理に必要な情報から、クライアント初期プ
ログラムを生成し、サーバ初期プログラム生成手段によ
り、該クライアント/サーバモデル定義のうちリモート
プロシージャコールRPCの初期処理に必要な情報か
ら、サーバ初期プログラムを生成するので、利用者はイ
ンタフェース定義言語IDLで記述されるインタフェー
ス定義を作成する必要がなくなり、記述言語の仕様の違
いを意識しない処理が可能になる。
【0013】
【実施例】以下、本発明の実施例について図を参照して
説明する。図1は本発明の実施例によるクライアント/
サーバモデルのプログラム開発支援方式のブロック図で
ある。
【0014】図1において、1は利用者(ユーザ)の指
定によりクライアント/サーバモデル定義を作成するク
ライアント/サーバモデル定義作成手段、2はクライア
ント/サーバモデル定義作成手段1によって作成される
クライアント/サーバモデル定義、3はインタフェース
定義言語IDLによって記述される、インタフェース定
義を生成するインタフェース定義生成手段、4はインタ
フェース定義言語IDLで記述されたインタフェース定
義である。
【0015】5はインタフェース定義4からクライアン
トスタブ、サーバスタブを生成するインタフェース定義
言語IDLプロセッサ、6はインタフェース定義言語I
DLプロセッサ5により生成されて、出力パラメータの
データ変換、プロセス間通信を用いたサーバスタブとの
通信を行うクライアントスタブ、7はインタフェース定
義言語IDLプロセッサ5により生成されて、入力パラ
メータのデータ変換、クライアントスタブ6との通信を
行うサーバスタブである。
【0016】8はクライアント/サーバモデル定義中の
リモートプロシージャコールRPC(以降、RPCと略
す)の初期処理を行うために必要な情報から、クライア
ント初期プログラムを生成するクライアント初期プログ
ラム生成手段、9はクライアント初期プログラム生成手
段8により生成され、RPCの初期処理を行うクライア
ント初期プログラム、10はサーバ初期プログラム11
を生成するサーバ初期プログラム生成手段、12はクラ
イアントプログラム、13はサーバプログラムである。
【0017】つぎに動作について説明する。
【0018】クライアント/サーバモデルのプログラム
開発手順として、利用者(ユーザ)はクライアント/サ
ーバモデル定義作成手段1を用いて、インタフェース定
義あるいはRPCの初期処理を行うためのAPIコール
・リターン等の情報を指定して、クライアント/サーバ
モデル定義2を作成する。続いて、インタフェース定義
生成手段3を用いてクライアント/サーバモデル定義2
のうち、インタフェース定義4に必要な情報からインタ
フェース定義言語IDL(以降IDLと略す)で記述さ
れたインタフェース定義4を生成する。
【0019】次に利用者は、IDLプロセッサ5を用い
てIDLで記述されたインタフェース定義4から、クラ
イアントスタブ6とサーバスタブ7を生成する。続い
て、利用者はクライアント初期プログラム生成手段8を
用いて、クライアント/サーバモデル定義2のうちRP
Cの初期処理を行うために必要な情報から、クライアン
ト初期プログラム9を生成する。
【0020】次に利用者は、サーバ初期プログラム生成
手段10を用いて、クライアント/サーバモデル定義2
のうちRPCの初期処理を行うために必要な情報から、
サーバ初期プログラム11を生成する。続いて利用者
は、クライアントプログラム12、サーバプログラム1
3を作成する。なお、クライアントスタブ6、クライア
ント初期プログラム9、クライアントプログラム12は
クライアントのリンク時にリンクされ、サーバスタブ
7、サーバ初期プログラム11、サーバプログラム13
はサーバのリンク時にリンクされる。
【0021】図2は本発明のクライアント/サーバモデ
ル・プログラムの動作手順を示すフローチャートであ
る。
【0022】次に図1および図2を参照して、クライア
ント/サーバモデルのプログラム開発支援方式を用い
た、クライアント/サーバモデルのプログラムの動作手
順を説明する。
【0023】まず、利用者はサーバを起動する(S−2
0)。サーバが起動されるとサーバ初期プログラム11
が呼び出される(S−21)。サーバ初期プログラム1
1はRPCのライブラリ(図示していない)を呼び出し
て、RPCの初期処理を行いクライアントからの要求を
待つ(S−22)。
【0024】続いて、利用者はクライアントを起動する
(S−23)。クライアントが起動されると、クライア
ントプログラム12が呼び出される(S−24)。クラ
イアントプログラム12はRPCの初期処理を行うため
に、クライアント初期プログラム9を呼び出す(S−2
5)。クライアント初期プログラム9はRPCのライブ
ラリを呼び出して、RPCの初期処理を行い(S−2
6)、クライアントプログラム12に制御を戻す(S−
27)。
【0025】クライアントプログラム12はRPCを用
いてサービス要求を行うために、クライアントスタブ6
を呼び出す(S−28)。クライアントスタブ6はプロ
セス間通信(図示していない)を用いて、サーバスタブ
7を呼び出す(S−29)。サーバスタブ7は入力パラ
メータのデータ変換を行って、サーバプログラム13を
呼び出す、A、(S−30)。
【0026】サーバプログラム13はサービスの実行を
行って、サーバスタブ7に制御を戻す(S−31)。サ
ーバスタブ7はプロセス間通信によりクライアントスタ
ブ6に制御を戻すB。クライアントスタブ6は、出力パ
ラメータのデータ変換を行って、クライアントプログラ
ム12に制御を戻す。
【0027】このように、本実施例においては、利用者
はクライアント/サーバモデル定義作成手段1を利用し
て、IDL記述によるインタフェース定義に必要な情報
を、例えば「言語B」の仕様で対話的に作成して、イン
タフェース定義生成手段3により、IDL記述によるイ
ンタフェース定義を自動的に生成し、また、利用者はク
ライアント/サーバモデル定義作成手段1により、RP
Cの初期処理に必要な情報を「言語B」の仕様で対話的
に作成して、クライアント初期プログラム9とサーバ初
期プログラム11を自動的に生成するので、従来例に比
較して、「言語A」と「言語B」の言語仕様の違いを意
識する必要がなくなる。
【0028】
【発明の効果】以上説明したように、本発明によれば、
クライアント/サーバモデル定義作成手段により、利用
者はインタフェース定義に必要な情報を指定して、クラ
イアント/サーバモデル定義を作成し、インタフェース
定義生成手段によりクライアント/サーバモデル定義の
うち、インタフェース定義に必要な情報からIDLで記
述されたインタフェース定義を生成するため、利用者は
IDLで記述されたインタフェース定義を作成する必要
がなくなる。
【0029】また、クライアント/サーバモデル定義作
成手段により、利用者はRPCの初期処理を行うために
必要な情報を指定してクライアント/サーバモデル定義
を作成し、クライアント初期プログラム生成手段によっ
て、クライアント/サーバモデル定義のうちRPCの初
期処理に必要な情報からクライアント処理プログラムを
生成し、サーバ初期プログラム生成手段により、クライ
アント/サーバモデル定義のうちRPCの初期処理に必
要な情報からサーバ初期プログラムを生成するため、利
用者はクライアント/サーバモデルのプログラムからR
PCのライブラリを呼び出す必要がなくなる。
【0030】この結果、クライアント/サーバモデルの
プログラムの記述言語を意識する必要がなくなり、クラ
イアント/サーバのプログラムの生産性が向上する効果
がある。
【図面の簡単な説明】
【図1】本発明の実施例のクライアント/サーバモデル
のプログラム開発支援方式のブロック図である。
【図2】本発明のクライアント/サーバモデルのプログ
ラムの動作手順のフローチャートである。
【図3】従来のコンピュータプログラムのカプセル化シ
ステムのブロック図である。
【符号の説明】
1 クライアント/サーバモデル定義作成手段 2 クライアント/サーバモデル定義 3 インタフェース定義生成手段 4 インタフェース定義 5 インタフェース定義言語プロセッサ 6 クライアントスタブ 7 サーバスタブ 8 クライアント初期プログラム生成手段 9 クライアント初期プログラム 10 サーバ初期プログラム生成手段 11 サーバ初期プログラム 12 クライアントプログラム 13 サーバプログラム

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 利用者がインターフェース定義に必要な
    情報を指定してクライアント/サーバモデル定義を作成
    するクライアント/サーバモデル定義作成手段と、 前記クライアント/サーバモデル定義作成手段によって
    作成されるクライアント/サーバモデル定義と、 前記クライアント/サーバモデル定義のうち、インタフ
    ェース定義に必要な情報からインタフェース定義言語I
    DLで記述されたインタフェース定義を生成するインタ
    フェース定義生成手段と、 前記インターフェース生成手段によって生成されるイン
    ターフェース定義言語IDLで記述されたインタフェー
    ス定義と、 前記インタフェース定義からクライアントスタブおよび
    サーバスタブを生成するインタフェース定義言語プロセ
    ッサと、 前記インタフェース定義言語プロセッサによって生成さ
    れ、出力パラメータのデータ変換およびプロセス間通信
    を用いたサーバスタブとの通信を行うクライアントスタ
    ブと、 前記インタフェース定義言語プロセッサによって生成さ
    れ、入力パラメータのデータ変換およびプロセス間通信
    を用いたクライアントスタブとの通信を行うサーバスタ
    ブを有することを特徴とするクライアント/サーバモデ
    ルのプログラム開発支援方式。
  2. 【請求項2】 利用者がリモートプロシージャコールR
    PCの初期処理を行うために必要な情報を指定して、ク
    ライアント/サーバモデル定義を作成するクライアント
    /サーバモデル定義作成手段と、 前記クライアント/サーバモデル定義作成手段によって
    作成されるクライアント/サーバモデル定義と、 前記クライアント/サーバモデル定義のうち、リモート
    プロシージャコールRPCの初期処理を行うために必要
    な情報からクライアント初期プログラムを生成するクラ
    イアント初期プログラム生成手段と、 前記クライアント初期プログラム生成手段によって生成
    され、リモートプロシージャコールRPCのライブラリ
    を呼び出してリモートプロシージャコールRPCの初期
    処理を行うクライアント初期プログラムと、 前記クライアント/サーバモデル定義のうち、リモート
    プロシージャコールRPCの初期処理を行うために必要
    な情報からサーバ初期プログラムを生成するサーバ初期
    プログラム生成手段と、 前記サーバ初期プログラム生成手段によって生成され、
    リモートプロシージャコールRPCのライブラリを呼び
    出してリモートプロシージャコールRPCの初期処理を
    行うサーバ初期プログラムを有することを特徴とするク
    ライアント/サーバモデルのプログラム開発支援方式。
JP5107183A 1993-04-12 1993-04-12 クライアント/サーバモデルのプログラム開発支援方式 Pending JPH06301526A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5107183A JPH06301526A (ja) 1993-04-12 1993-04-12 クライアント/サーバモデルのプログラム開発支援方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5107183A JPH06301526A (ja) 1993-04-12 1993-04-12 クライアント/サーバモデルのプログラム開発支援方式

Publications (1)

Publication Number Publication Date
JPH06301526A true JPH06301526A (ja) 1994-10-28

Family

ID=14452578

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5107183A Pending JPH06301526A (ja) 1993-04-12 1993-04-12 クライアント/サーバモデルのプログラム開発支援方式

Country Status (1)

Country Link
JP (1) JPH06301526A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5887172A (en) * 1996-01-10 1999-03-23 Sun Microsystems, Inc. Remote procedure call system and method for RPC mechanism independent client and server interfaces interoperable with any of a plurality of remote procedure call backends

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5887172A (en) * 1996-01-10 1999-03-23 Sun Microsystems, Inc. Remote procedure call system and method for RPC mechanism independent client and server interfaces interoperable with any of a plurality of remote procedure call backends
US6446137B1 (en) 1996-01-10 2002-09-03 Sun Microsystems, Inc. Remote procedure call system and method for RPC mechanism independent client and server interfaces interoperable with any of a plurality of remote procedure call backends

Similar Documents

Publication Publication Date Title
EP1019853B1 (en) A method for extending the hypertext markup language (html) to support enterprise application data binding
US6157936A (en) Method for extending the hypertext markup language (HTML) to support a graphical user interface control presentation
EP0735467B1 (en) Compiler with generic front end and dynamically loadable back ends
US6470375B1 (en) System and method for managing the execution of system management tasks
US20040225995A1 (en) Reusable software controls
US6324576B1 (en) Management interworking unit and a method for producing such a unit
JPH05324287A (ja) 分散環境下で他の部分からデータ及び情報収集部分を分離する方法とシステム
KR20040073343A (ko) 선언 시퀀스화된 리포트 파라미터화
US6643679B1 (en) WebTx gateway preprocessing hook
JP2008171435A (ja) 第4世代プログラミングツールを用いて生成されるアプリケーションの属性の拡張
US20050246692A1 (en) Asynchronous compilation
JPH08106390A (ja) データ処理システム
JPH06301526A (ja) クライアント/サーバモデルのプログラム開発支援方式
US20030117417A1 (en) Generic application flow management system and method
JP4702835B2 (ja) Webサービスカスタマイズシステム
KR100317227B1 (ko) 지능망서비스생성을위한개방형서비스생성환경장치및제어방법
US7853605B2 (en) Auxiliary data provider
JPH10171572A (ja) コンピュータ入力画面の入力エラーチェック方法
JP2000039991A (ja) 分散オブジェクトシステムにおける動的サーバ接続方式
JP2002366514A (ja) 表示情報生成方法、表示情報生成システム及びサーブレットエンジン
JPH0836486A (ja) 分散プログラム記述支援装置
JPH07152547A (ja) Guiソフトウェア設計支援装置
JPH05233241A (ja) プログラム作成装置
JP2000315156A (ja) オブジェクト開発支援方法及びその実施装置並びにその処理プログラムを記録した記録媒体
JPH08241189A (ja) 通信サービスインタフェース設計装置