JP4624044B2 - プログラム間通信システム、プログラム間通信方法、データ構造生成システムおよびプログラム - Google Patents

プログラム間通信システム、プログラム間通信方法、データ構造生成システムおよびプログラム Download PDF

Info

Publication number
JP4624044B2
JP4624044B2 JP2004269246A JP2004269246A JP4624044B2 JP 4624044 B2 JP4624044 B2 JP 4624044B2 JP 2004269246 A JP2004269246 A JP 2004269246A JP 2004269246 A JP2004269246 A JP 2004269246A JP 4624044 B2 JP4624044 B2 JP 4624044B2
Authority
JP
Japan
Prior art keywords
data
program
data structure
item
storage unit
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.)
Expired - Fee Related
Application number
JP2004269246A
Other languages
English (en)
Other versions
JP2006085407A (ja
Inventor
美由紀 駒形
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2004269246A priority Critical patent/JP4624044B2/ja
Publication of JP2006085407A publication Critical patent/JP2006085407A/ja
Application granted granted Critical
Publication of JP4624044B2 publication Critical patent/JP4624044B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、プログラム相互間でデータ送受信を行うプログラム間通信技術に関し、特に、通信相手のプログラムにおいて定義されている送受信対象データのデータ構造を意識することなく、データの送受信を行うことができるプログラム間通信技術に関する。
プログラム相互間で通信を行う場合、予め互いのプログラム間で送受信するデータ形式を取り決めた後、取り決めたデータ形式に従いデータを作成/参照するアプリケーションプログラムを作成する必要がある。従って、通信を行うプログラムを新規に作成する場合には、送受信するデータのデータ形式を双方のプログラムで扱える共通のデータ形式となるように取り決めを行う。しかし、ユーザインタフェースの改善などによるシステムの連携、統合などにより、既にプログラム相互間で通信を行っている一方のプログラムのみを変更する場合があり、この時、開発効率向上や他システムとの親和性などの理由からプラットフォームやプログラム記述言語を変更することがある。このような場合、プログラム間で送受信するデータ形式が変更後のプログラム言語では表現できないデータ形式となる場合がある。
一般的な解決策としては、プログラム相互間での通信を継続するために、送受信するデータのデータ形式を双方のプログラム言語で扱える共通のデータ形式となるよう新たに定義しなおすことが考えられる。
また、別の解決策として以下の方法が考えられる。従来、プログラム記述言語に依存しないプログラム間通信を行う方法として、IDL(インターフェース定義言語)を用いた方法が知られている(例えば、特許文献1〜3参照)。各プログラムのインターフェースをIDLと呼ばれる定義言語で記述し、このIDLソースをコンパイルしてサブプログラムを生成し、各プログラムからは、このサブプログラムを呼び出すことで、プログラム記述言語に依存しないプログラム間通信を実現する。
上述したIDLを用いて、双方のプログラム言語で共通に利用できないデータ型を処理する例が、特許文献1に記載されている。この公報に記載されているプログラム開発支援ツールは、IDL記述にTYPEDEF構文を使用した新記述規則を設け、IDLコンパイラで上記新記述規則に対応した型変換テーブルを備えることにより、双方のプログラム言語で共通に利用できないデータ型の処理を実現している。また、この公報では、同様の原理を利用することで、原始プログラムからIDLソースを生成する方法についても述べられており、既成のプログラムを流用して他のプログラムと連携した処理を行う場合についても、双方のプログラム言語で共通に利用できないデータ型の処理を実現している。
特開平11−296359号公報 特開2002−342078号公報 特開平10−232780号公報
しかし、上述した従来の技術の内、送受信するデータのデータ形式を再定義する方法の場合は、プログラムの変更を行う必要のないもう片方のプログラムについても、プログラムの変更が必要となるという問題がある。例えば、プログラム間通信を行っていたCOBOLプログラムの一方をJava(登録商標)プログラムに変更した場合、COBOLにおけるPICTURE句など、Javaプログラムにない表現を他の表現に改める必要がある。
また、IDLを用いる方法の場合は、IDLを未使用で既にプログラム相互間で通信を行っているシステムにおいては、双方のプログラムを、IDLを用いて通信を行うように実装しなければならず、作業量が膨大になるという問題がある。即ち、プログラム間通信を行っていた第1,第2のプログラムの双方において、IDLソースを生成し、更に、IDLソースをコンパイルしてサブプログラム(スケルトン,スタブ)を生成する必要があると共に、ORB(オブジェクト・リクエスト・ブローカ)を実装する必要があるため、作業量が膨大なものになってしまう。
そこで、本発明の目的は、プログラム間通信を行っていた2つのプログラムの内の一方のプログラムのプログラム記述言語を変更する場合、変更後のプログラム記述言語では表現できないデータ形式が他方のプログラムに含まれている場合であっても、他方のプログラムについては全く変更を行うことなく、プログラム間通信を継続することができるプログラム間通信技術を提供することにある。
本発明にかかる第のプログラム間通信システムは、
第1のプログラムと第2のプログラムとの間でデータを送受信するプログラム間通信システムにおいて、
前記第1のプログラムで定義されている送受信の対象となる項目それぞれのデータ構造情報が登録されたデータ構造記憶部と、
前記第1のプログラムへの送信データに含ませる項目の名標とその値とが前記第2のプログラムによって指定されたとき、前記データ構造記憶部に登録されているデータ構造情報に基づいて、前記指定された値を含む前記第1のプログラムにおいて認識可能な送信データを生成し、参照する項目の名標が前記第2のプログラムによって指定されたとき、前記データ構造記憶部に登録されているデータ構造情報に基づいて、前記第1のプログラムから送られてきた受信データから前記指定された項目の値を抽出するデータ操作手段と、
前記第1のプログラムのソースプログラムを取得するプログラム記述取得手段、該プログラム記述取得手段が取得した前記ソースプログラムから、送受信の対象にしている項目それぞれのデータ定義記述を抽出するデータ定義検出手段、該データ定義検出手段で抽出した前記各項目のデータ定義記述に基づいて、前記各項目のデータ構造情報を生成するデータ構造抽出手段、および該データ構造抽出手段が生成した前記各項目のデータ構造情報を前記データ構造記憶部に登録するデータ構造格納手段から構成されるデータ構造生成システムとを備えたことを特徴とする。
本発明にかかる第のプログラム間通信システムは、
のプログラム間通信システムにおいて、
前記データ構造生成システムが、
システム管理者の指示に従って、前記データ構造記憶部に、新たに送受信の対象にする項目のデータ構造情報を登録するデータ構造生成手段と、
システム管理者の指示に従って、前記データ構造記憶部に登録されているデータ構造情報の属性値を更新するデータ構造更新手段とを備えたことを特徴とする。
本発明にかかる第のプログラム間通信システムは、第1または第2のプログラム間通信システムにおいて、
前記データ構造情報が、項目の名標、サイズ及びオフセットを含み、
前記データ操作手段が、送信データに含ませる項目の名標とその値とが指定されたとき、前記指定された名標と対応するオフセットを前記データ構造記憶部から取得し、該取得したオフセットによって示される位置に前記指定された値を設定することにより送信データを生成し、参照する項目の名標が指定されたとき、前記指定された名標と対応するサイズ及びオフセットを前記データ構造記憶部から取得し、受信データ中の前記取得したオフセットによって示される位置から前記取得したサイズ分のデータを抽出する構成を有することを特徴とする。
本発明にかかる第のプログラム間通信システムは、
第1のプログラムと第2のプログラムとの間でデータを送受信するプログラム間通信システムにおいて、
前記第1のプログラムで定義されている送受信の対象となる項目それぞれのデータ構造情報が登録されたデータ構造記憶部と、
前記第1のプログラムへの送信データに含ませる項目の名標とその値とが前記第2のプログラムによって指定されたとき、前記データ構造記憶部に登録されているデータ構造情報に基づいて、前記指定された値を含む前記第1のプログラムにおいて認識可能な送信データを生成し、参照する項目の名標が前記第2のプログラムによって指定されたとき、前記データ構造記憶部に登録されているデータ構造情報に基づいて、前記第1のプログラムから送られてきた受信データから前記指定された項目の値を抽出する第1のデータ操作手段と、
前記第2のプログラムへの送信データに含ませる項目の名標とその値とが前記第1のプログラムによって指定されたとき、前記データ構造記憶部に登録されているデータ構造情報に基づいて、前記指定された値を含む前記第2のプログラムにおいて認識可能な送信データを生成し、参照する項目の名標が前記第1のプログラムによって指定されたとき、前記データ構造記憶部に登録されているデータ構造情報に基づいて、前記第2のプログラムから送られてきた受信データから前記指定された項目の値を抽出する第2のデータ操作手段と
前記第1のプログラムのソースプログラムを取得するプログラム記述取得手段、該プログラム記述取得手段が取得した前記ソースプログラムから、送受信の対象にしている項目それぞれのデータ定義記述を抽出するデータ定義検出手段、該データ定義検出手段で抽出した前記各項目のデータ定義記述に基づいて、前記各項目のデータ構造情報を生成するデータ構造抽出手段、該データ構造抽出手段が生成した前記各項目のデータ構造情報を前記データ構造記憶部に登録するデータ構造格納手段、システム管理者の指示に従って前記データ構造記憶部に、新たに送受信の対象にする項目のデータ構造情報を登録するデータ構造生成手段およびシステム管理者の指示に従って前記データ構造記憶部に登録されているデータ構造情報の属性値を更新するデータ構造更新手段から構成されるデータ構造生成システムとを備えたことを特徴とする。
本発明にかかるプログラム間通信方法は、
第1のプログラムと第2のプログラムとの間でデータを送受信するプログラム間通信方法において、
プログラム記述取得手段が、前記第1のプログラムのソースプログラムを取得するプログラム記述取得ステップと、
データ定義検出手段が、前記プログラム記述取得手段が取得した前記ソースプログラムから、前記第1のプログラムが送受信の対象にしている項目それぞれのデータ定義記述を抽出するデータ定義検出ステップと、
データ構造抽出手段が、前記データ定義検出手段が抽出した前記各項目のデータ定義記述に基づいて、前記各項目のデータ構造情報を生成するデータ構造抽出ステップと、
データ構造格納手段が、前記データ構造抽出手段が生成した前記各項目のデータ構造情報をデータ構造記憶部に登録するデータ構造格納ステップと、
データ操作手段が、前記第1のプログラムへの送信データに含ませる項目の名標とその値とが前記第2のプログラムによって指定されたとき、前記データ構造記憶部に登録されているデータ構造情報に基づいて、前記指定された値を含む前記第1のプログラムにおいて認識可能な送信データを生成し、参照する項目の名標が前記第2のプログラムによって指定されたとき、前記データ構造記憶部に登録されているデータ構造情報に基づいて、前記第1のプログラムから送られてきた受信データから前記指定された項目の値を抽出するデータ操作ステップとを含むことを特徴とする。
本発明にかかるデータ構造生成システムは、
データ構造記憶部と、
第2のプログラムとプログラム間通信を行う第1のプログラムのソースプログラムを取得するプログラム記述取得手段と、
該プログラム記述取得手段が取得した前記ソースプログラムから、前記第1のプログラムが送受信の対象にしている項目それぞれのデータ定義記述を抽出するデータ定義検出手段と、
該データ定義検出手段で抽出した前記各項目のデータ定義記述に基づいて、前記各項目のデータ構造情報を生成するデータ構造抽出手段と、
該データ構造抽出手段が生成した前記各項目のデータ構造情報を前記データ構造記憶部に登録するデータ構造格納手段とを備えたことを特徴とする。
本発明にかかるプログラムは、
データ構造記憶部を備えたコンピュータを、
第2のプログラムとプログラム間通信を行う第1のプログラムのソースプログラムを取得するプログラム記述取得手段と、
該プログラム記述取得手段が取得した前記ソースプログラムから、前記第1のプログラムが送受信の対象にしている項目それぞれのデータ定義記述を抽出するデータ定義検出手段と、
該データ定義検出手段で抽出した前記各項目のデータ定義記述に基づいて、前記各項目のデータ構造情報を生成するデータ構造抽出手段と、
該データ構造抽出手段が生成した前記各項目のデータ構造情報を前記データ構造記憶部に登録するデータ構造格納手段として機能させる。
本発明にかかる第1,第のプログラム間通信システム、プログラム間通信方法によれば、プログラム間通信を行っていた2つのプログラムの内の一方のプログラムのプログラム記述言語を変更する場合、他方のプログラムに変更後のプログラム記述言語では表現できないデータ形式が含まれている場合であっても、他方のプログラムについては全く変更を行うことなく、プログラム間通信を継続することが可能になる。
その理由は、変更を行わないプログラム(第1のプログラム)で定義されている送受信の対象となる項目それぞれのデータ構造情報が登録されたデータ構造記憶部と、プログラム記述言語を変更したプログラム(第2のプログラム)からの要求に応じてデータ構造記憶部に登録されている構造情報に基づいて、送信データの作成処理および受信データからの項目値の抽出処理を行うデータ操作手段とを備えているからである。
更に、本発明にかかる第1,第のプログラム間通信システム、プログラム間通信方法によれば、第1のプログラムにおいて送受信の対象にする項目を追加したり、項目のサイズを変更した場合であっても、変更後のデータ構造情報をデータ構造記憶部に登録しておくことにより、プログラム間通信を継続することが可能になる。
本発明にかかる第,第3のプログラム間通信システム、データ構造生成システムおよびプログラムによれば、データ構造記憶部へのデータ構造情報の登録を容易に行うことが可能になる。その理由は、第1のプログラムのソースプログラムに基づいて、上記第1のプログラムで定義されている送受信の対象となる項目それぞれのデータ構造情報を生成し、生成したデータ構造情報をデータ構造記憶部に登録するようにしているからである。
本発明にかかる第のプログラム間通信システムによれば、新たなデータ構造情報をデータ構造記憶部に容易に登録することが可能になると共に、既に登録されているデータ構造情報の属性値を容易に変更することが可能になる。その理由は、データ構造生成システムが、データ構造生成手段およびデータ構造更新手段を備えているからである。
本発明にかかる第のプログラム間通信システムによれば、プログラム間通信を行っている第1,第2のプログラムが、両方ともプログラム言語を変更した場合であっても、プログラム間通信を継続して行うことが可能になる。その理由は、第1,第2のデータ操作手段を備えているからである。
次に本発明の実施の形態について図面を参照して詳細に説明する。
〔第1の実施の形態〕
図1は本発明にかかるプログラム間通信システムの第1の実施の形態の全体構成例を示すブロック図である。同図を参照すると、本実施の形態のプログラム間通信システムは、プログラム制御により動作するデータ構造生成システム2と、データ構造記憶部3と、プログラム制御により動作し、互いのアプリケーションプログラム41,51間でデータの送受信を行う処理システム4,5とから構成されている。
データ構造生成システム2は、例えば、コンピュータによって実現されるものであり、アプリケーションプログラム41のプログラム記述(ソースプログラム)1に基づいて、アプリケーションプログラム41において定義されている送受信の対象となる各項目それぞれのデータ構造情報(名標,サイズ,オフセットなどを含む)を生成し、生成したデータ構造情報をデータ構造記憶部3に登録する機能を有する。
このような機能を有するデータ構造生成システム2は、図2に示すように、プログラム記述取得手段21と、データ定義検出手段22と、データ構造抽出手段23と、データ構造格納手段24と、キーボード等の入力装置25と、ディスプレィ装置や印刷装置等の出力装置26と、例えばメインメモリ(図示せず)上に設けられたプログラム記述記憶部27と、例えばメインメモリ上に設けられたデータ定義記述記憶部28とを備えている。
プログラム記述取得手段21は、入力装置25からプログラム記述1の存在場所を与えられると、与えられた場所に存在するプログラム記述1を読み込み、その内容をプログラム記述記憶部27に格納する。プログラム記述取得手段21が扱うプログラム記述1は、データ構造生成システム2の存在するコンピュータ上に存在していてもよいし、ネットワークで接続されている他のコンピュータ上に存在していてもよい。プログラム記述1が他のコンピュータ上に存在する場合は、FTP等を使用してファイル転送を行い、プログラム記述1の内容を読み込む。
データ定義検出手段22は、プログラム記述記憶部27に格納されたプログラム記述1を解析することにより、プログラム記述1からデータ定義記述を抽出し、抽出したデータ定義記述をデータ定義記述記憶部28に格納する。ここで、データ定義記述とは、データ宣言記述、データ記述など、プログラム言語により呼称が異なるが、データの識別子や属性、性質を宣言する記述のことであり、配列、構造体の宣言を含む。
データ構造抽出手段23は、データ定義記述記憶部28に格納されているデータ定義記述に基づいて、アプリケーションプログラム41がアプリケーションプログラム51との間で送受信の対象にしている項目それぞれのデータ構造情報を生成する。ここで、データ構造情報の例としては、識別子、オフセット、サイズ、データ形式、文字コードなどがある。
データ構造格納手段24は、データ構造抽出手段23が生成したデータ構造情報をデータ構造記憶部3に登録し、登録処理が完了すると、その旨のメッセージを出力装置26に出力する。
なお、上述した構成を有するデータ構造生成システム2をコンピュータによって実現する場合は、例えば、次のようにする。コンピュータをデータ構造生成システム2として機能させるためのプログラムを記録したディスク,半導体メモリ,その他の記録媒体を用意し、コンピュータに上記プログラムを読み取らせる。コンピュータは、読み取ったプログラムに従って自身の動作を制御することにより、自コンピュータ上に、プログラム記述取得手段21,データ定義検出手段22,データ構造抽出手段23,データ構造情報格納手段24を実現する。
処理システム4は、アプリケーションプログラム41と、データ送受信手段42と、送信データ領域43と、受信データ領域44とを備えている。
アプリケーションプログラム41は、プログラム記述1をコンパイルして生成されたプログラムであり、処理システム5のアプリケーションプログラム51とのデータ送受信処理を含むプログラムである。
送信データ領域43は、例えばメインメモリ上に設けられた領域であり、アプリケーションプログラム51へ送信する送信データが格納される。
受信データ領域44は、例えばメインメモリ上に設けられた領域であり、アプリケーションプログラム51からの受信データが格納される。
データ送受信手段42は、アプリケーションプログラム41からデータ送信を要求された場合、送信データ領域43に格納されている送信データを処理システム5内のデータ送受信手段52へ送信する。また、処理システム5内のデータ送受信手段52からデータを受信した場合、それを受信データ領域44に格納すると共に、アプリケーションプログラム41にデータを受信した旨を通知する。
処理システム5は、アプリケーションプログラム51と、データ送受信手段52と、データ操作手段53と、送信データ領域54と、受信データ領域55とを備えている。
アプリケーションプログラム51は、処理システム4内のアプリケーションプログラム41とのデータ送受信処理を含むプログラムである。なお、本実施の形態においては、アプリケーションプログラム51は、アプリケーションプログラム41との間でデータを送受信していたプログラム(図示せず)の代わりに、新たに実装されたプログラムであり、アプリケーションプログラム41とは異なるプログラム記述言語によるものであるとする。
送信データ領域54は、例えばメインメモリ上に設けられた領域であり、アプリケーションプログラム41への送信データが格納される。
受信データ領域55は、例えばメインメモリ上に設けられた領域であり、アプリケーションプログラム41からの受信データが格納される。
データ送受信手段52は、アプリケーションプログラム51からデータ送信を要求された場合は、送信データ領域54に格納されている送信データを処理システム4内のデータ送受信手段42へ送信する。また、処理システム4内のデータ送受信手段42から送られてきたデータを受信データ領域55に格納すると共に、アプリケーションプログラム51にデータを受信したことを通知する。
データ操作手段53は、アプリケーションプログラム51が処理システム4内のアプリケーションプログラム41とデータを送受信する際にアプリケーションプログラム51から呼び出され、データ構造記憶部3に登録されているデータ構造情報を使用して送信データ領域54上に送信データを生成したり、受信データ領域55に格納されている受信データからアプリケーションプログラム51によって参照要求されている項目の値を抽出する機能を有する。
〔第1の実施の形態の動作の説明〕
次に本実施の形態の動作について詳細に説明する。
今、処理システム5において、それまでアプリケーションプログラム41との間でデータ送受信を行っていたプログラムPX(図示せず)の代わりに、アプリケーションプログラム51が新たに実装されたとする。また、プログラムPXの代わりにアプリケーションプログラム51を実装する際に、データ操作手段53も実装されたとする。なお、アプリケーションプログラム51は、アプリケーションプログラム41とはプログラム記述言語が異なるものである。また、アプリケーションプログラム41には、アプリケーションプログラム51のプログラム記述言語では表現できないデータ形式が含まれているとする。
新たに実装したアプリケーションプログラム51と、処理システム4に実装されている既存のアプリケーションプログラム41との間でデータ送受信を行う場合には、それに先立ち、データ構造生成システム2を用いて、アプリケーションプログラム41で定義されている、アプリケーションプログラム51との間で送受信する各項目のデータ構造情報をデータ構造記憶部3に登録しておく必要がある。従って、以下では、先ず、データ構造情報登録時の動作を説明し、その後で、データ送受信時の動作を説明する。
〔データ構造情報登録時の動作〕
システム管理者は、データ構造情報をデータ構造記憶部3に登録する場合、入力装置25からプログラム記述1の存在場所を示す情報を入力する。
これにより、データ構造生成システム2内のプログラム記述取得手段21が、上記存在場所からプログラム記述1を入力し、プログラム記述記憶部27に格納する(図3のステップS31)。
次に、データ定義検出手段22が、プログラム記述記憶部27に格納されているプログラム記述1を解析することにより、プログラム記述1中に存在する送受信の対象となる項目それぞれのデータ定義記述を抽出し(ステップS32)、抽出した各項目のデータ定義記述をデータ定義記述記憶部28に格納する(ステップS33)。
その後、データ構造抽出手段23が、データ定義記述記憶部28に格納されているデータ定義記述に基づいて各項目のデータ構造情報を生成し(ステップS34)、データ構造格納手段24が、上記データ構造情報をデータ構造記憶部3に登録する(ステップS35)。また、データ構造格納手段24は、データ構造情報の登録が完了すると、その旨を出力装置26に出力する処理も行う。なお、各項目のデータ構造情報には、名標(識別子)、オフセット(送受信データにおけるその項目の配置位置)、サイズ、データ形式、繰り返し回数などが含まれる。以上が、データ構造情報登録時の動作である。
〔データ送受信時の動作〕
次に、処理システム4と処理システム5との間でデータの送受信を行う際の動作を説明する。
先ず、アプリケーションプログラム51がアプリケーションプログラム41に対してデータ送信を行う場合の動作を説明する。
アプリケーションプログラム51は、アプリケーションプログラム41に対してデータを送信する場合、データ操作手段53を利用して送信データを作成する。送信データを作成する場合、アプリケーションプログラム51は、図4のフローチャートに示すように、データ操作手段53を呼び出し、「送信データ領域54の位置」、「操作対象とする領域の名標の内の1つ(送信データに含ませる項目の名標の内の1つ)」、「送信データ領域に格納する値(送信データに含ませる項目の値)」および「操作モード=“更新”」を渡す(ステップS41)。その後、アプリケーションプログラム51は、データ操作手段53からの書き込み完了通知を待つ待ち状態になる(ステップS42)。
データ操作手段53は、アプリケーションプログラム51から呼び出されると、先ず、データ構造記憶部3を参照し、呼び出し時に指定された名標を検索する(図5のステップS51)。
そして、指定された名標を検索できた場合(ステップS52がYES)は、指定された名標を含むデータ構造情報を取得する(ステップS53)。その後、データ操作手段53は、指定された操作モードが“更新”であるため(ステップS54)、指定された名標のデータ構造情報であるオフセット、サイズ、データ形式等を使用し、送信データ領域54中の該当バイト位置に、データ操作手段53によって指定された「送信データ領域に格納する値」を書き込む(ステップS55)。この時、必要があればデータ形式の変換、文字コードの変換を行う。その後、データ操作手段アプリケーションプログラム51に対して、項目値の書き込み完了を通知する(ステップS56)。なお、指定された名標を検索できなかった場合(ステップS52がNO)は、データ操作失敗をアプリケーションプログラム51に通知する等のエラー処理を行った後(ステップS59)、その処理を終了する。
待ち状態にあるアプリケーションプログラム51は、データ操作手段53から書き込み完了通知が送られてくると(図4のステップS42がYES)、送信データに含ませる全ての項目について処理が完了したか否かを判断する(ステップS43)。
そして、未処理の項目が存在する場合には(ステップS43がNO)、再び、ステップS41の処理を行う。これに対して、未処理の項目が存在しない場合(ステップS43がYES)は、データ送受信手段53にデータ送信を要求する(ステップS44)。その際、アプリケーションプログラム51は、送信データの種別を特定できる情報(例えば、どのようなトランザクション処理に使用するデータなのかを示す情報など)をデータ送受信手段52に渡す。
この要求に応答して、データ送受信手段53は、送信データ領域54に格納されている送信データおよびその種別を特定する情報を、処理システム4内のデータ送受信手段42へ送信する。なお、本実施の形態では、データ送受信手段53が、送信データ領域54,受信データ領域55の位置を認識しているとするが、アプリケーションプログラム51からデータ送受信手段53に対して、それらの位置を通知するようにしても良い。
処理システム4内のデータ送受信手段42は、データ送受信手段53から送られてきたデータを受信データ領域44に格納すると共に、アプリケーションプログラム41に対してデータ受信を通知する。
この通知を受けると、アプリケーションプログラム41は、自プログラム内のデータ定義を使用して受信データ中の各項目の値を参照する。
次に、アプリケーションプログラム41がアプリケーションプログラム51に対してデータを送信する場合の動作を説明する。
アプリケーションプログラム41は、アプリケーションプログラム51に対してデータを送信する場合、自プログラム内のデータ定義を使用して送信データを生成し、生成した送信データを送信データ領域43に格納する。その後、アプリケーションプログラム41は、データ送受信手段42に対してデータ送信を要求する。この要求に応答して、データ送受信手段42は、送信データ領域43に格納されている送信データを、データ送受信手段52へ送信する。
処理システム5内のデータ送受信手段52は、送受信手段42から送られてきたデータを受信データ領域55に格納すると共に、アプリケーションプログラム51に対してデータを受信したことを通知する。
この通知を受けると、アプリケーションプログラム51は、図6のフローチャートに示すように、データ操作手段53を呼び出し、「受信データ領域55の位置」、「操作対象とする領域の名標の1つ(参照する項目の名標の1つ)」、「受信データを格納するメインメモリ上の領域(参照した項目の値を格納するメインメモリ上の領域)」および「操作モード=“参照”」を渡す(ステップS61)。その後、アプリケーションプログラム51は、読み込み完了通知を待つ待ち状態となる(ステップS62)。
データ操作手段53は、アプリケーションプログラム51から呼び出されると、データ構造記憶部3を参照し、指定された名標を検索する(ステップS51)。
そして、指定された名標を検索できた場合(ステップS52がYES)は、上記名標を含むデータ構造情報をデータ構造記憶部3から取得する(ステップS53)。その後、データ操作手段53は、指定された操作モードが“参照”であるため(ステップS54)、指定された名標のデータ構造情報であるオフセット、サイズ、データ形式等を使用し、受信データ領域55の該当部分から項目の値を抽出し、抽出した項目の値を指定された「受信データを格納するメインメモリ上の領域」へ読み込む(ステップS57)。この時、必要があればデータ形式の変換、文字コードの変換を行う。その後、データ操作手段53は、読み込み完了をアプリケーションプログラム51に通知する。
待ち状態にあるアプリケーションプログラム51は、データ操作手段53から読み込み完了が通知されると(図6のステップS62がYES)、参照すべき全ての項目について処理が完了したか否かを判断する(ステップS63)。
そして、処理が完了していない項目が存在する場合(ステップS63がNO)は、再びステップS61の処理を行い、全ての項目について処理が完了している場合(ステップS63がYES)は、指定した領域に読み込まれたデータを利用した処理を行う(ステップS64)。
次に、具体例を挙げて本実施の形態について説明する。図7は本実施の形態にかかるプログラム間通信システムの具体例を示すブロック図である。
図7において、サーバ400は、図1に示した処理システム4に対応し、COBOLプログラム401と、トランザクション処理システム402と、送信データ領域403と、受信データ領域404とを備える。
COBOLプログラム401は、図1に示したアプリケーションプログラム41に対応し、COBOL言語で記述されたプログラムである。トランザクション処理システム402は、図1のデータ送受信手段42に対応し、COBOLプログラム401をトランザクションとして処理する。送信データ領域403,受信データ領域404は、それぞれ図1の送信データ領域43,受信データ領域44と対応する。
COBOLソース100は、図1に示したプログラム記述1に対応する。COBOLソース100は、サーバ400に接続されたディスク上に存在し、COBOLソース100をコンパイルしてCOBOLプログラム401が生成されている。この例では、COBOLソース100をプログラムソースとしているが、COBOLのコピー原文としてもよい。コピー原文とした場合は、COBOLプログラム401生成時のコンパイルで使用したコピー原文とする。
APサーバ500は、図1に示した処理システム5に対応し、Javaプログラム501と、トランザクション処理システムアクセス部品502と、データ操作手段53と、送信データ領域504と、受信データ領域505とを備える。
Javaプログラム501は、図1に示したアプリケーションプログラム51に対応し、それまでCOBOLプログラム401とプログラム間通信を行っていたCOBOLプログラム(図示せず)の代わりに新たに実装されたJava言語で記述されたプログラムである。このJavaプログラム501は、端末600とのインタフェースを持ち、端末600からの要求によってサーバ400に対してトランザクションを要求し、その結果を端末600へ返却する。トランザクション処理システムアクセス部品502は、図1のデータ送受信手段53に対応し、サーバ400上のトランザクション処理システム402をアクセスする部品である。送信データ領域504,受信データ領域505は、それぞれ図1の送信データ領域54,受信データ領域55と対応する。
データ構造記憶部3は、APサーバ500に接続されたディスク上に存在する。
開発環境200は、データ構造生成システム2を含み、サーバ400、APサーバ500とは独立した環境である。
次に、図7に示したプログラム間通信システムの動作について説明する。
〔データ構造情報登録時の動作〕
今、APサーバ500において、それまでCOBOLプログラム401との間でデータ送受信を行っていたCOBOLプログラムP(図示せず)の代わりに、Javaプログラム501が新たに実装されたとする。また、COBOLプログラムPの代わりにJavaプログラム501を実装する際に、データ操作手段53も実装されたとする。
新たに実装したJavaプログラム501と、サーバ400に実装されている既存のCOBOLプログラム401との間でプログラム間通信を行う場合には、それに先立ち、データ構造生成システム2を用いて、COBOLプログラム401で定義されている、送受信の対象とする各項目のデータ構造情報をデータ構造記憶部3に登録しておく必要がある。
システム管理者は、データ構造情報をデータ構造記憶部3に登録する場合、入力装置25からCOBOLソース100の存在場所を示す情報を入力する。これにより、データ構造生成システム2内のプログラム記述取得手段21が、サーバ400に接続されているディスク上からCOBOLソース100を入力し、プログラム記述記憶部27に格納する(図3のステップS31)。図8にプログラム記述記憶部27に格納されたCOBOLソース100の具体例を示す。なお、図8においては、COBOLソース100の一部のみしか図示していない。
その後、データ定義検出手段22が、プログラム記述記憶部27に格納されているCOBOLソース100を解析することにより、送受信の対象となる各項目(在庫照会,伝票番号など)のデータ定義記述を抽出し、抽出したデータ定義記述をデータ定義記述記憶部28に格納する(ステップS32)。具体的には、「DATA DIVISION」の「WORKING-STORAGE SECTION」中の記述をデータ定義記述として抽出し、それをデータ定義記述記憶部28に格納する。
更に、データ構造抽出手段23が、データ定義記述記憶部28に格納されている各項目のデータ定義記述に基づいて、各項目の構造レベル、名標、データ形式、繰り返し数、オフセット、サイズ、文字コードなどを含むデータ構造情報を生成し(ステップS34)、データ構造格納手段24がデータ構造情報をデータ構造記憶部3に書き込む(ステップS35)。
ここで、データ構造抽出手段23がステップS34で行う処理を詳しく説明する。
データ構造抽出手段23は、先ず、データ定義記述記憶部28に格納されている先頭のデータ定義記述(第000080行目のデータ定義記述)に注目する。この第000080行目の記述からデータ構造抽出手段23は、構造レベル「01」、名標「在庫照会」、オフセット「0」を抽出する。更に、データ構造抽出手段23は、構造レベルが「02」,「03」になっている第000090行〜第000160行の記述に基づいて、サイズ「1022」を算出する。即ち、{10+40+2+10×(5+80+2+10)}なる演算を行うことにより、サイズ「1022」を算出する。その後、データ構造抽出手段23は、構造レベル「01」、名標「在庫照会」、オフセット「0」、サイズ「1022」を含んだ、名標「在庫照会」の項目に対応するデータ構造情報を生成し、データ構造格納手段24に渡す。
その後、データ構造抽出手段23は、次の行(第000090行目)に注目する。この第000090行目の記述から、データ構造抽出手段23は、構造レベル「02」、名標「伝票番号」、形式「9(10)」、オフセット「0」、サイズ「10」を抽出し、それらを含んだデータ構造情報をデータ構造格納手段24に渡す。
以下、データ構造抽出手段23は、データ定義記述記憶部28に格納されている各項目のデータ定義記述を順次処理対象にして上述した処理と同様の処理を行う。データ構造抽出手段23は、以上の処理をデータ定義記述記憶部28に格納されている全てのデータ定義記述に対して行う。これにより、図9に示すような各項目のデータ構造情報がデータ構造記憶部3に格納される。
〔データ送受信時の動作〕
次に、COBOLプログラム401とJavaプログラム501とがデータを送受信をする場合の動作を、Javaプログラム501が「在庫照会」に関するトランザクション要求データを生成してCOBOLプログラム401へ送信し、それに対する応答データをCOBOLプログラム401が生成してJavaプログラム501に送信する場合を例に挙げて説明する。
今、例えば、端末600からJavaプログラム501に対して、担当者名「山田太郎」、商品番号「1011」,「1012」を含む商品照会要求が入力されたとする。これにより、Javaプログラム501は、データ操作手段53に対して図10に示す呼び出し処理を行う。
即ち、Javaプログラム501は、先ず、送信データ領域504を初期化するため、データ操作手段53を呼び出し、「送信データ領域504の位置」、名標「在庫照会」、名標「在庫照会」の値「空白」、「操作モード=“更新”」を渡す(図4のステップS41)。
これにより、データ操作手段53は、データ構造記憶部3(図9参照)を検索し、名標「在庫照会」に対応するデータ構造情報からオフセット「0」及びサイズ「1022」を取得する(図5のステップS51〜S53)。その後、「操作モード=“更新”」であるので、送信データ領域504の先頭(オフセット「0」)から1022バイト分、指定された値「空白」を書き込む(ステップS54,S55)。その後、データ操作手段53は、Javaプログラム501に対して書き込み完了を通知する(ステップS56)。
Javaプログラム501は、書き込み完了が通知されると(図4のステップS42がYES)は、処理していない項目が存在するので(ステップS43がNO)、再び、データ操作手段53を呼び出し、「送信データ領域504の位置」、名標「担当者名」、名標「担当者名」の値「山田太郎」及び「操作モード=“更新”」を渡す(ステップS41)。
これにより、データ操作手段53は、データ構造記憶部3を検索し、名標「担当者名」に対応するデータ構造情報からオフセット「10」、サイズ「40」を取得する(図5のステップS51〜S53)。その後、操作モードが“更新”であるので(ステップS54)、データ操作手段53は、送信データ領域504の10バイト目から指定された値「山田太郎」を書き込み(ステップS55)、その後、書き込み完了をJavaプログラム501に通知する(ステップS56)。
以下、同様の処理が行われ、送信データ領域504の50バイト目,52バイト目,149バイト目に、それぞれ「2(照会数)」、「1011(商品番号)」、「1012(商品番号)」が書き込まれる。これにより、「在庫照会」に関するトランザクション要求データが送信データ領域504上に生成される。
Javaプログラム501は、「在庫照会」に関するトランザクション要求データが送信データ領域504上に作成されると、トランザクション処理システムアクセス部品502に対して送信要求を行う(図4のステップS44)。その際、トランザクション要求データが「在庫照会」に関するものであることを示す情報もトランザクション処理システムアクセス部品502に渡す。
これにより、トランザクション処理システムアクセス部品502は、送信データ領域504上のトランザクション要求データ及びそれが「在庫照会」に関するものであることを示す情報をサーバ400へ送信する。
サーバ400内のトランザクション処理システム402は、APサーバ500からの「在庫照会」に関するトランザクション要求データを受信すると、それを受信データ領域404に格納すると共に、そのことをCOBOLプログラム401に通知する。
これにより、COBOLプログラム401は、受信データ領域404に格納されているトランザクション要求データと、自プログラム401内のデータ定義とに基づいて、商品番号「1011」,「1012」についての在庫照会が要求されたことを認識する。その後、COBOLプログラム401は、自プログラム中のデータ定義に基づいて、応答データを生成し、トランザクション処理システム402を介してAPサーバ500へ送信する。
APサーバ500内のトランザクション処理システムアクセス部品502は、応答データを受信すると、それを受信データ領域505に格納すると共に、Javaプログラム501にそのことを通知する。
これにより、Javaプログラム501は、データ操作手段53を呼び出し、「受信データ領域505の位置」、「参照する項目の名標(例えば、OUT-STOCK)」、「受信データの値を格納するメインメモリ上の領域」及び「操作モード=“参照”」を渡す(図6のステップS61)。なお、指定した名標が繰り返し項目に関するものである場合は、何回目の繰り返しなのかを示す情報もデータ操作手段53に渡す。今、例えば、k回目の繰り返しであることを示す情報も渡したとする(商品番号「1011」の商品に関する情報を参照する場合には、k=1となり、商品番号「1012」の商品に関する情報を参照する場合には、k=2となる)。
これにより、データ操作手段53は、データ構造記憶部3を検索し、指定された名標「OUT-STOCK」に対応するデータ構造情報からオフセット「28」、サイズ「3」を取得する(図5のステップS51〜S53)。その後、受信データ領域505の「28×kバイト目」から3バイト分のデータを、指定されたメインメモリ上の領域に読み込み、読み込み完了をJavaプログラム501に通知する(ステップS57,S58)。
Javaプログラム501は、読み込み完了が通知されると(図6のステップS62がYES)、全ての項目について処理が完了したか否かを判断する(ステップS63)。そして、処理が完了していない項目が存在する場合(ステップS63がNO)には、再び、ステップS61の処理を行い、全ての項目についての処理が完了している場合(ステップS63がYES)には、メインメモリ上の指定した領域に格納されている値を利用した処理を行う。
なお、以上の説明では説明しなかったが、COBOLプログラム401を変更した場合にも、変更後のCOBOLプログラム401に対応するCOBOLソース100を用いて、データ構造生成システム2において新たなデータ構造情報を生成し、それをデータ構造記憶部3に登録すれば、Javaプログラム501側においては、何らの変更も行わずに、COBOLプログラム401とのプログラム間通信を継続することが可能になる。
〔他の実施の形態〕
次に、本発明にかかるプログラム間通信システムの第2の実施の形態について説明する。
図11は本実施の形態の全体構成例を示すブロック図である。図11を参照すると、本実施の形態は、処理システム4の代わりに処理システム4aを備えている点、およびデータ構造生成システム2の代わりにデータ構造生成システム6を備えている点が図1に示した第1の実施の形態と相違している。
処理システム4aは、データ操作手段45が追加されている点、およびアプリケーションプログラム41の代わりにアプリケーションプログラム41aを備えている点が、図1に示した処理システム4と相違している。
データ操作手段45は、アプリケーションプログラム41aが処理システム5内のアプリケーションプログラム51とデータを送受信する際、アプリケーションプログラム41aにより呼び出され、データ構造記憶部3に登録されているデータ構造情報を使用して送信データ領域43上に送信データを生成したり、受信データ領域44に格納されている受信データからアプリケーションプログラム41aによって参照要求されている項目の値を抽出する機能を有する。
図12は、データ構造生成システム6の構成例を示すブロック図である。データ構造生成システム6と図2に示したデータ構造生成システム2との相違点は、GUI手段61、データ構造生成手段62およびデータ構造更新手段63が追加されている点である。
GUI手段61は、入力装置25からの操作指示やデータ入力を受け付け、入力された操作指示に従いデータ構造生成システム6に備わる各手段を呼び出し、各手段からの処理結果を出力装置26へ出力する。
データ構造生成手段62は、システム管理者の指示に従って、新たに送受信の対象にする項目のデータ構造情報をデータ構造記憶部3に登録し、それに伴って既に登録済みのデータ構造情報中のオフセット,サイズを修正することが必要になった場合は、オフセット,サイズを修正する。
データ構造更新手段63は、システム管理者の指示に従って、データ構造記憶部3に登録されているデータ項目情報の属性値を変更すると共に、それに伴って既に登録済みのデータ構造情報中のオフセット,サイズを修正することが必要になった場合には、オフセット,サイズを修正する。
データ構造生成システム6もデータ構造生成システム2と同様に、コンピュータによって実現可能なものであり、コンピュータによって実現する場合には、コンピュータをデータ構造生成システム6として機能させるプログラムを記録したディスク,半導体メモリ,その他の記録媒体を用意し、コンピュータに上記プログラムを読み取らせる。コンピュータは、読み取ったプログラムに従って、自身の動作を制御することにより、自コンピュータ上に、プログラム記述取得手段21、データ定義検出手段22、データ構造抽出手段23、データ構造格納手段24、GUI手段61、データ構造生成手段62、データ構造更新手段63を実現する。
〔第2の実施の形態の動作の説明〕
次に、本実施の形態の動作について説明する。
今、アプリケーションプログラム41aがアプリケーションプログラム41の代わりに処理システム4aに新たに実装されたプログラムであるとし、また、アプリケーションプログラム41aが送受信の対象にしている項目は、アプリケーションプログラム41と全く同じであるとする。このような状況は、例えば、COBOL言語によるアプリケーションプログラム41をJava言語によるアプリケーションプログラム41aに置き換える場合に発生する。
この場合、データ構造記憶部3には、アプリケーションプログラム41が送受信の対象にしていた各項目のデータ構造情報が格納されており、アプリケーションプログラム41aは、アプリケーションプログラム41と同じ項目を送受信の対象にしているので、データ送信時に、アプリケーションプログラム41a,データ操作手段45において、それぞれ図4,図5に示す処理を行い、アプリケーションプログラム51からのデータの受信時に、アプリケーションプログラム41a,データ操作手段45において、それぞれ図6,図5の処理を行うことにより、処理システム5側において、何ら変更を行うことなく、アプリケーションプログラム41aとアプリケーションプログラム51との間でデータ通信を行うことが可能になる。
また、例えば、アプリケーションプログラム41aがアプリケーションプログラム51以外のアプリケーションプログラム(図示せず)ともプログラム間通信を行うことが必要になり、上記アプリケーションプログラムとプログラム間通信を行うためには、現時点で送受信の対象にしている項目に加え、新たな項目を追加することが必要であるとする。
このような場合、システム管理者は、入力装置25から追加する項目(追加項目)のデータ定義記述と、追加項目をそれが含まれる構造レベル中の何番目の項目とするのかを示す順番情報と、追加項目に関連する項目の内の、構造レベル「01」の項目の名標を入力する。今、例えば、データ構造記憶部3に内容が図9に示すものである場合において、追加項目が「在庫照会」に関するものであり、そのデータ定義記述が「02 メールアドレス PIC X(40)」、追加項目の順番が「第3番目」である場合には、システム管理者は、入力装置25から、データ定義記述「02 メールアドレス PIC X(40)」、順番情報「3」、名標「在庫照会」を入力する。これらの情報は、GUI手段61を介してデータ構造生成手段62に入力される。
これにより、データ構造生成手段62は、追加項目に関連する全ての項目のデータ構造情報をデータ構造記憶部3から入力する(図13のステップS131)。この例では、データ構造記憶部3(図9参照)の第1行目〜第9行目のデータ構造情報を入力することになる。
その後、データ構造生成手段62は、追加項目のオフセットを計算すると共に、既に登録されているデータ構造情報中のオフセット,サイズを計算し直す(ステップS132)。この例の場合、構造レベル「02」の第3番目に追加項目(サイズ「40」)に関するデータ構造情報が追加されるので、例えば、「在庫照会」に関するサイズは「1062」となり、「照会数」に関するオフセットは「50」となる。
その後、データ構造生成手段62は、追加項目に関するデータ構造情報を順番情報によって指示された位置に追加し、且つ、オフセット,サイズを修正した各項目のデータ構造情報をデータ構造記憶部3に登録し直す(ステップS133)。
このようなデータ構造情報をデータ構造記憶部3に登録しておけば、アプリケーションプログラム51は、第1の実施の形態と同様にして、アプリケーションプログラム41aとデータを送受信することができる。
また、例えば、アプリケーションプログラム41aにおいて、或る項目の属性値を変更することが必要になったとする。
このような場合、システム管理者は、入力装置25から属性値を変更する項目の名標と、変更後の属性値とを入力する。これらの情報は、GUI手段61を介してデータ構造更新手段63に入力される。今、例えば、図9の例において、「伝票番号」の形式を「9(10)」から「X(10)」に変更することが必要になったとすると、システム管理者は、入力装置25から名標「伝票番号」を入力すると共に、更新後の属性値「形式=X(10)」を入力する。
これにより、データ構造更新手段63は、データ構造記憶部3を検索し、名標「伝票番号」に対応付けて登録されている形式の属性値を「9(10)」から「X(10)」に更新する(図14のステップS141,S142)。その後、データ構造更新手段63は、「伝票番号」に関連する各項目のデータ構造情報(図9の第1行目〜第9行目)に関し、オフセット,サイズを計算し、計算したオフセット,サイズを登録し直す(ステップS143)。
このようなデータ構造情報をデータ構造記憶部3に登録しておけば、アプリケーションプログラム51は、第1の実施の形態と同様にして、アプリケーションプログラム41aとデータを送受信することができる。
本発明にかかるプログラム間通信システムの第1の実施の形態の全体構成例を示すブロック図である。 データ構造生成システム2の構成例を示すブロック図である。 データ構造生成システム2の処理例を示すフローチャートである。 データ送信時にアプリケーションプログラム51が行う処理例を示すフローチャートである。 データ操作手段53の処理例を示すフローチャートである。 データ受信時にアプリケーションプログラム51が行う処理例を示すフローチャートである。 プログラム間通信システムの具体的な構成例を示すブロック図である。 COBOLソース100の一例を示す図である。 データ構造記憶部3の内容例を示す図である。 データ操作手段53を呼び出す際の手順を示した図である。 本発明にかかるプログラム間通信システムの第2の実施の形態の全体構成例を示すブロック図である。 データ構造生成システム6の構成例を示すブロック図である。 データ構造生成手段62の処理例を示すフローチャートである。 データ構造更新手段63の処理例を示すフローチャートである。
符号の説明
1…プログラム記述
2…データ構造生成システム
21…プログラム記述取得手段
22…データ定義検出手段
23…データ構造抽出手段
24…データ構造格納手段
25…入力装置
26…出力装置
27…プログラム記述記憶部
28…データ定義記述記憶部
3…データ構造記憶部
4,4a…処理システム
41,41a…アプリケーションプログラム
42…データ送受信手段
43…送信データ領域
44…受信データ領域
45…データ操作手段
5…処理システム
51…アプリケーションプログラム
52…データ送受信手段
53…データ操作手段
54…送信データ領域
55…受信データ領域
6…データ構造生成システム
61…GUI手段
62…データ構造生成手段
63…データ構造更新手段
100…COBOLソース
200…開発環境
400…サーバ
401…COBOLプログラム
402…トランザクション処理システム
403…送信データ領域
404…受信データ領域
500…APサーバ
501…Javaプログラム
502…トランザクション処理システムアクセス部品
504…送信データ領域
505…受信データ領域
600…端末

Claims (6)

  1. 第1のプログラムと第2のプログラムとの間でデータを送受信するプログラム間通信システムにおいて、
    前記第1のプログラムで定義されている送受信の対象となる項目それぞれのデータ構造情報が登録されたデータ構造記憶部と、
    前記第1のプログラムへの送信データに含ませる項目の名標とその値とが前記第2のプログラムによって指定されたとき、前記データ構造記憶部に登録されているデータ構造情報に基づいて、前記指定された値を含む前記第1のプログラムにおいて認識可能な送信データを生成し、参照する項目の名標が前記第2のプログラムによって指定されたとき、前記データ構造記憶部に登録されているデータ構造情報に基づいて、前記第1のプログラムから送られてきた受信データから前記指定された項目の値を抽出するデータ操作手段と、
    前記第1のプログラムのソースプログラムを取得するプログラム記述取得手段、該プログラム記述取得手段が取得した前記ソースプログラムから、送受信の対象にしている項目それぞれの構造レベル及び名標を含むデータ定義記述を抽出するデータ定義検出手段、該データ定義検出手段で抽出した前記各項目のデータ定義記述に基づいて、前記各項目の構造レベル、名標、サイズ、及びオフセットを含むデータ構造情報を生成するデータ構造抽出手段、および該データ構造抽出手段が生成した前記各項目のデータ構造情報を前記データ構造記憶部に登録するデータ構造格納手段から構成されるデータ構造生成システムと、を備え、
    前記データ構造生成システムは、さらに、
    システム管理者の、新たに送受信の対象にする項目である追加項目の名標と、追加項目に関するデータ定義記述と、及び追加項目をそれの含まれる構造レベル中の何番目の項目とするのかを示す順番情報と、を入力する入力指示に従って、前記データ構造記憶部に、新たに送受信の対象にする項目のデータ構造情報を登録するデータ構造生成手段と、
    システム管理者の、更新が必要となった項目の名標と、更新後の属性値と、を入力する入力指示に従って、前記データ構造記憶部に登録されているデータ構造情報の属性値を更新するデータ構造更新手段と、
    を備えたことを特徴とするプログラム間通信システム。
  2. 請求項1記載のプログラム間通信システムにおいて、
    前記データ操作手段が、送信データに含ませる項目の名標とその値とが指定されたとき、前記指定された名標と対応するオフセットを前記データ構造記憶部から取得し、該取得したオフセットによって示される位置に前記指定された値を設定することにより送信データを生成し、参照する項目の名標が指定されたとき、前記指定された名標と対応するサイズ及びオフセットを前記データ構造記憶部から取得し、受信データ中の前記取得したオフセットによって示される位置から前記取得したサイズ分のデータを抽出する構成を有することを特徴とするプログラム間通信システム。
  3. 第1のプログラムと第2のプログラムとの間でデータを送受信するプログラム間通信システムにおいて、
    前記第1のプログラムで定義されている送受信の対象となる項目それぞれのデータ構造情報が登録されたデータ構造記憶部と、
    前記第1のプログラムへの送信データに含ませる項目の名標とその値とが前記第2のプログラムによって指定されたとき、前記データ構造記憶部に登録されているデータ構造情報に基づいて、前記指定された値を含む前記第1のプログラムにおいて認識可能な送信データを生成し、参照する項目の名標が前記第2のプログラムによって指定されたとき、前記データ構造記憶部に登録されているデータ構造情報に基づいて、前記第1のプログラムから送られてきた受信データから前記指定された項目の値を抽出する第1のデータ操作手段と、
    前記第2のプログラムへの送信データに含ませる項目の名標とその値とが前記第1のプログラムによって指定されたとき、前記データ構造記憶部に登録されているデータ構造情報に基づいて、前記指定された値を含む前記第2のプログラムにおいて認識可能な送信データを生成し、参照する項目の名標が前記第1のプログラムによって指定されたとき、前記データ構造記憶部に登録されているデータ構造情報に基づいて、前記第2のプログラムから送られてきた受信データから前記指定された項目の値を抽出する第2のデータ操作手段と、
    前記第1のプログラムのソースプログラムを取得するプログラム記述取得手段、該プログラム記述取得手段が取得した前記ソースプログラムから、送受信の対象にしている項目それぞれの構造レベル及び名標を含むデータ定義記述を抽出するデータ定義検出手段、該データ定義検出手段で抽出した前記各項目のデータ定義記述に基づいて、前記各項目の構造レベル、名標、サイズ、及びオフセットを含むデータ構造情報を生成するデータ構造抽出手段、該データ構造抽出手段が生成した前記各項目のデータ構造情報を前記データ構造記憶部に登録するデータ構造格納手段、システム管理者の、新たに送受信の対象にする項目である追加項目の名標と、追加項目に関するデータ定義記述と、及び追加項目をそれの含まれる構造レベル中の何番目の項目とするのかを示す順番情報と、を入力する入力指示に従って、前記データ構造記憶部に、新たに送受信の対象にする項目のデータ構造情報を登録するデータ構造生成手段と、システム管理者の、更新が必要となった項目の名標と、更新後の属性値と、を入力する入力指示に従って、前記データ構造記憶部に登録されているデータ構造情報の属性値を更新するデータ構造更新手段から構成されるデータ構造生成システムと、
    を備えたことを特徴とするプログラム間通信システム。
  4. 第1のプログラムと第2のプログラムとの間でデータを送受信するプログラム間通信方法において、
    プログラム記述取得手段が、前記第1のプログラムのソースプログラムを取得するプログラム記述取得ステップと、
    データ定義検出手段が、前記プログラム記述取得手段が取得した前記ソースプログラムから、前記第1のプログラムが送受信の対象にしている項目それぞれの構造レベル及び名標を含むデータ定義記述を抽出するデータ定義検出ステップと、
    データ構造抽出手段が、前記データ定義検出手段が抽出した前記各項目のデータ定義記述に基づいて、前記各項目の構造レベル、名標、サイズ、及びオフセットを含むデータ構造情報を生成するデータ構造抽出ステップと、
    データ構造格納手段が、前記データ構造抽出手段が生成した前記各項目のデータ構造情報をデータ構造記憶部に登録するデータ構造格納ステップと、
    データ操作手段が、前記第1のプログラムへの送信データに含ませる項目の名標とその値とが前記第2のプログラムによって指定されたとき、前記データ構造記憶部に登録されているデータ構造情報に基づいて、前記指定された値を含む前記第1のプログラムにおいて認識可能な送信データを生成し、参照する項目の名標が前記第2のプログラムによって指定されたとき、前記データ構造記憶部に登録されているデータ構造情報に基づいて、前記第1のプログラムから送られてきた受信データから前記指定された項目の値を抽出するデータ操作ステップと、
    データ構造生成手段が、システム管理者の、新たに送受信の対象にする項目である追加項目の名標と、追加項目に関するデータ定義記述と、及び追加項目をそれの含まれる構造レベル中の何番目の項目とするのかを示す順番情報と、を入力する入力指示に従って、前記データ構造記憶部に、新たに送受信の対象にする項目のデータ構造情報を登録するデータ構造生成ステップと、
    データ構造更新手段が、システム管理者の、更新が必要となった項目の名標と、更新後の属性値と、を入力する入力指示に従って、前記データ構造記憶部に登録されているデータ構造情報の属性値を更新するデータ構造更新ステップと、
    を含むことを特徴とするプログラム間通信方法。
  5. データ構造記憶部と、
    第2のプログラムとプログラム間通信を行う第1のプログラムのソースプログラムを取得するプログラム記述取得手段と、
    該プログラム記述取得手段が取得した前記ソースプログラムから、前記第1のプログラムが送受信の対象にしている項目それぞれの構造レベル及び名標を含むデータ定義記述を抽出するデータ定義検出手段と、
    該データ定義検出手段で抽出した前記各項目のデータ定義記述に基づいて、前記各項目の構造レベル、名標、サイズ、及びオフセットを含むデータ構造情報を生成するデータ構造抽出手段と、
    該データ構造抽出手段が生成した前記各項目のデータ構造情報を前記データ構造記憶部に登録するデータ構造格納手段と、
    システム管理者の、新たに送受信の対象にする項目である追加項目の名標と、追加項目に関するデータ定義記述と、及び追加項目をそれの含まれる構造レベル中の何番目の項目とするのかを示す順番情報と、を入力する入力指示に従って、前記データ構造記憶部に、新たに送受信の対象にする項目のデータ構造情報を登録するデータ構造生成手段と、
    システム管理者の、更新が必要となった項目の名標と、更新後の属性値と、を入力する入力指示に従って、前記データ構造記憶部に登録されているデータ構造情報の属性値を更新するデータ構造更新手段と、
    を備えたことを特徴とするデータ構造生成システム。
  6. データ構造記憶部を備えたコンピュータを、
    第2のプログラムとプログラム間通信を行う第1のプログラムのソースプログラムを取得するプログラム記述取得手段と、
    該プログラム記述取得手段が取得した前記ソースプログラムから、前記第1のプログラムが送受信の対象にしている項目それぞれの構造レベル及び名標を含むデータ定義記述を抽出するデータ定義検出手段と、
    該データ定義検出手段で抽出した前記各項目のデータ定義記述に基づいて、前記各項目の構造レベル、名標、サイズ、及びオフセットを含むデータ構造情報を生成するデータ構造抽出手段と、
    該データ構造抽出手段が生成した前記各項目のデータ構造情報を前記データ構造記憶部に登録するデータ構造格納手段と、
    システム管理者の、新たに送受信の対象にする項目である追加項目の名標と、追加項目に関するデータ定義記述と、及び追加項目をそれの含まれる構造レベル中の何番目の項目とするのかを示す順番情報と、を入力する入力指示に従って、前記データ構造記憶部に、新たに送受信の対象にする項目のデータ構造情報を登録するデータ構造生成手段と、
    システム管理者の、更新が必要となった項目の名標と、更新後の属性値と、を入力する入力指示に従って、前記データ構造記憶部に登録されているデータ構造情報の属性値を更新するデータ構造更新手段として機能させるためのプログラム。
JP2004269246A 2004-09-16 2004-09-16 プログラム間通信システム、プログラム間通信方法、データ構造生成システムおよびプログラム Expired - Fee Related JP4624044B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004269246A JP4624044B2 (ja) 2004-09-16 2004-09-16 プログラム間通信システム、プログラム間通信方法、データ構造生成システムおよびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004269246A JP4624044B2 (ja) 2004-09-16 2004-09-16 プログラム間通信システム、プログラム間通信方法、データ構造生成システムおよびプログラム

Publications (2)

Publication Number Publication Date
JP2006085407A JP2006085407A (ja) 2006-03-30
JP4624044B2 true JP4624044B2 (ja) 2011-02-02

Family

ID=36163871

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004269246A Expired - Fee Related JP4624044B2 (ja) 2004-09-16 2004-09-16 プログラム間通信システム、プログラム間通信方法、データ構造生成システムおよびプログラム

Country Status (1)

Country Link
JP (1) JP4624044B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008065835A1 (fr) * 2006-11-29 2008-06-05 Nec Corporation Système d'association d'application, procédé d'association d'application, support d'enregistrement et programme d'association d'application
US8307016B2 (en) * 2008-02-25 2012-11-06 Microsoft Corporation Accessing different application data via a common data structure

Also Published As

Publication number Publication date
JP2006085407A (ja) 2006-03-30

Similar Documents

Publication Publication Date Title
US7401336B2 (en) Role based integrated platform
CN100489849C (zh) 用于绑定数据的可编程性
RU2419847C2 (ru) Интегрирование диаграмм в документы
RU2400817C2 (ru) Способ связывания технических данных и система для обслуживания и контроля промышленной установки
US20060282452A1 (en) System and method for mapping structured document to structured data of program language and program for executing its method
JP2006252557A (ja) コンピュータ・プログラム・コードの開発オブジェクトの管理方法および開発オブジェクトの管理システム
US7496927B2 (en) Auto-generated task sequence
US6766350B1 (en) Shared management of data objects in a communication network
US20030204503A1 (en) Connecting entities with general functionality in aspect patterns
WO2000023900A2 (en) A device for and a method of integrating computerised client systems
US7237222B1 (en) Protocol for controlling an execution process on a destination computer from a source computer
US20100107059A1 (en) Generation apparatus, program, and generation method
US7328234B1 (en) Agent architecture for triggering remotely initiated data processing operations
JP2004342107A (ja) オブジェクト指向パイプラインを用いるシステム及び方法
JP4724387B2 (ja) プログラム変換プログラム、プログラム変換装置およびプログラム変換方法
JP2006512633A (ja) 中央XML構成ファイルにより分散Javaアプリケーションを生成させる方法と装置
JP4624044B2 (ja) プログラム間通信システム、プログラム間通信方法、データ構造生成システムおよびプログラム
US7716653B2 (en) Configurable importers and resource writers for converting data into another format
JP4957043B2 (ja) 情報処理装置、プログラム及び業務アプリケーション導入方法
US20230244453A1 (en) Natural language macro expansion for programming langauges
JP4120879B2 (ja) プログラム生成システム及び方法とそのプログラム
JP2007122278A (ja) 文書処理装置及びその方法、プログラム
JP2006277560A (ja) ソフトウェア開発支援装置、設計文書生成プログラム及び設計文書生成方法
JP3761351B2 (ja) 分散システムの遠隔保守管理装置、その方法及びそのプログラムを記録した記憶媒体
JPH04153759A (ja) ネットワーク定義プログラム開発システム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070510

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070522

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070723

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080129

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20080226

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20080226

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20080604

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20090508

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100915

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101102

R150 Certificate of patent or registration of utility model

Ref document number: 4624044

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131112

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees