(57)【特許請求の範囲】
【請求項１】
移行元データ処理システムと移行先データ処理システムとに接続されたコンピュータを、
データ処理依頼を受け付けると、前記移行先データ処理システムに前記データ処理依頼を送信する処理依頼手段、
前記処理依頼手段による送信に対し前記移行先データ処理システムから処理対象データの不存在応答を受信すると、前記移行元データ処理システムに前記処理対象データの取得要求を送信するデータ要求手段、
前記データ要求手段による取得要求に対し前記移行元データ処理システムから前記処理対象データを受信した場合、前記移行先データ処理システムに受信したデータの登録依頼を送信する登録依頼手段、
前記データ要求手段による取得要求に対し前記移行元データ処理システムから前記処理対象データの不存在応答を受信した場合、および、前記登録依頼手段により登録依頼が送信された場合、前記処理依頼手段が送信した前記データ処理依頼を前記移行先データ処理システムに再送信する再処理依頼手段、
前記登録依頼手段による送信に対し前記移行先データ処理システムから登録完了応答を受信し、かつ、前記再処理依頼手段による再送信に対し前記移行先データ処理システムから処理結果応答を受信すると、前記移行元データ処理システムに前記処理対象データの削除依頼を送信する削除依頼手段、
として機能させることを特徴とするデータ移行プログラム。
【請求項２】
移行元データ処理システムと移行先データ処理システムとに接続されたコンピュータが、
データ処理依頼を受け付けると、前記移行先データ処理システムに前記データ処理依頼を送信する処理依頼ステップと、
前記処理依頼ステップによる送信に対し前記移行先データ処理システムから処理対象データの不存在応答を受信すると、前記移行元データ処理システムに前記処理対象データの取得要求を送信するデータ要求ステップと、
前記データ要求ステップによる取得要求に対し前記移行元データ処理システムから前記処理対象データを受信した場合、前記移行先データ処理システムに受信したデータの登録依頼を送信する登録依頼ステップと、
前記データ要求ステップによる取得要求に対し前記移行元データ処理システムから前記処理対象データの不存在応答を受信した場合、および、前記登録依頼ステップにより登録依頼が送信された場合、前記処理依頼ステップが送信した前記データ処理依頼を前記移行先データ処理システムに再送信する再処理依頼ステップと、
前記登録依頼ステップによる送信に対し前記移行先データ処理システムから登録完了応答を受信し、かつ、前記再処理依頼ステップによる再送信に対し前記移行先データ処理システムから処理結果応答を受信すると、前記移行元データ処理システムに前記処理対象データの削除依頼を送信する削除依頼ステップと、
を実行することを特徴とするデータ移行方法。
【請求項３】
移行元データ処理システムと移行先データ処理システムとに接続されたデータ移行装置であって、
データ処理依頼を受け付けると、前記移行先データ処理システムに前記データ処理依頼を送信する処理依頼手段と、
前記処理依頼手段による送信に対し前記移行先データ処理システムから処理対象データの不存在応答を受信すると、前記移行元データ処理システムに前記処理対象データの取得要求を送信するデータ要求手段と、
前記データ要求手段による取得要求に対し前記移行元データ処理システムから前記処理対象データを受信した場合、前記移行先データ処理システムに受信したデータの登録依頼を送信する登録依頼手段と、
前記データ要求手段による取得要求に対し前記移行元データ処理システムから前記処理対象データの不存在応答を受信した場合、および、前記登録依頼手段により登録依頼が送信された場合、前記処理依頼手段が送信した前記データ処理依頼を前記移行先データ処理システムに再送信する再処理依頼手段と、
前記登録依頼手段による送信に対し前記移行先データ処理システムから登録完了応答を受信し、かつ、前記再処理依頼手段による再送信に対し前記移行先データ処理システムから処理結果応答を受信すると、前記移行元データ処理システムに前記処理対象データの削除依頼を送信する削除依頼手段と、
を有することを特徴とするデータ移行装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ移行プログラム、データ移行方法およびデータ移行装置に関し、特にシステム間でデータを移行するデータ移行プログラム、データ移行方法およびデータ移行装置に関する。
【背景技術】
【０００２】
近年、コンピュータによるデータ処理システムの形態として、ＳＯＡ（Service Oriented Architecture）が普及してきている。ＳＯＡ型のデータ処理システムは、複数のサービスを動的に連携させることで一連のデータ処理を実現する疎結合の分散処理システムである。ＳＯＡ型のデータ処理システムを用いることで、構成要素であるサービスの追加・変更・削除を柔軟に行うことができる。このような利点から、ＳＯＡは企業の基幹業務システムなど高い信頼性が要求されるシステムにも採用されつつある。
【０００３】
ところで、極めて高い信頼性が要求されるデータ処理システムでは、旧システムから新システムへの移行などのメンテナンス作業中でも、システム全体の停止を避け、２４時間３６５日連続稼動させることが望まれる。例えば、金融機関の基幹業務システムでは、顧客口座データや取引記録データを検索・更新するサービスを稼動させつつ、これらのデータを旧データベースから新データベースに移行できるようにしたいという要求がある。
【０００４】
このような要求に対し、旧データベースと新データベースとを同時に稼動させておき、アクセス要求の発生に応じて、順次データを旧データベースから新データベースに移行するシステムが知られている（例えば、特許文献１参照）。このシステムでは、アクセス要求があると、まず新データベースを検索して対象データの有無を調べ、新データベースに対象データが存在しない場合には、旧データベースから新データベースに対象データを移行する。
【特許文献１】特開平０５−３２４４２０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、上記特許文献１に記載のデータ移行方法は、同一データを対象とする複数のデータ処理依頼が入力された場合のアクセス競合について考慮していないという問題がある。例えば、ＳＯＡ型のデータ処理システムでは、複数のデータ処理依頼が入力されると、データ処理依頼に対応して複数のプロセスが並列に実行される。
【０００６】
この時、（１）第１のプロセスが新システムにアクセスして対象データが未移行と判断する、（２）第２のプロセスが新システムにアクセスして対称データが未移行と判断する、（３）第１のプロセスが旧システムから新システムに対象データを移行する、（４）第２のプロセスが旧システムから新システムに対象データの移行を試みる、という順に２つのプロセスが実行される場合が考えられる。この場合、第２のプロセスは上記（２）と（４）の処理の結果、新旧いずれのシステムにも対象データが存在しないと判断することになり、エラーが生じる。このようなアクセス競合によるデータ処理の失敗は、高い信頼性が要求されるシステムでは大きな問題となる。
【０００７】
本発明はこのような点に鑑みてなされたものであり、データ処理依頼に応じて旧システムから新システムにデータ移行を行う場合に、アクセス競合が生じても正常にデータ処理を継続できるようにするデータ移行プログラム、データ移行方法およびデータ移行装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、移行元データ処理システムと移行先データ処理システムとに接続されたコンピュータに、移行元データ処理システムから移行先データ処理システムへのデータ移行を実行させるデータ移行プログラムが提供される。このデータ移行プログラムは、コンピュータを、処理依頼手段、データ要求手段、登録依頼手段、再処理依頼手段および削除依頼手段として機能させる。処理依頼手段は、データ処理依頼を受け付けると、移行先データ処理システムにデータ処理依頼を送信する。データ要求手段は、処理依頼手段による送信に対し移行先データ処理システムから処理対象データの不存在応答を受信すると、移行元データ処理システムに処理対象データの取得要求を送信する。登録依頼手段は、データ要求手段による取得要求に対し移行元データ処理システムから処理対象データを受信した場合、移行先データ処理システムに受信したデータの登録依頼を送信する。再処理依頼手段は、データ要求手段による取得要求に対し移行元データ処理システムから処理対象データの不存在応答を受信した場合、および、登録依頼手段により登録依頼が送信された場合、処理依頼手段が送信したデータ処理依頼を移行先データ処理システムに再送信する。削除依頼手段は、登録依頼手段による送信に対し移行先データ処理システムから登録完了応答を受信し、かつ、再処理依頼手段による再送信に対し移行先データ処理システムから処理結果応答を受信すると、移行元データ処理システムに処理対象データの削除依頼を送信する。
【０００９】
このようなデータ移行プログラムを実行するコンピュータによれば、データ処理依頼を受け付けると、処理依頼手段により、移行先データ処理システムにデータ処理依頼が送信される。これに対し、移行先データ処理システムから処理対象データの不存在応答を受信すると、データ要求手段により、移行元データ処理システムに処理対象データの取得要求が送信される。ここで、移行元データ処理システムから処理対象データを受信した場合、登録依頼手段により、移行先データ処理システムに処理対象データの登録依頼が送信される。そして、移行元データ処理システムから処理対象データの不存在応答を受信した場合、および、移行先データ処理システムに登録依頼を送信した場合、再処理依頼手段により、データ処理依頼が移行先データ処理システムに再送信される。その後、移行先データ処理システムから登録完了応答を受信し、かつ、移行先データ処理システムから処理結果応答を受信すると、削除依頼手段により、移行元データ処理システムに処理対象データの削除依頼が送信される。
【００１０】
また、上記課題を解決するために、上記データ移行プログラムを実行するコンピュータと同様の処理を行うデータ移行方法、および、上記データ移行プログラムを実行するコンピュータと同様の機能を有するデータ移行装置が提供される。
【発明の効果】
【００１１】
上記データ移行プログラム、データ移行方法およびデータ移行装置によれば、データ処理依頼に応じて移行元データ処理システムから移行先データ処理システムへのデータ移行を行う際に、アクセス競合が生じても正常にデータ処理を継続することが可能となる。
【発明を実施するための最良の形態】
【００１２】
以下、実施の形態を図面を参照して詳細に説明する。まず、本実施の形態の概要について説明し、その後、本実施の形態の具体的な内容を説明する。
図１は、本実施の形態の概念図である。図１に示されるコンピュータ１は、システムを稼動したまま、移行先データ処理システム２への移行元データ処理システム３からのデータの移行を可能とする。また、コンピュータ１は、利用者からの移行先データ処理システム２への業務処理の要求を中継する。コンピュータ１は、システム管理情報記憶手段１ａ、処理依頼手段１ｂ、データ要求手段１ｃ、登録依頼手段１ｄ、再処理依頼手段１ｅおよび削除依頼手段１ｆを有する。
【００１３】
システム管理情報記憶手段１ａには、移行先データ処理システム２や移行元データ処理システム３を構成するコンピュータやサービスの配置先を定義したシステム管理情報が格納される。
【００１４】
処理依頼手段１ｂは、業務処理の要求が発生した場合に、システム管理情報記憶手段１ａに記憶されたシステム管理情報に基づいて、処理の対象となる移行先データ処理システム２で稼動するサービス群２ａに業務処理を依頼する。業務処理の要求は、例えば、移行先データ処理システム２のサービス群２ａを利用しようとする利用者の端末や、この利用者の要求を中継する別のシステムからコンピュータ１へ送信される。
【００１５】
データ要求手段１ｃは、処理依頼手段１ｂが送信した業務処理の依頼に対して、移行先データ処理システム２に処理の対象となるデータが存在しない場合、移行元データ処理システム３に対してこのデータを提供するよう依頼する。データ要求手段１ｃは、この依頼に対して対応するデータを取得した場合は、登録依頼手段１ｄに取得したデータを出力する。また、データ要求手段１ｃは、移行元データ処理システム３から、このデータが存在しない旨の応答を受信した場合、再処理依頼手段１ｅに再度、業務処理の依頼を移行先データ処理システム２に送信するよう通知する。
【００１６】
登録依頼手段１ｄは、データ要求手段１ｃからデータを取得すると、システム管理情報に基づいて、取得したデータを移行先データ処理システム２に登録するよう依頼する。登録依頼手段１ｄは、移行先データ処理システム２から、登録完了応答または登録済み応答を受信する。そして、登録依頼手段１ｄは、再処理依頼手段１ｅに再度業務処理の依頼を移行先データ処理システム２に送信するよう通知する。
【００１７】
再処理依頼手段１ｅは、データ要求手段１ｃまたは登録依頼手段１ｄからの通知を受け付けると、システム管理情報に基づいて移行先データ処理システム２に再度業務処理を依頼する。
【００１８】
削除依頼手段１ｆは、登録依頼手段１ｄが移行先データ処理システム２から登録完了応答を受信し、かつ、再処理依頼手段による再依頼に対して処理結果応答を受信すると、移行元データ処理システム３に上記データを削除するよう移行元データ処理システム３に依頼する。
【００１９】
移行先データ処理システム２は、サービス群２ａおよびデータ記憶手段２ｂを有する。
サービス群２ａは、コンピュータ１からの依頼に応じて処理を実行し、実行結果を応答する業務サービス群である。サービス群２ａは、以下のサービスを含んでいる。第１のサービスは、処理依頼手段１ｂや再処理依頼手段１ｅからの処理依頼に対して業務処理を実行し、処理結果応答やデータ不存在応答を処理依頼手段１ｂや再処理依頼手段１ｅに送信するデータ処理実行サービスである。第２のサービスは、登録依頼手段１ｄからの登録依頼に対してデータをデータ記憶手段２ｂに登録するデータ登録サービスである。
【００２０】
データ記憶手段２ｂは、サービス群２ａが扱うデータを記憶する。
移行元データ処理システム３は、サービス群３ａおよびデータ記憶手段３ｂを有する。
サービス群３ａは、コンピュータ１からの依頼に応じて処理を実行し、実行結果を応答する業務サービス群である。サービス群３ａは、以下のサービスを含んでいる。第１のサービスは、データ要求手段１ｃからのデータ要求に対して、データ記憶手段３ｂから該当のデータを取得し、データ要求手段１ｃに送信するデータ取得サービスである。第２のサービスは、削除依頼手段１ｆからのデータ削除依頼に対して、データ記憶手段３ｂに登録された該当のデータを削除するデータ削除サービスである。
【００２１】
データ記憶手段３ｂは、サービス群３ａが扱うデータを記憶する。
このような構成により、コンピュータ１が業務処理の要求を受信すると、その業務処理の対象となる移行先データ処理システムで稼動するサービスに処理依頼が送信される。そして、その処理依頼の対象となるデータが存在しない旨の応答を受信すると、移行元データ処理システムにデータ提供が依頼される。データ提供の依頼によってデータが取得されると、移行先データ処理システムにデータが登録され、また、データ提供の依頼の際に、移行元データ処理システムより対象のデータが存在しない旨の応答を受信した場合には、再度移行先データ処理システムに処理依頼が送信される。更にまた、この処理依頼に対する処理結果の応答に基づいて、移行元データ処理システムに登録されたデータの削除が依頼される。
【００２２】
これにより、データ処理依頼に応じて移行元データ処理システム３から移行先データ処理システム２へのデータ移行を行う際に、アクセス競合が生じても正常にデータ処理を継続することが可能となる。
【００２３】
以下、本実施の形態を図面を参照して詳細に説明する。
図２は、本実施の形態のシステム構成を示す図である。図２に示すデータ処理システムは、データ移行連携用サーバ１００によって制御されるＳＯＡ型の連携システムである。
【００２４】
本実施の形態に係る連携システムでは、データ移行連携用サーバ１００、新システム２００および旧システム３００がネットワーク１０を介して相互に接続されている。また、端末装置２１，２２，２３が、ネットワーク２０を介してデータ移行連携用サーバ１００に接続されている。
【００２５】
データ移行連携用サーバ１００は、新システム２００と旧システム３００との間でデータの移行を実行する。また、データ移行連携用サーバ１００は、端末装置２１，２２，２３から業務処理の要求を受け付け、業務処理を実行するサーバおよびサービスを特定して、特定したサービスに対して業務処理の依頼を送信する。すなわち、データ移行連携用サーバ１００は、データ移行のためのシステム間連携のみならず、業務処理を実行するために複数のサービスが必要な場合、共通のデータ形式、コマンドなどを用いて互いに通信できるように仲介するインタフェースの役割を担う。
【００２６】
新システム２００は、サーバ２１０ａ、２１０ｂおよびデータベース（ＤＢ：DataBase）２２０で構成されている。サーバ２１０ａ、２１０ｂは、利用者に対して業務サービスを提供する。データベース２２０は、サーバ２１０ａ、２１０ｂに接続されたデータベースシステムである。データベース２２０には、サーバ２１０ａ、２１０ｂで稼動するサービスで利用されるデータが格納されている。図２の例では、サーバ２１０ａ、２１０ｂでデータベース２２０を共有する構成としているが、各サーバに別々にデータベースを用意してもよい。
【００２７】
旧システム３００は、サーバ３１０ａ、３１０ｂおよびデータベース３２０で構成されている。サーバ３１０ａ、３１０ｂは、サーバ２１０ａ、２１０ｂに対する旧環境のサーバである。データベース３２０は、サーバ３１０ａ、３１０ｂと接続されたデータベースシステムである。データベース３２０には、サーバ３１０ａ、３１０ｂで稼動するサービスで利用されるデータが格納されている。データベース３２０は、データベース２２０に対する旧環境のデータベースであり、データベース２２０への移行が必要なデータを記憶している。
【００２８】
次に、データ移行連携用サーバ１００のハードウェア構成に関して説明する。
図３は、データ移行連携用サーバのハードウェア構成を示す図である。データ移行連携用サーバ１００は、ＣＰＵ（Central Processing Unit）１０１によって装置全体が制御されている。ＣＰＵ１０１には、バス１０８を介してＲＡＭ（Random Access Memory）１０２、ＨＤＤ（Hard Disk Drive）１０３、グラフィック処理装置１０４、入力インタフェース１０５、通信インタフェース１０６，１０７が接続されている。
【００２９】
ＲＡＭ１０２には、ＣＰＵ１０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０２には、ＣＰＵ１０１による処理に必要な各種データが格納される。
【００３０】
ＨＤＤ１０３には、データ移行連携用サーバ１００上のＯＳやアプリケーションプログラムが扱うデータが格納される。
グラフィック処理装置１０４には、モニタ１１が接続されている。グラフィック処理装置１０４は、ＣＰＵ１０１からの命令に従って、画像をモニタ１１の画面に表示させる。入力インタフェース１０５には、キーボード１２とマウス１３とが接続されている。入力インタフェース１０５は、キーボード１２やマウス１３から送られてくる信号を、バス１０８を介してＣＰＵ１０１に送信する。
【００３１】
通信インタフェース１０６は、ネットワーク１０に接続されている。通信インタフェース１０６は、ネットワーク１０を介して、端末装置２１，２２，２３との間でデータの送受信を行う。
【００３２】
通信インタフェース１０７は、ネットワーク２０に接続されている。通信インタフェース１０７は、ネットワーク２０を介して、新システム２００や旧システム３００との間でデータの送受信を行う。
【００３３】
なお、端末装置２１，２２，２３およびサーバ２１０ａ、２１０ｂ、３１０ａ，３１０ｂに関しても同様のハードウェア構成によって実現できる。
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。
【００３４】
次に、データ移行連携用サーバ１００の機能構成について説明する。
図４は、データ移行連携用サーバのデータ移行機能を示すブロック図である。データ移行連携用サーバ１００は、端末装置２１，２２，２３からの業務処理要求が発生した場合に、その処理要求の対象となるデータが新システム２００に無い場合に、このデータを旧システム３００から新システム２００に移行する。このように業務処理要求を契機として実行されるデータ移行を、以降の説明では順次移行と呼ぶこととする。
【００３５】
更に、データ移行連携用サーバ１００は、データベースのログなどの業務処理の対象外であるデータや、処理要求の発生頻度が低いデータを移行するために、移行対象データのリストである移行データリストに基づいて、処理要求を待たずに移行する。このように移行データリストに基づいたデータ移行を、以降の説明では一括移行と呼ぶこととする。一括移行は、例えば、管理者によるスケジュール登録や、即時開始の要求により実行される。
【００３６】
データ移行連携用サーバ１００は、システム管理情報記憶部１１１、業務処理要求受付部１１２、業務処理依頼部１１３、業務データ要求部１１４、登録依頼部１１５、再業務処理依頼部１１６、削除依頼部１１７、業務処理結果応答部１１８、移行データリスト受付部１１９および移行データリスト読込部１２０を有する。
【００３７】
システム管理情報記憶部１１１は、新システム２００と旧システム３００とを構成するサーバやサービスの配置先を定義したシステム管理情報、移行対象とするデータのリスト、端末装置２１，２２，２３から受け付けた業務処理要求を記憶する。
【００３８】
業務処理要求受付部１１２は、端末装置２１，２２，２３から送信された業務処理要求を受け付ける。そして、業務処理要求に要求ＩＤを付与してシステム管理情報記憶部１１１に格納する。なお、この要求ＩＤに対して、各部の処理の進行度合いをログとして生成することで、複数の要求を受け付けた場合にも、各要求と次に実行する処理の対応付けを可能とする。
【００３９】
業務処理依頼部１１３は、受け付けた業務処理要求に対する業務処理の実行依頼を新システム２００に送信する。業務処理依頼部１１３は、新システム２００から上記業務処理の処理対象となるデータが存在しない旨の応答を受信した場合には、業務データ要求部１１４にこの応答を通知する。また、業務処理依頼部１１３は、新システム２００から業務処理の結果応答を受け付けると、業務処理結果応答部１１８にこの結果を通知する。
【００４０】
業務データ要求部１１４は、順次移行の場合、業務処理依頼部１１３から、処理対象となるデータが新システム２００に存在しない旨の通知を受け付ける。そして、旧システム３００にこの処理対象となるデータを提供するよう依頼する。業務データ要求部１１４は、このデータを旧システム３００から受け付けた場合、このデータを登録依頼部１１５に出力する。業務データ要求部１１４は、旧システム３００に上記データが存在しない旨の応答を受け付けた場合には、再業務処理依頼部１１６に対して新システム２００に処理依頼を送信するよう通知する。
【００４１】
また、業務データ要求部１１４は、一括移行の場合、移行データリスト読込部１２０によって指定されたデータを旧システム３００に提供するよう依頼する。業務データ要求部１１４は、このデータを旧システム３００から受け付けた場合、このデータを登録依頼部１１５に出力する。業務データ要求部１１４は、提供を依頼したデータが旧システム３００に存在しない旨の応答を受け付けた場合には、移行データリスト読込部１２０に、移行データリストに指定された次のデータを参照するよう通知する。
【００４２】
登録依頼部１１５は、システム管理情報記憶部１１１に記憶されたシステム管理情報に基づいて、新システム２００に業務データ要求部１１４から受け付けたデータを登録するよう依頼する。登録依頼部１１５は、新システム２００に正常にデータの登録が完了した場合、登録完了応答を受信する。登録依頼部１１５は、新システム２００に既にこのデータが存在する場合、新システム２００からデータ登録済み応答を受信する。また、順次移行の場合、登録依頼部１１５は、再業務処理依頼部１１６に対して新システム２００に処理依頼を送信するよう通知する。
【００４３】
再業務処理依頼部１１６は、業務データ要求部１１４または登録依頼部１１５からの通知を受け付けると、新システム２００に業務処理依頼をする。再業務処理依頼部１１６は、新システム２００から業務処理の結果応答を受け付けると、業務処理結果応答部１１８にこの結果を通知する。
【００４４】
削除依頼部１１７は、登録依頼部１１５が新システム２００から登録完了応答を受信し、かつ再業務処理依頼部１１６が業務処理の結果応答を受け付けると、旧システム３００に対し、新システム２００に登録されたデータを削除するよう依頼する。また、一括移行の場合、削除依頼部１１７は、移行データリスト読込部１２０に移行データリストに指定された次のデータを参照するよう通知する。
【００４５】
業務処理結果応答部１１８は、業務処理依頼部１１３または再業務処理依頼部１１６から業務処理要求に対する応答を受け付けると業務処理の要求元である端末装置２１，２２，２３に業務処理結果を応答する。
【００４６】
移行データリスト受付部１１９は、端末装置２１，２２，２３から移行データリストを受け付ける。そして、移行データリスト受付部１１９は、移行データリストをシステム管理情報記憶部１１１に格納する。
【００４７】
移行データリスト読込部１２０は、システム管理情報記憶部１１１に記憶された移行データリストから移行対象データを１件分読み込んで、業務データ要求部１１４に旧システム３００に対してデータの要求を送信するよう指示する。移行データリスト読込部１２０は、業務データ要求部１１４から指示されたデータが無い旨の応答を受け付けた場合、移行データリストの次の１件分を読み込んで業務データ要求部１１４にデータの移行を指示する。また、移行データリスト読込部１２０は、削除依頼部１１７から次のデータを参照するよう通知を受けると、移行データリストの次の１件分を読み込んで業務データ要求部１１４にデータの移行を指示する。
【００４８】
新システム２００は、業務サービス群２１１および業務データ記憶部２２１を有する。  業務サービス群２１１は、データ移行連携用サーバ１００からの依頼に応じて処理を実行し、データ移行連携用サーバ１００に実行結果を応答する業務サービス群である。業務サービス群２１１は、以下のサービスを含んでいる。第１のサービスは、業務処理依頼部１１３や再業務処理依頼部１１６からの処理依頼に対して業務処理を実行し、処理結果応答やデータ不存在応答を業務処理依頼部１１３や再業務処理依頼部１１６に送信するデータ処理実行サービスである。第２のサービスは、登録依頼部１１５からの登録依頼に対してデータを業務データ記憶部２２１に登録するデータ登録サービスである。
【００４９】
業務データ記憶部２２１は、業務サービス群２１１が扱うデータを記憶する。
旧システム３００は、業務サービス群３１１および業務データ記憶部３２１を有する。  業務サービス群３１１は、データ移行連携用サーバ１００からの依頼に応じて処理を実行し、データ移行連携用サーバ１００に実行結果を応答する業務サービス群である。業務サービス群３１１は、以下のサービスを含んでいる。第１のサービスは、業務データ要求部１１４からのデータ要求に対して、業務データ記憶部３２１から該当のデータを取得し、業務データ要求部１１４に送信するデータ取得サービスである。第２のサービスは、削除依頼部１１７からのデータ削除依頼に対して、業務データ記憶部３２１に登録された該当のデータを削除するデータ削除サービスである。
【００５０】
業務データ記憶部３２１は、業務サービス群３１１が扱うデータを記憶する。
ここで、新システム２００は、旧システム３００に対する新環境のシステムであり、業務サービス群２１１は、業務サービス群３１１が実行するサービスの機能を含んでいる。また、業務データ記憶部２２１は、データ移行連携用サーバ１００によって、業務データ記憶部３２１に記憶されたデータが移行される。
【００５１】
なお、新システム２００と旧システム３００とで扱うデータの形式が異なる場合、データ移行連携用サーバ１００は、図示しないデータ形式変換部によって、データを新システム２００で扱うデータ形式に変換するようにしてもよい。
【００５２】
図５は、データ移行連携用テーブルのデータ構造例を示す図である。データ移行連携用テーブル１１１ａは、システム管理情報記憶部１１１に記憶されて、旧システム３００から新システム２００にデータを移行する際に参照される。データ移行連携用テーブル１１１ａには、サービス名を示す項目、連携先サービス所在（ホスト名、オブジェクト名）を示す項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、１つのサービスについての情報を構成する。
【００５３】
サービス名を示す項目には、データ移行連携用サーバ１００にて利用されるサービスの名称が設定される。連携先サービス所在（ホスト名）を示す項目には、サービス名を示す項目に指定されたサービスに対応する業務サービスを実行するサーバの識別情報が設定される。ここで、図の例ではサーバの識別情報を、ホスト名としているが、データ移行連携用サーバ１００が属するネットワーク上でサーバを一意に特定する情報であれば、その他の識別情報でも構わない。連携先サービス所在（オブジェクト名）を示す項目には、サービス名を示す項目に設定されたサービスに対する連携先サーバのサービスのオブジェクト名が設定される。
【００５４】
データ移行連携用テーブル１１１ａには、例えば、サービス名が“出金業務処理依頼”、連携先サービス所在（ホスト名）が“新サーバ１”、連携先サービス所在（オブジェクト名）が“出金業務データ処理オブジェクト”という情報が設定される。これは、データ移行連携用サーバ１００におけるサービス“出金業務処理依頼”の連携先が、“新サーバ１”に存在する“出金業務データ処理オブジェクト”であることを示している。
【００５５】
図６は、業務処理要求のデータ構造例を示す図である。業務処理要求１１２ａは、利用者が端末装置２１，２２，２３を操作することによって、データ移行連携用サーバ１００に対して送信される。業務処理要求１１２ａには、業務処理名を示す項目、口座番号を示す項目および金額を示す項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、１つの業務処理要求についての情報を構成する。
【００５６】
業務処理名を示す項目には、利用者から要求のあった業務処理の名称が設定される。口座番号を示す項目には、利用者の口座番号が設定される。金額を示す項目には、入金や出金などの金額が設定される。
【００５７】
業務処理要求１１２ａには、例えば、業務処理名が“出金”、口座番号が“００００００５”、金額が“５０００”という情報が設定される。これは、利用者の口座番号“００００００５”から金額“５０００”円を“出金”するという業務処理要求を示している。
【００５８】
図７は、業務処理要求管理テーブルのデータ構造例を示す図である。業務処理要求管理テーブル１１１ｂは、業務処理要求受付部１１２によって業務処理要求１１２ａが受け付けられて、更に、各業務処理要求１１２ａを管理するために要求ＩＤが付与されたものである。業務処理要求受付部１１２は、業務処理要求管理テーブル１１１ｂをシステム管理情報記憶部１１１に格納する。
【００５９】
業務処理要求管理テーブル１１１ｂには、要求ＩＤを示す項目、業務処理名を示す項目、口座番号を示す項目、金額を示す項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、１つの業務処理要求についての情報を構成する。要求ＩＤを示す項目には、業務処理要求を一意に識別するための番号が設定される。業務処理名を示す項目、口座番号を示す項目、金額を示す項目は、業務処理要求１１２ａにおける同じ名称の項目と同一の情報が設定される。
【００６０】
業務処理要求管理テーブル１１１ｂには、例えば、要求ＩＤが“１００”、業務処理名が“出金”、口座番号が“００００００５”、金額が“５０００”という情報が設定される。これは、業務処理要求１１２ａで表される業務処理要求に対して、要求ＩＤ“１００”が付与されて管理されることを示している。
【００６１】
図８は、データ移行ログのデータ構造例を示す図である。データ移行ログ１１１ｃは、システム管理情報記憶部１１１に記憶されて、データ移行連携用サーバ１００の各部の機能によってデータが追加される。データ移行ログ１１１ｃは、ログＩＤを示す項目、要求ＩＤを示す項目、サービス名を示す項目、ログ内容を示す項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、１つのサービスに関するログ情報を構成する。
【００６２】
ログＩＤを示す項目には、ログを一意に識別するための番号が設定される。要求ＩＤを示す項目には、業務処理要求管理テーブル１１１ｂの要求ＩＤと同一の情報が設定される。サービス名を示す項目には、ログを出力したサービスの名称が設定される。ログ内容を示す項目には、上記ログを出力したサービスの処理結果が設定される。
【００６３】
データ移行ログ１１１ｃには、例えば、ログＩＤが“１００１０”、要求ＩＤが“１００”、サービス名が“出金業務処理依頼”、ログ内容が“処理対象無し応答受信”という情報が設定される。これは、要求ＩＤが“１００”で識別される業務処理要求によるデータの移行が実行されていることを示している。そして、サービス“出金業務処理依頼”の実行結果に対して、“処理対象無し応答受信”、すなわち、新システム２００に業務処理の対象となるデータが存在しない旨の通知を受け付けた場合のログを示している。
【００６４】
このように、要求ＩＤ、サービス名およびログ内容によって次に実行する処理を判定することができる。
図９は、移行データリストのデータ構造例を示す図である。移行データリスト１１１ｄは、端末装置２１，２２，２３などでシステムの管理者によって作成される。移行データリスト１１１ｄは、移行データリスト受付部１１９によって受け付けられる。そして、移行データリスト受付部１１９は、受け付けた移行データリスト１１１ｄをシステム管理情報記憶部１１１に格納する。
【００６５】
移行データリスト１１１ｄには、識別ＩＤを示す項目、移行データを示す項目、移行元サーバを示す項目、移行元パスを示す項目、移行先サーバを示す項目、移行先パスを示す項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、１つの移行データに関する情報を構成する。識別ＩＤを示す項目には、移行データを一意に識別するための番号が設定される。移行データを示す項目には、移行データを特定するための情報（例えば、ファイル名）が設定される。移行元サーバを示す項目には、移行元サーバを特定するサーバの識別情報（例えば、ホスト名）が設定される。移行元パスを示す項目には、移行元サーバにおける移行データの所在を表すパスが設定される。移行先サーバを示す項目には、移行先サーバを特定するサーバの識別情報（例えば、ホスト名）が設定される。移行先パスを示す項目には、移行先サーバにおいて移行データを格納するパスが設定される。
【００６６】
移行データリスト１１１ｄには、例えば、識別ＩＤが“１”、移行データが“データＡ”、移行元サーバが“旧サーバ１”、移行元パスが“／ｖａｒ／”、移行先サーバが“新サーバ１”、移行先パスが“／ｖａｒ／”という情報が設定される。これは、移行データの識別ＩＤ“１”に対して、移行データ“データＡ”が設定されており、“データＡ”は、“旧サーバ１”のパス“／ｖａｒ／”に格納されていて、“新サーバ１”のパス“／ｖａｒ／”に移行することを示している。
【００６７】
なお、図９では、移行対象のデータをデータ単位で指定する例を示したが、業務処理単位で指定して、その業務処理に関連する複数のデータを移行するようにしてもよい。
図１０は、データ移行連携用サーバによる順次移行の手順を示すフローチャートである。以下、図１０に示す処理をステップ番号に沿って説明する。各手順の結果は、データ移行連携用サーバ１００の各部によって、システム管理情報記憶部１１１に記憶されたデータ移行ログ１１１ｃに出力される。
【００６８】
［ステップＳ１１］業務処理要求受付部１１２は、端末装置２１，２２，２３から業務処理要求１１２ａを受け付ける。業務処理要求受付部１１２は、各業務処理要求１１２ａに識別ＩＤを付与して、システム管理情報記憶部１１１に業務処理要求管理テーブル１１１ｂとして格納する。
【００６９】
［ステップＳ１２］業務処理依頼部１１３は、システム管理情報記憶部１１１から業務処理要求管理テーブル１１１ｂから業務処理要求を読み出す。業務処理依頼部１１３は、読み出した業務処理要求に基づいて、業務サービス群２１１に処理依頼（この処理依頼を処理依頼Ａと呼ぶこととする）を行う。
【００７０】
［ステップＳ１３］業務処理依頼部１１３は、業務サービス群２１１から、業務データ記憶部２２１に処理依頼Ａの対象のデータ（このデータをデータＡと呼ぶこととする）が存在するか否かの応答を受け付ける。データＡが存在しない場合、業務処理依頼部１１３は業務データ要求部１１４にデータＡが存在しなかった旨を通知して、処理がステップＳ１４に移される。データＡが存在する場合、業務処理依頼部１１３は、業務サービス群２１１による処理結果応答を取得して、処理がステップＳ２１に移される。
【００７１】
［ステップＳ１４］業務データ要求部１１４は、業務処理依頼部１１３の通知に基づいて、業務サービス群３１１にデータＡを提供するよう依頼する。
［ステップＳ１５］業務データ要求部１１４は、業務サービス群３１１から、業務データ記憶部３２１にデータＡが存在するか否かの応答を受け付ける。データＡが存在する場合、業務データ要求部１１４は、業務サービス群３１１からデータＡを取得して、登録依頼部１１５にデータＡを出力し、処理がステップＳ１６に移される。データＡが存在しない旨の応答を受け付けた場合、業務データ要求部１１４は、再業務処理依頼部１１６に再度、業務サービス群２１１へ処理依頼Ａを行うよう要求して、処理がステップＳ１８に移される。
【００７２】
［ステップＳ１６］登録依頼部１１５は、業務データ要求部１１４からデータＡを取得し、業務サービス群２１１にデータＡを業務データ記憶部２２１に登録するよう依頼する。
【００７３】
［ステップＳ１７］登録依頼部１１５は、業務サービス群２１１から業務データ記憶部２２１にデータＡが登録済み、または正常登録の応答を受け付ける。そして、登録依頼部１１５は、再業務処理依頼部１１６に再度、業務サービス群２１１へ処理依頼Ａを行うよう要求する。
【００７４】
［ステップＳ１８］再業務処理依頼部１１６は、業務サービス群２１１へ再度処理依頼Ａを行う。再業務処理依頼部１１６は、業務サービス群２１１による処理結果応答を取得する。
【００７５】
［ステップＳ１９］登録依頼部１１５は、システム管理情報記憶部１１１に記憶されたデータ移行ログ１１１ｃを参照して、ステップＳ１５でデータＡ無し応答または、ステップＳ１７でデータＡの登録済応答を受け付けているかを判定する。どちらか一方を受け付けている場合、処理がステップＳ２１に移される。どちらも受け付けていない場合、処理がステップＳ２０に移される。
【００７６】
［ステップＳ２０］削除依頼部１１７は、業務サービス群３１１に業務データ記憶部３２１に記憶されたデータＡを削除するよう依頼する。
［ステップＳ２１］業務処理結果応答部１１８は、業務処理依頼部１１３や再業務処理依頼部１１６から処理依頼Ａの結果を受け付ける。そして、業務処理結果応答部１１８は、端末装置２１，２２，２３に業務処理結果を送信する。
【００７７】
上記のように、データ移行連携用サーバ１００は、利用者からの業務処理要求１１２ａに応じて、処理対象のデータが新システム２００に登録されていない場合には、旧システム３００からこのデータを取得して、新システム２００に登録するよう依頼する。この時、移行の各段階において、新システム２００や旧システム３００における対象データの有無を判定して、処理対象のデータが既に別の業務処理要求１１２ａによるデータ移行によって新システム２００へ登録済みかを判断する。そして、新システム２００に既に移行済みであると判断した場合には、再度、新システム２００に処理依頼を行う。
【００７８】
図１１は、データ移行連携用サーバによる一括移行の手順を示すフローチャートである。以下、図１１に示す処理をステップ番号に沿って説明する。
［ステップＳ３１］移行データリスト受付部１１９は、移行データリスト１１１ｄを受け付けて、システム管理情報記憶部１１１に格納する。
【００７９】
［ステップＳ３２］移行データリスト読込部１２０は、システム管理情報記憶部１１１に格納された移行データリスト１１１ｄから移行対象となるデータを１件読み出す。
［ステップＳ３３］移行データリスト読込部１２０は、業務データ要求部１１４に該当のデータ（このデータをデータＢと呼ぶこととする）を取得するよう通知する。そして、業務データ要求部１１４は、業務サービス群３１１にデータＢを提供するよう依頼する。
【００８０】
［ステップＳ３４］業務データ要求部１１４は、業務サービス群３１１にデータＢを提供するよう依頼する。業務データ要求部１１４は、業務サービス群３１１からデータＢの有無の応答を判定する。データＢが存在する旨の応答を取得した場合、業務データ要求部１１４は、業務サービス群３１１からデータＢを取得して、データＢを登録依頼部１１５に出力し、処理がステップＳ３５に移される。データＢが存在しない旨の応答を取得した場合、処理がステップＳ３８に移される。
【００８１】
［ステップＳ３５］登録依頼部１１５は、業務データ要求部１１４からデータＢを取得する。登録依頼部１１５は、業務サービス群２１１に対して業務データ記憶部２２１にデータＢを登録するよう依頼する。
【００８２】
［ステップＳ３６］登録依頼部１１５は、業務サービス群２１１から、業務データ記憶部２２１にデータＢが正常登録されたかを判定する。データＢが正常登録された場合、処理がステップＳ３７に移される。データＢが既に別の移行プロセスによって、業務データ記憶部２２１に登録済みの場合は、処理がステップＳ３８に移される。
【００８３】
［ステップＳ３７］削除依頼部１１７は、業務サービス群３１１に業務データ記憶部３２１に記憶されたデータＢを削除するよう依頼する。
［ステップＳ３８］移行データリスト読込部１２０は、システム管理情報記憶部１１１に記憶された移行データリスト１１１ｄを参照して、全データに対して移行が完了したかを確認する。完了していない場合、処理がステップＳ３２に移される。完了している場合、一括移行は完了する。
【００８４】
上記のように、業務処理の対象とならないデータや、業務処理要求１１２ａの発生頻度が少ないデータに関しては、移行データリスト１１１ｄにより指定して、この移行データリスト１１１ｄに基づいて図１０で示される順次移行と並行して移行が行われる。この時、移行の各段階において、新システム２００や旧システム３００における対象データの有無を判定して、処理対象のデータが既に別の移行プロセスによるデータ移行によって新システム２００へ登録済みかを判断する。そして、新システム２００に既に移行済みであると判断した場合には、移行データリスト１１１ｄに設定された次のデータに関して移行を行う。
【００８５】
このようにすると、順次移行と一括移行とが競合して、データ不存在やデータ登録済みなどの例外的な応答が発生する場合でも、データ移行連携用サーバ１００は、各業務処理要求１１２ａに対して、新システム２００の処理を再度実行させて、処理結果を応答することができる。また、いずれかのタイミングで別の移行プロセスにより新システム２００へのデータの登録がなされたことを確認した場合には、削除依頼部１１７は旧システム３００に該当データの削除を依頼しないため、余計な削除処理は実行されない。
【００８６】
図１２は、順次移行を表す第１の模式図である。図１２の例では、金融機関の預貯金システムに利用者が出金の要求を行った場合を示している。ここで、預貯金システムにおいて、出金の処理を実行するサービスのサービス名を出金処理サービスと呼ぶこととする。データ移行連携用サーバ１００は、利用者からの要求を新システム２００で稼動する新出金処理サービスに中継する。データ移行連携用サーバ１００は、旧システム３００で稼動する旧出金処理サービスとも接続しており、新旧データベース間のデータ移行を制御する。以下、図１２に示す処理をステップ番号に沿って説明する。
【００８７】
［ステップＳＴ１］業務処理要求受付部１１２が、端末装置２１，２２，２３から業務処理要求１１２ａを受け付ける。業務処理要求１１２ａには、業務処理名“出金”、利用者の口座番号“００００００５”および金額“５０００”が設定されている。業務処理要求受付部１１２は、この業務処理要求１１２ａに要求ＩＤを付与して、システム管理情報記憶部１１１の業務処理要求管理テーブル１１１ｂに格納する。
【００８８】
［ステップＳＴ２］業務処理依頼部１１３は、システム管理情報記憶部１１１に記憶された業務処理要求管理テーブル１１１ｂを参照して、業務処理要求１１２ａに示される要求を取得すると、新出金処理サービスに対して、口座番号“００００００５”に対する出金処理を依頼する。新出金処理サービスは、新ＤＢのテーブルである新口座テーブル２２１ａに口座番号“００００００５”が存在するかを照会する。そして、対象の口座番号が存在しないことを確認すると、業務処理依頼部１１３にその旨を応答する。業務処理依頼部１１３は、新出金処理サービスから、業務処理の対象となる口座番号が無い旨の応答を受け付け、業務データ要求部１１４に旧システム３００の旧出金処理サービスに口座番号“００００００５”に関するデータの提供を依頼する。そして、旧出金処理サービスは、旧ＤＢのテーブルである旧口座テーブル３２１ａに口座番号“００００００５”が存在するかを照会する。旧出金処理サービスは、旧口座テーブル３２１ａに該当の口座番号があることを確認すると、業務データ要求部１１４にそのデータを提供する。そして、業務データ要求部１１４は、取得したデータを登録依頼部１１５に出力する。
【００８９】
［ステップＳＴ３］登録依頼部１１５は、業務データ要求部１１４からデータを取得すると、新出金処理サービスに対して、取得したデータを新口座テーブル２２１ａに登録するよう依頼する。そして、新出金処理サービスは、新口座テーブル２２１ａに口座番号“００００００５”を登録して、新口座テーブル２２１ｂを作成する。
【００９０】
図１３は、順次移行を表す第２の模式図である。図１３に示すテーブル情報の遷移は、図１２から継続するものである。以下、図１３に示す処理をステップ番号に沿って説明する。
【００９１】
［ステップＳＴ４］登録依頼部１１５は、新出金処理サービスによって、新口座テーブル２２１ｂに上記口座番号に関するデータが登録された旨の応答を受け付ける。そして、登録依頼部１１５は、再業務処理依頼部１１６に再度、新出金処理サービスに対して、上記口座番号に対する業務処理を依頼するよう要求する。そして、新出金処理サービスにより、“５０００”円の出金処理が実行されて、新口座テーブル２２１ｃに示すように、口座番号“００００００５”の残高が“９５０００”円となる。
【００９２】
［ステップＳＴ５］削除依頼部１１７は、旧口座テーブル３２１ａに登録された口座番号“００００００５”のデータを削除して、旧口座テーブル３２１ｂを作成する。
このように、順次移行では業務処理要求１１２ａを受け付ける毎に、新システム２００に対して業務処理を依頼する。そして、データ移行連携用サーバ１００は、新システム２００に業務処理の対象となるデータが存在しない場合には、旧システム３００から該当の処理の対象となるデータを取得して、新システム２００に登録する。
【００９３】
次に、上記に説明した順次移行と一括移行との並列実行に関して説明する。まず、順次移行と一括移行との間で、データ移行に関する競合が無い場合に関して説明する。ここで、データ移行に関する競合とは、順次移行同士、または、順次移行と一括移行とが同一のデータをほぼ同時に移行しようとすることを表す。
【００９４】
図１４は、順次移行と一括移行とが競合しない場合の処理の流れの具体例を示す第１のシーケンス図である。データ移行連携用サーバ１００では、順次移行と一括移行とを実行している。以降の説明では、データ移行連携用サーバ１００の構成において、順次移行を制御する機能を順次移行連携用サービスと呼び、一括移行を制御する機能を一括移行連携用サービスと呼ぶこととする。なお、順次移行連携用サービスは、業務処理の対象であるデータＡに対する処理要求を受け付けているものとする。以下、図１４に示す処理をステップ番号に沿って説明する。
【００９５】
［ステップＳ１０１］順次移行連携用サービスは、新システム２００の業務サービス群２１１にデータＡに関する処理要求を送信する。
［ステップＳ１０２］業務サービス群２１１は、順次移行連携用サービスに処理対象となるデータＡが新システム２００に登録されていない旨の応答をする。
【００９６】
［ステップＳ１０３］順次移行連携用サービスは、旧システム３００の業務サービス群３１１にデータＡの提供要求を送信する。
［ステップＳ１０４］業務サービス群３１１は、業務データ記憶部３２１に記憶されたデータＡを取得し、順次移行連携用サービスに送信する。
【００９７】
［ステップＳ１０５］順次移行連携用サービスは、取得したデータＡを新システム２００に登録するように業務サービス群２１１に依頼する。
［ステップＳ１０６］業務サービス群２１１は、順次移行連携用サービスに対して、データＢの登録が正常に完了した旨の応答をする。
【００９８】
［ステップＳ１０７］順次移行連携用サービスは、新システム２００の業務サービス群２１１に対して再度データＡに関する処理要求を送信する。
［ステップＳ１０８］業務サービス群２１１は、順次移行連携用サービスに対してデータＡに関する処理が正常に完了したことと、その処理結果を応答する。
【００９９】
［ステップＳ１０９］順次移行連携用サービスは、旧システム３００の業務サービス群３１１にデータＡの削除要求を送信する。
［ステップＳ１１０］業務サービス群３１１は、業務データ記憶部３２１に記憶されたデータＡを削除し、データを削除した旨を順次移行連携用サービスに応答する。なお、順次移行連携用サービスは、この応答を受け付けるとステップＳ１０８における処理の完了応答を処理要求元に送信する。
【０１００】
［ステップＳ１１１］一括移行連携用サービスは、移行データリスト１１１ｄから、データＡを移行対象として読み込む。そして、一括移行連携用サービスは、旧システム３００の業務サービス群３１１に対してデータＡの提供要求を送信する。
【０１０１】
［ステップＳ１１２］業務サービス群３１１は、業務データ記憶部３２１にデータＡが存在しない旨の応答を、一括移行連携用サービスに対して送信する。
図１５は、順次移行と一括移行とが競合しない場合の処理の流れの具体例を示す第２のシーケンス図である。図１５は、図１４から継続する処理の流れを示す。以下、図１５に示す処理をステップ番号に沿って説明する。
【０１０２】
［ステップＳ１１３］一括移行連携用サービスは、移行データリスト１１１ｄからデータＢを移行対象として読み込む。そして、一括移行連携用サービスは、旧システム３００の業務サービス群３１１に対して、データＢの提供要求を送信する。
【０１０３】
［ステップＳ１１４］業務サービス群３１１は、業務データ記憶部３２１に記憶されたデータＢを取得し、一括移行連携用サービスに送信する。
［ステップＳ１１５］一括移行連携用サービスは、取得したデータＢを新システム２００に登録するように業務サービス群２１１に依頼する。
【０１０４】
［ステップＳ１１６］業務サービス群２１１は、一括移行連携用サービスに対して、データＢの登録が正常に完了した旨の応答を送信する。
［ステップＳ１１７］一括移行連携用サービスは、旧システム３００の業務サービス群３１１にデータＢの削除要求を送信する。
【０１０５】
［ステップＳ１１８］業務サービス群３１１は、業務データ記憶部３２１に記憶されたデータＢを削除し、データを削除した旨を一括移行連携用サービスに応答する。データＢに関する一括移行による移行処理は、これで完了する。
【０１０６】
［ステップＳ１１９］順次移行連携用サービスは、データＢに対する処理要求を受け付ける。そして、順次移行連携用サービスは、新システム２００の業務サービス群２１１にデータＢに関する処理要求を送信する。
【０１０７】
［ステップＳ１２０］業務サービス群２１１は、順次移行連携用サービスに対してデータＢに関する処理が正常に完了したことと、その処理結果を応答する。順次移行連携用サービスは、この応答を受け付けるとデータＢに関する処理の完了応答を処理要求元に送信する。
【０１０８】
このように、順次移行と一括移行とを同時に行うことによって、業務処理要求で処理の対象とならないログデータや、発生頻度の少ない業務処理要求に関連するデータの移行も確実に行うことができる。更に、順次移行と一括移行とを同時に実行することで、データ移行を迅速に行うことができる。
【０１０９】
次に、順次移行と一括移行とによって同一データの移行処理が競合する場合を説明する。
図１６は、順次移行と一括移行とが競合する場合の処理の流れの具体例を示す第１のシーケンス図である。以下、図１６に示す処理をステップ番号に沿って説明する。
【０１１０】
［ステップＳ１３１］一括移行連携用サービスは、移行データリスト１１１ｄから、データＡを移行対象として読み込む。そして、一括移行連携用サービスは、旧システム３００の業務サービス群３１１に対してデータＡの提供要求を送信する。
【０１１１】
［ステップＳ１３２］業務サービス群３１１は、業務データ記憶部３２１に記憶されたデータＡを取得し、一括移行連携用サービスに送信する。
［ステップＳ１３３］順次移行連携用サービスは、データＡに関する処理要求を受け付ける。そして、順次移行連携用サービスは、新システム２００の業務サービス群２１１にデータＡに関する処理要求を送信する。
【０１１２】
［ステップＳ１３４］業務サービス群２１１は、順次移行連携用サービスに処理対象となるデータＡが新システム２００に登録されていない旨の応答をする。
［ステップＳ１３５］一括移行連携用サービスは、取得したデータＡを新システム２００に登録するように業務サービス群２１１に依頼する。
【０１１３】
［ステップＳ１３６］業務サービス群２１１は、一括移行連携用サービスに対して、データＡの登録が正常に完了した旨の応答をする。
［ステップＳ１３７］一括移行連携用サービスは、旧システム３００の業務サービス群３１１にデータＡの削除要求を送信する。
【０１１４】
［ステップＳ１３８］業務サービス群３１１は、業務データ記憶部３２１に記憶されたデータＡを削除し、データを削除した旨を一括移行連携用サービスに応答する。
［ステップＳ１３９］順次移行連携用サービスは、旧システム３００の業務サービス群３１１にデータＡの提供要求を送信する。
【０１１５】
［ステップＳ１４０］業務サービス群３１１は、順次移行連携用サービスにデータＡが登録されていない旨の応答をする。
［ステップＳ１４１］順次移行連携用サービスは、別の移行処理によって、旧システム３００に登録されていたデータＡが既に新システム２００に移行済みであると判断する（ここでは、ステップＳ１３５で一括移行により移行済みである）。そして、順次移行連携用サービスは、新システム２００の業務サービス群２１１にデータＡに関する処理要求を再送信する。
【０１１６】
［ステップＳ１４２］業務サービス群２１１は、順次移行連携用サービスに対してデータＡに関する処理が正常に完了したことと、その処理結果を応答する。順次移行連携用サービスは、この応答を受け付けるとデータＡに関する処理の完了応答を処理要求元に送信する。
【０１１７】
このように、順次移行により移行が開始され、旧システム３００にデータの提供依頼を送信したが、一括移行によって直前に旧システム３００から対象のデータが削除された場合でも、業務処理を中断することなく、正常にサービスを提供することができる。
【０１１８】
図１７は、順次移行と一括移行とが競合する場合の処理の流れの具体例を示す第２のシーケンス図である。以下、図１７に示す処理をステップ番号に沿って説明する。
［ステップＳ１５１］順次移行連携用サービスは、データＡに関する処理要求を受け付ける。そして、順次移行連携用サービスは、新システム２００の業務サービス群２１１にデータＡに関する処理要求を送信する。
【０１１９】
［ステップＳ１５２］新システム２００の業務サービス群２１１は、順次移行連携用サービスに処理対象となるデータＡが新システム２００に登録されていない旨の応答をする。
【０１２０】
［ステップＳ１５３］一括移行連携用サービスは、移行データリスト１１１ｄから、データＡを移行対象として読み込む。そして、一括移行連携用サービスは、旧システム３００の業務サービス群３１１に対してデータＡの提供要求を送信する。
【０１２１】
［ステップＳ１５４］業務サービス群３１１は、業務データ記憶部３２１に記憶されたデータＡを取得し、一括移行連携用サービスに送信する。
［ステップＳ１５５］順次移行連携用サービスは、旧システム３００の業務サービス群３１１にデータＡの提供要求を送信する。
【０１２２】
［ステップＳ１５６］業務サービス群３１１は、業務データ記憶部３２１に記憶されたデータＡを取得し、順次移行連携用サービスに送信する。
［ステップＳ１５７］一括移行連携用サービスは、取得したデータＡを新システム２００に登録するように業務サービス群２１１に依頼する。
【０１２３】
［ステップＳ１５８］業務サービス群２１１は、一括移行連携用サービスに対して、データＡの登録が正常に完了した旨の応答をする。
［ステップＳ１５９］一括移行連携用サービスは、旧システム３００の業務サービス群３１１にデータＡの削除要求を送信する。
【０１２４】
［ステップＳ１６０］業務サービス群３１１は、業務データ記憶部３２１に記憶されたデータＡを削除し、データを削除した旨を一括移行連携用サービスに応答する。
［ステップＳ１６１］順次移行連携用サービスは、取得したデータＡを新システム２００に登録するように業務サービス群２１１に依頼する。
【０１２５】
［ステップＳ１６２］業務サービス群２１１は、順次移行連携用サービスにデータＡが既に登録済みである旨の応答をする。
［ステップＳ１６３］順次移行連携用サービスは、別の移行処理によって、旧システム３００に登録されていたデータＡが既に新システム２００に移行済みであると判断する（ここでは、ステップＳ１５７で一括移行により移行済みである）。そして、順次移行連携用サービスは、新システム２００の業務サービス群２１１にデータＡに関する処理要求を再送信する。
【０１２６】
［ステップＳ１６４］業務サービス群２１１は、順次移行連携用サービスに対してデータＡに関する処理が正常に完了したことと、その処理結果を応答する。順次移行連携用サービスは、この応答を受け付けるとデータＡに関する処理の完了応答を処理要求元に送信する。
【０１２７】
このように、順次移行により移行が開始され、旧システム３００からデータを取得して、新システム２００に登録依頼をしたが、一括移行によって直前に新システム２００に対象のデータが登録された場合でも、業務処理を中断することなく、正常に処理応答することができる。
【０１２８】
次に、順次移行によるデータ移行が競合する場合を説明する。
図１８は、順次移行が競合する場合の具体例を示す第１のタイミング図である。図１８では、順次移行連携用サービスの２つのプロセス（順次移行＃１，２）が同時に実行されて、同一データの移行が競合する場合を示している。以下、図１８に示す処理をステップ番号に沿って説明する。
【０１２９】
［ステップＳ１７１］順次移行＃１は、新システム２００に処理依頼（この処理依頼を処理依頼Ａと呼ぶこととする）を送信する。順次移行＃１は、新システム２００から処理の対象となるデータＡが存在しない旨の応答を受信する。
【０１３０】
［ステップＳ１７２］順次移行＃１は、旧システム３００にデータＡを要求する。順次移行＃１は、旧システム３００からデータＡを取得する。
［ステップＳ１７３］順次移行＃２は、新システム２００に処理依頼Ａを送信する。順次移行＃２は、新システム２００から処理の対象となるデータＡが存在しない旨の応答を受信する。
【０１３１】
［ステップＳ１７４］順次移行＃１は、新システム２００にデータＡの登録を依頼する。順次移行＃１は、新システム２００からデータＡの登録の正常終了応答を受信する。
［ステップＳ１７５］順次移行＃１は、新システム２００に処理依頼Ａを再送信する。順次移行＃１は、新システム２００から処理の結果応答を受信する。
【０１３２】
［ステップＳ１７６］順次移行＃１は、旧システム３００にデータＡの削除を依頼する。順次移行＃１は、旧システム３００からデータＡの削除が完了した旨の応答を受信する。
【０１３３】
［ステップＳ１７７］順次移行＃２は、旧システム３００にデータＡを要求する。順次移行＃２は、旧システム３００からデータＡが存在しない旨の応答を受信する。
［ステップＳ１７８］順次移行＃２は、新システム２００に処理依頼Ａを再送信する。順次移行＃２は、新システム２００から処理の結果応答を受信する。
【０１３４】
このように、順次移行＃２が旧システム３００にデータを要求した際に、順次移行＃１によって既に該当のデータが削除された場合でも、順次移行＃２は、再度処理依頼を新システム２００に送信することで正常に処理依頼を完了することができる。
【０１３５】
図１９は、順次移行が競合する場合の具体例を示す第２のタイミング図である。図１９では、順次移行連携用サービスの２つのプロセス（順次移行＃１，２）が同時に実行されて、同一データの移行が競合する場合を示している。以下、図１９に示す処理をステップ番号に沿って説明する。
【０１３６】
［ステップＳ１８１］順次移行＃１は、新システム２００に処理依頼（この処理依頼を処理依頼Ａと呼ぶこととする）を送信する。順次移行＃１は、新システム２００から処理の対象となるデータＡが存在しない旨の応答を受信する。
【０１３７】
［ステップＳ１８２］順次移行＃２は、新システム２００に処理依頼Ａを送信する。順次移行＃２は、新システム２００から処理の対象となるデータＡが存在しない旨の応答を受信する。
【０１３８】
［ステップＳ１８３］順次移行＃１は、旧システム３００にデータＡを要求する。順次移行＃１は、旧システム３００からデータＡを取得する。
［ステップＳ１８４］順次移行＃２は、旧システム３００にデータＡを要求する。順次移行＃２は、旧システム３００からデータＡを取得する。
【０１３９】
［ステップＳ１８５］順次移行＃１は、新システム２００にデータＡの登録を依頼する。順次移行＃１は、新システム２００からデータＡの登録の正常終了応答を受信する。
［ステップＳ１８６］順次移行＃２は、新システム２００にデータＡの登録を依頼する。順次移行＃２は、新システム２００からデータＡが既に登録済みである旨の応答を受信する。
【０１４０】
［ステップＳ１８７］順次移行＃１は、新システム２００に処理依頼Ａを再送信する。順次移行＃１は、新システム２００から処理の結果応答を受信する。
［ステップＳ１８８］順次移行＃１は、旧システム３００にデータＡの削除を依頼する。順次移行＃１は、旧システム３００からデータＡの削除が完了した旨の応答を受信する。
【０１４１】
［ステップＳ１８９］順次移行＃２は、新システム２００に処理依頼Ａを再送信する。順次移行＃２は、新システム２００から処理の結果応答を受信する。
このように、順次移行＃２が、新システム２００にデータの登録を要求した際に、順次移行＃１によって既に該当のデータが登録済みである場合でも、順次移行＃２は、再度処理依頼を新システム２００に送信することで正常に処理依頼を完了することができる。
【０１４２】
上記の通り、データ移行連携用サーバ１００は、旧システム３００から新システム２００に対して、順次移行と一括移行とによってデータ移行を迅速に実行する。そして、順次移行や一括移行によって同一データに関するアクセスが競合するような場合も正常にデータ移行を実行し、業務処理を中断することなく処理応答することができる。
【０１４３】
以上、データ移行プログラム、データ移行方法およびデータ移行装置を図示の実施の形態に基づいて説明したが、これらに限定されるものではなく、各部の構成は同様の機能を有する任意の構成のものに置換することができる。また、これらに他の任意の構成物や行程が付加されてもよい。また、これらは前述した実施の形態のうちの任意の２以上の構成（特徴）を組み合わせたものであってもよい。
【０１４４】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、データ移行連携用サーバ１００が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
【０１４５】
処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体には、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ＨＤＤ、フレキシブルディスク（ＦＤ）、磁気テープ（ＭＴ）などがある。光ディスクには、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc - Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。光磁気記録媒体には、ＭＯ（Magneto - Optical disk）などがある。
【０１４６】
上記プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータに格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１４７】
上記プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラム若しくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
【図面の簡単な説明】
【０１４８】
【図１】本実施の形態の概念図である。
【図２】本実施の形態のシステム構成を示す図である。
【図３】データ移行連携用サーバのハードウェア構成を示す図である。
【図４】データ移行連携用サーバのデータ移行機能を示すブロック図である。
【図５】データ移行連携用テーブルのデータ構造例を示す図である。
【図６】業務処理要求のデータ構造例を示す図である。
【図７】業務処理要求管理テーブルのデータ構造例を示す図である。
【図８】データ移行ログのデータ構造例を示す図である。
【図９】移行データリストのデータ構造例を示す図である。
【図１０】データ移行連携用サーバによる順次移行の手順を示すフローチャートである。
【図１１】データ移行連携用サーバによる一括移行の手順を示すフローチャートである。
【図１２】順次移行を表す第１の模式図である。
【図１３】順次移行を表す第２の模式図である。
【図１４】順次移行と一括移行とが競合しない場合の処理の流れの具体例を示す第１のシーケンス図である。
【図１５】順次移行と一括移行とが競合しない場合の処理の流れの具体例を示す第２のシーケンス図である。
【図１６】順次移行と一括移行とが競合する場合の処理の流れの具体例を示す第１のシーケンス図である。
【図１７】順次移行と一括移行とが競合する場合の処理の流れの具体例を示す第２のシーケンス図である。
【図１８】順次移行が競合する場合の具体例を示す第１のタイミング図である。
【図１９】順次移行が競合する場合の具体例を示す第２のタイミング図である。
【符号の説明】
【０１４９】
１  コンピュータ
１ａ  システム管理情報記憶手段
１ｂ  処理依頼手段
１ｃ  データ要求手段
１ｄ  登録依頼手段
１ｅ  再処理依頼手段
１ｆ  削除依頼手順
２  移行先データ処理システム
２ａ  サービス群
２ｂ  データ記憶手段
３  移行元データ処理システム
３ａ  サービス群
３ｂ  データ記憶手段
【図１】
0005040629.tif 000002
【図２】
0005040629.tif 000003
【図３】
0005040629.tif 000004
【図４】
0005040629.tif 000005
【図５】
0005040629.tif 000006
【図６】
0005040629.tif 000007
【図７】
0005040629.tif 000008
【図８】
0005040629.tif 000009
【図９】
0005040629.tif 000010
【図１０】
0005040629.tif 000011
【図１１】
0005040629.tif 000012
【図１２】
0005040629.tif 000013
【図１３】
0005040629.tif 000014
【図１４】
0005040629.tif 000015
【図１５】
0005040629.tif 000016
【図１６】
0005040629.tif 000017
【図１７】
0005040629.tif 000018
【図１８】
0005040629.tif 000019
【図１９】
0005040629.tif 000020