JPH04107741A - Draw-out system for service procedure in rpc - Google Patents
Draw-out system for service procedure in rpcInfo
- Publication number
- JPH04107741A JPH04107741A JP22714590A JP22714590A JPH04107741A JP H04107741 A JPH04107741 A JP H04107741A JP 22714590 A JP22714590 A JP 22714590A JP 22714590 A JP22714590 A JP 22714590A JP H04107741 A JPH04107741 A JP H04107741A
- Authority
- JP
- Japan
- Prior art keywords
- program
- procedure
- service
- rpc
- definition file
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 230000008569 process Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Abstract
Description
【発明の詳細な説明】
〔産業上の利用分野〕
この発明は、RP C(Remote Procedu
re Ca1l)機能を持つコンピュータにおいて、R
PCを使用したプログラム作成、及びその後のプログラ
ム改良に関するものである。[Detailed Description of the Invention] [Industrial Application Field] This invention is based on RPC (Remote Proceeding)
In a computer with re Ca1l) function, R
This topic relates to program creation using a PC and subsequent program improvement.
RPCプログラムは、大きく分けてクライアント、サー
バの両プログラムから構成される。RPC programs are broadly divided into client and server programs.
前記サーバ側の工つのプログラムは、自分自身のプログ
ラム番号をポート・マツプ(port map)という
RPCサーバプログラムに関する情報を持つプログラム
に登録し、1つのプログラム番号に対し、複数のプロシ
ージャ番号(サービスプロシージャ)を持つ。The server-side engineering program registers its own program number in a port map, a program that has information about the RPC server program, and assigns multiple procedure numbers (service procedures) to one program number. have.
一方、クライアント側のプログラムは、サービスを受け
たいサーへのプログラム番号を指定して、該プログラム
番号を上記ポート・マツプに問い合わせ、指定のプログ
ラムが存在すると判明したならば、更に、そのプログラ
ム番号に対するプロシージャを指定し、サービス要求を
出力する。On the other hand, the program on the client side specifies the program number of the server for which it wants to receive service, queries the above port map for the program number, and if it turns out that the specified program exists, it also sends a request for the program number. Specify the procedure and output the service request.
サーバ側の各サービスプロシージャは、タライアンド側
プログラムからのサービス要求を受けて実際のサービス
を実行するための処理を記述している必要がある。Each service procedure on the server side must describe the processing for executing the actual service in response to a service request from the target side program.
現在のRPCでは、RPCを使用した新しいサービスを
追加するためには、サーバ側で1つ新しいプログラムを
作成する必要がある。これは、各サービスプロシージャ
はサーバ側プログラム作成時にプログラム中に既に組み
込まれている必要があるためである。With current RPC, in order to add a new service using RPC, it is necessary to create a new program on the server side. This is because each service procedure must already be incorporated into the program when the server-side program is created.
また、サーバ側で新しいプログラムを作成し、それをポ
ート・マツプに登録するためには、そのプログラムは常
に動作中である必要がある。Also, in order to create a new program on the server side and register it in the port map, the program must be running at all times.
従来のRPCの機構では、上述のようにサービスプロシ
ージャの追加は常に新しいサーバ側プログラムの作成を
意味し、また、ポート・マツプに対する登録はサーバ側
プログラムを動作中にする必要があるので、より多くの
メモリを占有し、ホストコンピュータの処理能力を低下
させる恐れがある。In the traditional RPC mechanism, as mentioned above, adding a service procedure always means creating a new server-side program, and registering for a port map requires the server-side program to be running, so it is more complicated. memory and may reduce the processing power of the host computer.
この発明は、上記の問題点を解決するためになされたも
ので、既存のRPCサー八側へのサービスプロシージャ
の追加をモジュールを再作成(リコンパイル)すること
なく実行することを目的とする。The present invention was made to solve the above-mentioned problems, and it is an object of the present invention to add a service procedure to an existing RPC server without having to recreate (recompile) a module.
即ち、ワークステーションを中心に既に標準機能になっ
ているRPCにおいて、各プログラムが独自に持つサー
ビスプロシージャを、現在のロードモジュール内部に持
つ方法以外に、後からのサービスプロシージャの追加を
可能にするものである。In other words, in RPC, which has already become a standard function mainly on workstations, it is possible to add service procedures later, in addition to the current method of storing each program's own service procedures inside the load module. It is.
この発明に係るRPCにおけるサービスプロシージャの
外出し方式は、現在の標準RPC機能に加え、RPCサ
ーバ側プログラムにおいて、プログラム組み込みのサー
ビス要求に対する新たなルーチン、そのために必要なプ
ログラム番号、プロシージャ番号等の対応を示すデータ
ベース及び実際のサービスを実行する別プログラムを利
用することにより、追加のサービスプロシージャの参照
を可能とするものである。In addition to the current standard RPC functions, the service procedure outgoing method in RPC according to the present invention includes a new routine for service requests built into the program in the RPC server side program, and support for the necessary program number, procedure number, etc. Additional service procedures can be referenced by using a database that represents the service procedure and a separate program that executes the actual service.
この発明におけるRPCにおけるサービスプロシージャ
の外出し方式は、RPCサー八側へログラムにおけるサ
ービスプロシージャの外出しを実行することによりRP
Cサーバ側のモジュール性(modularity)を
高める。The service procedure outgoing method in RPC in this invention is such that the RPC
Improve modularity on the C server side.
以下、この発明の一実施例を図について説明する。 An embodiment of the present invention will be described below with reference to the drawings.
第1図において、101はRPCサーバ側プログラムの
うち、各サービスプロシージャに対する処理を実行する
部分の抜粋、102は各RPCプログラムに対し、外出
し可能となったRPCサービスプロシージャの定義ファ
イル、103はRPCの実際のサービス要求を実行する
部分である。In FIG. 1, 101 is an excerpt of the part of the RPC server side program that executes processing for each service procedure, 102 is a definition file of the RPC service procedure that can be accessed for each RPC program, and 103 is an RPC This is the part that executes the actual service request.
ここで、現在のRPCサーバ側のプログラムに関して考
えると、第1図の1−01において、“default
:”の際の処理結果は常に図に示した“else”“の
場合しか存在しなかった。Now, considering the current RPC server side program, at 1-01 in Figure 1, "default
:'' processing results always existed only in the case of "else" shown in the figure.
二の場合において、図でいう各“case”文に相当し
ないサービスプロシージャの場合には、必ス”no 5
uch procedure’となる。In case 2, if the service procedure does not correspond to each "case" statement in the figure, "no. 5" is required.
uch procedure'.
そこで、第1図に示す104 (RPCサーバプログラ
ムの追加プログラム)の処理をRPCサーバ側プログラ
ムに追加し、任意のRPCサービスプロシージャの追加
を可能にする機構を従供する。Therefore, the process 104 (additional program to the RPC server program) shown in FIG. 1 is added to the RPC server side program, and a mechanism is provided that makes it possible to add any RPC service procedure.
第1図における104に必要な処理を第2図のフローチ
ャートに示す。The processing required at 104 in FIG. 1 is shown in the flowchart of FIG.
ここの処理が実行されるのは、RPCサーバ側プログラ
ム内に要求されたサービスプロシージャが存在しないと
きである。This process is executed when the requested service procedure does not exist in the RPC server side program.
第1に、サービスプロシージャ定義ファイルを参照する
(関数getrpcprocent())。換言すると
、定義ファイル中に要求したプログラムプロシージャー
の対応が存在するか否か判断しくステップ5201)、
定義ファイルがない、或いは定義ファイル中に要求され
たプログラムプロシージャの対応が存在しなかった場合
には、 no 5uchprocedure”の結果
を繰り返し、指定のプロシージャに対するサービスを実
行しない(ステ、プ5202)。反対に、定義ファイル
がある、或いは定義ファイル中乙こ要求されたプログラ
ムプロシージャの対応が存在する場合うこは、定義ファ
イル中のexecpathで指定されたプログラムが、
実際のサービスプロシージャに対する処理を実行する。First, the service procedure definition file is referenced (function getrpcprocent()). In other words, it is determined whether or not there is a correspondence for the requested program procedure in the definition file (step 5201);
If there is no definition file, or if there is no correspondence to the requested program procedure in the definition file, the result of "no 5uch procedure" is repeated and the service for the specified procedure is not executed (step 5202). If there is a definition file, or if there is a correspondence for the requested program procedure in the definition file, then the program specified by execpath in the definition file is
Execute processing for the actual service procedure.
その際、RPCサーバ側プログラムは、その処理を子プ
ロセスに任せ、自分自身は子プロセスにより得られる結
果を受は取るまで待機状態となる(ステップ3203〜
ステツプ5206)。At this time, the RPC server side program entrusts the processing to the child process, and waits until it receives the results obtained by the child process (steps 3203 to 3203).
Step 5206).
結果として受は取るデータの型は、各サービスにより異
なるが、定義ファイルにその型を記述しておくことによ
り、データ型が保証される。Although the type of data received as a result differs depending on each service, the data type can be guaranteed by describing the type in the definition file.
子プロセスの結果を受は取ったRPCサーバ側プログラ
ムは、この状態で、サービスプロシージャに対する処理
を終了したことを確認できたので、第1図における他の
“case”文と同等の機能を果たしたことになる。In this state, the RPC server side program that received the result of the child process was able to confirm that it had finished processing the service procedure, so it performed the same function as the other "case" statements in Figure 1. It turns out.
一方、RPCサーバ側プログラムにより起動され、実際
のサービスプロシージャに対する処理を実行するプログ
ラムのフローチャートを第3図に示す。On the other hand, FIG. 3 shows a flowchart of a program that is started by the RPC server side program and executes processing for an actual service procedure.
ここでは、定義ファイルより得られる引数のタイプ(第
1図“argutype” )を基に引数を解釈しくス
テップS 301 ) 、3解釈された引数を使用して
要求されたサービスプロシージャに対する処理の実行(
ステップ5302)L、定義ファイルより得られる結果
のタイプ(第1図のresulttype” )に合わ
せたRPCサーバ側プログラムに返却すべき結果データ
を作成しくステップ5303)、該結果データをプロセ
ス間通信機能を使用してRPCサーバ側プログラムに転
送する処理を実行する(ステップ5304)。Here, the argument is interpreted based on the argument type ("argutype" in Figure 1) obtained from the definition file (step S301), and the process for the requested service procedure is executed using the interpreted argument (step S301).
Step 5302) L. Create result data to be returned to the RPC server side program according to the type of result obtained from the definition file (resulttype in Figure 1).Step 5303) The process of using the RPC server and transferring the data to the RPC server side program is executed (step 5304).
なお、上記実施例では、従来のRPCサーバ側プログラ
ムと同様、その処理がRPCサーバマシン内にのみ閉じ
たものと考えて説明したが、サービスプロシージャ定義
ファイルの書式にホスト名を加える、及び、プロセス間
通信の手段としてネットワーク・アクセス可能な手段を
使用することにより、ネットワーク透過な機能としても
使用できる。In addition, in the above embodiment, the process was explained as being confined only within the RPC server machine, similar to the conventional RPC server side program, but adding the host name to the format of the service procedure definition file and the process By using a network-accessible means as a means of intercommunication, it can also be used as a network-transparent function.
〔発明の効果]
以上のように、この発明によれば1、つのRPCサーバ
側プログラムに任意のサービスプロシージャの追加を可
能としているので、サービスプロシージャの追加が容易
にでき、また、ソフトウェアの開発、保守の便宜が図れ
る効果がある。[Effects of the Invention] As described above, according to the present invention, it is possible to add any service procedure to one RPC server side program, so it is possible to easily add a service procedure, and it is also easy to develop software. This has the effect of facilitating maintenance.
第1図はこの発明の一実施例によるRPCサーバ側で必
要なプログラム及びファイルの構成を示す説明図、第2
図は第1図中で本発明に必要な処理動作を示すフローチ
ャート、第3図は各RPCサービスに対する追加可能な
サービスプロシージャに必要な処理動作を示すフローチ
ャートである。
図において、
101−RP Cサーバ側プログラム
10:l”−−サービスプロシージャ定義ファイル10
3−サービス実行
104−RP Cサーバ側プログラムの追加プログラム
である。
なお、各図中、同一符号は同一、又は相当部分を示す。FIG. 1 is an explanatory diagram showing the configuration of programs and files necessary on the RPC server side according to an embodiment of the present invention, and FIG.
FIG. 1 is a flowchart showing the processing operations necessary for the present invention in FIG. 1, and FIG. 3 is a flowchart showing the processing operations necessary for service procedures that can be added to each RPC service. In the figure, 101-RPC server side program 10:l”--Service procedure definition file 10
3-Service Execution 104-RPC This is an additional program for the C server side program. In each figure, the same reference numerals indicate the same or equivalent parts.
Claims (1)
PC(RemoteProcedureCall)プロ
グラムにおいて、 前記サーバプログラムにおけるプログラム組み込みのサ
ービス要求に対するルーチンと、 前記ルーチンを実行するための必要なプログラム番号、
プロシージャ番号等の対応を示すデータベースと、 実際のサービスを実行する別プログラムとを利用するこ
とにより追加のサービスプロシージャの参照を可能にし
たことを特徴とするRPCにおけるサービスプロシージ
ャの外出し方式。[Claims] R consisting of a client program and a server program
A PC (Remote Procedure Call) program includes: a routine for a service request built into the server program; a program number necessary to execute the routine;
A method for accessing a service procedure in RPC, characterized in that it is possible to refer to additional service procedures by using a database that shows the correspondence of procedure numbers, etc., and a separate program that executes the actual service.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP22714590A JPH04107741A (en) | 1990-08-29 | 1990-08-29 | Draw-out system for service procedure in rpc |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP22714590A JPH04107741A (en) | 1990-08-29 | 1990-08-29 | Draw-out system for service procedure in rpc |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH04107741A true JPH04107741A (en) | 1992-04-09 |
Family
ID=16856197
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP22714590A Pending JPH04107741A (en) | 1990-08-29 | 1990-08-29 | Draw-out system for service procedure in rpc |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH04107741A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1021059A (en) * | 1996-07-02 | 1998-01-23 | Mitsubishi Electric Corp | Software version management system for network system |
US5915112A (en) * | 1996-01-02 | 1999-06-22 | International Business Machines Corporation | Remote procedure interface with support for multiple versions |
US6208428B1 (en) | 1997-05-21 | 2001-03-27 | Nec Corporation | Printing system and charging method thereof |
JP2004533046A (en) * | 2001-03-21 | 2004-10-28 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Server support method and system for pluggable authorization system |
-
1990
- 1990-08-29 JP JP22714590A patent/JPH04107741A/en active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5915112A (en) * | 1996-01-02 | 1999-06-22 | International Business Machines Corporation | Remote procedure interface with support for multiple versions |
US6493768B1 (en) * | 1996-01-02 | 2002-12-10 | International Business Machines Corporation | Remote procedure interface with support for multiple versions |
JPH1021059A (en) * | 1996-07-02 | 1998-01-23 | Mitsubishi Electric Corp | Software version management system for network system |
US6208428B1 (en) | 1997-05-21 | 2001-03-27 | Nec Corporation | Printing system and charging method thereof |
JP2004533046A (en) * | 2001-03-21 | 2004-10-28 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Server support method and system for pluggable authorization system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2665089B2 (en) | Compilation method in distributed environment | |
US7533136B2 (en) | Efficient implementation of multiple work areas in a file system like repository that supports file versioning | |
US5442779A (en) | System and method for enabling an interpreted programming language to be executed in a database management system environment | |
JPH0827726B2 (en) | Common agent computer management system and method | |
US6353859B1 (en) | Object-oriented apparatus and method for controlling accesses to objects in a distributed object environment | |
JP2006172067A (en) | Database management method, system and program | |
JPH04107741A (en) | Draw-out system for service procedure in rpc | |
US7366734B2 (en) | Enabling client systems to discover services accessible by remote procedure calls (RPC) on server systems | |
US6938052B2 (en) | Access to server resources from heterogeneous platforms | |
US7412456B2 (en) | System and method for improved exposure of database schema information | |
US5062046A (en) | Multiple processor system having a correspondence table for transferring processing control between instruction processors | |
JPH07141237A (en) | Data base access control unit | |
JPH01169533A (en) | Object steering programming system | |
JPH04260141A (en) | Data shared processor | |
JPH02128246A (en) | Control system in discrete data base system | |
JPS62131349A (en) | Data base processing system | |
CN116644081A (en) | Data operation method, device, electronic equipment and storage medium | |
JPH1031603A (en) | Information processing system, client-server system and database access method | |
JPH1040118A (en) | Client server system and client terminal equipment | |
JPH05143410A (en) | Access control method for distributed data base | |
JPH05334164A (en) | Computer system capable of controlling file system access | |
JPH0954736A (en) | Osi mounting method in file server system environment | |
JPH06301579A (en) | System for managing distributed file | |
JPH0752417B2 (en) | Software device support method | |
JPH05250335A (en) | Data base update processing system of loosely coupled multiprocessor system |