JPH0668046A - コンピュータシステムのプログラム連携機構 - Google Patents

コンピュータシステムのプログラム連携機構

Info

Publication number
JPH0668046A
JPH0668046A JP4220085A JP22008592A JPH0668046A JP H0668046 A JPH0668046 A JP H0668046A JP 4220085 A JP4220085 A JP 4220085A JP 22008592 A JP22008592 A JP 22008592A JP H0668046 A JPH0668046 A JP H0668046A
Authority
JP
Japan
Prior art keywords
macro
program
module
application
processing
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
JP4220085A
Other languages
English (en)
Inventor
Yoshiki Nakabayashi
良樹 仲林
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 JP4220085A priority Critical patent/JPH0668046A/ja
Publication of JPH0668046A publication Critical patent/JPH0668046A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

(57)【要約】 【目的】応用システム構築の簡易化を図る。 【構成】各モジュールは、アプリケーション本体21、
マクロ実行処理プログラム22、および通信処理プログ
ラム23から構成され、通信処理プログラム23による
プロス間通信によってモジュールが連携される。この場
合、クライアントモジュールは、サーバモジュールに対
してマクロ定義、マクロ呼び出しのための要求を行な
い、サーバモジュールはマクロ言語により指定された一
連の機能をアプリケーション本体21に実行させて、結
果をクライアントモジュールに返却する。このクライア
ント・サーバモデルのモジュール連携により、例えば、
データベース、ワープロ、表計算、電子メール等の既存
の応用プログラム群からそれぞれ必要な機能を、マクロ
言語で制御、連携することができ、既存の応用プログラ
ムを利用して応用システムを容易に構築できる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明はコンピュータシステム
に関し、特に複数のプログラムを連携させて応用システ
ムを構築するためのプログラム連携機構に関する。
【0002】
【従来の技術】近年、オフィス業務や情報処理部門で
は、情報需要の増加や環境の変化が急速に進行してい
る。このため、情報システムの開発に於いては、そのシ
ステムの多様化や開発の迅速化が、ますます要求されて
いる。
【0003】従来では、応用システムを構築する場合
は、新規開発、機能追加、仕様変更のいずれの場合に
も、C言語やCOBOL言語等の開発言語を用いてシス
テムを構築していた。ところが、このような開発言語を
用いたシステム構築では、利用者からの要求から実際に
システムを提供するまでに数か月から半年もの期間が要
されるという欠点がある。また、この開発期間に比例し
て開発コストも増大される問題がある。
【0004】このような問題を招くのは、従来では開発
言語を用いてシステムを開発しているため、要求された
機能のいくつかを実装したプログラムを既に開発してい
る場合でも、そのままその機能を利用することができな
いためである。
【0005】
【発明が解決しようとする課題】従来では、開発言語を
用いてシステムを開発しているため、要求された機能の
いくつかを実装したプログラムを既に開発している場合
でも、その機能を利用することができず、応用システム
の開発に多くの期間を要する欠点があった。
【0006】この発明はこのような点に鑑みてなされた
もので、個々の応用プログラムの持つ固有の機能をマク
ロ言語で連携できるようにし、応用システム開発を短期
間で行なうことができる開発支援システムの実現に好適
なプログラム連携機構を提供することを目的とする。
【0007】
【課題を解決するための手段および作用】この発明のプ
ログラム連携機構は、各種固有機能をそれぞれ提供する
複数の応用プログラムを実行するコンピュータシステム
において、前記応用プログラムの持つ各機能とその機能
を実行させるためのコマンド名との対応が定義されるコ
マンド登録手段と、前記応用プログラムの持つ1以上の
固有の機能から構成される一連の処理手続きがマクロ言
語により記述されて定義されるマクロ言語登録手段と、
前記コマンド登録手段およびマクロ言語登録手段を参照
して他の応用プログラムからのマクロ処理要求を解析
し、その処理要求に対応した一連の処理手続きが実行さ
れるように前記応用プログラムに対してその一連の処理
手続きに対応するコマンド群を発行するマクロ実行手段
と、このマクロ実行手段と他の応用プログラムとの間の
プロセス間通信を実行し、要求元のプログラムからマク
ロ実行手段へのマクロ処理要求の通知、およびその処理
結果をマクロ実行手段から要求元プログラムに返却する
通信手段とを、前記各応用プログラム毎に具備し、要求
された個々の機能を持つ複数の応用プログラムをマクロ
言語で連携して所定の応用処理を実行することを特徴と
する。
【0008】このプログラム連携機構においては、応用
プログラムの持つ各機能とその機能を実行させるための
コマンド名との対応がコマンド登録手段に定義され、ま
た、前記応用プログラムの持つ固有の機能から構成され
る一連の処理手続きがマクロ言語で記述されてマクロ言
語登録手段に定義されている。他の応用プログラムから
のマクロ処理要求は通信手段によって受け付けられ、マ
クロ実行手段に通知される。マクロ実行手段は、マクロ
言語登録手段を参照することによって要求されたマクロ
処理に対応する一連の処理手続きを認識し、その認識し
た処理手続きに含まれる機能を指定するコマンドをコマ
ンド登録手段から読み取る。そして、応用プログラムに
それらコマンド群が発行される。この結果、応用プログ
ラムで他の応用プログラムから要求された一連の機能が
実行され、その処理結果が通信手段によってその要求元
の応用プログラムに返却される。
【0009】したがって、要求する個々の機能を持った
応用プログラム群を、マクロ言語で制御、連携すること
ができ、既存の応用プログラムを利用して応用システム
を構築できる。また、このようなマクロ言語を用いた連
携機構は、従来のC言語やCOBOL言語等の開発言語
を使用する場合に比し、応用プログラムの機能を一連の
処理手続きを含む大きな単位で呼び出せること、その機
能呼び出し等の仕様が応用プログラム群で統一され、比
較的簡単な言語構造で機能を指定できること、からシス
テム開発を容易に行なうことが可能となる。また、既存
のプログラム群に要求する機能がない場合には、その機
能のみを開発言語を用いて開発するだけでよい、等の効
果がある。
【0010】
【実施例】以下、図面を参照してこの発明の実施例を説
明する。
【0011】図1にはこの発明の一実施例に係わるコン
ピュータシステムを利用して実現した協調分散型オンラ
イントランザクション処理システム(以下、協調分散型
OLTPシステムと称する)の構成例が示されている。
この協調分散型OLTPシステムは、分散処理コンピュ
ータ11をサーバとし、複数のワークステーション12
−1,12−nをクライントとした協調分散OAを構築
するためのものであり、分散処理コンピュータ11、お
よびワークステーション12−1,12−nは業界標準
のLAN10によって互いに接続され、互いに負荷を分
散しながら各種OA機能を提供するように構成されてい
る。
【0012】分散処理コンピュータ11は、ワークステ
ーション12−1,12−nからの要求に応じた各種O
LTP型サービスを提供するものであり、国際標準に準
拠した電子メールサービス(MX.400)機能11
1,113、リレーショナルデータベース(RDB)サ
ービス機能112,114、掲示板サービス機能112
を初め、既存アプリケーションの実行機能115、他機
種ホストコンピュータのデータ利用のためのエミュレー
タ機能116、ファイル・プリントサービス機能117
等を有している。
【0013】クライアント側のワークステーション12
−1,12−nは、CPU、メモリ、および各種入出力
装置(ディスプレイ、キーボード、マウス、2次記憶
等)を備えたコンピュータシステムであり、グラフィカ
ルユーザインターフェースの環境を実現するのに適した
例えばMS−Windows3.0(米国マイクロソフ
ト社の商標)等のオペレーティングシステム121の下
に動作制御され、LANカード122、およびLANマ
ネジャワークステーションソフト123によって分散処
理コンピュータ11等との通信を実現するように構成さ
れている。さらに、これら各クライアント側のワークス
テーション12−1,12−nには、日本語ワープロプ
ログラム、表計算プログラム、イメージ処理プログラ
ム、行動支援プログラム(スケジュール管理、名刺管
理、カレンダ、メモ帳)、電子メールプログラム、掲示
板プグラム、リスト型データベースプログラム等のアプ
リケーションプログラム群をモジュールとして管理し、
必要に応じてモジュールを選択し、それらを組み合わせ
て所望の手順にしたがったシステム構築を行なうための
モジュールウェア機能124と、これらモジュールと市
販の流通ソフト125とのデータ互換機能126等が設
けられている。
【0014】モジュールウェア機能124の提供するア
プリケーションプログラム群の選択・組み合わせの機能
(以下、“モジュール連携”と称する)は、この発明の
特徴とするものであり、以下、この“モジュール連携”
について説明する。
【0015】“モジュール連携”は、モジュールの動作
をプロセス間通信を用いて外部から制御・利用するため
の汎用機構である。ここで、モジュールとは、“モジュ
ール連携”でサーバとなる機能を持つ前述の基本アプリ
ケーションプログラム群を示す。また、同等の機能を持
った流通ソフトウェア125もモジュールとして考え
る。
【0016】また、“モジュール連携”では、プロセス
間通信を使用した制御コマンドとデータの流れを、標準
化し公開する。利用者は、公開されたモジュールの機能
を組み合わせ、目的のシステムを構築する。この“モジ
ュール連携”は、前述の基本アプリケーションプログラ
ム群およびユーザ作成のプログラム群を組み合わせて多
種多様なオフィス業務システムの構築を支援するため
に、以下のような特徴を有する。 (1)基本アプリケーション群の機能を利用
【0017】基本アプリケーション群の機能を、利用者
に「部品」として提供する。この提供によって、応用シ
ステムは、これらモジュールを体系化して利用でき、特
定の機能をもつ専用モジュールとして個々のアプリケー
ションを利用できる。
【0018】たとえば、表計算プログラムの持つ機能の
うち表入力機能だけを利用して、利用者の帳票の項目の
入力を受け取る専用プログラムとすることができる。こ
れによって専用の応用プログラムを作成する手間が削減
できる。 (2)標準プロトコルの採用
【0019】“モジュール連携”では、その基礎となる
プロセス間通信の機構として、標準の通信プロトコル、
例えば前述のWindows3.0で規定しているDD
E(Direct Data Exchange)プロ
トコルが採用される。
【0020】標準の通信プロトコルを採用しているた
め、市場に流通しているソフトウェアと通信することが
でき、それをモジュール連携の構成要素として利用する
こともできる。
【0021】たとえば、日本語ワープロプログラムから
流通ソフトウェアを呼び出して、その結果をデータとし
て日本語ワープロプログラムで提供される文書内に取り
込むといったことができる。これによって利用者が使用
しているソフトウェアを尊重し、さらにそれに付加価値
を付けたシステムが構成できる。また、Windows
では、クリップボード、OLE(Object Linking Embed
ding) 等のプロセス間通信の規約もある。
【0022】クリップボードは、利用者の画面操作を中
心にしたプログラム間のデータの受け渡しの規約であ
る。OLEは、他プログラムのデータを取り込むための
規約である。たとえば、DTPのようなマルチメディア
文書処理プログラムが、他プログラムの編集機能を利用
するために使用する。 (3)コマンドのマクロ言語化
【0023】“モジュール連携”では、モジュールに対
して指示等と行なうコマンドはプログラミング言語とな
っている。この言語で記述された指示は、プロセス通信
によって伝達され、またこの指示自身をプログラムとし
てモジュール内部に保存することもできる。このプログ
ラミング言語は、“マクロ言語”と称される。
【0024】従来のCOBOLやC言語による応用の作
成に比べ、マクロ言語ではモジュールの大きな機能を直
接使用でき、マクロ言語の仕様も小さいものであるの
で、プログラミングは簡便になっている。この言語を利
用してモジュールに複雑な動作を設定できる。たとえ
ば、クライアントからのコマンドを解析してサーバの動
作を変えたり、日付やワークステーションの状態などの
環境によって連携先を変えたりすることが実現できる。 (4)クライアント・サーバ方式
【0025】“モジュール連携”は、クライアント・サ
ーバ方式に基づいたアプリケーションの組み合わせによ
ってシステムを構築する。この場合、他のモジュールを
呼び出すプログラムを「クライアント」と呼び、呼び出
されるプログラムを「サーバ」と呼ぶ。クライアントと
サーバは、そのときの制御の主導権によって決まる。従
って、サーバとして機能するモジュールがさらに他のモ
ジュールのクライアントとなることもできる。これによ
って、入れ子になったサーバは、マクロ言語化されたコ
マンドで結び付けられてるので、コマンドをモジュール
の中で変更してサーバに送り直すといった高度な連携も
構築できる。次に、図2を参照して、“モジュール連
携”を実現するための基本アプリケーションプログラム
の基本構成を説明する。
【0026】基本アプリケーションプログラムは、その
アプリケーションプログラム固有の機能を実行するため
のアプリケーション本体21と、マクロ実行処理プログ
ラム22と、通信処理プログラム23とから構成され
る。
【0027】マクロ実行処理プログラム22は、一連の
手続きが記述されたマクロプログラムを解析・実行する
ためのものであり、通信処理プログラム23を介して供
給される他のモジュールからのマクロ処理要求を解析
し、その処理要求に対応した一連の処理手続きが実行さ
れるようにアプリケーション本体21に対してその一連
の処理手続きに対応するコマンド群を発行するサーバ機
能、マクロプログラムに従って他のモジュールに所定の
機能の実行を要求するクライアント機能を持つ。通信処
理プログラム23は、マクロ処理プログラム22と他の
モジュールとの間のプロセス間通信を実行するものであ
り、クライアントからマクロ処理プログラム22へのマ
クロ処理要求の通知やクライアントへの処理結果の返却
機能、さらにはマクロ処理プログラム22からの機能実
行要求を他のモジュールに通知するする機能を持つ。次
に、図4および図5を参照して、“モジュール連携”で
の各モジュールの繋がり、および振る舞いについて説明
する。
【0028】“モジュール連携”での各モジュールの振
る舞いは、個々の事例に依存するので、ここではモデル
化して説明する。“モジュール連携”においては、異な
る2つ以上の基本アプリケーションプログラムが図4の
ようにプロセス間通信によって連携される。サーバとし
て機能するモジュールとクライアント間の通信動作を図
示すると図5のようになる。すなわち、モジュールは、
クライアントからコマンドによってモジュール内部の設
定の変更、特定機能の呼び出し、入出力データの指定、
環境による制約や変更の制御を受けて動作する(機能連
携)。また、データは、プロセス間通信や指定されたフ
ァイル等を通して交換される(データ連携)。次に、図
6乃至図9を参照して、モジュールをさらに詳細に説明
する。図6には、モジュールAを中心に、モジュール連
携の関係がその利用形態から示されている。
【0029】モジュールAは、クライアントより制御を
受けて動作するサーバである。制御は、入力データ、出
力データ、環境、モジュール内の変数の設定である。モ
ジュールAはクライアントの要求する機能を実現するた
めに、さらに、モジュールCを使用している。このとき
モジュールAは、モジュールCのクライアントになって
いる。また、モジュールAの出力データは、モジュール
Bの入力データとなる。この例のように、あるサーバが
ほかのサーバのクライアントになることができる。
【0030】また、図2で説明したように、アプリケー
ション本体21はもともと独立したWindows プログラム
であるため、その機能はメニューやキーボードのコマン
ドに対する処理となっている。この実施例の“モジュー
ル連携”では、この処理をマクロ言語から使用できるよ
うにする。すなわち、クライアントプログラムは、利用
者によるメニューやキーボードの操作の代わりに、マク
ロ実行処理プログラム22および通信処理プログラム2
3から構成されるモジュール連携のためのインターフェ
ースを使って、モジュールの機能を使用することができ
る。ここで、マクロ言語処理系について説明する。マク
ロ言語処理系の機能は、以下の2点にまとめることがで
きる。 (1)マクロの定義
【0031】これは、クライアントからのサーバに対す
る処理の定義である。これはマクロ言語のプログラムと
して送られる。受け取ったサーバは、プログラムを解釈
し、その定義を内部に保存する(マクロ定義)。この登
録されたマクロは、組み込み関数と同じ形式の関数呼び
出しで利用できる。 (2)マクロの呼出し
【0032】これは、クライアントからのサーバに対す
る処理の指示である。これもマクロ言語のプログラムと
して送られる。受け取ったサーバは、プログラムを解釈
し、必要ならば内部に保存されたマクロを捜し、その定
義を実行する(マクロ呼び出し)。但し、実際には、マ
クロの定義とマクロの呼出しを明確に分離する必要はな
い。マクロを定義するのと同時に、マクロを呼出しても
良い。
【0033】単純な応用は、モジュールに予め登録され
ている関数(組み込みマクロ関数)を呼び出すだけで実
現できる。たとえば、「FILE.OPEN(“myfile”) 」とい
うようなファイルオープンの機能である。複雑な応用で
は、前もってマクロを定義しておいてから、実際に処理
するときにマクロを呼び出すことで、マクロの定義の回
数を減らすことができる。
【0034】この処理を図6と図7に示した。図6で
は、特定のアプリケーションがサーバとなり、モジュー
ルA,B,C,D,Eにマクロの定義をしている。これ
は定義を記述したマクロプログラムを各モジュールに送
ることで実現している。モジュールAには「報告作
成」、モジュールCには「月報作成」、モジュールDに
は「日報作成」の機能実行手続きをそれぞれ定義したと
する。これによって、各モジュールをアプリケーション
プログラムの一部として組み込んだと見ることができ
る。
【0035】図7では、アプリケーションがモジュール
を利用して処理を実行していることを示している、アプ
リケーションは、前もって送ったマクロを呼び出すこと
で、モジュールAに「報告作成」という大きな単位で処
理の依頼を出すことができる。実際にはモジュールA
は、モジュールCとDを利用して処理を実現している。
マクロ言語の特徴は、以下の通りである。
【0036】マクロ言語は、C言語に似たプログラミン
グ言語である。この言語では、変数が扱え、制御構造を
もち、算術演算や文字列操作が容易にできる。また、文
字列と数値の間で自動的に型変換をする。図6のモジュ
ールAに定義されているような、単純な報告書作成プロ
グラムの定義例を以下に示す。 1:Report ( title,yy,mm,dd ) 2:{ 3: common = title $ yy $ mm; 4: Display(”Report Print”); 5: if( dd == 1 ) 6: MLEexecute( ”ModuleC ”, ”ReportPrint ”, ”[MonthlyReport( ”$ common $ ”)]”); 7: MLEexecute( ”ModuleD ”, ”ReportPrint ”, ”[DailyReport( ”$ common $ ”, ”$ dd” )] ”); 8:} 以下に簡単な解説をする。 第1行目:マクロプログラム名 Report と4つのパラメ
ータ(title, yy, mm,dd )を定義している。 第2行目:第8行目と組で、マクロ定義の範囲を示して
いる。
【0037】第3行目:文字列を連結して、サブモジュ
ールへのコマンド文字列の共通部分を組み立てている。
common は変数である。$ のマークは文字列を連結する
演算子である。 第4行目:マクロ関数Display を呼び出している。この
マクロ関数はどこかに定義があると仮定している。
【0038】第5行目:月はじめかどうか調べている。
第3行目で文字列として扱っていた変数を、ここでは数
値として扱っている。このマクロ言語では文字列と数値
の自動的な型変換をする。
【0039】第6行目:組み込みマクロ関数 MLEexecut
e にパラメータを設定して、それを呼び出している。こ
の関数は、モジュール連携機能を使用して、他のモジュ
ールにクライアントとして通信する関数である。関数の
引数として、相手のモジュール ModuleC のトピック
(トピックはDDE でのモジュール内の資源の分類名) R
eportPrintに、マクロコマンドを組み立てて設定してい
る。 第7行目:第6行目と同様に組み込みマクロ関数 MLEex
ecute を呼び出している。 マクロの送付は、以下の2つの時点で行なうことができ
る。 (1)モジュール起動時 (2)モジュール実行中 方法(1)では、モジュールは、起動したときに指定さ
れたファイルの中のマクロプログラムを最初に実行す
る。方法(2)では、モジュールは、実行中に、送られ
てきたマクロをその都度実行する。
【0040】どちらの場合にも、マクロ言語での記述は
同じである。違いは、そのマクロをモジュールに送る時
期と手段だけである。専用または定型業務システムを構
築するときは方法(1)を使用し、非定型業務のための
応用連携のときやシステム開発時は方法(2)で十分で
ある。次に、図8を参照して、モジュール連携のための
各モジュールの具体的構成例を説明する。
【0041】図に於いて、21−1,21−2,…は固
有機能処理部であり、これらはアプリケーション本体の
持つ機能に対応する。これら固有機能処理部21−1,
21−2,…は、利用者および外部プログラムに対して
コマンドとして公開するプログラム固有の機能の処理を
行う。例えば、アプリケーション本体がWindows
に対応する日本語ワープロプログラムである場合には、
ファイル機能の持つ新規、オープン、保管、別名保管等
の機能がそれぞれ固有機能であり、また、印刷機能の持
つ印刷、プレビュー、プリンタ設定、目次印刷等の機能
がそれぞれ固有機能である。
【0042】コマンド情報保持部22−1、マクロ実行
部22−2、およびマクロ保持部22−3は、マクロ実
行処理プログラムを構成する。コマンド情報保持部22
−1は、連携機構やアプリケーション本体が提供するコ
マンドの名前と機能の対応の情報を保持する。アプリケ
ーション本体が提供する各コマンド名は、それぞれ対応
する固有機能処理部21−1,21−2,…を実行する
ために使用される。連携機構が提供するコマンド名は、
プロセス間通信の実行等のために使用される。
【0043】マクロ保持部22−3は、アプリケーショ
ン本体によって例えば組み込み関数当の形式で予め定義
されたマクロプログラムや、通信処理プログラムの通信
処理部23−1を介して他のモジュールから定義された
マクロプログラムを保持する。これらマクロプログラム
は、アプリケーション本体の持つ複数の機能から構成さ
れる一連の処理手続きを定義したものである。
【0044】マクロ実行部22−2は、マクロ保持部2
2−3に保持されているマクロプログラムを解析し、実
行する。すなわち、マクロ実行部22−2は、通信処理
部23−1を介して他のモジュールから呼び出されたマ
クロプログラムをマクロ保持部22−3を参照して解析
し、そのマクロプログラムによって指定された一連の機
能手続きに対応するコマンド群をコマンド情報保持部2
2−1から読み取って、それを順次アプリケーション本
体に発行する。
【0045】通信処理部23−1は、プロセス間通信に
より、マクロ定義、呼び出し、およびデータの送受を、
他のモジュールと行う。すなわち、通信処理部23−1
は、マクロ定義によって他のモジュールから指定された
マクロプログラムをプロセス間通信によって受け取って
それをマクロ保持部22−3に登録すると共に、他のモ
ジュールからマクロ呼び出しによって実行要求されるマ
クロプログラム名をマクロ実行部22−2に通知する処
理、およびその処理結果としてデータをマクロ実行部2
2−2から受けとって要求元のクライアントモジュール
に返却する処理を行なう。このモジュールの動作は、以
下の通りである。
【0046】すなわち、まず、初期処理として、固有機
能処理部21−1,21−2,…が処理する機能に対応
するコマンド名が公開コマンドとしてコマンド情報保持
部22−1に登録される。通信処理部23−1は、クラ
イアントとなる他のモジュールからプロセス間通信を通
じてプログラムの動作を制御するためのマクロ定義、呼
び出し、およびデータを受信する。通信処理部23−1
が受信したマクロ定義やこのモジュールのアプリケーシ
ョーン本体プログラム自身が予め定義したマクロ定義
は、プログラムの動作を制御するためのマクロプログラ
ムとしてマクロ保持部22−3に保持される。
【0047】次いで、通信処理部23−1が他のモジュ
ールから受信したマクロ呼び出しや、このモジュールの
アプリケーション本体またはマクロプログラム自身から
のマクロ呼び出しによって、マクロ保持部22−3に保
持されているマクロプログラムがマクロ実行部22−2
によって解析・実行される。マクロ実行部22−2の実
行が、コマンド情報保持部22−1に登録されているコ
マンドの実行である場合には、この情報を参照して対応
する固有機能処理部21−1,21−2,…の機能が呼
び出される。
【0048】さらに、コマンド情報保持部22−1の参
照されるコマンドが、他のモジュールを制御するコマン
ドの場合には、通信処理部23−1によるプロセス間通
信を通じて、他のモジュールに対するマクロの定義、呼
び出し、およびデータ送信等の処理が行なわれ、その応
答を他のモジュールから受け取る。
【0049】この実施例のモジュール連携では、以上の
動作を行うプログラム群を、マクロ言語の記述により、
サーバ・クライアントの関係で連携制御させることによ
って、応用システムの構築を支援する。次に、このモジ
ュール連携機構を利用して構築される応用システムの一
例を説明する。
【0050】応用システムとしては、例えば図9に示す
ような会議支援システムを構築することができる。会議
支援システムプログラムは会議室予約プログラム10
1、議事録送信プログラム102、フォロー文書送信プ
ログラム103、会議通知受信プログラム201、議事
録受信プログラム202、フォロー文書受信プログラム
203から構成される。図9においては、事務局側のワ
ークステーションで会議室予約プログラム101、議事
録送信プログラム102、フォロー文書送信プログラム
103が実行され、メンバ側の別のワークステーション
では会議通知受信プログラム201、議事録受信プログ
ラム202、フォロー文書受信プログラム203が実行
される場合が概念的に示されている。この場合、事務局
側とメンバ側との間では、必要に応じてメールを介した
データの送受信が成され、これによって会議室予約プロ
グラム101と会議通知受信プログラム201間の通
信、議事録送信プログラム102と議事録受信プログラ
ム202間の通信、フォロー文書送信プログラム103
とフォロー文書受信プログラム203間の通信が実行さ
れる。
【0051】ここで、会議室の予約とは、会議出席メン
バのスケジュールと会議室の予約情況を基に会議室を予
約し、予約後に、各メンバに会議通知を送信し、出欠の
確認をするという処理である。議事録の送信とは、会議
終了後、議事録を作成して各メンバに送信する処理であ
る。フォロー文書の送信とは、会議終了後、フォロー文
書を作成して各メンバに送信する処理である。
【0052】また、メンバ側における会議通知受信と
は、会議通知を受信して画面表示すると共に、出欠の回
答を送信する処理である。議事録受信とは、議事録を受
信して画面表示し、それを保管する処理である。フォロ
ー文書受信とは、フォロー文書を受信して画面表示する
処理である。
【0053】図10には、会議室予約プログラム101
による処理手順が示されている。会議室予約プログラム
101は、データベースプログラム、スケジュール管理
プログラム、日本語ワープロプログラム、電子メールプ
ログラム等を連携させ、それら既存のアプリケーション
の機能を利用して、データベースプログラムを利用した
会議出席メンバの選定処理、スケジュール管理プログラ
ムを利用した会議出席メンバのスケジュール調整処理、
日本語ワープロプログラムを利用した会議開催書の文書
作成処理、電子メールプログラムを利用した会議開催書
の送信処理、等を実行するものである。
【0054】会議支援システムを運用した際には、ま
ず、ワークステーショの表示画面上に会議支援システム
メニューが表示される(ステップS1)。この会議支援
システムメニューは、会議予約プログラム101、議事
録生成プログラム102、フォロー文書作成プログラム
103のうちで使用するプログラムを選定するためのも
のであり、図11に示されているようなメニュー画面が
表示される。このメニュー画面上で「会議予約」の項目
が選定されると、会議予約プログラム101が起動さ
れ、図12に示すような画面が表示され、会議名、メン
バ名、日付等のデータ入力が促される。ここで、メンバ
名の入力が成されないまま、例えば「検索」の項目が選
択指定されると、メンバ選定の処理が実行される(ステ
ップS2)。このメンバ選定処理は、会議予約プログラ
ム101がデータベースプログラムモジュールと連携す
ることによって実行される。すなわち、会議予約プログ
ラム101は、データベースプログラムモジュールに予
め定義されているメンバ選定用のデータベース検索マク
ロを呼び出し、それを実行させる。そして、その結果を
データベースプログラムモジュールから受けとって、ワ
ークステーションに画面表示する。この時の画面の一例
を図13に示す。図13の画面では、選択された開発プ
ロジェクト名に対応するメンバ名が表示される。メンバ
名が多い場合、または検索項目が多い場合などは、デー
タベースプログラムモジュールに対するマクロ呼び出し
が繰り返し実行され、順次される。これによってメンバ
が確定されると、図12の画面に戻って、その確定され
たメンバがその画面上に表示される。
【0055】メンバが確定すると、スケジュール調整処
理が実行される(ステップS3)。このスケジュール調
整処理は、例えば図12の画面上の空き時間検索の項目
を選択指定することによって開始されるものであり、会
議予約プログラム101がスケジュール管理モジュール
や、データベースモジュールと連携することによって実
行される。すなわち、会議予約プログラム101は、ス
ケジュール管理モジュールに予め定義されている空き時
間検索マクロを呼び出し、それを実行させる。スケジュ
ール管理モジュールは、さらにデータベースモジュール
と連携し、データベースモジュールに予め定義されてい
るメンバ空き時間情報の参照マクロを呼び出し、それを
実行させる。そして、その結果をデータベースプログラ
ムモジュールから受けとって、ワークステーションに画
面表示する。この時の画面の一例を図14に示す。図1
4の画面では、会議参加予定メンバの予定表が表示され
る。
【0056】また、スケジュール調整処理では、会議室
の予約状況も参照される。これは、空き時間情報の参照
の場合と同様に、会議予約プログラム101がスケジュ
ール管理モジュールや、データベースモジュールと連携
することによって実行される。
【0057】このような処理を経て会議の開催日が決定
されると、図12の画面に戻ってその日付がデータ入力
されて画面上に表示される。この後、会議通知文書作成
処理が実行される(ステップS4)。この会議通知文書
作成処理は、例えば図12の画面上の会議通知作成の項
目を選択指定することによって開始されるものであり、
会議予約プログラム101が日本語ワープロプログラム
を連携、制御することによって実行される。すなわち、
会議予約プログラム101は、日本語ワープロモジュー
ルに予め定義されているテンプレート文書のオープンマ
クロや、テンプレート文書への見出し情報の追加マク
ロ、さらには文書作成マクロ等を呼び出すと共に、見出
し情報として必要なメンバ名や開催日、開催場所等のデ
ータを送信する。この時の画面の一例を図15に示す。
図15では、所定の会議通知フォーマットを持つテンプ
レート文書オープン時の状態が示されている。この画面
をスクロールすると、開催文書を作成するための文書作
成画面になり、キーボードからのデータ入力によって文
書作成が行なわれる。
【0058】会議通知文書が作成されると、再び、図1
2の画面にもどる。そして、その画面上で例えば通知送
信の項目が選択指定されると、会議通知文書の送信処理
が実行される(ステップS5)。この会議通知文書の送
信処理は、会議予約プログラム101が電子メールモジ
ュールを連携、制御することによって実行される。すな
わち、会議予約プログラム101は、電子メールモジュ
ールに予め定義されている会議通知文書配送のためのマ
クロを呼び出し、それを実行する。この結果、会議通知
文書がメンバ側の各ワークステーションに送信される。
また、会議予約プログラム101は、電子メールモジュ
ールに予め定義されている会議出欠回答受信、およびそ
の受信結果の登録を行なうマクロを呼び出し、電子メー
ルモジュールを自動受信状態として処理を終える。そし
て、メンバ側から回答があると、その回答結果がデータ
ベースに反映される。
【0059】このように、この会議支援システムの会議
室予約プログラム101は、データベースプログラム、
スケジュール管理プログラム、日本語ワープロプログラ
ム、電子メールプログラム等を連携させ、それら既存の
アプリケーションの機能を利用して、会議出席メンバの
選定処理、会議出席メンバのスケジュール調整処理、会
議開催通知書の文書作成処理、会議開催通知書の送信処
理、等を実行するものである。従来であれば、このよう
な処理を行なうプログラムを構築するためには、開発言
語を使用して会議出席メンバの選定処理プログラム、会
議出席メンバのスケジュール調整プログラム、会議開催
書の文書作成プログラム、会議開催書の送信処理プログ
ラム等を最初から作成しなければならないが、会議室予
約プログラム101は、この発明のモジュール連携を用
いることによって、既存のアプリケーションの必要な機
能を効果的に利用して構築されている。
【0060】尚、議事録送信プログラム102、フォロ
ー文書送信プログラム103、会議通知受信プログラム
201、議事録受信プログラム202、フォロー文書受
信プログラム203についても、それぞれモジュール連
携を用いることによって、既存のアプリケーションの必
要な機能を効果的に利用して構築されている。
【0061】以上のように、この実施例のモジュール連
携においては、応用プログラムの持つ各機能とその機能
を実行させるためのコマンド名との対応がコマンド登録
手段に定義され、また、前記応用プログラムの持つ固有
の機能から構成される一連の処理手続きがマクロ言語で
記述されてマクロ言語登録手段に定義されている。他の
応用プログラムからのマクロ処理要求は通信手段によっ
て受け付けられ、マクロ実行手段に通知される。マクロ
実行手段は、マクロ言語登録手段を参照することによっ
て要求されたマクロ処理に対応する一連の処理手続きを
認識し、その認識した処理手続きに含まれる機能を指定
するコマンドをコマンド登録手段から読み取る。そし
て、応用プログラムにそれらコマンド群が発行される。
この結果、応用プログラムで他の応用プログラムから要
求された一連の機能が実行され、その処理結果が通信手
段によってその要求元の応用プログラムに返却される。
【0062】したがって、要求する個々の機能を持った
応用プログラム群を、マクロ言語で制御、連携すること
ができ、既存の応用プログラムを利用して応用システム
を構築できる。また、このようなマクロ言語を用いた連
携機構は、従来のC言語やCOBOL言語等の開発言語
を使用する場合に比し、応用プログラムの機能を一連の
処理手続きを含む大きな単位で呼び出せること、その機
能呼び出し等の仕様が応用プログラム群で統一され、比
較的簡単な言語構造で機能を指定できること、からシス
テム開発を容易に行ないことが可能となる。また、既存
のプログラム群に要求する機能がない場合には、その機
能のみを開発言語を用いて開発するだけでよい、等の効
果がある。
【0063】尚、以上の説明では、機能的な結合の観点
からモジュール連携のための各モジュールのプログラム
構造をモデル化して説明したが、モジュールの具体的構
造は、図16のようにさらに詳細に示すことができる。
【0064】図16では、マクロ実行処理プログラム2
2の構造が中心に示されている。前述のコマンド情報保
持部22−1は、関数登録部301、および組み込み関
数保持部302から構成される。また、マクロ実行部2
2−2は、言語処理部303、および実行木304から
構成され、マクロ保持部22−3は、編集部401、デ
バッカ402、およびスクリプトソース403から構成
される。このマクロ実行処理プログラム22の構造は、
その機能がインタプリタ・ライブラリの一部として提供
される場合を想定したものである。この場合、マクロプ
ログラムはスクリプトプログラムと同様の形態でライブ
ラリに登録される。
【0065】
【発明の効果】以上詳記したようにこの発明によれば、
要求する個々の機能を持った応用プログラム群を、マク
ロ言語で制御、連携することができ、既存の応用プログ
ラムを利用して応用システムを容易に構築することが可
能となる。
【図面の簡単な説明】
【図1】この発明の一実施例に係わるモジュール連携機
構を使用したコンピュータシステムを有する協調分散O
LTPシステムの構成を示すブロック図。
【図2】同実施例のモジュール連携おける各モジュール
のプログラム構造を示す図。
【図3】同実施例のモジュール連携おけるモジュール間
の結合の様子を示す図。
【図4】同実施例のモジュール連携おけるモジュール間
通信の様子を示す図。
【図5】同実施例のモジュール連携おけるモジュール間
のデータの流れを示す図。
【図6】同実施例のモジュール連携おけるマクロ定義の
様子を示す図。
【図7】同実施例のモジュール連携おけるマクロ呼び出
しの様子を示す図。
【図8】同実施例のモジュール連携おける各モジュール
の具体的なプログラム構造の一例を示す図。
【図9】同実施例のモジュール連携を利用して構築され
る会議支援システムの構成例を示す図。
【図10】同会議支援システムの動作を説明するフロー
チャート。
【図11】同会議支援システム動作時に表示される第1
画面を示す図。
【図12】同会議支援システム動作時に表示される第2
画面のを示す図。
【図13】同会議支援システム動作時に表示される第3
画面のを示す図。
【図14】同会議支援システム動作時に表示される第4
画面のを示す図。
【図15】同会議支援システム動作時に表示される第5
画面のを示す図。
【図16】同実施例のモジュール連携おける各モジュー
ルのさらに具体的なプログラム構造の一例を示す図。
【符号の説明】
12−1〜12−n…ワークステーション、21…ワー
クステーション本体、22…マクロ実行処理プログラ
ム、23…通信処理プログラム、22−1…コマンド情
報保持部、22−2…マクロ実行部、22−3…マクロ
保持部。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 各種固有機能をそれぞれ持つ複数の応用
    プログラムを実行するコンピュータシステムにおいて、 前記応用プログラムの持つ各機能とその機能を実行させ
    るためのコマンド名との対応が定義されるコマンド登録
    手段と、 前記応用プログラムの持つ1以上の固有の機能から構成
    される一連の処理手続きがマクロ言語により記述されて
    定義されるマクロ言語登録手段と、 前記コマンド登録手段およびマクロ言語登録手段を参照
    して他の応用プログラムからのマクロ処理要求を解析
    し、その処理要求に対応した一連の処理手続きが実行さ
    れるように前記応用プログラムに対してその一連の処理
    手続きに対応するコマンド群を発行するマクロ実行手段
    と、 このマクロ実行手段と他の応用プログラムとの間のプロ
    セス間通信を実行し、要求元のプログラムからマクロ実
    行手段へのマクロ処理要求の通知、およびその処理結果
    をマクロ実行手段から要求元プログラムに返却する通信
    手段とを、前記各応用プログラム毎に具備し、 要求された個々の機能を持つ複数の応用プログラムをマ
    クロ言語で連携して所定の応用処理を実行することを特
    徴とするコンピュータシステムのプログラム連携機構。
  2. 【請求項2】 CPU、メモリ、および入出力装置を備
    え、各種固有機能をそれぞれ持つ複数の応用プログラム
    が実行可能なコンピュータシステムにおいて、 前記各応用プログラムの固有機能を外部プログラムに対
    して公開コマンドとして登録する手段と、 外部プログラムからの要求に応じて、前記応用プログラ
    ムの1以上の固有機能から構成される一連の処理手続き
    を示すマクロプログラムを定義するマクロ定義手段と、 外部プログラムからの要求に応じて、所定のマクロプロ
    グラムを呼び出すマクロ呼び出し手段と、 このマクロ呼び出し手段によって呼び出されたマクロプ
    ログラムを解析、実行し、前記外部プログラムからの要
    求に応じた公開コマンドを前記応用プログラムに発行す
    る手段と、 前記応用プログラムによる固有機能の処理結果を前記外
    部プログラムに伝達する手段とを具備し、 各応用プログラムをマクロ言語で連携、制御することを
    特徴とするコンピュータシステムのプログラム連携機
    構。
JP4220085A 1992-08-19 1992-08-19 コンピュータシステムのプログラム連携機構 Pending JPH0668046A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4220085A JPH0668046A (ja) 1992-08-19 1992-08-19 コンピュータシステムのプログラム連携機構

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4220085A JPH0668046A (ja) 1992-08-19 1992-08-19 コンピュータシステムのプログラム連携機構

Publications (1)

Publication Number Publication Date
JPH0668046A true JPH0668046A (ja) 1994-03-11

Family

ID=16745699

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4220085A Pending JPH0668046A (ja) 1992-08-19 1992-08-19 コンピュータシステムのプログラム連携機構

Country Status (1)

Country Link
JP (1) JPH0668046A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11338344A (ja) * 1998-05-21 1999-12-10 Kokusai Kogyo Co Ltd 地図情報システム及びそのシステム構築方法
JP2007272559A (ja) * 2006-03-31 2007-10-18 Mizuho Corporate Bank Ltd 確定拠出年金モニタリングレポート作成システム
JP2013502014A (ja) * 2009-08-13 2013-01-17 グーグル・インコーポレーテッド 共有サーバ側マクロ

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11338344A (ja) * 1998-05-21 1999-12-10 Kokusai Kogyo Co Ltd 地図情報システム及びそのシステム構築方法
JP2007272559A (ja) * 2006-03-31 2007-10-18 Mizuho Corporate Bank Ltd 確定拠出年金モニタリングレポート作成システム
JP2013502014A (ja) * 2009-08-13 2013-01-17 グーグル・インコーポレーテッド 共有サーバ側マクロ

Similar Documents

Publication Publication Date Title
US7168077B2 (en) System and method of executing and controlling workflow processes
US9361069B2 (en) Systems and methods for defining a simulated interactive web page
US5930512A (en) Method and apparatus for building and running workflow process models using a hypertext markup language
US6701485B1 (en) Binding spreadsheet cells to objects
US7647561B2 (en) System, method and computer program product for application development using a visual paradigm to combine existing data and applications
US5634127A (en) Methods and apparatus for implementing a message driven processor in a client-server environment
EP0483037A2 (en) Remote and batch processing in an object oriented programming system
US7665064B2 (en) Systems and methods for web service function, definition, implementation, and/or execution
US11886836B2 (en) Dynamic enterprise application platform
US20060224702A1 (en) Local workflows in a business process management system
US7007266B1 (en) Method and software system for modularizing software components for business transaction applications
US20030097345A1 (en) System and method for invoking business functionality for a workflow
JPS62257564A (ja) アプリケ−シヨン処理のエコ−を制御する方法及び装置
US20120215581A1 (en) Ad-Hoc and Priority-Based Business Process Execution
EP1693765B1 (en) A data processing system and method
US8010940B2 (en) Methods and apparatus for designing a workflow process using inheritance
CN114138797A (zh) 基于移动端实现流程可视化配置及运行的系统、方法、装置、处理器及其计算机存储介质
JPH0668032A (ja) データベースシステム
CN115170048A (zh) 基于模型和规则的工作流实现方法、系统和介质
US8224853B2 (en) Methods and apparatus for updating a plurality of data fields in an electronic form
US7945601B2 (en) Reporting of approval workflow transactions using XMLP
Eder et al. A workflow system based on active databases
CN113435669B (zh) 接入工作流的优化方法、装置、电子设备和可读存储介质
JPH0668046A (ja) コンピュータシステムのプログラム連携機構
US20070208777A1 (en) Methods and apparatus for designing a workflow process using resource maps and process maps