JPH05289871A - アプリケーション結合方法 - Google Patents

アプリケーション結合方法

Info

Publication number
JPH05289871A
JPH05289871A JP4095147A JP9514792A JPH05289871A JP H05289871 A JPH05289871 A JP H05289871A JP 4095147 A JP4095147 A JP 4095147A JP 9514792 A JP9514792 A JP 9514792A JP H05289871 A JPH05289871 A JP H05289871A
Authority
JP
Japan
Prior art keywords
procedure
link
server
calling
client
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.)
Granted
Application number
JP4095147A
Other languages
English (en)
Other versions
JP3489123B2 (ja
Inventor
Tetsuo Tanaka
哲雄 田中
Hiroshi Tomita
浩史 冨田
Yasutaka Yamaguchi
康隆 山口
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP09514792A priority Critical patent/JP3489123B2/ja
Publication of JPH05289871A publication Critical patent/JPH05289871A/ja
Priority to US08/444,385 priority patent/US5539909A/en
Application granted granted Critical
Publication of JP3489123B2 publication Critical patent/JP3489123B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Document Processing Apparatus (AREA)
  • Computer And Data Communications (AREA)

Abstract

(57)【要約】 【構成】 あるアプリケーション(クライアント)が他
のアプリケーション(サーバ)の手続きを呼び出しなが
ら処理を進めるシステムにおいて、クライアントがサー
バに対して手続きの呼び出し方法の通知を依頼すると
(113)、サーバは手続きの呼出し方法をリンク管理
テーブル13に登録する(114)。その後、クライア
ントはリンク管理テーブル13から手続きの呼び出し方
法を検索し、その手続きを呼び出すと(115)、サー
バがその手続きを実行する(116)。 【効果】 サーバ固有の手続き名や引数のリストをサー
バが実行時にリンク管理レコードに書き込むので、クラ
イアントのプログラム作成時に手続きの呼び出し形式を
意識する必要がない。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、あるアプリケーション
から他のアプリケーションで定義された手続きを利用す
るためのアプリケーション結合方法に関する。
【0002】
【従来の技術】ワードプロセッサで文書を作成する時、
文書中に作画ソフトで作成した図やスプレッドシートで
作成した表やグラフを埋め込みたいという要求がある。
これを実現するには、ワードプロセッサが作画ソフトや
スプレッドシートで扱うデータのデータ形式を理解し、
文書中に図、表またはグラフを書き込む。あるいは、ワ
ードプロセッサが作画ソフトやスプレッドシートを起動
して、それらのアプリケーションに図、表またはグラフ
を書き込ませる。
【0003】このようなアプリケーションの結合、すな
わち、あるアプリケーションから他のアプリケーション
で定義された手続きを呼び出すことを容易にするため
に、データと処理アプリケーションを一体化して管理す
る技術が注目されている。例えば、”ピーター.S.ショ
ーマン他著:統合操作環境NewWave,日経バイト,19
90年5月号,pp279−305”、”ファイル管理
方式,特願平1−105699”で述べられているよう
に、NewWaveではデータと処理アプリケーションを一体
化したものをオブジェクトと呼び、あるデータを操作す
るのにどのアプリケーションが適当かを管理し、データ
を指定するだけで自動的に対応するアプリケーションを
起動する。また、メッセージを利用してオブジェクト間
の通信を行う。これにより、相手側のオブジェクトがサ
ポートする操作を知ることができ、さらに、そのオブジ
ェクトに対して、それがサポートする操作を実行するよ
うに依頼することができる。
【0004】また、NewWaveではオブジェクト同士をリ
ンクで結び、ワードプロセッサで作成した文書中にスプ
レッドシートで作成した表やグラフ等を合成することが
できる。この時、リンク元のオブジェクトは、自身のア
プリケーションを使用してリンク先のオブジェクトを表
示するのではなく、要求した表示部分にデータを表示す
るようにリンク先のオブジェクトに指示するだけであ
る。リンク先のオブジェクトは、指示された位置に自分
のデータを表示する責任を負っている。
【0005】また、”RPCによる連携を起点にオブジ
ェクト指向へとジャンプ,日経コンピュータ,1991
年12月6日号,pp81−93”で紹介されているC
ORBAは、分散環境下で複数のオブジェクトが互いに
メッセージを交換しながら連携して処理を進めるような
アプリケーションの作成を支援する。CORBAの核と
なるオブジェクトリクエストブローカ(ORB)はリク
エストを出したオブジェクトからリクエストのメッセー
ジを受け、それを該当するオブジェクトに渡す。処理が
終了したら、処理結果を受け取り、リクエストを出した
オブジェクトに返す。これにより、別のコンピュータ上
にあるオブジェクトの手続きを呼び出すことも可能とな
る。
【0006】
【発明が解決しようとする課題】上記の従来方法におい
ては次のような課題がある。他のアプリケーションで提
供される手続きをそのアプリケーションに関連づけられ
たオブジェクトにメッセージを送ることによって呼び出
す場合、呼び出す側のオブジェクト(以降、クライアン
トと呼ぶ)は、呼びだされる側のオブジェクト(以降、
サーバと呼ぶ)の手続き名や、その手続きを呼び出す時
の引数をサーバ毎に全て知らなければならない。
【0007】また、サーバの手続きの変更に伴って手続
きの呼出し方、引数の数、型あるいは順序が変わった場
合、あるいは、新たなサーバが作成された時にその手続
きが異なる引数のリストを持つ場合、クライアントのア
プリケーションを書き替えなければならない。
【0008】また、サーバ側のデータを編集した時、そ
の編集に伴って変わる値を引数とする手続きに関して
は、クライアント側でその引数を変更しなければならな
い(サーバ側にしか変更したことが判らないにもかかわ
らず)。例えば、表示範囲を引数としてオブジェクトの
データの一部を表示する手続きでは、サーバ側でデータ
を変更した時、クライアント側で表示範囲を表す引数を
同時に変更しなければならない。
【0009】また、NewWaveではオブジェクト同士をリ
ンクで結合する機能を提供しているが、このリンクは、
リンク先のオブジェクトをリンク元のオブジェクト内に
表示し、オブジェクトが包含関係にあることを表わすた
めのものである。表示以外の手続きに関して、例えば、
サーバが動画を扱う場合、動画の再生、停止、スロー再
生、あるいは速送り等の手続きを備えていても、これら
の手続きをクライアントのアプリケーションが選択して
実行することができない。
【0010】本発明の目的は、クライアント側のアプリ
ケーションのプログラム中に手続き名や引数のリストを
プログラムコードとして書き込まなくても、サーバが提
供する様々な手続き(表示以外の手続きも含めて)を実
行できる方法を提供することである。さらに、クライア
ント側でプログラムを変更しなくてもサーバの変更に対
処できる方法を提供することである。ここで、サーバの
変更とは、手続きの変更、手続きの呼出しのための引数
の変更、あるいは新たなサーバアプリケーション追加を
意味する。
【0011】
【課題を解決するための手段】本発明は、上記目的を達
成するために、クライアントオブジェクトとサーバオブ
ジェクトの間にリンクを張る機能を提供する。また、そ
のリンクにサーバオブジェクトの手続きを呼びだすため
の手続き名と引数のリストとを書き込む機能を提供す
る。この書き込みは、アプリケーションの実行時に、リ
ンクを張ったオブジェクトとは別のオブジェクトでも可
能とする。さらに、手続きの実行は、クライアントで手
続き名や引数を直接指定するのではなく、リンクの識別
子のみを指定して手続き名や引き数を検索して手続きを
呼び出すこと、即ち、リンクを参照し、そこに書かれた
手続き名と引数のリストとをメッセージとしてサーバオ
ブジェクトに送ることを可能にする。
【0012】リンクを張る機能、リンクと共に手続き名
及び引数を保持する機能、手続き名や引き数を検索して
手続きを呼び出す機能を提供するために、リンクの識別
子(以下、リンクidと呼ぶ),クライアントオブジェ
クト,サーバオブジェクト,手続き名,及び手続きを呼
び出すための引数リスト(リンクidから引き数リスト
までの情報をリンク管理レコードと呼ぶ)を、複数のオ
ブジェクトから参照あるいは更新できる領域(リンク管
理テーブルと呼ぶ)に保持する。また、クライアントが
リンク管理レコードを検索するために、クライアントで
識別可能なリンクの名前とリンクidとの組を保持す
る。さらに、サーバが手続き名に対応する機能を実行す
るために、手続き名とその手続き名に対応する手続きへ
のポインタの組を保持する。手続きは、クライアントか
らその手続きに対応する手続き名が書かれたメッセージ
が送られた時に実行される。
【0013】クライアントは、自身とサーバ間にリンク
を張り、手続きの呼び出し方法をそのリンク管理レコー
ドに書き込むようにサーバに依頼する。同時に、リンク
idに名前を付ける。サーバは、要求を処理するための
手続き名とその手続きを実行するのに必要な引数を、送
られたリンクidに対応するリンク管理レコードに書き
込む。クライアントは、サーバ側の手続きを呼び出す
時、リンクidの名前によってリンク管理レコードをリ
ンク管理テーブルから検索し、そのリンク管理レコード
に書かれた手続き名と引数のリストをメッセージとして
サーバに送る。サーバはそのリンクに書かれた手続き名
に対応する手続きを実行する。
【0014】検索したリンク管理テーブルに格納された
情報をサーバへメッセージ送信する処理は、クライアン
トが行ってもよいが、リンクを管理する特別なプログラ
ムを設け、そのプログラムに対してリンクidと共に
「呼び出し」というメッセージを送り、そのプログラム
がリンクの内容をメッセージとしてサーバに送るように
してもよい。オブジェクト間のメッセージの送信、及び
メッセージに対応する手続きの実行は、前述のNewWave
やCORBA、または従来技術として引用した文献に記載さ
れているリモートプロシージャコールなどの既存の技術
を用いる。また、起動時のオプションによって異なる手
続きを実行するようにサーバを作成し、メッセージを送
信する代わりに、メッセージ送信が必要になる度に所望
の手続きを実行するためのオプションを付けてサーバ側
のアプリケーションを起動する方法もある。
【0015】
【作用】本発明によれば、クライアントオブジェクトと
サーバオブジェクトの間にリンクを張ることができ、ま
た、アプリケーションの実行時に、リンクを張ったオブ
ジェクトとは別のオブジェクトに対しても、リンク管理
レコードにサーバオブジェクトの手続きを呼びだすため
の手続き名と引数のリストを書き込むことができる。そ
の結果、呼び出すべき手続きの手続き名や引数は、アプ
リケーションの実行時に動的にサーバが指定できるよう
になる。
【0016】また、本発明によれば、その手続きをリン
クの識別子のみを指定して呼び出すことができる。その
結果、クライアントのプログラミング時に、メッセージ
の送り手、メッセージの内容及びメッセージの引数を指
定しなくともサーバの手続きを呼び出せる。すなわち、
手続き名や引数のリストをクライアント側のアプリケー
ションのプログラミング時にプログラムコードとして指
定しなくとも、サーバが提供する様々な手続き(表示以
外の手続きも含めて)を実行できる。さらに、クライア
ント側のプログラムを変更しなくてもサーバの変更に対
処できる。
【0017】
【実施例】以下、本発明の実施例を図面により説明す
る。
【0018】(第1の実施例)図1は、あるオブジェク
ト(クライアント)から他のオブジェクト(サーバ)で
定義された手続きを利用する場合のサーバ及びクライア
ント双方の処理フローの一例である。図2は、図1にお
けるサーバの手順の詳細を示すフローチャートであり、
図3はクライアントの手順の詳細を示すフローチャート
である。図4はオブジェクトの構成例、メッセージの構
成例、及び他のアプリケーションの手続きを呼び出しな
がら処理を行なうシステムのソフトウェア構成例であ
る。図5は、図4におけるテーブルの詳細な構成例であ
り、図6は、図4に示す処理ルーチンの機能説明の一覧
である。
【0019】図1に示すリンク管理テーブル13は、ク
ライアントの処理フロー11及びサーバの処理フロー1
2によって更新あるいは参照され、リンクの識別子、リ
ンクが持つサーバの識別子、クライアントの識別子、手
続き名、及び引き数のリストを管理する。
【0020】図4に示すオブジェクト40の構成例は、
オブジェクトを識別するためのオブジェクトid40
1、データ402、及びデータを処理する処理プログラ
ム403からなる。オブジェクトidはそれぞれのオブ
ジェクトに固有な識別子であり、同じオブジェクトid
を持つ別のオブジェクトは存在しない。メッセージ47
は、送り先のオブジェクトのid471、送り元のオブ
ジェクトのid472、手続き名473、及び引き数リ
スト474からなる。
【0021】図4に示すシステムのソフトウェア構成例
は、クライアント41、サーバ42、リンク管理テーブ
ル13、クライアント41とサーバ42の間でメッセー
ジ47をやり取りするためのメッセージ通信路46から
構成されている。メッセージ47の送受信には、従来技
術の項で述べたNewWaveやCORBA等と同様な既存の技術、
または将来使用可能になる技術を用いる。クライアント
41とサーバ42はそれぞれ複数ある。また、一つのオ
ブジェクトは、ある手続きのクライアント41になった
り、別の手続きのサーバ42になったりする。
【0022】クライアント41は、固有の処理を行なう
アプリケーションプログラム411、アプリケーション
固有のデータ412、サーバ42とメッセージ47のや
り取りを行なうメッセージ送受信ルーチン44、リンク
に対して操作を行なうリンク操作ルーチン45、及びリ
ンク名とリンクidの組を保持するリンク名管理テーブ
ル413からなる。サーバ42は、固有の処理を行なう
アプリケーションプログラム421、アプリケーション
固有のデータ422、クライアント41とメッセージの
やり取りを行なうメッセージ送受信ルーチン44、リン
クに対して操作を行なうリンク操作ルーチン45、手続
き名と対応する手続きを指し示すポインタの組を保持す
る手続き管理テーブル424、及び手続き名から対応す
る手続きを指し示すポインタを検索する手続き検索ルー
チン423からなる。
【0023】図5には、リンク名管理テーブル413、
図4に示した手続き管理テーブルの詳細、及び図1に示
したリンク管理テーブル13の詳細を示す。図5に示す
リンク名管理テーブル413は、リンク名511とリン
クid512からなる複数のレコード513の列から構
成される。リンクid512はそれぞれのリンクに固有
な識別子であり、同じidを持つ別のリンクは存在しな
い。また、手続き名管理テーブル424は手続き名52
1と手続きを指し示すポインタ522からなるレコード
523の列である。また、リンク管理テーブル13は、
リンクid531、クライアントオブジェクトのid5
32、サーバオブジェクトのid533、手続き名53
4、及び手続きを呼び出すために必要な引数のリスト5
35からなるリンク管理レコード538の列である。さ
らに、引数のリスト535は、クライアント側が書き込
む引数のリスト536とサーバ側が書き込む引数のリス
ト537の組である。
【0024】図6はメッセージ送受信ルーチン44、リ
ンク操作ルーチン45、及び手続き検索ルーチン423
が提供する機能を関数一覧として表わしたものであり、
それぞれの関数を 関数名(引き数) 戻り値 の形式で記述したものである。
【0025】図6(a)は、メッセージ送受信ルーチン
44が提供する関数である。611は、サーバのオブジ
ェクトid、自身のオブジェクトid、手続き名、及び
引数リストからメッセージ47を構成し、サーバidで
指定されたオブジェクトに送る関数、612は、メッセ
ージ47を受け取り、送り手のオブジェクトのオブジェ
クトid、手続き名、及び引数のリストを得る関数、6
13は、メッセージが受信可能か否かを返す関数、61
4は、メッセージ送信の戻り値に引数で指定された戻り
値をセットする関数である。クライアントがメッセージ
送信611を実行すると、サーバ側で受信可能613の
値が真になる。サーバは、この時メッセージ受信612
を実行することによりメッセージを受け取る。サーバが
メッセージ返信614を実行すると、クライアント側
で、メッセージ送信611の実行が終了し、戻り値とし
てメッセージ返信614の引数”戻り値”で指定された
値が得られる。
【0026】図6(b)は、リンク管理テーブル13中
のリンク管理レコード538の生成又は削除を行う関数
である。621は新たなリンク管理レコード538を生
成し、まだ使われていないリンクidをリンク管理レコ
ード538のリンクidの項に書き込み、クライアント
idの項、サーバidの項にそれぞれソースで指定した
オブジェクトのid、デスティネーションで指定したオ
ブジェクトのidを書き込み、リンクidの項に書き込
んだリンクidを返す関数である。622は指定された
リンクidに対応するリンク管理レコード538を削除
する関数である。
【0027】図6(c)は、リンク管理レコード538
の各項目の値を設定する関数である。623は、指定さ
れたリンクidに対応するリンク管理レコード538の
手続き名の項に指定された手続き名を書き込む関数であ
る。624、625は、指定されたリンクに対応するリ
ンク管理レコード538の引数リスト535のクライア
ント536、サーバ537それぞれに、指定された引数
のリストを書き込む関数である。
【0028】図6(d)の626、627、628、6
29及び640は、それぞれリンク管理レコード538
のクライアントid532、サーバid533、手続き
名534、引数リスト(クライアント)536、及び引
数リスト(サーバ)537の値を返す関数である。
【0029】図6(e)はリンク名管理テーブル413
に対する操作関数であり、641はリンク名管理テーブ
ル413のレコード513を新たに生成し、そのレコー
ド513のリンク名511及びリンクid512の各項
に指定された名前とリンクidを書き込む関数である。
642は、リンク名管理テーブルから指定されたリンク
名を持つレコード513を検索し、そのレコードに書か
れたリンクidを返す関数である。
【0030】図6(f)の631は、手続き管理テーブ
ル424から指定された手続き名521を持つレコード
523を検索し、そのレコードに書かれた手続きへのポ
インタ522を返す関数である。尚、手続き管理テーブ
ル424は、アプリケーションプログラム421作成時
に、アプリケーションプログラムの開発者によって作成
される。
【0031】次に、あるアプリケーションから他のアプ
リケーションで定義された手続きを利用する場合のサー
バ及びクライアントの処理フローを図1を用いて説明す
る。なお、リンクを呼んだ時に実行する手続き1つに対
応して、その手続き名と引数をリンクに設定する別の手
続きが1つ存在する。
【0032】まず、クライアントとそれが呼び出すサー
バとの間にリンクをはる(111)、すなわち、クライ
アントの識別子とサーバの識別子をリンク管理テーブル
13に書き込み、そのリンクの識別子を得る。次に、手
続きを呼び出す時に必要な引き数のうちクライアント側
で得られるものをリンク管理レコードに書き込み(11
2)、サーバに対してステップ111で張ったリンクに
対応するリンク管理レコードに手続きの呼出し方を書き
込むようメッセージによって依頼する(113)。サー
バは、メッセージを受け取ってメッセージに書かれた手
続きを実行する(114)、すなわち、手続きの呼出し
方と必要な引き数をリンク管理テーブル13中のリンク
管理レコードに書き込む。また、クライアントがサーバ
に手続きの実行を依頼する場合は、リンク管理テーブル
13から呼び出したい手続きの呼び出し方法を保持する
リンク管理レコードを検索し、その内容をメッセージと
してサーバに送信する(115)。サーバは、メッセー
ジを受け取ってそのメッセージに書かれた手続き名に対
応する手続きを実行する(116)。
【0033】次に、サーバ側の手順の詳細を図2を用い
て説明する。図2の(a)はクライアントからメッセー
ジを受け取ってそれを処理する手順を示すフローチャー
トであり、図1の処理114、116、即ち、メッセー
ジに書かれた手続き名に対応する手続きを検索し、その
手続きを実行する手順の詳細である。図2の(b)は送
られてきたメッセージに含まれる手続き名がリンクを更
新する手続きに対応する場合の処理手順を示すフローチ
ャートであり、図1の処理116の詳細である。
【0034】クライアントからメッセージを受け取って
それを処理する手順を詳細に説明する。まず、サーバの
アプリケーションを終了するか否かを判定し(21
1)、終了するのであればサーバの処理を終了する(2
12)。そうでなければ、メッセージ受信可能か否かを
メッセージ送受信ルーチン44の機能613で判定し
(213)、受信可能でなければステップ211に戻
る。受信可能であればメッセージ送受信ルーチン34の
機能612でメッセージを受信し、クライアントのオブ
ジェクトid、手続き名、及び引数リストを得る(21
4)。次に、手続き検索ルーチン423の機能631に
よって手続き管理テーブル424を検索し、手続き名5
21に対応する手続きへのポインタ522を得(21
5)、その手続きを実行し(216)、その結果をメッ
セージ送受信ルーチン44の機能614によってクライ
アントに返し(217)、ステップ211に戻る。
【0035】次に、送られてきたメッセージに含まれる
手続きがリンク管理レコードを更新する手続きに対応す
る場合の処理手順を詳細に説明する。これは図2の
(a)のステップ216の詳細である。なお、図3のス
テップ316に示すように、リンク管理テーブルの更新
を依頼するメッセージの引数リストにはリンクidが必
ず含まれる。まず、クライアントによって指定されたリ
ンクに、その手続きに対応する別の手続きの手続き名を
リンク操作ルーチン45の機能623で設定し(22
1)、アプリケーション固有データ422に基づく計
算、あるいはアプリケーションのユーザの入力によって
上記の手続きを実行するのに必要な引数を得(22
2)、得られた引数のリストをリンク操作ルーチン44
の機能625によってリンクに設定し(223)、処理
を終了する。尚、ステップ221のリンクidはステッ
プ214で受信されたメッセージの戻り値の1つである
引数のリストに含まれる。また、手続きPはリンク管理
テーブルを更新する手続き毎にアプリケーション作成者
によって決められた手続きの名前である。
【0036】次に、クライアント側の手順の詳細を図3
を用いて詳細に説明する。図3の(a)はリンクを呼ん
だ時に実行すべき手続きをサーバに登録させる手順を示
すフローチャートであり、図1の処理111、112、
113の詳細である。図3の(b)は図1の処理115
の詳細である。
【0037】リンクを呼んだとき実行すべき手続きをサ
ーバに登録させる手順を図3(a)を用いて詳細に説明
する。まず、アプリケーションユーザからの入力等によ
ってサーバのオブジェクトidを得る(311)。次
に、自身(クライアント)のオブジェクトidと得られ
たサーバのオブジェクトidを指定してリンク操作ルー
チン45の機能621によってリンクを張り(31
2)、リンク操作ルーチン45の機能641によってリ
ンク名とリンクidとの組をリンク名管理テーブルに登
録する(313)。このリンク名はリンクを呼ぶ時にリ
ンクを検索するためのものである。次に、リンクを呼ぶ
時に必要になる引数のうち、クライアント側で得られる
ものをアプリケーションユーザからの入力等により得
(314)、リンク操作ルーチン45の機能624によ
り得られた引数を設定する(315)。次に、サーバの
オブジェクトid、手続きの呼出し方法をリンク管理テ
ーブルに書き込む手続きの手続き名、及びリンクidを
指定して、メッセージ送受信ルーチン44の機能611
を実行し(316)、処理を終了する。
【0038】次に、図1の処理115の手順を図3
(b)を用いて詳細に説明する。まず、リンク操作ルー
チン45の機能642により、呼び出したい手続きの呼
び出し方法を保持するリンク管理テーブルを検索する
(321)。次に、リンク操作ルーチン45の機能62
7、628、629、640によって、サーバのオブジ
ェクトid、手続き名、クライアント側で指定した引数
のリスト、及びサーバ側で指定した引数のリストを得る
(322、323、324、325)。次に、得られた
サーバid、手続き名、及び2つの引数のリストを連結
したものを指定してメッセージ送受信ルーチン44の機
能611を呼び出す(326)。
【0039】本実施例に依れば、サーバの処理プログラ
ムを作成する際、リンク管理テーブルを更新する手続き
の引き数をリンクidのみとし、クライアント側でリン
ク管理レコードに書き込む引き数を手続きに依存しない
固定値とすることにより、クライアントの処理プログラ
ムを一切変更しなくてもサーバの手続きの呼出し方を変
更できる。また、新たに導入したサーバの手続きの引き
数が従来のものと異なっても、そのサーバが上記の条件
を満足していれば、クライアントの変更無しに新たなサ
ーバの手続きを利用できる。
【0040】例えば、ワードプロセッサに編集された文
書内にスプレッドシートで作成された表を埋め込んで表
示する場合、ワードプロセッサをクライアントとし、ス
プレッドシートをサーバとしてそれぞれのプログラムを
作成する。ワードプロセッサオブジェクトはスプレッド
シートオブジェクトとリンクを張り、そのリンクidを
引き数として、リンク管理レコードに表示手続きの呼出
し方を書き込むよう依頼するメッセージをスプレッドシ
ートに送る。スプレッドシートは、表示に必要な表示範
囲と表示手続きの手続き名をリンク管理テーブルに登録
する。ワードプロセッサは、表を表示する必要が生じる
度にリンク管理テーブルを検索し、表示方法を参照して
表を表示するためのメッセージをスプレッドシートに送
る。新たに、作画ソフトで作成した図形を文書に埋め込
んで表示するという要求が出た場合、スプレッドシート
とワードプロセッサ間でのやり取りと同様の処理をワー
ドプロセッサと作画ソフト間で行う。この時、処理の違
いはリンク管理テーブルに登録される内容のみであり、
ワードプロセッサの処理手順は全く同じである。即ち、
ワードプロセッサの処理プログラムを一行も変更せずに
新たなサーバの手続きを利用できる。本実施例では、ア
プリケーションとデータを一体としてオブジェクトとし
て扱ったが、ここで説明した手続き呼び出しの方法は、
オブジェクト指向言語におけるオブジェクト及びメソッ
ド呼び出しに対しても同様に適用できる。
【0041】(第2の実施例)第1の実施例では、デー
タとそれを処理するアプリケーションを一体にまとめ、
これをオブジェクトとして管理し、メッセージを通して
オブジェクト間の通信を行うことにより、目的の処理を
達成する例を述べた。第2の実施例は、オブジェクトの
管理手段、及びメッセージの送受信手段を用いない場合
のアプリケーションの結合方法であり、この実施例を図
7及び図8を用いて詳細に説明する。ここで、オブジェ
クト管理手段がない場合とは、図4に示した処理プログ
ラム403とデータ402とが別々に管理され、オブジ
ェクトid401が存在しない場合である。また、メッ
セージ送受信手段がない場合とは、図4に示したメッセ
ージ送受信ルーチン44がない場合である。以下、他の
アプリケーションの手続きを呼び出すアプリケーション
をクライアントアプリケーション、呼び出される側のア
プリケーションをサーバアプリケーションと呼ぶ。
【0042】図7は、サーバアプリケーションの起動コ
マンドの形式、及びサーバアプリケーションの処理手順
を示すフローチャートであり、図8は、クライアントア
プリケーション、及びサーバアプリケーションのソフト
ウェア構成例である。
【0043】図7に示すサーバアプリケーションの起動
コマンドの形式71は、サーバを起動するためのコマン
ド名711、コマンドの引数として、ファイル名等のサ
ーバアプリケーションが処理するデータの識別子を表わ
すデ−タid712、起動すべき手続きの識別子を表わ
す手続きid713、及び手続きid713に対応する
手続きの引数リスト714から構成される。また、図7
の72は、サーバアプリケーションの処理手順を示すフ
ローチャートである。
【0044】図8のクライアントアプリケーション81
は、固有の処理を行なうアプリケーションプログラム8
11、アプリケーション固有のデータ812、リンクに
対して操作を行なうリンク操作ルーチン84、及びリン
ク名とリンクidの組を保持するリンク名管理テーブル
813から構成される。また、サーバアプリケーション
82は、固有の処理を行なうアプリケーションプログラ
ム821、アプリケーション固有のデータ822、及び
リンクに対して操作を行なうリンク操作ルーチン84か
ら構成される。また、リンク管理テーブル83は、図5
の53と同様の構成であり、クライアントid531及
びサーバid533の替わりに、クライアントアプリケ
ーションに対応するデータ812(以下クライアントデ
ータとよぶ)の識別子831、及びサーバアプリケーシ
ョンに対応するデータ822(以下サーバデータとよ
ぶ)の識別子832を有する。リンク管理テーブル83
に対する操作を行うリンク操作ルーチン84があり、こ
のル−チンも、図6の(b)〜(e)と同様な機能を有
する。ただし、引き数や戻り値に含まれるサーバid及
びクライアントidが、それぞれサーバデータ822の
識別子、及びクライアントデータ812の識別子となる
点が異なる。また、リンク名管理テーブル813は図4
のテ−ブル413と同一である。
【0045】次に、クライアントアプリケーションから
サーバアプリケーションで定義された手続きを利用する
場合のサーバアプリケーションの手順を図7を用いて詳
細に説明する。なお、リンクを呼んだとき実行する手続
き1個に対して、その手続き名と引数をリンクに設定す
る別の手続きが1個存在する。また、サーバアプリケー
ションは手続きP1,P2,...Pnを実行できるも
のとする。まず、起動コマンドの引数を解析し、データ
の識別子、手続きの識別子、及び引数リストを得る(7
21)。次に、手続きの識別子とP1とを比較し(72
2)、双方が等しければ手続きP1を実行する(72
3)。そうでなければ(722)、手続きの識別子とP
2と比較し(724)、双方が等しければ手続きP2を
実行する(725)。この操作をさらにP3からPnま
で繰返し、Pnと等しくなければ(726)、何も手続
きを実行しないで処理を終了する(728)。なお、P
1からPnにはリンク管理テーブルを更新する手続きが
含まれるが、その処理手順は図2の(b)と同様であ
る。なお、リンク管理テーブルを更新する手続きの場合
は、引き数リスト715にリンクの識別子が含まれる。
【0046】次に、クライアントアプリケーションの処
理手順を説明する。これは、図3のメッセージ送信部分
316と326をサーバアプリケーションの起動で置き
換え、サーバidとクライアントidをそれぞれサーバ
データの識別子、及びクライアントデータの識別子に置
き換えたものである。すなわち、リンクを呼んだとき実
行すべき手続きをサーバに登録させる手順は、まず、ア
プリケーションユーザからの入力等によってサーバデー
タの識別子を得る(311)。次に、自身のデータ(ク
ライアントデータ)の識別子と得られたサーバデータの
識別子を指定して、リンク操作ルーチン84の機能によ
りリンクを張り(312)、リンク操作ルーチン84の
機能によって、リンク名とリンクidの組をリンク名管
理テーブルに登録する(313)。次に、リンクを呼ぶ
時に必要な引数のうち、クライアント側で得られるもの
をアプリケーションユーザからの入力等により得(31
4)、リンク操作ルーチン84の機能624により得ら
れた引数を設定する(315)。次に、サーバデータの
識別子、手続きの呼び出し方法をリンク管理テーブルに
書き込む手続きの手続き名、及びリンクidを引き数と
して指定してサーバを起動し(316の替わり)、処理
を終了する。
【0047】リンクを呼ぶ手続きの手順は、まず、リン
ク操作ルーチン84の機能により、呼び出したい手続き
の呼び出し方法を保持するリンク管理レコードを検索す
る(321)。次に、リンク操作ルーチン84の機能6
27、628、629、640によって、サーバデータ
の識別子、手続き名、クライアント側で指定した引数の
リスト、及びサーバ側で指定した引数のリストを得る
(322、323、324、325)。次に、得られた
サーバデータの識別子、手続き名、及び2つの引数のリ
ストを連結したものを指定してサーバアプリケーション
82を起動する(326の替わり)。本実施例によれ
ば、メッセージ送受信手段がなくても第1の実施例と同
様の効果が得られる。
【0048】(第3の実施例)第1の実施例では、サー
バ42及びクライアント41の双方からリンク管理テー
ブル43を直接操作する例を示したが、リンク管理テー
ブルに対する処理を行うプログラムを作成して、そのプ
ログラムで一括してリンクに関する処理を行うこともで
きる。第3の実施例では、リンクテーブルを管理するオ
ブジェクトを導入し、このオブジェクトにメッセージを
送ってリンク管理テーブルに対する操作を依頼する。図
9を用いて第3の実施例を説明する。
【0049】図9は、リンク管理オブジェクトを用いて
他のアプリケーションの手続きを呼び出しながら処理を
行なうシステムのソフトウェア構成例である。図9に示
すクライアント41とサーバ42は、図4に示したクラ
イアント及びサーバと同じ構成である。ただし、リンク
操作ルーチン92の機能のみが異なる。リンク管理オブ
ジェクト91は、リンク管理テーブルに対する処理を行
うオブジェクトであり、クライアント41とサーバ42
双方に対するサーバとして動作する。即ち、クライアン
ト41とサーバ42からメッセージを受け取り、リンク
管理テーブルに関する処理を行い、その結果をメッセー
ジの戻り値として返す。リンク管理オブジェクト91
は、他のオブジェクトと同様に、オブジェクトid、処
理プログラム、及びデータからなる。データとしては、
リンク管理テーブル13及び手続き名管理テーブル91
2をもつ。これらは、図5における13、424と同じ
構造である。また、処理プログラムとして、メッセージ
送受信ルーチン44、リンク操作プログラム、及び手続
き検索ルーチン423をもつ。ル−チン44、423は
図4の場合と同一である。また、リンク操作プログラム
911は、図6の(b)〜(d)に対応するリンク管理
テーブルの更新又は参照を行う手続きと、送られてきた
メッセージに応じてそれらの手続きを呼び出す処理とか
らなる。この処理手順は図2の(a)と同じである。
【0050】図4に示したリンク操作ルーチン45は、
リンク管理テーブル13、及びリンク名管理テーブル4
13を操作する機能の集まりである。一方、図9に示す
リンク操作ルーチン92は、メッセージ操作ルーチン3
4を介してリンク管理オブジェクト91へメッセージ4
7を送って、図6に示した処理620〜640を依頼す
る機能と、リンク名管理テーブル413を操作する機能
の集まりである。すなわち、リンク操作ルーチンの機能
620〜640は、それぞれのル−チンが呼び出された
時に、その機能に対応する手続き名と引き数リストを含
むメッセージをリンク管理オブジェクト91に送り、そ
のメッセージの戻り値をその機能の戻り値とする。
【0051】第3の実施例に依れば、リンク管理テーブ
ルに対する処理をすべてリンク管理オブジェクトが行う
ので、リンク管理レコードに書き込む時にサーバやクラ
イアントのプログラマはリンクのデータ形式を意識しな
くてよい。また、リンク管理テーブルのデータ構造を変
更する場合、リンク操作プログラムを変更するのみで、
他のオブジェクトを変更する必要がない。
【0052】(第4の実施例)第1の実施例では、クラ
イアントとサーバの双方からサーバの手続きを呼び出す
ための情報をリンク管理レコードに書き込む例を示した
が、サーバからクライアントに対するメッセージの戻り
値として手続きを呼び出すための情報を伝え、クライア
ントがそれを管理することもできる。第4の実施例で
は、手続き呼び出し情報をクライアントのデータとして
保持し、それに基づいてサーバの手続きを呼び出す例を
図10、図11、及び図12を用いて詳細に説明する。
図10は、サーバで発生したある手続きの呼出し方(手
続き名と引数のリスト)をクライアントに知らせる手続
きの処理手順を示すフローチャートである。図11はク
ライアントの処理手順の詳細を示すフローチャートであ
り、図12はソフトウェアの構成例である。
【0053】図11の(a)はサーバに対して手続きの
呼出し方を問合せる手続きの処理手順であり、(b)は
サーバに呼出し方を問合せた手続きを呼び出す時の処理
手順を表すフローチャートである。なお、サーバの処理
手順は図2の(a)と同じである。
【0054】図12に示すサーバ42の構成は図4のサ
−バと同一である。また、クライアント41の構成は、
リンク操作ルーチン45の替わりに手続き呼び出し情報
管理ルーチン1202を有し、リンク名管理テーブル4
13の替わりに手続き呼び出し情報管理テーブル120
1を有することのみが異なる。また、手続き呼び出し情
報管理テーブル121は複数のレコード1218の列で
構成され、それぞれのレコード1218は、キー121
1、クライアントid1212、サーバid1213、
手続き名1214、及び引数リスト1215からなる。
【0055】次に、手続き呼び出し情報をクライアント
のデータとして保持し、それに基づいてサーバの手続き
を呼び出す手順を、図2、図10、図11及び図12を
用いて詳細に説明する。まず、クライアントはサーバi
dを取得し(1111)、手続き呼び出し情報管理テー
ブル1201のレコード1218を生成し、サーバid
1213とクライアントid1212をそのレコード1
218に登録する(1112)。次に、手続きを呼び出
す時のキー1211を登録し(1113)、クライアン
トで得られる引数をクライアント用引数リスト1216
に登録し(1114)、サーバ42に対してメッセージ
47を送る(1115)。サーバは送られたメッセージ
を受信し(214)、手続きを検索して(215)、対
応する手続きを実行する(図10)。即ち、サーバ側で
得られる引数のリストを得(101)、手続き名と引数
のリストを戻り値とし(102,216)、メッセージ
返信を実行する(217)。クライアントは、返信され
た値を手続き呼び出し情報管理テーブル1201内のレ
コード1218の手続き名1214、及びサーバ用引数
リスト1217に登録する(1116)。
【0056】手続き呼び出し情報管理テーブル121に
登録した手続きを実行する場合は、まず、クライアント
がキーにより手続き呼び出し情報管理テーブル121を
検索し、サーバid1213、手続き名1214、及び
引数リスト1215を得(1121)、メッセージを送
信する(1122)。サーバはメッセージを受信し(2
14)、メッセージに対応する手続きを実行し(21
5、216)、メッセージ返信を実行する(217)。
【0057】
【発明の効果】以上述べたように、本発明によれば、リ
ンクされた時に初めて判明するサーバ(メッセージの受
け手)とそのサーバ固有の手続き名や引数のリストを、
クライアントアプリケーションのプログラミング時に指
定しなくても、アプリケーション実行時に動的に指定で
き、サーバが提供する様々な手続きを実行できる。さら
に、クライアントのプログラムを変更しなくてもサーバ
の変更に対処できる。
【図面の簡単な説明】
【図1】あるオブジェクト(クライアント)から他のオ
ブジェクト(サーバ)で定義された手続きを利用する場
合の、サーバ及びクライアントの処理フローの一例であ
る。
【図2】図1に示すサーバの処理手順の詳細を表すフロ
ーチャートである。
【図3】図1に示すクライアントの処理手順の詳細を表
すフローチャートである。
【図4】オブジェクトの構成例、メッセージの構成例、
及び他のアプリケーションの手続きを呼び出しながら処
理を行うシステムのソフトウェア構成例である。
【図5】図4に示すテーブル413、424、13の詳
細な構成例である。
【図6】図4に示すルーチン44、45、423の機能
の説明の一覧である。
【図7】サーバアプリケーションの起動コマンドの形
式、及びサーバアプリケーションの他の処理手順を表す
フローチャートである。
【図8】サーバアプリケーション、及びクライアントア
プリケーションのソフトウェア構成例である。
【図9】リンク管理オブジェクトを用いて他のアプリケ
ーションの手続きを呼び出しながら処理を行うシステム
のソフトウェア構成例である。
【図10】手続きの呼出し方をクライアントに知らせる
サーバの手続きの処理手順を表すフローチャートであ
る。
【図11】クライアントの処理手順の詳細を表すフロー
チャートである。
【図12】他のアプリケーションの手続きを呼び出しな
がら処理を行うシステムのソフトウェア構成例である。
【符号の説明】
13 リンク管理テーブル 40 オブジェクト 41 クライアント 42 サーバ 47 メッセージ 413 リンク名管理テーブル 424 手続き名管理テーブル 71 サーバの起動コマンドの形式 81 クライアントアプリケーション 82 サーバアプリケーション 83 リンク管理テーブル 91 リンク管理オブジェクト 121 手続き呼び出し情報管理テーブル

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】ある計算機プログラムが、他の計算機プロ
    グラムの手続きを呼び出しながら処理を進めるシステム
    において、呼び出す側のプログラムは、呼び出される側
    のプログラムに対して、前記手続きの呼び出し方法の通
    知を依頼するステップと、前記呼び出し方法を検索し手
    続きを呼び出すステップを有し、呼び出される側のプロ
    グラムは前記手続きの呼び出し方法の通知の依頼を受け
    ると呼び出す側のプログラムに前記呼び出し方法を通知
    するステップと、前記手続きが呼び出されると前記手続
    きを実行するステップを有することを特徴とするアプリ
    ケ−ション結合方法。
  2. 【請求項2】前記システムにおいて、前記手続きの呼出
    し方法を通知するステップでは、呼び出す側のプログラ
    ムが処理するデータの識別子、呼び出される側のプログ
    ラムが処理するデータの識別子、手続きの呼び出し方
    法、及び前記呼び出し方法の識別子を、呼び出す側のプ
    ログラムから参照できる領域に書き込み、前記手続きの
    呼び出し方法を検索するステップでは、前記領域から前
    記方法の識別子に基づき検索することを特徴とする請求
    項1記載のアプリケ−ション結合方法。
  3. 【請求項3】前記システムにおいて、前記手続きの呼出
    し方法を保持する領域を管理するプログラムを有し、呼
    び出す側のプログラムと呼び出される側のプログラムと
    が前記呼び出し方法を管理するプログラムの手続きを呼
    び出すステップを有し、前記領域への書き込み及び検索
    は、前記領域を管理するプログラムに、手続きを呼び出
    すプログラムと呼び出されるプログラムが依頼すること
    によって行うことを特徴とする請求項1または2記載の
    アプリケ−ション結合方法。
  4. 【請求項4】前記システムにおいて、前記手続きを呼び
    出すステップでは、呼び出す側のプログラムが、所定の
    引き数に基づいて呼び出される側のプログラムを起動す
    ることを特徴とする請求項1または2または3記載のア
    プリケ−ション結合方法。
  5. 【請求項5】請求項2記載の手続きの呼び出し方法を保
    持する領域を有し、前記領域の内容を更新する手続き、
    前記領域の内容を参照する手続き、及び前記領域に書か
    れた手続きを実行する手続きからなる、手続き呼び出し
    方法管理ライブラリ。
JP09514792A 1992-04-15 1992-04-15 アプリケーション結合方法 Expired - Fee Related JP3489123B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP09514792A JP3489123B2 (ja) 1992-04-15 1992-04-15 アプリケーション結合方法
US08/444,385 US5539909A (en) 1992-04-15 1995-05-19 Negotiation method for calling procedures located within other objects without knowledge of their calling syntax

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP09514792A JP3489123B2 (ja) 1992-04-15 1992-04-15 アプリケーション結合方法

Publications (2)

Publication Number Publication Date
JPH05289871A true JPH05289871A (ja) 1993-11-05
JP3489123B2 JP3489123B2 (ja) 2004-01-19

Family

ID=14129693

Family Applications (1)

Application Number Title Priority Date Filing Date
JP09514792A Expired - Fee Related JP3489123B2 (ja) 1992-04-15 1992-04-15 アプリケーション結合方法

Country Status (2)

Country Link
US (1) US5539909A (ja)
JP (1) JP3489123B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10240768A (ja) * 1997-02-21 1998-09-11 Nec Corp 異プログラム言語で構成されたデータベースシステムの検索方法
US6311227B1 (en) 1995-11-20 2001-10-30 Nec Corporation Procedure calling method
JP2008538428A (ja) * 2005-04-08 2008-10-23 マイクロソフト コーポレーション ネットワークアプリケーションプログラム間で要求されたデータを生成および通信するためのシステムおよび方法
JP2011504621A (ja) * 2007-11-02 2011-02-10 テルコーディア ライセンシング カンパニー, リミテッド ライアビリティ カンパニー ポリシーが与えられたプログラミングのための方法及びシステム

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3365576B2 (ja) * 1993-06-14 2003-01-14 インターナショナル・ビジネス・マシーンズ・コーポレーション オブジェクトの実行方法および装置
US5485617A (en) 1993-12-13 1996-01-16 Microsoft Corporation Method and system for dynamically generating object connections
AU3415595A (en) * 1994-10-04 1996-04-26 Banctec, Inc. An object-oriented computer environment and related method
US5742826A (en) * 1994-11-09 1998-04-21 International Business Machines Corporation Object encapsulation protection apparatus
EP0735472A3 (en) * 1995-03-31 2000-01-19 Sun Microsystems, Inc. Method and apparatus for conspiracy among objects
US6249822B1 (en) * 1995-04-24 2001-06-19 Microsoft Corporation Remote procedure call method
BR9608285A (pt) * 1995-05-09 2000-04-25 Smartmove Interface de cartão
US6405262B1 (en) * 1995-07-14 2002-06-11 Microsoft Corporation Efficient inter-process object and interface pinging
US5742810A (en) * 1995-08-31 1998-04-21 International Business Machines Corporation System, method and computer program product for passing host variables to a database management system
US5737607A (en) * 1995-09-28 1998-04-07 Sun Microsystems, Inc. Method and apparatus for allowing generic stubs to marshal and unmarshal data in object reference specific data formats
US5815716A (en) * 1995-10-06 1998-09-29 International Business Machines Corporation Method for supporting multiple call interface conventions for computer programs using directives
US8271339B2 (en) * 1995-11-13 2012-09-18 Lakshmi Arunachalam Method and apparatus for enabling real-time bi-directional transactions on a network
US8037158B2 (en) 1995-11-13 2011-10-11 Lakshmi Arunachalam Multimedia transactional services
US7930340B2 (en) 1995-11-13 2011-04-19 Lakshmi Arunachalam Network transaction portal to control multi-service provider transactions
JP3524270B2 (ja) * 1996-06-24 2004-05-10 株式会社日立製作所 並列処理システム
US5727145A (en) * 1996-06-26 1998-03-10 Sun Microsystems, Inc. Mechanism for locating objects in a secure fashion
US6282580B1 (en) * 1996-07-02 2001-08-28 Sun Microsystems, Inc. Bridge providing communication between different implementations of object request brokers
EP0825506B1 (en) 1996-08-20 2013-03-06 Invensys Systems, Inc. Methods and apparatus for remote process control
US6687761B1 (en) 1997-02-20 2004-02-03 Invensys Systems, Inc. Process control methods and apparatus with distributed object management
US6189046B1 (en) * 1997-03-27 2001-02-13 Hewlett-Packard Company Mechanism and method for merging cached location information in a distributed object environment
US6408342B1 (en) * 1997-03-28 2002-06-18 Keith E. Moore Communications framework for supporting multiple simultaneous communications protocols in a distributed object environment
US6742050B1 (en) 1997-03-31 2004-05-25 Intel Corporation Inter-object messaging
US6158044A (en) * 1997-05-21 2000-12-05 Epropose, Inc. Proposal based architecture system
US6125383A (en) 1997-06-11 2000-09-26 Netgenics Corp. Research system using multi-platform object oriented program language for providing objects at runtime for creating and manipulating biological or chemical data
JP3449684B2 (ja) * 1997-12-11 2003-09-22 富士通株式会社 ソフトウェア設定装置及びソフトウェア設定方法及び当該方法を実現するプログラムを記録した記録媒体
US6898792B1 (en) 1998-02-18 2005-05-24 Iona Technologies, Plc Foreign object definition information repository
US6691183B1 (en) 1998-05-20 2004-02-10 Invensys Systems, Inc. Second transfer logic causing a first transfer logic to check a data ready bit prior to each of multibit transfer of a continous transfer operation
US6611954B1 (en) * 1998-06-03 2003-08-26 Intel Corporation Binary compatible software objects
US6205576B1 (en) * 1998-06-05 2001-03-20 Nortel Networks Limited Method and apparatus for identifying indirect messaging relationships between software entities
US6907609B1 (en) 1999-02-01 2005-06-14 Iona Technologies Plc. Object request dispatch using matching of a segmented object key
US6453320B1 (en) 1999-02-01 2002-09-17 Iona Technologies, Inc. Method and system for providing object references in a distributed object environment supporting object migration
US7089530B1 (en) 1999-05-17 2006-08-08 Invensys Systems, Inc. Process control configuration system with connection validation and configuration
WO2000070531A2 (en) 1999-05-17 2000-11-23 The Foxboro Company Methods and apparatus for control configuration
US6754885B1 (en) 1999-05-17 2004-06-22 Invensys Systems, Inc. Methods and apparatus for controlling object appearance in a process control configuration system
US6501995B1 (en) 1999-06-30 2002-12-31 The Foxboro Company Process control system and method with improved distribution, installation and validation of components
US6788980B1 (en) 1999-06-11 2004-09-07 Invensys Systems, Inc. Methods and apparatus for control using control devices that provide a virtual machine environment and that communicate via an IP network
AU6615600A (en) 1999-07-29 2001-02-19 Foxboro Company, The Methods and apparatus for object-based process control
US6473660B1 (en) 1999-12-03 2002-10-29 The Foxboro Company Process control system and method with automatic fault avoidance
US6779128B1 (en) 2000-02-18 2004-08-17 Invensys Systems, Inc. Fault-tolerant data transfer
GB2366015B (en) * 2000-08-18 2005-04-20 Smart Media Ltd Apparatus, system and method for enhancing data security
JP4301482B2 (ja) * 2001-06-26 2009-07-22 インターナショナル・ビジネス・マシーンズ・コーポレーション サーバ、情報処理装置及びそのアクセス制御システム並びにその方法
DE10131944A1 (de) * 2001-07-02 2003-01-16 Siemens Ag Verfahren zur Verarbeitung von Daten
US20030192038A1 (en) * 2002-04-09 2003-10-09 Thomas Hagmann Linking data objects to a project development system
US20030217054A1 (en) 2002-04-15 2003-11-20 Bachman George E. Methods and apparatus for process, factory-floor, environmental, computer aided manufacturing-based or other control system with real-time data distribution
JP2004206682A (ja) * 2002-12-12 2004-07-22 Seiko Epson Corp デバイス管理システム、デバイス管理端末、ネットワークデバイス、端末用プログラムおよびデバイス用プログラム、並びにデバイス管理方法
US7941453B1 (en) * 2003-05-09 2011-05-10 Vignette Software Llc Method and system for deployment of content using proxy objects
US7761923B2 (en) 2004-03-01 2010-07-20 Invensys Systems, Inc. Process control methods and apparatus for intrusion detection, protection and network hardening
US7877366B2 (en) * 2004-03-12 2011-01-25 Oracle International Corporation Streaming XML data retrieval using XPath
WO2007123753A2 (en) 2006-03-30 2007-11-01 Invensys Systems, Inc. Digital data processing apparatus and methods for improving plant performance
CN102124432B (zh) 2008-06-20 2014-11-26 因文西斯系统公司 对用于过程控制的实际和仿真设施进行交互的系统和方法
US8463964B2 (en) 2009-05-29 2013-06-11 Invensys Systems, Inc. Methods and apparatus for control configuration with enhanced change-tracking
US8127060B2 (en) 2009-05-29 2012-02-28 Invensys Systems, Inc Methods and apparatus for control configuration with control objects that are fieldbus protocol-aware
US20110314256A1 (en) * 2010-06-18 2011-12-22 Microsoft Corporation Data Parallel Programming Model
US8589867B2 (en) 2010-06-18 2013-11-19 Microsoft Corporation Compiler-generated invocation stubs for data parallel programming model
US10061626B2 (en) * 2013-06-05 2018-08-28 Splunk Inc. Application framework providing a registry for mapping names to component instances

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5261080A (en) * 1987-08-21 1993-11-09 Wang Laboratories, Inc. Matchmaker for assisting and executing the providing and conversion of data between objects in a data processing system storing data in typed objects having different data formats
US5187787B1 (en) * 1989-07-27 1996-05-07 Teknekron Software Systems Inc Apparatus and method for providing decoupling of data exchange details for providing high performance communication between software processes
US5218699A (en) * 1989-08-24 1993-06-08 International Business Machines Corporation Remote procedure calls in heterogeneous systems
US5280610A (en) * 1990-08-14 1994-01-18 Digital Equipment Corporation Methods and apparatus for implementing data bases to provide object-oriented invocation of applications
US5421016A (en) * 1991-12-12 1995-05-30 International Business Machines Corporation System and method for dynamically invoking object methods from an application designed for static method invocation

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6311227B1 (en) 1995-11-20 2001-10-30 Nec Corporation Procedure calling method
JPH10240768A (ja) * 1997-02-21 1998-09-11 Nec Corp 異プログラム言語で構成されたデータベースシステムの検索方法
JP2008538428A (ja) * 2005-04-08 2008-10-23 マイクロソフト コーポレーション ネットワークアプリケーションプログラム間で要求されたデータを生成および通信するためのシステムおよび方法
JP2011504621A (ja) * 2007-11-02 2011-02-10 テルコーディア ライセンシング カンパニー, リミテッド ライアビリティ カンパニー ポリシーが与えられたプログラミングのための方法及びシステム
US8448159B2 (en) 2007-11-02 2013-05-21 Tti Inventions C Llc Method and system for policy enabled programming

Also Published As

Publication number Publication date
US5539909A (en) 1996-07-23
JP3489123B2 (ja) 2004-01-19

Similar Documents

Publication Publication Date Title
JP3489123B2 (ja) アプリケーション結合方法
US6442565B1 (en) System and method for transmitting data content in a computer network
US7114128B2 (en) Object-oriented framework for hyperlink navigation
US6233582B1 (en) Persistent storage interface for a configuration object-based system
US5303375A (en) System and method for facilitating selection of running functional process in object-oriented environments
JP3782477B2 (ja) オペレーティングシステムのシステム管理のためのイベントアーキテクチャ
US20080195628A1 (en) Web data usage platform
US20050234929A1 (en) Methods and systems for interfacing applications with a search engine
US20030093572A1 (en) Method and system for browser integration using a forwarding plug-in
EP1065592B1 (en) Shared management of data objects in a communication network
KR102385351B1 (ko) 트랜잭셔널 프로세싱 환경에서 분산형 캐싱을 제공하기 위한 시스템 및 방법
CN113971037A (zh) 应用处理方法、装置、电子设备及存储介质
US8032504B2 (en) Mechanism for enabling new task types to be added to a system for managing distributed nodes
EP1313033A2 (en) File system, control method, and program
US20020198908A1 (en) Method and apparatus for delivery of external data from a centralized repository in a network data processing system
US7424493B2 (en) Replication-based propagation mechanism for pipelines
US7853605B2 (en) Auxiliary data provider
US7861155B2 (en) Method and system for providing message publishing on a dynamic page builder on the internet
JP6902580B2 (ja) トランザクション処理環境において分散型キャッシングを提供するためのシステムおよび方法
AU2019202964B2 (en) Apparatus and Method for Communicating Data in a Multi-Tennant Computer System
JP6902579B2 (ja) トランザクション処理環境において分散型キャッシングを提供するためのシステムおよび方法
JP6827084B2 (ja) トランザクション処理環境において分散型キャッシングを提供するためのシステムおよび方法
JP2004246789A (ja) プログラム機能拡張システム、プログラム機能拡張方法、プログラム機能拡張プログラムおよび記録媒体
JP2994299B2 (ja) プログラム実行の依頼と結果通知方法
JPH09160762A (ja) プログラム変換方式

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees