(57)【要約】【課題】  デバイス構成の変更が端末アプリケーションへ及ぼす影響を排除し、端末アプリケーションの開発・メンテナンスコストを削減する。【解決手段】  端末アプリケーション実行基盤１０１が、取引で用いるデータ項目と、それに対する操作をキーとして、デバイス呼出方法制御１０２を呼び出し、デバイス呼出方法制御１０２が、呼出方法定義ＤＢ１０３から、呼出すデバイスドライバおよびそのメソッド、デバイスを駆動してもよい条件、および、1つ以上のデバイスで実行可能であった場合の、呼出元へ返却する値の決定方法、およびデータを出力するデバイスの決定方法を検索し、デバイス制御ロジック制御基盤１０４が、呼出方法定義ＤＢ１０３に記述された定義内容に従ってデバイスを制御し、端末アプリケーションが要求した業務サービスを実行する。【選択図】  図１
2007316786.tif 000002
【特許請求の範囲】
【請求項１】
接続されたデバイスを動作させ、これにより得られたデータを他のコンピュータにおいて処理し、その処理結果を当該デバイス制御装置へ反映させるデバイス制御装置において、
データ項目とそれに対する操作との組に対応する、デバイス呼出方法、デバイス制御ロジック、デバイス制御ロジックパラメータを記述した呼出方法定義データベースを記憶する記憶装置と、
外部からデータ項目とそれに対する操作を含む要求を受け取り、受け取られた上記データ項目と操作をキーとして、前記呼出方法定義データベースからデバイス呼出方法、デバイス制御ロジック、およびデバイス制御パラメータを検索し、これらを引数としてデバイス制御ロジックの実行命令を出力するデバイス呼出方法制御手段と、
呼び出されるときに引数として渡されるデバイス制御ロジックを、前記デバイス呼出方法、前記デバイス制御パラメータを参照しながら実行するデバイス制御ロジック実行基盤と、
前記デバイスをそれぞれ動作させるためのデバイスドライバとを備えることを特徴としたデバイス制御装置。
【請求項２】
請求項１に記載のデバイス制御装置において、
前記デバイス呼出方法制御手段が、前記デバイス制御ロジック実行基盤を呼び出す際に渡す引数として、前記デバイス呼出方法、前記デバイス制御ロジック、前記デバイス制御パラメータに加えて、外部からの要求に含まれる値も含めることを特徴としたデバイス制御装置。
【請求項３】
請求項１に記載のデバイス制御装置において、
前記デバイス呼出方法は、呼び出すデバイスドライバとそのメソッドを定義し、
前記デバイス制御ロジックは、呼び出し元へ返却する値と出力先となるデバイスを定義し、
前記デバイス制御パラメータは、複数の前記呼び出し元へ返却する値間又は複数の前記出力先となるデバイス間の調整方法を定義することを特徴としたデバイス制御装置。
【請求項４】
接続されたデバイスを動作させ、これにより得られたデータを他のコンピュータにおいて処理し、その処理結果をデバイス制御装置へ反映させるデバイス制御方法であって、
デバイス呼出方法制御手段が、外部よりデータ項目とそれに対する操作を含む要求を受け取り、受け取られた上記データ項目と操作をキーとして、データ項目とそれに対する操作との組に対応するデバイス呼出方法、デバイス制御ロジック、デバイス制御ロジックパラメータを記述した呼出方法定義データベースを記憶する記憶装置から、デバイス呼出方法、デバイス制御ロジック、およびデバイス制御パラメータを検索して、これらを引数としてデバイスの制御を依頼し、
デバイス制御ロジック基盤が、呼び出されるときに引数として渡されるデバイス制御ロジックを、前記デバイス呼出方法、前記デバイス制御パラメータを参照しながら実行し、
デバイスドライバが、前記デバイスをそれぞれ動作させることを特徴としたデバイス制御方法。
【請求項５】
請求項４に記載のデバイス制御方法において、
前記デバイス呼出方法制御手段が、前記デバイス制御ロジック実行基盤への引数として、前記デバイス呼出方法、前記デバイス制御ロジック、前記デバイス制御ロジックパラメータに加えて、外部からの要求に含まれる値も含めることを特徴としたデバイス制御方法。
【請求項６】
請求項４に記載のデバイス制御方法において、
前記デバイス呼出方法は、呼び出すデバイスドライバとそのメソッドを定義し、
前記デバイス制御ロジックは、呼び出し元へ返却する値と出力先となるデバイスを定義し、
前記デバイス制御パラメータは、複数の前記呼び出し元へ返却する値間又は複数の前記出力先となるデバイス間の調整方法を定義することを特徴としたデバイス制御方法。
【請求項７】
接続されたデバイスを動作させ、これにより得られたデータを他のコンピュータにおいて処理し、その処理結果をデバイス制御装置へ反映させる手段として、コンピュータを機能させるためのプログラムにおいて、
外部よりデータ項目とそれに対する操作を含む要求を受け取り、受け取られた上記データ項目と操作をキーとして、データ項目とそれに対する操作との組に対応するデバイス呼出方法、デバイス制御ロジック、デバイス制御ロジックパラメータを記述した呼出方法定義データベースを記憶する記憶装置から、デバイス呼出方法、デバイス制御ロジック、およびデバイス制御パラメータを検索して、これらを引数としてデバイスの制御を依頼するデバイス呼出方法制御手段として、前記コンピュータを機能させ、
呼び出されるときに引数として渡されるデバイス制御ロジックを、前記デバイス呼出方法、前記デバイス制御パラメータを参照しながら実行するデバイス制御ロジック基盤として、前記コンピュータを機能させ、
前記デバイスをそれぞれ動作させるデバイスドライバとして、前記コンピュータを機能させることを特徴としたプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のデバイスが接続された制御装置の技術に係り、特に金融機関で用いられる行員端末やATMなど、利用者との入出力を、各種デバイスを介して行う端末システムにおけるデバイス制御技術に関する。
【背景技術】
【０００２】
現在、各種金融機関では、さまざまなデバイスを用いる端末が用いられている。例えば、磁気カードユニット、通帳プリンタ、イメージスキャナ、明細票プリンタなどのデバイスを用いる行員端末（銀行員が使用する端末）がある。金融機関においては、「口座への入金」「口座間の振替」などの取引を遂行するため、端末に接続された各種デバイスから、「口座番号」や「入金金額」など、取引に必要なさまざまな情報を受け取ったり、また、ホストシステムにおいて実行された処理結果を「明細票」のような形式で出力したりする必要がある。
【０００３】
このようなデバイスからの入力や出力、デバイスから取得した各種データの整合性チェック、ホストシステムとの送受信などの制御を行うのが、端末アプリケーションである。
端末システムには、これらのデバイスの動作をそれぞれ制御するために、デバイスドライバというプログラムが備えられており、端末アプリケーションはこのようなデバイスドライバを介して、各種デバイスをそれぞれ操作するように記述される。
【０００４】
例えば、特許文献１には、営業店について取得した営業状況情報に該当する業務フローを特定するフロー特定部と、業務フローに伴って利用される金融デバイスの情報を取得すると共に該当金融デバイスの属性情報を抽出するデバイス情報取得部と、デバイス状態データベースより営業店に備わる各金融デバイスの利用状況を抽出しそのうち利用状況が利用可能となっているものを利用デバイスとして特定するデバイス特定部と、利用デバイスに関する利用方式を構成管理情報データベースより抽出し当該利用方式に応じたクライアントに顧客情報、業務フローの情報、および当該業務フローにおける金融デバイスに対する処理命令を送信する処理命令出力部とからなるシステムが記載されている。
【０００５】
特許文献２には、金融機関の営業店に設置され、取引の要求を入力する複数の営業店端末と、営業店と回線を介して接続するセンタに設置され、営業店端末で入力した取引の要求に基づいてホストと交信するアプリケーションサーバと、営業店に設置され、ホストとの交信に対応するアプリケーションサーバからの命令に基づいて、現金入出金機や通帳プリンタを制御する機能を有するデバイス制御サーバとを有する営業店システムが記載されている。
【０００６】
特許文献３には、電算センタ内のＡＰサーバに金融デバイスの制御指示を行う複数のデバイス系コンポーネントと各種業務システムを利用するための複数の上位アクセスコンポーネントと業務ロジックとして記述されている複数の業務系コンポーネントとこれらコンポーネントを順に呼び出すコンポーネントフロー制御部とを備え、事前に定義されたコンポーネントフロー定義情報の呼出順序に従ってコンポーネントフロー制御部がコンポーネントを順に呼び出すことで、ＡＰサーバ側で営業店事務のアプリケーションを実現する制御システムが記載さている。
【０００７】
【特許文献１】特開2005-216002号公報
【特許文献２】特開2006-92056号公報
【特許文献３】特開2004-348309号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
通常、端末アプリケーションは利用するデバイスを意識して開発する必要があった。すなわち、１つの取引を遂行するにあたり、金融端末の利用者からデバイスを介して入力される情報は、同じ種類のデータ項目であっても、デバイスが異なれば呼出方法が異なるため、別々の端末アプリケーションとするか、あるいは端末アプリケーション内で分岐処理を行うことが必要であった。
【０００９】
例えば、「入金」取引を行う場合には、ホストで実行されるプログラムに渡す情報として、「入金先口座番号」「暗証番号」「入金金種」「入金金額」などの情報が必要である。このうち、「入金先口座番号」については、「磁気カード」、および「通帳」というメディアを扱うことのできるデバイスから取得可能である。利用者がデバイスに対して挿入したメディア（ここでは磁気カード、または通帳）に従って、「入金先口座番号」を取得するデバイスが異なる。このため、端末アプリケーションでは「磁気カードユニットデバイスから、挿入された磁気カードの磁気ストライプを読み取り、カードに記録された口座番号を取得する」という処理フローと、「通帳ユニットデバイスから、挿入された通帳の磁気ストライプを読み取り、通帳に記録された口座番号を取得する」という処理フローの、２種類の端末アプリケーションを用意しておくか、ひとつの端末アプリケーションの中で上記２種類の処理を実行できるように、分岐処理を行うように実装しておく必要がある。
【００１０】
このような端末アプリケーションの開発方法では、利用できるデバイスの種別が追加されるなどのデバイス構成の変更がある場合に、端末アプリケーション自身を変更する必要が生じ、メンテナンスコストが大きくなってしまう。
【００１１】
本発明は、端末アプリケーションからデバイスを制御するロジックを隠蔽するデバイス制御装置、その方法及びプログラムを提供することを目的とする。
【００１２】
そして、本発明は、デバイスを利用するプログラムからの制御方法がそれぞれ異なるデバイスが接続されている端末において、端末アプリケーションからの利用目的が同じ場合は、同一のアクセス手段および方法を提供することにより、端末アプリケーションを設計・開発する者にとって、デバイスごとに異なる制御方法を意識する必要がなく、また新規デバイス追加時などに行う端末アプリケーションのメンテナンスも容易なデバイス制御装置、その方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明では、営業店などの店舗における金融端末システムを構成するソフトウェア構造において、クライアント端末には、デバイス固有のドライバプログラム、端末アプリケーションを実行する実行環境、および、端末アプリケーションからの業務サービス要求を受け付け、これをデバイスドライバプログラムへの命令へ翻訳するプログラム、を配備する。
【００１４】
以下に、その処理手順の概要を述べる。
（１）端末アプリケーション実行基盤は、端末アプリケーションの記述に従って、「データ項目」（データ種別）とそれに対する「操作」（処理）を含んだ「業務サービス要求」を、デバイス呼出方法制御手段に通知する。
（２）デバイス呼出方法制御手段は、受け取った「データ項目」と「操作」をキーとして、呼出方法定義データベースから、端末アプリケーションへ返却する値や出力先デバイスを決定する「デバイス制御ロジック」と、呼び出すデバイスドライバプログラムとその呼び出しメソッドから構成される「デバイス呼出方法」を取得する。これらを引数として、デバイス制御ロジック実行基盤に、デバイス制御ロジックの実行を依頼する。
（３）デバイス制御ロジック実行基盤は、受け取った「デバイス制御ロジック」を元に、呼び出し元へ返却する値や出力先デバイスを決定する。ここでは、引数として受け取っている「デバイス呼出方法」により、呼び出すデバイスドライバ、およびそのメソッドを決定し、当該メソッドを実行することにより実現する。また、複数の「デバイス呼出方法」を指定されている場合には、それぞれのデバイス呼出方法を実行し、得られた値について、「突合する」「合計する」「数値が大きいほうを選択する」「現在利用可能なデバイスを優先順に選択する」など、「デバイス制御ロジック」に指定されている方法により、呼び出し元へ返却する値を決定、または出力先デバイスを決定する。
【００１５】
以上の手順により、例えば端末が行員端末であり、入金取引を行う場合、端末アプリケーションは、「入金先口座番号」「暗証番号」「入金金種」「入金金額」といった情報を各種デバイスから収集する必要があり、それぞれのデータ項目に対して「取得」という操作を行うことになる。端末アプリケーションは、これらの値を元に、ホストシステムに対して、処理を依頼する。さらにホストシステムから受け取った処理結果を出力する際に「明細票」や「出金金種・金額」の出力を実行する。ここで、「入金先口座番号」「暗証番号」「入金金種」「入金金額」は、入金取引という一連の業務フローの中で必要なデータであり、顧客から取得するデータである。
【００１６】
まず、デバイス呼出方法制御手段は、呼出方法定義データベースから、「入金先口座番号」を「取得」するためのデバイス制御ロジック、およびデバイス操作方法を取得する。
ここでは、デバイス制御ロジックとして、「突合」が定義され、また、デバイス操作方法として、「磁気カードユニット」デバイスに対する「磁気ストライプ読み込み」という操作、および「通帳ユニット」デバイスに対する「磁気ストライプ読み込み」という操作の２つの操作が定義されていたものとする。
【００１７】
デバイス制御ロジック実行基盤は、デバイス呼出方法に指定されているデバイスドライバのメソッドを実行することにより、デバイスから「入金先口座番号」の候補となる値を取得する。
【００１８】
さらに、このデバイス制御ロジック実行基盤は、呼出方法定義に従って、得られた値を処理する。すなわち、「入金先口座番号」を「取得」する操作に対して、「突合」するように定義されていれば、複数のデバイスから得られた値を比較し、同一であればその値を呼び出し元に返し、同一でなければ取り込んでいる媒体（磁気カードや通帳）を排出し、呼出元に対してエラーを返す、という処理を行う。
【００１９】
他のデータ項目についても、デバイス制御ロジックやデバイス呼出方法に従って、それぞれデバイスを制御し、端末アプリケーション実行基盤に対して、値を返却することになる。
【００２０】
また、ホストシステムによる実行結果を出力する場合の例として、「出金金額」を「出力」するという操作がある。ここで、「出金金額」というデータ項目を「出力」するという操作に対して、デバイス制御ロジックとして「優先順」が指定されているとすると、デバイス制御ロジック実行基盤は、まず「出金金額」を「出力」することが可能なデバイスを検索する。すなわち、現金を出金できる「現金入出金機」や電子マネーをチャージできる「ＩＣカードリーダライタ」などがそのようなデバイスに該当する。すると、デバイス制御ロジック実行基盤は、複数実行可能ならば、あらかじめ指定された優先順位により出力するデバイスを決定し、出金処理を行う。
【発明の効果】
【００２１】
本発明によれば、利用者との入出力インタフェースに各種デバイスが用いられる端末があって、それを駆動して処理を実行するための端末アプリケーションを開発する際に、個別のデバイスに対する操作（処理）を意識する必要がなくなる。例えば、端末アプリケーションからのデバイス操作要求は、「呼出方法定義」としてあらかじめ定義し、この定義に従って「デバイス呼出方法制御」「デバイス制御ロジック実行基盤」により、呼び出し先デバイスドライバ、およびそのメソッドを自動的に選択して呼び出すことができるので、端末アプリケーションを開発する際に、デバイス固有の操作を意識して設計する必要がなくなる。したがって、端末アプリケーション開発コストを低減させることができる。
【００２２】
また、新規のデバイスを追加した際にも、呼出方法定義を変更すれば、端末アプリケーション自身の変更なしに既存業務への対応が可能になるので、端末アプリケーションのメンテナンスコストを低減させることができる。
【発明を実施するための最良の形態】
【００２３】
以下に本発明の実施形態について、図面を用いて詳細に説明する。
【００２４】
図1は、本実施形態の金融端末システムのソフトウェア全体構成の概要である。
【００２５】
本金融端末システムは、外部のシステム、またはプログラムから、端末アプリケーション起動要求を受け付け、端末アプリケーションを実行する端末アプリケーション実行基盤１０１と、端末アプリケーションから要求された業務サービス要求にしたがって、呼出方法定義データベース１０３から、呼び出すデバイスドライバ、およびそのメソッドに関する情報を含むデバイス呼出方法と、呼び出すデバイスドライバを決定したりデバイスドライバを呼び出した結果の値の変換方法を指定するデバイス制御ロジックを取得し、デバイス制御ロジック実行基盤１０４に渡すデバイス呼出方法制御１０２、受け取ったデバイス呼出方法およびデバイス制御ロジックを実行するデバイス制御ロジック実行基盤１０４、ハードウェアとしてのデバイスを制御するプログラムであるデバイスドライバ群１０５から構成される。
【００２６】
端末アプリケーション実行基盤１０１は、実行すべき処理や、条件によって処理を分岐する場合の分岐処理、処理の途中でエラーが起こった際に処理を行う例外処理などを含む。このような端末アプリケーション実行基盤は、特開2004-348309「営業店フロー制御システム」において開示されているコンポーネント、およびコンポーネントフローエンジンといった手段、および方法により実現される。
【００２７】
本金融端末システムは、処理装置（例えば、ＣＰＵ）と記憶装置（例えば、メモリやＨＤＤ）と通信装置を備える。そして、端末アプリケーション実行基盤１０１、デバイス呼出方法制御１０２、デバイス制御ロジック実行基盤１０４、デバイスドライバ群１０５は、処理装置によって実行可能なソフトウェアである。また、呼出方法定義データベース１０３は、記憶装置に記憶されている。
【００２８】
図２は、図１で示した各モジュールを、端末などに割り振りした状態を示す。クライアント端末２０１は、上記図１に示した各モジュールが配備さる。さらに、利用者との入出力を行うための各種デバイス２０４が接続され、取引の遂行に必要な情報の入力や、取引結果の出力などを行う。金融機関におけるクライアント端末には、接続されるデバイスとして、イメージスキャナ、通帳ユニット、ＩＣカードユニット、磁気カードユニット、明細票プリンタなどのデバイスが想定される。デバイスを駆動させるアプリケーション・プログラム・インタフェースは、デバイスごとにそれぞれ異なるため、デバイスごとにそれを制御するためのデバイスドライバ１０５によって実現されている。これらのデバイス群２０４は、ＬＡＮなどのネットワークやＵＳＢなどのケーブルにより、クライアント端末２０１に接続されている。
【００２９】
上記端末アプリケーション実行基盤１０１で実行される端末アプリケーションは、デバイス呼出方法制御１０２に対して、図３に示す業務サービス要求メッセージを発行する。業務サービス要求メッセージには、データ項目３０１、操作３０２、業務サービス要求パラメータ３０３が含まれる。例えば「出金取引」を行う際には、データ項目３０１と操作３０２の組み合わせとして、「口座番号」に対する「取得」、あるいは「明細票」に対する「出力」などが相当する。また、データ項目３０１と操作３０２の組み合わせに依存した業務サービス要求パラメータ３０３を設定することもできる。このパラメータは、デバイス制御ロジック実行基盤１０４において、デバイス制御ロジックを実行する際に参照したり、デバイスドライバ１０５内部においてデバイスを制御する際に参照される。業務サービス要求パラメータ３０３は、端末アプリケーションを記述する際に、端末アプリケーション内部にあらかじめ設定しておいたり、端末アプリケーションを実行する際に動的に生成される値を使うように端末アプリケーション内部に指定しておいたりすることにより、端末アプリケーション実行基盤１０１がその値を取り出し、業務サービス要求メッセージを作成する際に使用する。例えば、端末アプリケーションからの要求が、データ項目３０１「明細票」に対する操作３０２「出力」を依頼する場合、業務サービス要求パラメータ３０３は、ホストから送信されてきた明細票データの内容を含める、といった設定を端末アプリケーション実行基盤１０１において行っておく。一方、例えばデータ項目３０１「口座番号」に対する操作３０２「取得」の場合のように、端末アプリケーションからの要求の処理を実行することにおいて、特にデータ項目と操作以外のパラメータが必要なれければ、業務サービス要求パラメータ３０３は設定されず、空のフィールドとして業務サービス要求メッセージが生成されることもありうる。
【００３０】
次に、図４に示すデバイス呼出方法制御１０２における処理手順、図５に示す呼出方法定義データベース１０３中に定義される制御ロジック検索テーブル、図６に示す呼出方法定義データベース１０３中に定義される呼出方法検索テーブルを用いて、デバイス呼出方法制御１０２の処理手順を説明する。
【００３１】
デバイス呼出方法制御１０２は、引数として受け取った業務サービス要求メッセージに含まれるデータ項目３０１と操作３０２をキーとして、呼出方法定義データベース１０３に定義された制御ロジック検索テーブルから、デバイス制御ロジック名５０１、デバイス呼出方法ＩＤのリスト５０２、およびデバイス制御ロジックパラメータ５０３を取得する（ステップ４０１）。次に、取得した呼出方法ＩＤのリスト５０２に記録されていたすべての呼出方法ＩＤについて、呼出方法定義データベース１０３中の呼出方法検索テーブルより、対応するデバイス呼出方法６０１を取得する（ステップ４０２）。さらに、呼出方法制御１０２は、ステップ４０１で取得した制御ロジック名５０１と制御ロジックパラメータ５０３、ステップ４０２で取得した呼出方法６０１のリストを引数として、デバイス制御ロジック実行基盤１０４に、デバイスの制御を依頼する（ステップ４０３）。最後に、呼出方法制御１０２は、デバイス制御ロジック実行基盤での実行結果を受け取り、呼び出し元に返却する（ステップ４０４）。
【００３２】
次に、図７に示すデバイス制御ロジック実行基盤１０４における処理手順、および図５、図６を用いて、デバイス制御ロジック実行基盤１０４の処理手順を説明する。図５に示す制御ロジック検索テーブル中の制御ロジックパラメータ５０３には、制御ロジック固有のパラメータが設定される。デバイス制御ロジック実行基盤は、引数として渡される制御ロジック名をメッセージから取り出し（ステップ７０１）、制御ロジック名により指定されるデバイス制御ロジックを、呼出方法６０１、およびデバイス制御ロジックパラメータ５０３を引数として、実行する（ステップ７０２）。さらに、実行した結果を呼び出し元へ返却する（ステップ７０３）。デバイス制御ロジックとしては、呼び出すデバイスドライバとそのドライバのメソッドからなるデバイス操作方法６０２、そのデバイス呼出方法が実行可能かどうかを確認する方法（ドライバのメソッド）を指定する実行条件６０３、ひとつ以上の呼出方法が実行可能だった場合や、実行可能な呼出方法がなかった場合に、呼出元へ返却する実行結果を決定する方針を示すデバイス制御ロジック名５０１、およびそのときの判断基準に使用されるデバイス制御ロジックパラメータ５０３を含む値を組み合わせ、記述される。また、必要があれば、一旦実行してしまった制御をやり直すためのＵＮＤＯ方法６０４を含むことも可能である。デバイス制御ロジック実行基盤１０４は、デバイス制御ロジックに記述された処理手順に従って動作する。このとき、デバイス呼出方法６０２、デバイス実行条件６０３、ＵＮＤＯ方法６０４は、それぞれの処理を実装したプログラムの名称、およびメソッド名から構成することにより実現可能である。具体的には、デバイス制御ロジック実行基盤がJava（Ｊａｖａは登録商標）言語により実装されたプログラムを稼動させるJavaVM（Java Virtual Machine）上で稼動するように実装された場合、プログラムの名称として、クラス名を指定することで、該当プログラムをメモリ上にロードすることができる。また、メソッド名を指定することで、該当プログラムの特定のメソッドを、プログラムの実行時に呼び出すことが可能である。このようにして、呼出方法定義データベース１０３にテキスト情報として記録しておいたクラス名、メソッド名から、動的にプログラムを呼び出して実行することが可能になる。
【００３３】
以下に、図８、図９を用いて、デバイス制御ロジックとして「デバイス優先順」「突合」を例にとって、実装例を説明する。図８は、デバイス制御ロジックとして「デバイス優先順」を実装した処理手順の例である。このデバイス制御ロジックは、例えば、データ項目「帳票」の操作「読み込み」を行う際に指定されることが考えられる。これは、「帳票」の「読み込み」を行えるデバイスとして、「イメージスキャナによる帳票読み取り・認識」、および「ＩＣカードユニットより、電子帳票の読み込み」という２種類の手段が利用可能、ということがありうるためである。この例の場合、デバイス制御ロジックパラメータ５０３としては、実行されるべきデバイス呼出方法ＩＤ５０２を優先順に並べて記述することにより、呼び出されるデバイスの優先順位を記述しておくことになる。デバイス制御ロジック実行基盤１０４上で、デバイス制御ロジック「デバイス優先順」が実行されると、まず引数のデバイス制御ロジックパラメータ５０３に記載の優先順位に従って、デバイス呼出方法６０１を格納したリストを、優先順に並び替える（ステップ８０１）。これは、優先順位の高いものから順に並べ、次以降の手順で優先順にしたがって処理を行うための前準備である。次に、引数として渡されたデバイス呼出方法６０１の数だけ、以下のループにより順に処理する（ステップ８０２）。当該のデバイス呼出方法６０２が実行可能かどうかを確認する（ステップ８０３）。これは、デバイス呼出方法６０１中に記載された実行条件６０３により確認する。実行条件６０３には、実行可否を判断するのに必要な情報を収集する方法を記載しておく。例えば、デバイス制御ロジック実行基盤１０４がJavaVM上で稼動するならば、実行可否を判定する処理を実装したJavaのクラス名、および、その値を取得するためのメソッド名を記述することになる。このとき、実行可能であると判断されたら、当該のデバイス呼出方法６０１に指定されたデバイス操作方法６０２を実行し（ステップ８０４）、その実行結果を呼び出し元に返し（ステップ８０５）、処理を終了する。一方、ステップ８０３において、実行不可、と判定された場合には、引数として与えられた呼出方法リストから、次の呼出方法を取り出し、ステップ８０２に戻って処理を継続する（ステップ８０６）。すべてのデバイス呼出方法６０１について処理が終わった場合、呼出ループを抜けたところでエラーと判断する。これは、すべてのデバイス呼出方法６０１で、実行不可であると判定されたことを示す。そこで、呼出元に対しては、エラーを返して（ステップ８０７）、処理を終了する。
【００３４】
次に、図９に、デバイス制御ロジック「突合」を実装したときの処理手順を示す。「突合」を実行する際には、デバイス制御ロジックパラメータ５０３としては、複数デバイスを呼び出した際に、値が合致しなかったときの動作を記述する。具体的には、「処理中止」を実行するようにする。まず、引数として渡されたデバイス呼出方法６０１の数だけ、以下のループによりすべての呼出方法をひとつずつ、順に処理する（ステップ９０１）。まず、呼出方法が実行可能かどうかを確認する。これは、上記「デバイス優先順」で説明したステップ８０３と同様の方法により、実現する（ステップ９０２）。実行が不可であれば、当該の呼出方法に関する処理を終了し、次の呼出方法の処理を行う（ステップ９０６）。実行が可能であれば、デバイス操作方法６０２を実行し、処理結果を取得する（ステップ９０３）。さらに、結果を一時的に保持しておくために、本デバイス呼出方法６０１と、上記ステップ９０３の実行結果を対応付け、実行可能呼出方法としてリストに追加する（ステップ９０４）。すべての呼出方法について処理が終了したら、実行された呼出方法があるかどうかを確認する（ステップ９０６）。なければ、実行可能であったデバイスが存在しなかったことになるので、処理結果としてエラーを返す（ステップ９１１）。実行された呼出方法がひとつ以上ある場合、実行されたすべての結果が同一の値かどうかを確認する（ステップ９０７）。実行された呼出方法がひとつだけの場合は、比較対照がないので、「結果は同一である」として扱うことにする。このとき、実行された結果が同一である場合は、その値を戻り値とし、呼出元へ返却して（ステップ９０８）、処理を終了する。一方、実行された結果が同一でない場合は、デバイス制御ロジックパラメータ５０３の指示に従って、処理中止の手続きを行う。すなわち、ステップ９０４で保持している実行可能呼出方法について、デバイス呼出方法を取り出し、そこに対応するＵＮＤＯ方法６０４を実行する（ステップ９１０）。実行した呼出方法のＵＮＤＯ方法の実行が終了したら、呼出元に対してエラーを返し、処理を終了する（ステップ９１１）。
【００３５】
上記の説明では、簡単のためにすべての呼出方法をＵＮＤＯするような処理として説明したが、デバイス制御ロジックパラメータに利用デバイスの優先順を記述するようにして、一部の呼出方法のみを取り消すような処理とすることも可能である。
【００３６】
また、上記の説明では、呼出方法定義データベース１０３の呼出方法検索テーブル中のデバイス操作方法６０２、デバイス実行条件６０３、ＵＮＤＯ方法６０４について、それぞれ１つのデバイスドライバの１つのメソッドに対する内容を記述することを前提として説明した。また、呼出方法定義データベース１０３のデバイス制御ロジックは、ロジックを実装した特定のクラスを呼び出すような実装方法として説明した。しかし、デバイス操作方法６０２、デバイス実行条件６０３、ＵＮＤＯ方法６０４や、デバイス制御ロジック名５０１、デバイス呼出方法ＩＤ５０２、デバイス制御ロジックパラメータ５０３をあわせて「デバイス制御ロジック定義」とし、それぞれ特開2004-348309「営業店フロー制御システム」において開示されているコンポーネントフローと同様の定義方法により、分岐処理、繰り返し処理などを含めた呼出処理手順を呼出方法定義データベース１０３に記録しておき、デバイス制御ロジック実行基盤は、上記に開示されているコンポーネント、およびコンポーネントフローエンジンと同等の手段により実現することも可能である。
【００３７】
以上の方法、および手段により、端末アプリケーションの記述としては、業務で用いる「データ項目」と、それに対する「操作」のみを記述するだけでよく、実際に動作させるデバイスについては、端末アプリケーションで意識する必要がなくなる。このため、デバイスを追加したときには、呼出定義データベースの、テーブルの記述を追加するだけで、既存の端末アプリケーションから、当該端末アプリケーションを修正する必要なく、追加されたデバイスを利用可能になる。また、業務サービスを追加・メンテナンスしていく際に、端末に接続されたデバイスごとに調整する必要がなくなるため、端末アプリケーションの開発効率の向上や運用コストの低減に寄与することができる。
【産業上の利用可能性】
【００３８】
本発明は、金融機関の端末を制御する制御装置に利用できる。
【図面の簡単な説明】
【００３９】
【図１】本実施形態の金融端末システムのソフトウェア全体構成の概要である。
【図２】図１で示した各モジュールを、端末などに割り振りした状態の例である。
【図３】業務サービス要求メッセージの書式である。
【図４】デバイス呼出方法制御における処理手順である。
【図５】呼出方法定義データベース中に定義される制御ロジック検索テーブルの例である。
【図６】呼出方法定義データベース中に定義される呼出方法検索テーブルの例である。
【図７】デバイス制御ロジック実行基盤における処理手順である。
【図８】デバイス制御ロジックとして「デバイス優先順」を実装した処理手順である。
【図９】デバイス制御ロジックとして「突合」を実装した処理手順である。
【符号の説明】
【００４０】
１０１‥端末アプリケーション実行基盤
１０２‥デバイス呼出方法制御
１０３‥呼出方法定義データベース
１０４‥デバイス制御ロジック実行基盤
１０５‥デバイスドライバ群
【図１】
2007316786.tif 000003
【図２】
2007316786.tif 000004
【図３】
2007316786.tif 000005
【図４】
2007316786.tif 000006
【図５】
2007316786.tif 000007
【図６】
2007316786.tif 000008
【図７】
2007316786.tif 000009
【図８】
2007316786.tif 000010
【図９】
2007316786.tif 000011