JP2000076070A - Client/server system and computer readable recording medium recording component link program for providing the same - Google Patents

Client/server system and computer readable recording medium recording component link program for providing the same

Info

Publication number
JP2000076070A
JP2000076070A JP10246316A JP24631698A JP2000076070A JP 2000076070 A JP2000076070 A JP 2000076070A JP 10246316 A JP10246316 A JP 10246316A JP 24631698 A JP24631698 A JP 24631698A JP 2000076070 A JP2000076070 A JP 2000076070A
Authority
JP
Japan
Prior art keywords
server
client
clients
class
interface
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
JP10246316A
Other languages
Japanese (ja)
Inventor
Tomomi Kurata
田 友 美 鞍
Junichi Yamamoto
本 純 一 山
Toru Takahashi
橋 徹 高
Hikari Minami
光 南
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP10246316A priority Critical patent/JP2000076070A/en
Publication of JP2000076070A publication Critical patent/JP2000076070A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide a client/server system or the like capable of improving the independence, maintainability and change easiness of respective components. SOLUTION: A supervisory and control system (client/server system) is provided with client processes 100 and 100, a server process 200 and an assistant server process 300 and performs prescribed processing by linking plural clients 101 included in the respective client processes 100 and a server 201 included in the server process 200. The plural clients 101 and server 201 are connected through an assistant server 301 as a relay component and the assistant server 301 interchanges communication between the respective clients 101 and the server 201 and interchanges communication between the respective clients 101 independently of the server 201.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は独立した複数のコン
ポーネントを連携させて所定の処理を行うクライアント
サーバシステムに係り、とりわけコンポーネントとして
のクライアントおよびサーバを連携させて所定の処理を
行うクライアントサーバシステムおよびそのシステムを
実現するためのコンポーネント連携プログラムを記録し
たコンピュータ読み取り可能な記録媒体に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a client server system for performing predetermined processing by linking a plurality of independent components, and more particularly to a client server system for performing predetermined processing by linking a client and a server as components. The present invention relates to a computer-readable recording medium on which a component cooperation program for realizing the system is recorded.

【0002】[0002]

【従来の技術】オブジェクト指向技術を用いたシステム
開発においては、システムの保守性および変更容易性等
を向上させるため、システムのうち仕様変更が頻繁に発
生する部分と、仕様変更の影響を受けにくい部分とを切
り分けて別々のコンポーネントとして開発することが一
般的である。このようにして開発されたシステムにおい
ては、1つのシステムが複数のコンポーネントから構成
されることとなるので、システムの実行にあたっては各
コンポーネント同士を連携させて所定の処理を行う必要
がある。
2. Description of the Related Art In the development of a system using an object-oriented technology, in order to improve the maintainability and easiness of change of the system, a part of the system where specification changes frequently occurs and is hardly affected by the specification change. It is common to separate parts and develop them as separate components. In the system developed in this way, one system is composed of a plurality of components, and therefore, when executing the system, it is necessary to perform predetermined processing in cooperation with each component.

【0003】従来、複数のコンポーネントを連携させる
方法としては、(1)各コンポーネント同士が互いに参
照(メモリ空間において通信相手となるオブジェクトを
指し示す情報)を持ち合うことにより、互いに直接通信
する方法や、(2)各コンポーネントを束ねるためのコ
ンポーネントを新たに追加し、この新たに追加されたコ
ンポーネントを経由して各コンポーネント間で通信する
方法が提案されている(文献1(Erich Gamma, Richard
Helm, Ralph Johnson, and John Vlissides.Design Pa
tterns: Addison-Wesley Publishing Company, 1995.)
に詳しい)。上述した従来の方法のうち上記(2)の方
法では、各コンポーネント同士が互いに参照を持ち合う
必要がないので、上記(1)の方法のように各コンポー
ネント同士が直接通信する場合の煩雑さを避けることが
できる。
Conventionally, as a method of linking a plurality of components, there are (1) a method in which each component communicates directly with each other by referring to each other (information indicating an object to be a communication partner in a memory space); (2) A method has been proposed in which a component for bundling each component is newly added, and communication is performed between the components via the newly added component (Reference 1 (Erich Gamma, Richard)
Helm, Ralph Johnson, and John Vlissides.Design Pa
tterns: Addison-Wesley Publishing Company, 1995.)
Detailed). In the method (2) of the conventional methods described above, since each component does not need to have a reference to each other, the complexity of direct communication between the components as in the method (1) is reduced. Can be avoided.

【0004】なお「参照」とは、ポインタまたはリファ
レンスとも言い換えることができる概念であり、具体的
には上述したようにメモリ空間において通信相手となる
オブジェクトを指し示す情報のことである。オブジェク
ト(A)が他のオブジェクト(B)にアクセスする場合
には、オブジェクト(A)はオブジェクト(B)の参照
を持つ必要がある。ここで「オブジェクト(A)がオブ
ジェクト(B)の参照を持つ」とは、プログラム上で
は、オブジェクト(B)の型名(オブジェクト(B)を
生成するクラスまたはインタフェース)のインスタンス
がオブジェクト(A)の中で用いられることをいう。
[0004] Note that "reference" is a concept that can be rephrased as a pointer or a reference, and specifically refers to information indicating an object to be a communication partner in the memory space as described above. When the object (A) accesses another object (B), the object (A) needs to have a reference to the object (B). Here, "the object (A) has a reference to the object (B)" means that, in a program, an instance of the type name of the object (B) (a class or an interface for generating the object (B)) is the object (A). It is used in.

【0005】[0005]

【発明が解決しようとする課題】上述したように、従来
においては、各コンポーネントを束ねるためのコンポー
ネントを新たに追加し、この新たに追加されたコンポー
ネントを経由して各コンポーネント間で通信する方法が
提案されている。
As described above, in the related art, there is a method of adding a component for bundling each component and communicating between the components via the newly added component. Proposed.

【0006】しかしながら、このような従来の方法は、
同一のインタフェースを有する複数のコンポーネントの
連携を前提にしたものであり、クライアントサーバシス
テムのようにインタフェースが異なる複数のコンポーネ
ント(クライアントおよびサーバ)の連携については何
ら考慮されていない。
However, such a conventional method is
This is based on the premise that a plurality of components having the same interface cooperate, and no consideration is given to the coordination of a plurality of components (client and server) having different interfaces as in a client-server system.

【0007】本発明はこのような点を考慮してなされた
ものであり、独立したコンポーネントとしてのクライア
ントおよびサーバを効果的に連携させることで各コンポ
ーネントの独立性、保守性および変更容易性等を向上さ
せることができるクライアントサーバシステムおよびそ
のシステムを実現するためのコンポーネント連携プログ
ラムを記録したコンピュータ読み取り可能な記録媒体を
提供することを目的とする。
[0007] The present invention has been made in view of such a point, and by making the client and the server as independent components effectively cooperate, the independence, maintainability, and easiness of change of each component are improved. An object of the present invention is to provide a client-server system that can be improved, and a computer-readable recording medium that records a component cooperation program for realizing the system.

【0008】[0008]

【課題を解決するための手段】本発明の第1の特徴は、
独立したコンポーネントとしてのクライアントおよびサ
ーバを連携させて所定の処理を行うクライアントサーバ
システムにおいて、複数のクライアントと、前記各クラ
イアントから要求された処理を実行するサーバと、前記
各クライアントおよび前記サーバに接続された中継コン
ポーネントとを含み、前記中継コンポーネントは前記各
クライアントと前記サーバとの間の通信を中継するとと
もに、前記サーバから独立して前記各クライアント間の
通信を中継することを特徴とするクライアントサーバシ
ステムである。
A first feature of the present invention is as follows.
In a client-server system that performs a predetermined process by linking a client and a server as independent components, a plurality of clients, a server that executes a process requested by each of the clients, and a server that is connected to each of the clients and the server. A relay component, wherein the relay component relays communication between the clients and the server and relays communication between the clients independently of the server. It is.

【0009】本発明の第2の特徴は、独立したコンポー
ネントとしてのクライアントおよびサーバを連携させて
所定の処理を行うクライアントサーバシステムを実現す
るためのコンポーネント連携プログラムであって、オブ
ジェクト指向言語で記述されたコンポーネント連携プロ
グラムを記録したコンピュータ読み取り可能な記録媒体
において、複数のクライアントのインタフェースを抽象
化したクライアントインタフェースクラスを継承してな
るクライアントクラスと、前記各クライアントから要求
された処理を実行するサーバのインタフェースを抽象化
したサーバインタフェースクラスを継承してなるサーバ
クラスと、前記クライアントインタフェースクラスおよ
び前記サーバインタフェースクラスの両方を継承してな
る中継コンポーネントクラスとを含むことを特徴とする
コンポーネント連携プログラムを記録したコンピュータ
読み取り可能な記録媒体である。
A second feature of the present invention is a component cooperation program for realizing a client-server system that performs predetermined processing by linking a client and a server as independent components, and is described in an object-oriented language. A client class that inherits a client interface class that abstracts an interface of a plurality of clients, and a server interface that executes a process requested by each of the clients, on a computer-readable recording medium on which the component cooperation program is recorded. A server class that inherits a server interface class that abstracts the above, and a relay component that inherits both the client interface class and the server interface class A computer-readable recording medium recording a component linkage program, characterized in that it comprises a Toklas.

【0010】本発明の第1および第2の特徴によれば、
中継コンポーネントが各クライアントとサーバとの間の
通信を中継するとともに、サーバから独立して各クライ
アント間の通信を中継するので、クライアント/サーバ
間の通信時に所定のフィルタリング処理を行うことがで
き、また各クライアントが互いに参照を持ち合う必要が
なくなるので、各クライアントの独立性を高め、保守性
および変更容易性を向上させることができる。さらに、
各クライアント間の通信時にサーバを利用しないので、
クライアントとサーバとの独立性が高くなり、サーバの
負荷を軽減することができる。
According to the first and second aspects of the present invention,
Since the relay component relays communication between each client and the server and relays communication between each client independently of the server, a predetermined filtering process can be performed at the time of communication between the client and the server. Since each client does not need to share a reference with each other, the independence of each client can be improved, and maintainability and easiness of change can be improved. further,
Since the server is not used for communication between each client,
The independence between the client and the server is increased, and the load on the server can be reduced.

【0011】[0011]

【発明の実施の形態】以下、図面を参照して本発明の実
施の形態について説明する。図1乃至図4は本発明によ
るクライアントサーバシステムの一実施の形態を説明す
るための図である。なお、本実施の形態においては、ク
ライアントサーバシステムの一例として、人や車等の移
動状況を監視制御する監視制御システムを例にとり説明
する。
Embodiments of the present invention will be described below with reference to the drawings. FIGS. 1 to 4 are views for explaining an embodiment of a client server system according to the present invention. In the present embodiment, as an example of the client server system, a monitoring control system that monitors and controls the moving state of a person, a car, or the like will be described.

【0012】まず、図1および図2により、監視制御シ
ステムが動作するハードウェア環境について説明する。
図1において、符号15はゴルフ場のカートや公園のパ
トロール車等の車両であり、符号10はこれら各車両1
5を対象物として複数の監視員により集中管理するため
の中央管理室10である。ここで中央管理室10には、
各監視員により操作される複数の端末11と、各端末1
1と通信路13を介して接続された管理用コンピュータ
12とが設置されている。管理用コンピュータ12およ
び各車両15にはそれぞれ送受信機14および送受信機
16が搭載され、管理用コンピュータ12と各車両15
との間で監視情報や制御信号等がやりとりされるように
なっている。図2は図1に示す中央管理室10内に設置
された端末11および管理用コンピュータ12のハード
ウェア構成の詳細を示すブロック図である。図2に示す
ように、端末11は、プロセッサ21と、RAM(Rand
om Access Memory)等からなるメモリ22と、ハードデ
ィスクユニット等からなる大容量記憶装置23と、CR
T(Cathode Ray Tube−陰極線管−)等の表示装置24
と、マウスやキーボード等の入力装置25と、通信装置
26とを備え、これら各装置はシステムバス27を介し
て互いに接続されている。一方、管理用コンピュータ1
2は、プロセッサ31と、RAM等からなるメモリ32
と、ハードディスクユニット等からなる大容量記憶装置
33と、通信装置34とを備え、これら各装置はシステ
ムバス35を介して互いに接続されている。なお、各端
末11の通信装置26と管理用コンピュータ12の通信
装置34とは通信路13を介して互いに接続されてい
る。また、管理用コンピュータ12のシステムバス35
には送受信機14が接続されている。
First, a hardware environment in which the monitoring control system operates will be described with reference to FIGS.
In FIG. 1, reference numeral 15 denotes a vehicle such as a golf course cart or a patrol car in a park, and reference numeral 10 denotes each of these vehicles 1.
A central control room 10 for centrally controlling a target 5 by a plurality of monitoring personnel. Here, the central management room 10
A plurality of terminals 11 operated by each monitor,
1 and a management computer 12 connected via a communication path 13. A transceiver 14 and a transceiver 16 are mounted on the management computer 12 and each vehicle 15, respectively.
And monitor information, control signals, and the like. FIG. 2 is a block diagram showing details of the hardware configuration of the terminal 11 and the management computer 12 installed in the central management room 10 shown in FIG. As shown in FIG. 2, the terminal 11 includes a processor 21 and a RAM (Rand).
om Access Memory), a large-capacity storage device 23 such as a hard disk unit,
Display device 24 such as T (Cathode Ray Tube)
And an input device 25 such as a mouse and a keyboard, and a communication device 26. These devices are connected to each other via a system bus 27. On the other hand, the management computer 1
2 is a processor 31 and a memory 32 such as a RAM
And a large-capacity storage device 33 composed of a hard disk unit and the like, and a communication device 34. These devices are connected to each other via a system bus 35. The communication device 26 of each terminal 11 and the communication device 34 of the management computer 12 are connected to each other via the communication path 13. The system bus 35 of the management computer 12
Is connected to the transceiver 14.

【0013】次に、図3および図4により、図1および
図2に示すハードウェア環境上で動作する監視制御シス
テムについて説明する。ここで、図3は監視制御システ
ムの構成および動作を説明するための図、図4は図3に
示す監視制御システムをオブジェクト指向言語で記述し
た場合のクラス構成を示す図である。
Next, referring to FIGS. 3 and 4, a monitoring control system that operates on the hardware environment shown in FIGS. 1 and 2 will be described. Here, FIG. 3 is a diagram for explaining the configuration and operation of the monitoring control system, and FIG. 4 is a diagram showing a class configuration when the monitoring control system shown in FIG. 3 is described in an object-oriented language.

【0014】図3に示すように、監視制御システムは、
各端末11上で動作するクライアントプロセス100,
100と、管理用コンピュータ12上で動作するサーバ
プロセス200およびアシスタントサーバプロセス30
0とを含み、独立した複数のコンポーネント、すなわち
各クライアントプロセス100に含まれる複数のクライ
アントオブジェクト(以下単に「クライアント」ともい
う)101と、サーバプロセス200に含まれるサーバ
オブジェクト(以下単に「サーバ」ともいう)201と
を連携させて所定の処理を行うようになっている。な
お、クライアントプロセス100に含まれる複数のクラ
イアント101は、仕様変更の影響を局所化させるため
1まとまりの機能(クライアントコンポーネント10
3)単位ごとに分割されている。
As shown in FIG. 3, the supervisory control system comprises:
A client process 100 running on each terminal 11,
100, a server process 200 running on the management computer 12, and an assistant server process 30
0, and a plurality of independent components, that is, a plurality of client objects (hereinafter simply referred to as “clients”) 101 included in each client process 100 and a server object (hereinafter simply referred to as “server”) included in the server process 200. Predetermined processing is performed in cooperation with the server 201. Note that the plurality of clients 101 included in the client process 100 have a single function (the client component 10) in order to localize the influence of the specification change.
3) Each unit is divided.

【0015】ここで、複数のクライアント101、およ
び各クライアント101からの要求により各車両15の
監視および制御を行うサーバ201は、アシスタントサ
ーバプロセス300に含まれる中継コンポーネントとし
てのアシスタントサーバオブジェクト(以下単に「アシ
スタントサーバ」ともいう)301を介して接続され、
アシスタントサーバ301において、各クライアント1
01とサーバ201との間の通信を中継するとともに、
サーバ201から独立して各クライアント101間の通
信を中継するようになっている。
Here, a plurality of clients 101 and a server 201 that monitors and controls each vehicle 15 in response to a request from each client 101 are connected to an assistant server object (hereinafter simply referred to as “relay component”) included in the assistant server process 300. Assistant Server) 301)
In the assistant server 301, each client 1
01 and the server 201,
The communication between the clients 101 is relayed independently of the server 201.

【0016】なお、図3に示すように、各クライアント
101およびサーバ201はそれぞれクライアントイン
タフェース102およびサーバインタフェース202を
有し、またアシスタントサーバ301はクライアントイ
ンタフェース302およびサーバインタフェース303
を有している。ここでアシスタントサーバ301は、ク
ライアント101との間ではサーバインタフェース30
3を介して通信を行い、サーバ201との間ではクライ
アントインタフェース302を介して通信を行うように
なっており、クライアント101からはサーバとして、
サーバ201からはクライアントとして利用することが
できる。
As shown in FIG. 3, each client 101 and server 201 have a client interface 102 and a server interface 202, respectively, and the assistant server 301 has a client interface 302 and a server interface 303.
have. Here, the assistant server 301 communicates with the client 101 via the server interface 30.
3 and communicates with the server 201 via the client interface 302. From the client 101, as a server,
The server 201 can be used as a client.

【0017】図4は図3に示す監視制御システムをオブ
ジェクト指向言語で記述した場合のクラス構成を示す図
である。図4において、符号110,210はクラスの
インタフェースが定義されたインタフェースクラスであ
り、クラスで行われる処理(メソッド)の一覧(メソッ
ド名、メソッドの型名および引数の型等)のみが定義さ
れる。また、符号120,220,320はインタフェ
ースクラス110,210を継承したクラスであり、イ
ンタフェースクラス110,210で定義された処理
(メソッド)の具体的な処理内容が定義される。なお、
オブジェクトはクラス120,220,320の型とし
ても、クラスが継承したインタフェースクラス110,
210の型としても生成することができる。
FIG. 4 is a diagram showing a class configuration when the monitoring control system shown in FIG. 3 is described in an object-oriented language. In FIG. 4, reference numerals 110 and 210 denote interface classes in which the interfaces of the classes are defined, and only a list of processes (methods) performed in the class (method names, method type names, argument types, and the like) are defined. . Reference numerals 120, 220, and 320 are classes that inherit the interface classes 110 and 210, and define specific processing contents of the processes (methods) defined by the interface classes 110 and 210. In addition,
The objects are of the types of the classes 120, 220, and 320, and the interface classes 110,
210 can also be generated.

【0018】ここで、符号110は複数のクライアント
のインタフェースを抽象化したクライアントインタフェ
ースクラスであり、具体的には例えば、サーバ201か
ら送られる各車両15の移動速度や位置、向き等の状態
変化に関する監視情報を受け付けるメソッド(notifyVe
locity(),notifyPosition(),notifyDirection())1
11と、各クライアント101間において地図やリス
ト、表、テーブル等の表示方法を変更するメソッド(di
splayMap(),displayList())112の一覧が定義され
ている。また、符号210はサーバのインタフェースを
抽象化したサーバインタフェースクラスであり、具体的
には例えば、クライアント101をオブザーバとして登
録および削除するメソッド211と、各車両15に対す
る監視を開始および終了するメソッド212と、各クラ
イアント101から送られる監視制御メッセージを受け
付けるメソッド(startWalking(),stopWalking(),sta
rtRunning(),stopRunning,turnLeft(),turnRigh
t())213の一覧が定義されている。
Here, reference numeral 110 denotes a client interface class that abstracts the interfaces of a plurality of clients, and specifically relates to, for example, state changes such as the moving speed, position, and orientation of each vehicle 15 sent from the server 201. Method for receiving monitoring information (notifyVe
locity (), notifyPosition (), notifyDirection ()) 1
11 and a method (di) for changing the display method of maps, lists, tables, tables, etc. between the clients 101.
A list of splayMap (), displayList ()) 112 is defined. Reference numeral 210 denotes a server interface class that abstracts a server interface. Specifically, for example, a method 211 for registering and deleting the client 101 as an observer and a method 212 for starting and ending monitoring of each vehicle 15 are provided. , Methods for receiving the monitoring control message sent from each client 101 (startWalking (), stopWalking (), sta
rtRunning (), stopRunning, turnLeft (), turnRigh
A list of t ()) 213 is defined.

【0019】オブジェクト指向技術を用いたシステム開
発においては、クライアントインタフェースクラス11
0を継承してクライアントクラス120が生成され、こ
の生成されたクライアントクラス120において上述し
たメソッド111,112の具体的な処理内容が定義さ
れる。また同様に、クライアントインタフェースクラス
210を継承してサーバクラス220が生成され、この
生成されたサーバクラス220において上述したメソッ
ド211,212,213の具体的な処理内容が定義さ
れる。なお、生成されたクライアントクラス120およ
びサーバクラス220からはともにシステムの実行時に
インスタンスであるオブジェクト(クライアントオブジ
ェクトおよびサーバオブジェクト)が生成され、互いに
通信を行うことにより処理が行われる。
In the system development using the object-oriented technology, the client interface class 11
0, a client class 120 is generated, and in the generated client class 120, specific processing contents of the methods 111 and 112 described above are defined. Similarly, a server class 220 is generated by inheriting the client interface class 210, and specific processing contents of the above-described methods 211, 212, and 213 are defined in the generated server class 220. Note that both the generated client class 120 and server class 220 generate objects (client object and server object) that are instances when the system is executed, and perform processing by communicating with each other.

【0020】また、クライアントインタフェースクラス
110およびサーバインタフェースクラス210の両方
を継承してアシスタントサーバクラス320が生成さ
れ、この生成されたアシスタントサーバクラス320に
おいて上述したメソッド111,112,211,21
2,213の具体的な処理内容が定義される。なお、こ
のようなアシスタントサーバクラス320においては例
えば、アシスタントサーバ301に実装されているメソ
ッドのうちクライアントとサーバとの間で情報やメッセ
ージ等を送るメソッド内には、アクセス制御やクライア
ント認証等のフィルタリング処理を記述するようにする
とよい(なお、フィルタリング処理については文献2
(Frank Buschmann, Regine Meunier, Hans Rohnert, P
eter Sommerlad, and Michael Stal. A System of Patt
erns - Pattern-Oriented Software Architecture -: J
ohn Wiley and Sons, 1996.)に詳しい)。また、アシ
スタントサーバ301で実装されているメソッドのう
ち、あるクライアント101から他のクライアント10
1へ情報やメッセージ等を送るメソッド内には、他のク
ライアント101のメソッドを呼び出すための処理を記
述するようにするとよい。
Further, an assistant server class 320 is generated by inheriting both the client interface class 110 and the server interface class 210, and the generated methods 111, 112, 211, and 21 are used in the generated assistant server class 320.
2 and 213 are defined. In such an assistant server class 320, for example, among methods implemented in the assistant server 301, methods such as information and messages between the client and the server include filtering such as access control and client authentication. It is advisable to describe the processing.
(Frank Buschmann, Regine Meunier, Hans Rohnert, P
eter Sommerlad, and Michael Stal.A System of Patt
erns-Pattern-Oriented Software Architecture-: J
Ohn Wiley and Sons, 1996.)). Also, of the methods implemented in the assistant server 301, one client 101
In a method for sending information, a message, or the like to the client 1, a process for calling a method of another client 101 may be described.

【0021】なお、図4において、符号400はシステ
ムの実行時に必要とされるクライアント101の起動方
法や画面設定、アクセス先(アクセス対象)等の情報が
記述されたプロパティであり、システムの起動時に各ク
ライアント101に読み込まれる。そして、各クライア
ント101は、プロパティ400に記述された起動方法
や画面設定等に基づいて起動されるとともに、プロパテ
ィ400に記述されているアクセス対象(サーバまたは
アシスタントサーバ)にアクセスする。
In FIG. 4, reference numeral 400 denotes a property in which information such as a method of starting the client 101, screen settings, and an access destination (access target) required when the system is executed is described. It is read by each client 101. Each client 101 is activated based on the activation method, screen setting, and the like described in the property 400, and accesses the access target (server or assistant server) described in the property 400.

【0022】ここで、クライアント101のアクセス先
としてアシスタントサーバ301が設定される場合を想
定すると、各クライアント101はアシスタントサーバ
301のサーバインタフェース303の参照(メモリ空
間において通信相手となるオブジェクトを指し示す情
報)を持つことにより、アシスタントサーバ301をサ
ーバインタフェース型として認識する。同様に、アシス
タントサーバ301はサーバ201のサーバインタフェ
ース202の参照を持つことにより、サーバ201をサ
ーバインタフェース型として認識する。これにより、各
クライアント101はサーバインタフェース303を介
してアシスタントサーバ301にアクセスし、さらにア
シスタントサーバ301からサーバインタフェース20
2を介してサーバ201にアクセスすることができるよ
うになる。
Here, assuming that the assistant server 301 is set as an access destination of the client 101, each client 101 refers to the server interface 303 of the assistant server 301 (information indicating an object to be a communication partner in the memory space). , The assistant server 301 is recognized as a server interface type. Similarly, the assistant server 301 recognizes the server 201 as a server interface type by having a reference to the server interface 202 of the server 201. Accordingly, each client 101 accesses the assistant server 301 via the server interface 303, and further, the assistant server 301
2, the server 201 can be accessed.

【0023】また、各クライアント101にはサーバ2
01から各車両15の状態変化に関する監視情報が送ら
れるので、各クライアント101をサーバ201のオブ
ザーバとして登録する必要がある。このため、各クライ
アント101はアシスタントサーバ301に対してオブ
ザーバとして登録するメソッドを呼び出し、自分自身を
アシスタントサーバ301のオブザーバとして登録す
る。さらに、アシスタントサーバ301はサーバ201
に対してオブザーバとして登録するメソッドを呼び出
し、自分自身をサーバ201のオブザーバとして登録す
る。これにより、各クライアント101はアシスタント
サーバ301から各車両15の状態変化に関する監視情
報を受け取ることができ、またアシスタントサーバ30
1はサーバ201から各車両15の状態変化に関する監
視情報を受け取ることができるようになる。このため、
各車両15の状態変化が発生した場合には、サーバ20
1から、そのサーバ201自身にオブザーバとして登録
されているアシスタントサーバ301へ状態変化に関す
る監視情報が送られ、さらにアシスタントサーバ301
から、そのアシスタントサーバ301自身にオブザーバ
として登録されているクライアント101へ状態変化に
関する監視情報が送られる。
Each client 101 has a server 2
Since monitoring information relating to a change in the state of each vehicle 15 is sent from 01, each client 101 needs to be registered as an observer of the server 201. Therefore, each client 101 calls a method for registering as an observer with the assistant server 301, and registers itself as an observer of the assistant server 301. Further, the assistant server 301 is the server 201
Call a method for registering as an observer to the server 201, and register itself as an observer of the server 201. Thereby, each client 101 can receive monitoring information regarding a change in the state of each vehicle 15 from the assistant server 301, and
1 can receive the monitoring information on the state change of each vehicle 15 from the server 201. For this reason,
When a state change of each vehicle 15 occurs, the server 20
1 to the assistant server 301 registered as an observer in the server 201 itself, the monitoring information on the state change is sent.
Then, the monitoring information regarding the state change is sent to the client 101 registered as an observer in the assistant server 301 itself.

【0024】次に、このような構成からなる監視制御シ
ステムの動作について図1乃至図4により説明する。
Next, the operation of the monitoring control system having such a configuration will be described with reference to FIGS.

【0025】まず、システムが起動されると、クライア
ントクラス120、サーバクラス220およびアシスタ
ントサーバクラス320が初期化され、オブジェクトと
してクライアント101、サーバ201およびアシスタ
ントサーバ301が生成される。なお、このようにして
クライアント101、サーバ201およびアシスタント
サーバ301の各オブジェクトが生成された時点で、各
クライアント101はサーバインタフェース303を経
由したアシスタントサーバ301へのアクセス方法を確
保し、サーバ201はクライアントインタフェース30
2を経由したアシスタントサーバ301へのアクセス方
法を確保する。また、アシスタントサーバ301はクラ
イアントインタフェース102を経由した各クライアン
ト101へのアクセス方法と、サーバインタフェース2
02を経由したサーバ201へのアクセス方法とを確保
する。
First, when the system is started, the client class 120, the server class 220, and the assistant server class 320 are initialized, and the client 101, the server 201, and the assistant server 301 are generated as objects. When the objects of the client 101, the server 201, and the assistant server 301 are generated in this way, each client 101 secures an access method to the assistant server 301 via the server interface 303, and the server 201 Interface 30
2 to secure a method of accessing the assistant server 301. In addition, the assistant server 301 determines the access method to each client 101 via the client interface 102 and the server interface 2
02 and a method of accessing the server 201 via the server 02.

【0026】ここで、図1および図2に示すハードウェ
ア環境上で動作する監視制御システムにおいては、各車
両15に対する監視制御メッセージや、各車両15の状
態変化に関する監視情報をやりとりするために各クライ
アント101とサーバ201との間で通信が行われる
他、他のクライアント101の画面設定等を変更するた
めに各クライアント101間でも通信が行われる。以
下、監視制御システムの動作についてクライアント/サ
ーバ間通信と、クライアント間通信とに分けて説明す
る。
Here, in the supervisory control system operating on the hardware environment shown in FIGS. 1 and 2, each supervisory control message for each vehicle 15 and each supervisory information for changing the state of each vehicle 15 are exchanged. In addition to the communication between the client 101 and the server 201, the communication is also performed between the clients 101 to change the screen settings and the like of the other clients 101. Hereinafter, the operation of the monitoring control system will be described separately for client / server communication and client / client communication.

【0027】(クライアント/サーバ間通信)まず、ク
ライアント/サーバ間通信として、クライアント101
から監視制御メッセージ(例えばstartWalking()メソッ
ド)が呼び出される場合を想定する。この場合、クライ
アント101からサーバ201への通信はアシスタント
サーバ301により中継されるので、クライアント10
1からアシスタントサーバ301のstartWalking()メソ
ッドが呼び出され、startWalking()メソッド内で適当な
フィルタリング処理が行われる。その後、アシスタント
サーバ301からサーバ201のstartWalking()メソッ
ドが呼び出され、サーバ201に実装されているstartW
alking()メソッドの処理が行われる。
(Client / Server Communication) First, as the client / server communication, the client 101
It is assumed that a monitoring control message (for example, the startWalking () method) is called from. In this case, since the communication from the client 101 to the server 201 is relayed by the assistant server 301, the client 10
The startWalking () method of the assistant server 301 is called from 1 and an appropriate filtering process is performed in the startWalking () method. After that, the startWalking () method of the server 201 is called from the assistant server 301, and the startWalking (
Processing of alking () method is performed.

【0028】次に、サーバ201から車両15の状態変
化(例えば車両15の位置の変化)が発生した場合を想
定する。この場合、サーバ201からアシスタントサー
バ301のnotifyPosition()が呼び出され、アシスタン
トサーバ301へ車両15の位置情報が送られるととも
に、notifyPosition()メソッド内で適当なフィルタリン
グ処理(例えば通信対象となるクライアントの選択、ま
たは通信対象とならないクライアントの排除等)を行
う。その後、アシスタントサーバ301から選択された
クライアント101のnotifyPosition()メソッドが呼び
出され、車両15の位置情報がクライアント101へ送
られる。なお、notifyPosition()メソッドが呼び出され
たクライアント101は、notifyPosition()メソッド内
に記述されたその他の必要な処理を行い、車両15の位
置の変化をGUI(Graphical UserInterface)等を介
して表示する。
Next, it is assumed that a change in the state of the vehicle 15 (for example, a change in the position of the vehicle 15) has occurred from the server 201. In this case, notifyPosition () of the assistant server 301 is called from the server 201, the position information of the vehicle 15 is sent to the assistant server 301, and appropriate filtering processing (for example, selection of a client to be communicated) is performed in the notifyPosition () method. Or exclusion of clients that are not communication targets). Thereafter, the notifyPosition () method of the selected client 101 is called from the assistant server 301, and the position information of the vehicle 15 is sent to the client 101. The client 101 from which the notifyPosition () method is called performs other necessary processing described in the notifyPosition () method, and displays a change in the position of the vehicle 15 via a GUI (Graphical User Interface) or the like.

【0029】(クライアント間通信)次に、クライアン
ト間通信として、あるクライアント101から、他のク
ライアント101のGUI表示をリスト表示に変更する
場合を想定する。この場合、クライアント101からア
シスタントサーバ301のdisplayList()メソッドが呼
び出され、引数として送信先となるクライアント名が渡
される。その後、アシスタントサーバ301から引数で
指定されたクライアント101のdisplayList()メソッ
ドが呼び出される。なお、displayList()メソッドが呼
び出されたクライアント101は、displayList()メソ
ッド内に記述された処理を行い、GUI表示をリスト表
示に変更する。
(Communication between Clients) Next, as communication between clients, it is assumed that a GUI display of one client 101 is changed to a list display of another client 101. In this case, the displayList () method of the assistant server 301 is called from the client 101, and the client name of the transmission destination is passed as an argument. Thereafter, the displayList () method of the client 101 specified by the argument is called from the assistant server 301. Note that the client 101 from which the displayList () method is called performs the processing described in the displayList () method, and changes the GUI display to the list display.

【0030】このように本実施の形態によれば、アシス
タントサーバ(中継コンポーネント)301が各クライ
アント101とサーバ201との間の通信を中継すると
ともに、サーバ201から独立して各クライアント10
1間の通信を中継するので、クライアント/サーバ間の
通信時に所定のフィルタリング処理を行うことができ、
また各クライアント101が互いに参照を持ち合う必要
がなくなるので、各クライアント101の独立性を高
め、保守性および変更容易性を向上させることができ
る。さらに、各クライアント101間の通信時にサーバ
201を利用しないので、クライアント101とサーバ
201との独立性が高くなり、サーバ201の負荷を軽
減することができる。
As described above, according to the present embodiment, the assistant server (relay component) 301 relays the communication between each client 101 and the server 201, and independently of the client 201,
Since the communication between the two is relayed, a predetermined filtering process can be performed at the time of communication between the client and the server,
In addition, since it is not necessary for the clients 101 to have a reference to each other, the independence of each client 101 can be improved, and the maintainability and the easiness of change can be improved. Furthermore, since the server 201 is not used for communication between the clients 101, the independence between the client 101 and the server 201 is increased, and the load on the server 201 can be reduced.

【0031】また本実施の形態によれば、アシスタント
サーバ(中継コンポーネント)301が、クライアント
インタフェースクラス110およびサーバインタフェー
スクラス210の両方を継承してなるアシスタントサー
バクラス320から生成されているので、アシスタント
サーバ301はクライアント101からはサーバとし
て、サーバ201からはクライアントとして利用するこ
とができ、このためクライアント101またはサーバ2
01はアプリケーションコード等を変更することなくア
シスタントサーバ301を利用することができる。
According to the present embodiment, the assistant server (relay component) 301 is generated from the assistant server class 320 that inherits both the client interface class 110 and the server interface class 210. 301 can be used as a server from the client 101 and as a client from the server 201.
01 can use the assistant server 301 without changing the application code or the like.

【0032】さらに本実施の形態によれば、各クライア
ント101がプロパティ400に記述されたアクセス対
象に関する情報に基づいてアクセス先としてアシスタン
トサーバ301またはサーバ201のいずれかを選択で
きるので、クライアント101のアプリケーションコー
ド等を変更することなくクライアント101のアクセス
対象を切り替えることができる。
Further, according to the present embodiment, each client 101 can select either the assistant server 301 or the server 201 as an access destination based on the information on the access target described in the property 400. The access target of the client 101 can be switched without changing the code or the like.

【0033】なお、上述した実施の形態においては、ク
ライアント101、サーバ201およびアシスタントサ
ーバ301の各オブジェクトは図1および図2に示すハ
ードウェア環境上で動作するものとして説明したが、こ
れらのオブジェクトが動作するハードウェア環境はこれ
に限定されるものではなく、これ以外の任意のハードウ
ェア環境上で動作することが可能である。
In the above embodiment, the objects of the client 101, the server 201, and the assistant server 301 have been described as operating on the hardware environment shown in FIGS. 1 and 2. The operating hardware environment is not limited to this, and it is possible to operate on any other hardware environment.

【0034】また、上述した実施の形態においては、ク
ライアント101が端末11上で動作し、サーバ201
およびアシスタントサーバ301の各オブジェクトが管
理用コンピュータ12上で動作するものとして説明した
が、これらのオブジェクトの動作箇所はこれに限定され
るものではなく、例えばアシスタントサーバ301が管
理用コンピュータ12以外のコンピュータ上で動作する
ようにしてもよい。
In the above-described embodiment, the client 101 operates on the terminal 11 and the server 201
Although the description has been made assuming that each object of the assistant server 301 operates on the management computer 12, the operation location of these objects is not limited to this. It may operate on the above.

【0035】さらに、上述した実施の形態において、ク
ライアント101、サーバ201およびアシスタントサ
ーバ301の各オブジェクトは、図4に示すようなクラ
ス構成からなるプログラムとしてCORBA等のオブジ
ェクト指向言語により記述することができる。このよう
にして記述されたプログラムは、記録媒体であるフロッ
ピーディスクまたはCD−ROM(Compact Disk-Read
Only Memory)等に記録することができ、端末11およ
び管理用コンピュータ12上にインストールすることに
より、上述したような監視および制御を行うことが可能
となる。
Further, in the above-described embodiment, each object of the client 101, the server 201 and the assistant server 301 can be described in an object-oriented language such as CORBA as a program having a class configuration as shown in FIG. . The program described in this manner is stored on a floppy disk or CD-ROM (Compact Disk-Read) as a recording medium.
Only on the terminal 11 and the management computer 12, the above-described monitoring and control can be performed.

【0036】[0036]

【発明の効果】以上説明したように本発明によれば、中
継コンポーネントが各クライアントとサーバとの間の通
信を中継するとともに、サーバから独立して各クライア
ント間の通信を中継するので、クライアント/サーバ間
の通信時に所定のフィルタリング処理を行うことがで
き、また各クライアントが互いに参照を持ち合う必要が
なくなるので、各クライアントの独立性を高め、保守性
および変更容易性を向上させることができる。さらに、
各クライアント間の通信時にサーバを利用しないので、
クライアントとサーバとの独立性が高くなり、サーバの
負荷を軽減することができる。
As described above, according to the present invention, the relay component relays communication between each client and the server and relays communication between each client independently of the server. Predetermined filtering processing can be performed at the time of communication between servers, and it is not necessary for each client to have a reference to each other. Therefore, independence of each client can be improved, and maintainability and easiness of change can be improved. further,
Since the server is not used for communication between each client,
The independence between the client and the server is increased, and the load on the server can be reduced.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明によるクライアントサーバシステムの一
実施の形態が動作するハードウェア環境を示す図。
FIG. 1 is a diagram showing a hardware environment in which an embodiment of a client server system according to the present invention operates.

【図2】図1に示す中央管理室内に設置された端末およ
び管理用コンピュータのハードウェア構成の詳細を示す
ブロック図。
FIG. 2 is a block diagram showing details of a hardware configuration of a terminal and a management computer installed in a central management room shown in FIG. 1;

【図3】図1および図2に示すハードウェア環境上で動
作するクライアントサーバシステムの構成および動作を
説明するための図。
FIG. 3 is an exemplary view for explaining the configuration and operation of a client server system operating on the hardware environment shown in FIGS. 1 and 2;

【図4】図3に示すクライアントサーバシステムをオブ
ジェクト指向言語で記述した場合のクラス構成を示す
図。
FIG. 4 is a diagram showing a class configuration when the client server system shown in FIG. 3 is described in an object-oriented language.

【符号の説明】[Explanation of symbols]

10 中央管理室 11 端末 12 管理用コンピュータ 13 通信路 14,16 送受信機 15 車両 21,31 プロセッサ 22,32 メモリ 23,33 大容量記憶装置 24 表示装置 25 入力装置 26,34 通信装置 27,35 システム・バス 100 クライアントプロセス 101 クライアントオブジェクト 102,302 クライアントインタフェース 103 クライアントコンポーネント 110 クライアントインタフェースクラス 120 クライアントクラス 200 サーバプロセス 201 サーバオブジェクト 202,303 サーバインタフェース 210 サーバインタフェースクラス 220 サーバクラス 300 アシスタントサーバプロセス 301 アシスタントサーバオブジェクト 320 アシスタントサーバクラス 400 プロパティ DESCRIPTION OF SYMBOLS 10 Central control room 11 Terminal 12 Management computer 13 Communication path 14, 16 Transceiver 15 Vehicle 21, 31 Processor 22, 32 Memory 23, 33 Mass storage device 24 Display device 25 Input device 26, 34 Communication device 27, 35 System Bus 100 client process 101 client object 102, 302 client interface 103 client component 110 client interface class 120 client class 200 server process 201 server object 202, 303 server interface 210 server interface class 220 server class 300 assistant server process 301 assistant server object 320 Assistant server class 400 Lopaty

───────────────────────────────────────────────────── フロントページの続き (72)発明者 高 橋 徹 神奈川県川崎市幸区小向東芝町1 株式会 社東芝小向工場内 (72)発明者 南 光 神奈川県川崎市幸区小向東芝町1 株式会 社東芝小向工場内 Fターム(参考) 5B098 AA05 AA10 GA04 GC16  ──────────────────────────────────────────────────続 き Continued on the front page (72) Inventor Tohru Takahashi 1 Komukai Toshiba-cho, Saiwai-ku, Kawasaki-shi, Kanagawa Prefecture In-house Toshiba Komukai Plant (72) Inventor Nanko Komukai Toshiba, Sai-ku, Kawasaki-shi, Kanagawa Prefecture Town 1 F-term (reference) in Toshiba Komukai Plant 5B098 AA05 AA10 GA04 GC16

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】独立したコンポーネントとしてのクライア
ントおよびサーバを連携させて所定の処理を行うクライ
アントサーバシステムにおいて、 複数のクライアントと、 前記各クライアントから要求された処理を実行するサー
バと、 前記各クライアントおよび前記サーバに接続された中継
コンポーネントとを含み、 前記中継コンポーネントは前記各クライアントと前記サ
ーバとの間の通信を中継するとともに、前記サーバから
独立して前記各クライアント間の通信を中継することを
特徴とするクライアントサーバシステム。
1. A client-server system that performs a predetermined process by linking a client and a server as independent components to each other, comprising: a plurality of clients; a server executing a process requested by each of the clients; A relay component connected to the server, wherein the relay component relays communication between the clients and the server, and relays communication between the clients independently of the server. And a client-server system.
【請求項2】前記中継コンポーネントは前記各クライア
ントと前記サーバとの間の通信を中継するときに所定の
フィルタリング処理を行うことを特徴とする請求項1記
載のクライアントサーバシステム。
2. The client server system according to claim 1, wherein said relay component performs a predetermined filtering process when relaying communication between each of said clients and said server.
【請求項3】前記各クライアントはアクセス先として前
記中継コンポーネントまたは前記サーバのいずれかを選
択できることを特徴とする請求項1記載のクライアント
サーバシステム。
3. The client server system according to claim 1, wherein each of the clients can select one of the relay component and the server as an access destination.
【請求項4】前記サーバは前記各クライアントからの要
求に従って対象物の監視および制御を行うことを特徴と
する請求項1記載のクライアントサーバシステム。
4. The client-server system according to claim 1, wherein said server monitors and controls an object according to a request from each of said clients.
【請求項5】独立したコンポーネントとしてのクライア
ントおよびサーバを連携させて所定の処理を行うクライ
アントサーバシステムを実現するためのコンポーネント
連携プログラムであって、オブジェクト指向言語で記述
されたコンポーネント連携プログラムを記録したコンピ
ュータ読み取り可能な記録媒体において、 複数のクライアントのインタフェースを抽象化したクラ
イアントインタフェースクラスを継承してなるクライア
ントクラスと、 前記各クライアントから要求された処理を実行するサー
バのインタフェースを抽象化したサーバインタフェース
クラスを継承してなるサーバクラスと、 前記クライアントインタフェースクラスおよび前記サー
バインタフェースクラスの両方を継承してなる中継コン
ポーネントクラスとを含むことを特徴とするコンポーネ
ント連携プログラムを記録したコンピュータ読み取り可
能な記録媒体。
5. A component coordination program for realizing a client-server system for performing predetermined processing by coordinating a client and a server as independent components, wherein the component coordination program described in an object-oriented language is recorded. In a computer-readable recording medium, a client class that inherits a client interface class that abstracts an interface of a plurality of clients, and a server interface class that abstracts an interface of a server that executes a process requested by each of the clients And a relay component class that inherits both the client interface class and the server interface class. Computer readable recording medium recording a component cooperative program characterized.
JP10246316A 1998-08-31 1998-08-31 Client/server system and computer readable recording medium recording component link program for providing the same Pending JP2000076070A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10246316A JP2000076070A (en) 1998-08-31 1998-08-31 Client/server system and computer readable recording medium recording component link program for providing the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10246316A JP2000076070A (en) 1998-08-31 1998-08-31 Client/server system and computer readable recording medium recording component link program for providing the same

Publications (1)

Publication Number Publication Date
JP2000076070A true JP2000076070A (en) 2000-03-14

Family

ID=17146750

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10246316A Pending JP2000076070A (en) 1998-08-31 1998-08-31 Client/server system and computer readable recording medium recording component link program for providing the same

Country Status (1)

Country Link
JP (1) JP2000076070A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005527039A (en) * 2002-05-23 2005-09-08 アルカテル Software development tool to ensure the link between UML model and its implementation in CORBA environment
JP2010170389A (en) * 2009-01-23 2010-08-05 Alpine Electronics Inc Data processing system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005527039A (en) * 2002-05-23 2005-09-08 アルカテル Software development tool to ensure the link between UML model and its implementation in CORBA environment
JP2010170389A (en) * 2009-01-23 2010-08-05 Alpine Electronics Inc Data processing system

Similar Documents

Publication Publication Date Title
US7673029B2 (en) Grid automation bus to integrate management frameworks for dynamic grid management
US8209378B2 (en) Methods and apparatus for widget sharing between content aggregation points
US8103760B2 (en) Dynamic provisioning of service components in a distributed system
US20030009539A1 (en) Distributed object middleware connection method
US7475406B2 (en) Event notification structure for dynamically aggregated logical components
JP3055970B2 (en) Method and apparatus for implementing interface between object-oriented languages
US20070124475A1 (en) Creating proxies from service description metadata at runtime
JPH09223116A (en) Positional penetrability of distributed objects for plural middlewares
JPH10116195A (en) Mechanism for finding out the position of object by secure system
JPH05207025A (en) System and method for acquisition of netwrok performance data
US20090234958A1 (en) System for Processing Context Data
US20090217239A1 (en) User interface driven by dynamic state changes
US7934218B2 (en) Interprocess communication management using a socket layer
JPH10187641A (en) Method for supporting address interaction between 1st entity and 2nd entity, converter for address interaction, and computer system
US7490183B2 (en) Information kit integration architecture for end-user systems
JP2002518765A (en) Communication controller messaging system
JP2002505491A (en) Apparatus and method for dynamic information certification in a distributed system
JP2000076070A (en) Client/server system and computer readable recording medium recording component link program for providing the same
US7260618B2 (en) Method in an embedded environment for arranging functionality of a remote device
JPH06348512A (en) Resource-control computer system
US7496925B2 (en) Information kit objects for publish/subscribe integration architecture
US20030126271A1 (en) Method and apparatus for enabling an external function from a WAP environment
EP1122644A1 (en) A method and system for dynamically dispatching function calls from a first execution environment to a second execution environment
CN109669793A (en) Object calling method in middleware process
CN116501516B (en) Multi-map calling method, device, equipment and storage medium

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20030704