(57)【要約】      （修正有）【課題】データベースサーバ側で多数のアプリケーションサーバの中から共通プログラムを実行出来るアプリケーションサーバを把握し、絞り込む。【解決手段】複数の業務システム間でデータを連携するデータベースサーバと、共通プログラムを用いてデータの連携処理を分散実行する複数のアプリケーションサーバとが接続されるデータ連携システムにおいて、複数のアプリケーションサーバはそれぞれ自サーバの動作情報をデータベースサーバに継続して送信するとともに、データベースサーバからの情報に基づいて、共通プログラムを用いてデータの連携処理を実行する。データベースサーバは、複数のアプリケーションサーバそれぞれの動作情報を受信出来たか否かを監視し、動作情報を出来たか否かに基づいて、共通プログラムを実行させる１つのアプリケーションサーバを決定し、共通プログラムを実行させる情報を送信する。【選択図】図３
2017027558.tif 000002
【特許請求の範囲】
【請求項１】
各業務システムで用いられるシステムデータを、業務システムが異なる複数の業務システム間で連携するデータベースサーバと、共通プログラムを用いて、前記異なる複数のシステム間でそれぞれ管理されている前記システムデータの連携処理をそれぞれ分散して実行する複数のアプリケーションサーバとが通信可能に接続されるデータ連携システムであって、
前記複数のアプリケーションサーバはそれぞれ、
自サーバの動作状況を前記データベースサーバに知らせる動作情報を、前記データベースサーバに継続して送信する動作情報送信手段と、
前記データベースサーバからの情報に基づいて、前記共通プログラムを用いて、前記システムデータの連携処理を実行するプログラム実行手段と、
を備え、
前記データベースサーバは、
前記複数のアプリケーションサーバそれぞれに対して、前記動作情報を受信出来たか否かを継続して監視する監視手段と、
前記監視している前記動作情報を出来たか否かに基づいて、前記共通プログラムを実行させる１つのアプリケーションサーバを決定し、前記決定されたアプリケーションサーバに前記共通プログラムを実行させる情報を送信する送信手段と、
を備えることを特徴とするデータ連携システム。
【請求項２】
前記監視手段による前記動作情報の受信が２つ以上のアプリケーションサーバから出来た場合には、
前記監視手段による前記動作情報の受信を早く受け付けた方のアプリケーションサーバに前記送信手段が前記共通プログラムを実行させる情報を送信することを特徴とする請求項１に記載のデータ連携システム。
【請求項３】
前記複数のアプリケーションサーバの中で、自サーバの動作状況を前記データベースサーバに知らせる動作情報を前記データベースサーバに継続して送信することに不具合が発生したアプリケーションサーバの前記動作情報送信手段が、自サーバの動作状況を前記データベースサーバに知らせる動作情報を前記データベースサーバに継続して送信出来なくなることを特徴とする請求項１または請求項２に記載のデータ連携システム。
【請求項４】
前記複数のアプリケーションサーバはそれぞれ、
前記データベースサーバからの指示に基づいて、前記システムデータの連携処理を現在実行中であるか否かを判断する判断手段と、
自サーバでは連携処理を現在実行中であると判断した場合には、当該連携処理を実行している間には前記データベースサーバが自サーバには前記共通プログラムを実行させないように、前記データベースサーバに要求する要求手段と、
を備えることを特徴とする請求項１乃至請求項３のいずれか１項に記載のデータ連携システム。
【請求項５】
前記データベースサーバは、
前記動作情報を受信出来たか否かを継続して監視するべき前記複数のアプリケーションサーバのサーバ情報を記憶するサーバ情報記憶手段をさらに備え、
前記サーバ情報に該当する複数のアプリケーションサーバの中の１つのアプリケーションサーバに前記送信手段が前記共通プログラムを実行させる情報を送信することを特徴とする請求項１乃至請求項４のいずれか１項に記載のデータ連携システム。
【請求項６】
各業務システムで用いられるシステムデータを、業務システムが異なる複数の業務システム間で連携するデータベースサーバと、共通プログラムを用いて、前記異なる複数のシステム間でそれぞれ管理されている前記システムデータの連携処理をそれぞれ分散して実行する複数のアプリケーションサーバとが通信可能に接続されるデータ連携システムの制御方法であって、
それぞれの前記複数のアプリケーションサーバの動作情報送信手段が、自サーバの動作状況を前記データベースサーバに知らせる動作情報を、前記データベースサーバに継続して送信する動作情報送信工程と、
それぞれの前記複数のアプリケーションサーバのプログラム実行手段が、前記データベースサーバからの情報に基づいて、前記共通プログラムを用いて、前記システムデータの連携処理を実行するプログラム実行工程と、
を含み、
前記データベースサーバの監視手段が、前記複数のアプリケーションサーバそれぞれに対して、前記動作情報を受信出来たか否かを継続して監視する監視工程と、
前記データベースサーバの送信手段が、前記監視している前記動作情報を出来たか否かに基づいて、前記共通プログラムを実行させる１つのアプリケーションサーバを決定し、前記決定されたアプリケーションサーバに前記共通プログラムを実行させる情報を送信する送信工程と、
を含むことを特徴とする制御方法。
【請求項７】
各業務システムで用いられるシステムデータを、業務システムが異なる複数の業務システム間で連携するデータベースサーバと、共通プログラムを用いて、前記異なる複数のシステム間でそれぞれ管理されている前記システムデータの連携処理をそれぞれ分散して実行する複数のアプリケーションサーバとが通信可能に接続されるデータ連携システムにおいて読み取り実行可能なプログラムであって、
それぞれの前記複数のアプリケーションサーバを、
自サーバの動作状況を前記データベースサーバに知らせる動作情報を、前記データベースサーバに継続して送信する動作情報送信手段と、
前記データベースサーバからの情報に基づいて、前記共通プログラムを用いて、前記システムデータの連携処理を実行するプログラム実行手段と、
して機能させ、
前記データベースサーバを、
前記複数のアプリケーションサーバそれぞれに対して、前記動作情報を受信出来たか否かを継続して監視する監視手段と、
前記監視している前記動作情報を出来たか否かに基づいて、前記共通プログラムを実行させる１つのアプリケーションサーバを決定し、前記決定されたアプリケーションサーバに前記共通プログラムを実行させる情報を送信する送信手段と、
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ連携システム、及びその制御方法とプログラムの技術に関する。
【背景技術】
【０００２】
企業内の業務システムは複数筐体、複数個所に分かれているため、各システム間で必要なデータの送受信が発生する。各システム個別に送受信を行うと個別最適となるため、企業内全体でデータ連携基盤として共通の処理を行う基盤を通常持つ。各業務を遂行するにあたり必要なデータとなるため、連携基盤に求められる非機能要件のうち、可用性は高くなる。万が一停止した場合、業務システムの損失は企業規模に依存するが、３０分の停止あたり数千万以上となる。
【０００３】
さらに、Ｗｅｂシステムと連携基盤の可用性を実現する方式の違いとして、インターネットを利用したＷｅｂシステム等ではクライアント側からのリクエストにより処理が実行されるため、リクエストを分散する負荷分散装置（ロードバランサ）により処理を実行するＷｅｂサーバを複数台ある中から選定する。このようにＷｅｂシステムは処理の起動がクライアント側の都合で始まる。
【０００４】
これに対し、業務システム側の都合により連携処理を実行したい場合、前述のＷｅｂシステムほどのリアルタイム性が求められない事や、業務システム側が連携の処理起動を負担しない場合が多い事から、連携を実行するサーバ側からの処理起動が通常採用される仕組みとなる。
【０００５】
連携基盤で可用性を確保するための一般的な連携システムでは、いわゆるソフトクラスタ方式のように先に複数台のアプリケーションサーバ間での相互通信により、複数台のアプリケーションサーバ間で互いの稼働状況を常時確認し合い、複数台のアプリケーションサーバ間で互いの稼働状況を共有してから処理実行を行うアプリケーションサーバを決める仕組みがある。
【０００６】
また、特許文献１には、複数のアプリケーションサーバを管理下におく、情報処理サーバが、クライアント端末からの実行要求の履歴を管理して、クライアント端末からの実行要求があった場合に、履歴に基づいて、どのアプリケーションサーバに実行要求をするかを決める仕組みが開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００３−９１４７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
いわゆるソフトクラスタ方式では、複数台のアプリケーションサーバ間で互いの稼働状況を常時確認し合い、複数台のアプリケーションサーバ間で互いの稼働状況を共有してから処理実行を行うので、データベースサーバ側で多数のアプリケーションサーバの中から共通のプログラムを直ぐに実行出来るアプリケーションサーバがどれかを把握して実行要求する場合に、プログラムの実行要求するアプリケーションサーバを決めるまでに毎回その共有時間がかかってしまうといった問題が発生する。
【０００９】
さらに、特許文献１に開示されている技術では、どのアプリケーションサーバが現在問題なく稼働しているのかは、実行要求してみないと分からないので、もし問題のあるアプリケーションサーバに実行指示した場合には、実行要求後に実行不能エラーが起こる可能性がある。
【００１０】
本願発明は、可用性を担保するために多数のアプリケーションサーバ間で共通のプログラムが実行可能な連携システムにおいて、データベースサーバ側で多数のアプリケーションサーバの中から共通のプログラムを実行出来るアプリケーションサーバを管理し、実行できるアプリケーションサーバを絞り込むことが可能な仕組みを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本願発明は、各業務システムで用いられるシステムデータを、業務システムが異なる複数の業務システム間で連携するデータベースサーバと、共通プログラムを用いて、前記異なる複数のシステム間でそれぞれ管理されている前記システムデータの連携処理をそれぞれ分散して実行する複数のアプリケーションサーバとが通信可能に接続されるデータ連携システムであって、前記複数のアプリケーションサーバはそれぞれ、自サーバの動作状況を前記データベースサーバに知らせる動作情報を、前記データベースサーバに継続して送信する動作情報送信手段と、前記データベースサーバからの情報に基づいて、前記共通プログラムを用いて、前記システムデータの連携処理を実行するプログラム実行手段と、を備え、前記データベースサーバは、前記複数のアプリケーションサーバそれぞれに対して、前記動作情報を受信出来たか否かを継続して監視する監視手段と、前記監視している前記動作情報を出来たか否かに基づいて、前記共通プログラムを実行させる１つのアプリケーションサーバを決定し、前記決定されたアプリケーションサーバに前記共通プログラムを実行させる情報を送信する送信手段と、を備えることを特徴とする。
【発明の効果】
【００１２】
本願発明により、可用性を担保するために多数のアプリケーションサーバ間で共通のプログラムが実行可能な連携システムにおいて、データベースサーバ側で多数のアプリケーションサーバの中から共通のプログラムを実行出来るアプリケーションサーバを管理し、実行できるアプリケーションサーバを絞り込むことが可能な仕組みを提供するが可能となる。
【図面の簡単な説明】
【００１３】
【図１】本発明のデータ連携システムが各種業務システム連携に組み込まれた一例を示す社内業務システムの全体像である。
【図２】本発明のデータ連携システムを構成しているデータベースサーバと可用性を担保するための複数のアプリケーションサーバとが通信可能に接続されたものである。
【図３】本発明のデータベースサーバが複数のアプリケーションサーバにプログラムを振り分けて実行するフローチャートである。
【図４】データベースサーバの記憶部に予め登録されている定義情報や、プログラム実行中に動的に更新されるステイタス情報を示したものである。
【図５】業務システムのデータベースサーバ１が管理する連携データＩＤの管理テーブルの一例を示したものである。また、データベースサーバ１００が管理するプログラムＡの実行権制御用の管理テーブルの一例を示したものである。
【図６】図１に示したデータ連携システムを構築するために必要な、データベースンサーバ、アプリケーションサーバに適用可能な各情報処理装置内部のハードウェア構成を示すブロック図である。
【発明を実施するための形態】
【００１４】
以下、図面を参照して、本発明の実施形態を詳細に説明する。
図１を説明する。
【００１５】
図１は、本発明のデータ連携システム２００が各種業務システム連携に組み込まれた一例を示す社内業務システムの全体像である。このように本発明のデータ連携システム２００が各種業務システム間でのデータのやり取り（送受信）に問題が起こらない様に、データの連携処理をおこなっている。
図２を説明する。
【００１６】
図２は、本発明のデータ連携システム２００を構成しているデータベースサーバ１００と可用性を担保するための複数のアプリケーションサーバとが通信可能に接続されたものである。
受注管理システムのデータベースサーバ１とは、共通の連携処理用プログラム実行前の連携元のシステムデータを管理しているサーバである。
生産管理システムのデータベースサーバ２とは、共通の連携処理用プログラム実行後の連携先のシステムデータを管理しているサーバである。
受注管理システムのデータベースサーバ１と生産管理システムのデータベースサーバ２はお互いに連携元と連携先が入れ替わることは言うまでもない。
【００１７】
なお、受注管理システムまたは生産管理システムは販売管理システム、工程管理システム等でもよく、業務上のシステムデータが管理されるシステムであればよい。
データベースサーバ１００とは、各業務システムで用いられるシステムデータを、業務システムが異なる複数の業務システム間で連携するサーバである。
【００１８】
複数のアプリケーションサーバ１０１、１０２とは、共通の連携処理用プログラムを用いて、異なる複数のシステム間でそれぞれ管理されているシステムデータの連携処理を、複数のアプリケーションサーバ間で、それぞれ分散して実行するサーバである。このように分散して共通の連携処理用プログラムを実行することで可用性を担保している。
図３を説明する。
【００１９】
図３は、業務システムＡ（例えば受注管理システム）から業務システムＢ（例えば生産管理システム）にシステムデータを受け渡す際に、データベースサーバ１００が複数のアプリケーションサーバにプログラムを振り分けて実行するフローチャートの一例を示した図である。
まず、複数のアプリケーションサーバがそれぞれ読み取り実行可能なプログラムによるフローチャートを説明する。
【００２０】
Ｓ４０１では各アプリケーションサーバ１０１、１０２において、自サーバの動作状況が良好であるか否かを判断している。自サーバの動作状況が良好であるとは、共通プログラムを用いて一元管理されているデータの連携処理を実行できる動作環境であり、少なくとも自サーバがＯＳ動作不具合やＯＳの動作停止やアプリケーションサーバ自体が電源ＯＦＦではない良好状態ということである。ここで、自サーバの動作状況が良好である（ＹＥＳ）の場合にはＳ４０２に進む。逆に自サーバの動作状況が良好ではない（ＮＯ）の場合、Ｓ４０４に進む。
【００２１】
Ｓ４０２では各アプリケーションサーバ１０１、１０２において、Ｓ２０５におけるデータベースサーバからの情報に基づいて、共通プログラムを用いて一元管理されているデータの連携処理を現在実行中であるか否かを判断する（判断手段）。ここで、実行中である（ＹＥＳ）と判断した場合には、Ｓ４０８に進む。実行中ではない（ＮＯ）と判断した場合には、Ｓ４０３に進む。
【００２２】
Ｓ４０３では各アプリケーションサーバ１０１、１０２において、自サーバの動作状況をデータベースサーバ１００に知らせる動作情報を、データベースサーバ１００に継続して常時送信している（動作情報送信手段）。つまり、自サーバの動作状況をデータベースサーバ１００に知らせる動作情報が送信できる場合、そのアプリケーションサーバは、少なくともデータベースサーバ１００との通信に関して、何ら問題が発生していないことになる。また、動作情報が送信できる場合には、そのアプリケーションサーバは、少なくとも電源ＯＦＦの状態ではないことになる。
【００２３】
さらに動作情報に自サーバの現在の状態（プログラム実行中情報、故障情報）等を含めることで、リアルタイムに自サーバの動作状況をデータベースサーバ１００に報告することができるので、良好な動作状況のアプリケーションサーバにいち早く、Ｓ２０５においてデータベースサーバ１００が共通プログラムを実行させる情報を送信することに繋がる。
【００２４】
Ｓ４０４ではアプリケーションサーバ１０１、１０２において、自サーバの動作状況をデータベースサーバ１００に知らせる動作情報をデータベースサーバ１００に継続して送信することに不具合が発生した場合には、自サーバの動作状況をデータベースサーバに知らせる動作情報をデータベースサーバ１００に継続して送信出来なくなる。
【００２５】
また、自サーバの動作状況をデータベースサーバ１００に知らせる動作情報をデータベースサーバ１００に継続して送信することは可能な場合には、自サーバの動作状況が良好に回復するまで動作情報の送信を停止してもよい。
【００２６】
さらに、その変形例として、自サーバの動作状況をデータベースサーバ１００に知らせる動作情報をデータベースサーバ１００に継続して送信することは可能な場合には、自サーバの動作状況が不具合中の間には、不具合動作情報を送信してもよい。
なお、本実施例では便宜的に、自サーバの動作状況が良好な場合に、データベースサーバ１００に常時送信する情報をＲＥＡＤＹ信号として定義する。
【００２７】
Ｓ４０８ではアプリケーションサーバ１０１、１０２において、自サーバで連携処理を現在実行中であると判断した場合であり、この連携処理を実行している間にはデータベースサーバ１００が自サーバには共通プログラムの実行をする情報を送信しないように、データベースサーバ１００に常時要求する（要求手段）。
【００２８】
このように自サーバには共通プログラムの実行をする情報を送信しないように、データベースサーバ１００に要求することで、データベースサーバ１００側では、リアルタイムに共通プログラムの実行中であるか否かのステイタス管理をすることができる。
【００２９】
Ｓ４０９では多数のアプリケーションサーバ１０１、１０２の中で、１つだけのアプリケーションサーバがＳ２０２でプログラム実行待ち状態であった未処理のシステムデータの共通プログラム（プログラムＡ）の実行権を取得することになる。つまり早いもの勝ちのアプリケーションサーバだけが、未処理のシステムデータに対する共通プログラム（プログラムＡ）の実行を任されることになる。
【００３０】
Ｓ４０５では、実行権を取得した１つだけのアプリケーションサーバが、受注管理システムのデータベースサーバ１にアクセスして、連携データの管理テーブル（例えば受注管理システム）の中の該当する未処理のシステムデータを読み出している。
【００３１】
Ｓ４０６ではアプリケーションサーバ１０１または１０２において、Ｓ２０５におけるデータベースサーバ１００からの情報に基づいて、共通プログラムを用いて、各業務システムで管理されているシステムデータの連携処理を実行する（プログラム実行手段）。このようにＳ４０６では、該当する未処理のシステムデータに対する共通プログラム（プログラムＡ）を実行する。
【００３２】
Ｓ４０７では、共通プログラム（プログラムＡ）を実行が終わり、生産管理システムのデータベースサーバ２にアクセスして、処理済のシステムデータへの更新が完了できたので、連携データの管理テーブル（例えば生産管理システム）の中の該当する処理済のシステムデータとして書き出している。
次に、データベースサーバが読み取り実行可能なプログラムによるフローチャートを説明する。
【００３３】
スケジューラにより所定の時刻や間隔になると、Ｓ２０１乃至Ｓ２０６のループ処理プログラムを起動させ、以下のデータベースサーバが読み取り実行可能なプログラムが始まる。
【００３４】
Ｓ２０１でデータベースサーバは図５上図に示したように、業務システムＡが管理している連携処理が必要な連携データの管理テーブル（例えば受注管理システム）中に連携処理が必要な未処理のシステムデータが残っているか否かを判断する。残っている（ＹＥＳ）と判断した場合には、Ｓ２０２に進む。残っていない（ＮＯ）と判断した場合に全ての未処理データの連携処理が完了する。
【００３５】
Ｓ２０２でデータベースサーバは、図５上図に示したように、業務システムＡが管理している連携処理が必要な連携データの管理テーブル（例えば受注管理システム）の中から、Ｓ２０５で１つだけのアプリケーションサーバに割り当てる未処理のシステムデータ（１つでもよく、複数でもよい）を選択した状態で待機状態とする。
【００３６】
Ｓ２０３でデータベースサーバは、複数のアプリケーションサーバ１０１，１０２それぞれに対して、動作情報を受信出来たか否かを継続して監視している（監視手段）。ここで、少なくとも１つのアプリケーションサーバから動作情報を受信出来た（ＹＥＳ）と判断した場合には、Ｓ２０４に進む。何れのアプリケーションサーバからも動作情報を受信出来ていない間は、Ｓ２０３の状態で、動作情報を受信出来たか否かを継続して監視している。
【００３７】
Ｓ２０４でデータベースサーバは、Ｓ２０３において受信した動作情報を送信したアプリケーションサーバ（送信元）を識別出来る情報（例えばサーバの番号、ＩＰアドレス、ＭＡＣアドレス等であればよい）に基づいて、サーバ定義情報（Ｓ２０５で共通プログラムの実行を許可するアプリケーションサーバ群）に該当するアプリケーションサーバであるか否かを判断している。ここでサーバ定義情報を参照した結果、サーバ定義情報に該当するアプリケーションサーバであることが確認出来た（ＹＥＳ）場合には、Ｓ２０５に進む。確認出来なかった（ＮＯ）場合には、該当するアプリケーションサーバではないとみなし、Ｓ２０５には進まずに受信した動作情報は破棄する。
【００３８】
Ｓ２０５でデータベースサーバは、監視しているアプリケーションサーバ（送信元）の動作情報を出来たか否かに基づいて、共通プログラムを実行させる１つのアプリケーションサーバを決定し、決定されたアプリケーションサーバに共通プログラムを実行させる情報を送信する（送信手段）。なお、ここで送信する共通プログラムを実行させる情報は、アプリケーションサーバへの共通プログラムの実行命令でもよく、アプリケーションサーバに対するプログラム実行権の提供であってもよい。
【００３９】
さらにここでは、監視手段による動作情報の受信が２つ以上のアプリケーションサーバから出来た場合も起こりうる。その場合には、監視手段による動作情報の受信を早く受け付けた方のアプリケーションサーバ（送信元）に決定し、共通プログラムを実行させる情報（割り当て）を送信することになる。
【００４０】
Ｓ２０６でデータベースサーバは、図５下図に示したように連携処理が必要な実行権制御用の管理テーブルの中で該当した未処理のシステムデータの状態を実行中から実行済に更新してステイタス管理する。
【００４１】
このときには、未処理のシステムデータは連携処理に必要な処理済のシステムデータデータとして、共通プログラム（プログラムＡ）によってそのデータ内容が変換または修正または加工されていることは言うまでもない。
図４を説明する。
図４はデータベースサーバ１００の記憶部に予め登録されている定義情報や、プログラムＡの実行中に動的に更新されるステイタス情報を示したものである。
【００４２】
サーバ定義情報には、Ｓ２０４において継続して監視するべき複数のアプリケーションサーバを識別出来る情報を記憶している（サーバ情報記憶手段）。５０１にはデータベースサーバ１００から監視する複数のアプリケーションサーバが登録されている。図の例ではアプリケーションサーバ１０１、１０２、１０３が登録されているので、アプリケーションサーバ１０１、１０２、１０３のそれぞれから動作情報を受信出来たか否かを継続して監視することになる。
【００４３】
ＡＰサーバステイタスには、Ｓ２０５において現在プログラムＡの実行中または、故障中により実行権の提供から除外するＡＰサーバを判別するための複数のアプリケーションサーバを識別出来る情報を記憶している（サーバ情報記憶手段）。
【００４４】
５０２には、現在問題なく稼働中の複数のアプリケーションサーバが登録されている。該当するアプリケーションサーバがＳ２０５において実行権を提供する候補となる。
【００４５】
５０３には、現在プログラム実行中の複数のアプリケーションサーバが登録されている。ここに登録されている間、該当するアプリケーションサーバは実行権の提供から除外される。
【００４６】
５０４には、現在問題があり停止中の複数のアプリケーションサーバが登録されている。ここに登録されている間、該当するアプリケーションサーバは実行権の提供から除外される。
図５を説明する。
図５の上図は受注管理システム（業務システムＡ）のデータベースサーバ１が管理する
【００４７】
連携データＩＤの管理テーブルの一例を示したものである。なお、生産管理システム（業務システムＢ）のデータベースサーバ２も同様の連携データＩＤの管理テーブルを管理し、互いに連携データの送受信ができるようになっている。
【００４８】
連携データＩＤ６０１とは、業務システムＡ（連携元）と業務システムＢ（連携先）で互いのシステムデータを連携するために、アプリケーションサーバによるプログラムＡでの連携処理が必要なシステムデータを連携するための連携用ＫＥＹである。データベースサーバ１は、連携データＩＤの管理テーブルに登録された連携データＩＤに関する指示内容及び処理対象ステイタスを管理している。
【００４９】
指示内容６０２とは、業務システムＡ（連携元）から業務システムＢ（連携先）に対して依頼する内容を示したものである。「新規追加」とは例えば業務システムＢ（連携先）に対して新規にデータを追加指示するものである。「内容訂正」とは例えば業務システムＢ（連携先）に対してデータ内容の訂正を指示するものである。「削除」とは例えば業務システムＢ（連携先）に対して登録済みのデータの削除を指示するものである。
また、この指示内容６０２は本願発明における各業務システムで用いられるシステムデータである。
【００５０】
処理ステイタス６０３とは、連携データＩＤ６０１がプログラムＡによって連携処理されたか否かの状況を管理するものである。ここで「未処理」とはプログラムＡによって連携処理される前の状態であり、図３のフローチャート中のＳ２０２において、この「未処理」状態のシステムデータが選択されることになる。図示しない「処理済」状態であれば、図３のフローチャート中のＳ２０２においてシステムデータが選択されないことになる。
【００５１】
このように、この欄が、図示しない「処理中」、「処理済み」の状態に随時変遷することで、連携データＩＤ６０１がプログラムＡによって連携処理されたか否かの状況を管理している。この欄が「処理済」の場合は、プログラムＡが実行されて、該当するシステムデータは業務システムＢに連携された状態となっている。
図５の下図はデータベースサーバ１００が管理するプログラムＡの実行権制御用の管理テーブルの一例を示したものである。
【００５２】
連携データＩＤ７０１とは、業務システムＡ（連携元）と業務システムＢ（連携先）で互いのシステムデータを連携するために、アプリケーションサーバによるプログラムＡでの連携処理が必要なシステムデータを連携するための連携用ＫＥＹである。データベースサーバ１００は、実行権制御用の管理テーブルに登録された連携データＩＤに関するプログラムＡの実行状況及び実行中のＡＰサーバの番号を管理している。
【００５３】
プログラム実行状況７０２とは、この実行権制御用の管理テーブルに登録された連携データＩＤが現在プログラムＡで「実行済み（ＣＯＭＰＬＥＴＥ）」、「実行中（ＲＵＮＮＩＮＧ）」、「実行前（ＷＡＩＴ）」いずれの状態かを管理している。
【００５４】
実行中のＡＰサーバ７０３とは、現在「実行中（ＲＵＮＮＩＮＧ）」の状態であるＡＰサーバがどのＡＰサーバなのかを管理している。つまりこの実行中のＡＰサーバ７０３により、データベースサーバ１００側から現時点で実行中のＡＰサーバを把握することができる。
図６を説明する。
【００５５】
図６において、２０１はＣＰＵで、システムバス２０４に接続される各デバイスやコントローラを統括的に制御する。また、ＲＯＭ２０２あるいは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  ／  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）やオペレーティングシステムプログラム（以下、ＯＳ）や、各サーバ或いは各ＰＣの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。
【００５６】
２０３はＲＡＭで、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をＲＯＭ２０２あるいは外部メモリ２１１からＲＡＭ２０３にロードして、該ロードしたプログラムを実行することで各種動作を実現するものである。
【００５７】
また、２０５は入力コントローラで、キーボード（ＫＢ）２０９や不図示のマウス等のポインティングデバイス等からの入力を制御する。２０６はビデオコントローラで、ＣＲＴディスプレイ（ＣＲＴ）２１０等の表示器への表示を制御する。なお、図２では、ＣＲＴ２１０と記載しているが、表示器はＣＲＴだけでなく、液晶ディスプレイ等の他の表示器であってもよい。これらは必要に応じて管理者が使用するものである。
【００５８】
２０７はメモリコントローラで、ブートプログラム，各種のアプリケーション，フォントデータ，ユーザファイル，編集ファイル，各種データ等を記憶する外部記憶装置（ハードディスク（ＨＤ））や、フレキシブルディスク（ＦＤ）、或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュ（登録商標）メモリ等の外部メモリ２１１へのアクセスを制御する。
【００５９】
２０８は通信Ｉ／Ｆコントローラで、ネットワーク（例えば、図１に示したＬＡＮ４００）を介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いた通信等が可能である。
【００６０】
なお、ＣＰＵ２０１は、例えばＲＡＭ２０３内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ＣＲＴ２１０上での表示を可能としている。また、ＣＰＵ２０１は、ＣＲＴ２１０上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【００６１】
本発明を実現するための後述する各種プログラムは、外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０３にロードされることによりＣＰＵ２０１によって実行されるものである。さらに、上記プログラムの実行時に用いられる定義ファイル及び各種情報テーブル等も、外部メモリ２１１に格納されており、これらについての詳細な説明も後述する。
【００６２】
また、本願発明におけるプログラムは、図３に示すフローチャートの処理方法をコンピュータが読み取り実行可能なプログラムであり、本願発明の記憶媒体は処理方法をコンピュータが実行可能なプログラムとして、外部メモリに記憶されている。  
【００６３】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムを読出し実行することによっても、本願発明の目的が達成されることは言うまでもない。  
【００６４】
この場合、記録媒体から読み出されたプログラム自体が本願発明の新規な機能を実現することになり、そのプログラムを記憶した記録媒体は本発明を構成することになる。  
【００６５】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＤＶＤ−ＲＯＭ，磁気テープ，不揮発性のメモリカード，ＲＯＭ，ＥＥＰＲＯＭ，シリコンディスク等を用いることができる。  
【００６６】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。  
【００６７】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。  
【００６８】
また、本願発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。また、本願発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本願発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本願発明の効果を享受することが可能となる。  
【００６９】
さらに、本願発明を達成するためのプログラムをネットワーク上のサーバ，データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本願発明の効果を享受することが可能となる。
なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本願発明に含まれるものである。
【符号の説明】
【００７０】
１  データベースサーバ（業務システムＡ）
２  データベースサーバ（業務システムＢ）
１００  データベースサーバ
１０１  アプリケーションサーバ
１０２  アプリケーションサーバ
２００  データ連携システム
【図１】
2017027558.tif 000003
【図２】
2017027558.tif 000004
【図３】
2017027558.tif 000005
【図４】
2017027558.tif 000006
【図５】
2017027558.tif 000007
【図６】
2017027558.tif 000008