IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士通株式会社の特許一覧

特開2024-13140情報処理プログラム、情報処理方法、および情報処理装置
<>
  • 特開-情報処理プログラム、情報処理方法、および情報処理装置 図1
  • 特開-情報処理プログラム、情報処理方法、および情報処理装置 図2
  • 特開-情報処理プログラム、情報処理方法、および情報処理装置 図3
  • 特開-情報処理プログラム、情報処理方法、および情報処理装置 図4
  • 特開-情報処理プログラム、情報処理方法、および情報処理装置 図5A
  • 特開-情報処理プログラム、情報処理方法、および情報処理装置 図5B
  • 特開-情報処理プログラム、情報処理方法、および情報処理装置 図6
  • 特開-情報処理プログラム、情報処理方法、および情報処理装置 図7
  • 特開-情報処理プログラム、情報処理方法、および情報処理装置 図8
  • 特開-情報処理プログラム、情報処理方法、および情報処理装置 図9
  • 特開-情報処理プログラム、情報処理方法、および情報処理装置 図10
  • 特開-情報処理プログラム、情報処理方法、および情報処理装置 図11
  • 特開-情報処理プログラム、情報処理方法、および情報処理装置 図12
  • 特開-情報処理プログラム、情報処理方法、および情報処理装置 図13
  • 特開-情報処理プログラム、情報処理方法、および情報処理装置 図14
  • 特開-情報処理プログラム、情報処理方法、および情報処理装置 図15
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024013140
(43)【公開日】2024-01-31
(54)【発明の名称】情報処理プログラム、情報処理方法、および情報処理装置
(51)【国際特許分類】
   G06F 9/54 20060101AFI20240124BHJP
   G06F 9/44 20180101ALI20240124BHJP
【FI】
G06F9/54 D
G06F9/44
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022115115
(22)【出願日】2022-07-19
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100104190
【弁理士】
【氏名又は名称】酒井 昭徳
(72)【発明者】
【氏名】神戸 大輔
(72)【発明者】
【氏名】冨野 達也
(72)【発明者】
【氏名】荻野 晃平
(72)【発明者】
【氏名】柴田 静香
(72)【発明者】
【氏名】橋本 佳奈
【テーマコード(参考)】
5B376
【Fターム(参考)】
5B376AA33
5B376AE67
5B376FA13
(57)【要約】
【課題】要求先システムに対する処理要求のチェック処理を行うこと。
【解決手段】情報処理装置101は、要求先システム102に対する第1の処理要求r1を受け付けた場合、記憶部110を参照して、受け付けた第1の処理要求r1に応じた第1の定義情報120を特定する。記憶部110は、複数の異なる処理要求それぞれについて、チェック項目を有する定義情報を記憶する。情報処理装置101は、特定した第1の定義情報120に含まれるチェック項目について、第1の処理要求r1に対して第1の定義情報120に定義されたチェック処理を実行する。情報処理装置101は、チェック処理後の第1の処理要求r1’を要求先システム102に出力する。
【選択図】図1
【特許請求の範囲】
【請求項1】
要求先システムに対する第1の処理要求を受け付けた場合、複数の処理要求それぞれについて、チェック項目を有する定義情報を記憶する記憶部を参照して、受け付けた前記第1の処理要求に応じた第1の定義情報を特定し、
特定した前記第1の定義情報に含まれるチェック項目について、前記第1の処理要求に対して前記第1の定義情報に定義されたチェック処理を実行し、
前記チェック処理後の前記第1の処理要求を前記要求先システムに出力する、
処理をコンピュータに実行させることを特徴とする情報処理プログラム。
【請求項2】
前記チェック処理は、前記第1の定義情報に含まれるチェック項目が、前記第1の処理要求に含まれるか否かをチェックする処理を含む、ことを特徴とする請求項1に記載の情報処理プログラム。
【請求項3】
前記チェック処理は、前記第1の定義情報に含まれるチェック項目について、前記第1の処理要求に含まれる項目値の大きさ、型および桁の少なくともいずれかが、前記第1の定義情報に定義された条件を満たすか否かをチェックする処理を含む、ことを特徴とする請求項1に記載の情報処理プログラム。
【請求項4】
前記チェック処理は、前記第1の定義情報に含まれるチェック項目について、前記第1の処理要求に含まれる項目値を、前記第1の定義情報に定義された値に変換する処理を含む、ことを特徴とする請求項1に記載の情報処理プログラム。
【請求項5】
前記第1の定義情報は、応答時のチェック項目をさらに有し、
前記要求先システムから前記チェック処理後の前記第1の処理要求に対する第1の処理応答を受け付けた場合、前記第1の定義情報に含まれる応答時のチェック項目について、前記第1の処理応答に対して前記第1の定義情報に定義された第2のチェック処理を実行し、
前記第2のチェック処理後の前記第1の処理応答を、前記第1の処理要求の要求元に出力する、
処理を前記コンピュータに実行させることを特徴とする請求項1に記載の情報処理プログラム。
【請求項6】
前記第1の定義情報が特定されなかった場合、前記第1の処理要求の要求元にエラー応答を出力する、
処理を前記コンピュータに実行させることを特徴とする請求項1~5のいずれか一つに記載の情報処理プログラム。
【請求項7】
要求先システムに対する第1の処理要求を受け付けた場合、複数の処理要求それぞれについて、チェック項目を有する定義情報を記憶する記憶部を参照して、受け付けた前記第1の処理要求に応じた第1の定義情報を特定し、
特定した前記第1の定義情報に含まれるチェック項目について、前記第1の処理要求に対して前記第1の定義情報に定義されたチェック処理を実行し、
前記チェック処理後の前記第1の処理要求を前記要求先システムに出力する、
処理をコンピュータが実行することを特徴とする情報処理方法。
【請求項8】
要求先システムに対する第1の処理要求を受け付けた場合、複数の処理要求それぞれについて、チェック項目を有する定義情報を記憶する記憶部を参照して、受け付けた前記第1の処理要求に応じた第1の定義情報を特定し、
特定した前記第1の定義情報に含まれるチェック項目について、前記第1の処理要求に対して前記第1の定義情報に定義されたチェック処理を実行し、
前記チェック処理後の前記第1の処理要求を前記要求先システムに出力する、
処理を実行する制御部を含むことを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理プログラム、情報処理方法、および情報処理装置に関する。
【背景技術】
【0002】
従来、企業の内部システムの処理をAPI(Application Programming Interface)化し、インターネットを介して外部に公開する場合がある。例えば、銀行の行内システムの取引をAPI化して、行員向けの外部サービスからインターネット経由で実行可能にする場合がある。
【0003】
先行技術としては、アプリケーションの構成要素を各種パラメータとして設定するパラメータファイルと、ユーザによる入力手段からの入力操作に従ってパラメータを編集し、パラメータに基づきアプリケーションを構築するエディタ部とを備えるシステムがある。また、電子乗車券カードアプリで保持された改札履歴とクレジットカードアプリで保持されたクレジット利用履歴を収集して、交通費払戻クーポンで規定された実行条件を満足していると判定したら、来店時の交通費を電子乗車券カードアプリに加算する技術がある。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2002-182907号公報
【特許文献2】特開2005-316992号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来技術では、外部システムと内部システムとが連携するにあたり、外部システムからの要求に対するチェック機構を内部システムが有していない場合がある。
【0006】
一つの側面では、本発明は、要求先システムに対する処理要求のチェック処理を行うことを目的とする。
【課題を解決するための手段】
【0007】
1つの実施態様では、要求先システムに対する第1の処理要求を受け付けた場合、複数の処理要求それぞれについて、チェック項目を有する定義情報を記憶する記憶部を参照して、受け付けた前記第1の処理要求に応じた第1の定義情報を特定し、特定した前記第1の定義情報に含まれるチェック項目について、前記第1の処理要求に対して前記第1の定義情報に定義されたチェック処理を実行し、前記チェック処理後の前記第1の処理要求を前記要求先システムに出力する、情報処理プログラムが提供される。
【発明の効果】
【0008】
本発明の一側面によれば、要求先システムに対する処理要求のチェック処理を行うことができるという効果を奏する。
【図面の簡単な説明】
【0009】
図1図1は、実施の形態にかかる情報処理方法の一実施例を示す説明図である。
図2図2は、情報処理システム200のシステム構成例を示す説明図である。
図3図3は、連携サーバ201のハードウェア構成例を示すブロック図である。
図4図4は、定義情報の具体例を示す説明図である。
図5A図5Aは、要求定義の具体例を示す説明図である。
図5B図5Bは、応答定義の具体例を示す説明図である。
図6図6は、連携サーバ201の機能的構成例を示すブロック図である。
図7図7は、要求電文の具体例を示す説明図(その1)である。
図8図8は、要求電文の具体例を示す説明図(その2)である。
図9図9は、要求電文の具体例を示す説明図(その3)である。
図10図10は、応答電文の具体例を示す説明図である。
図11図11は、情報処理システム200の動作例を示す説明図である。
図12図12は、連携サーバ201の要求時の連携処理手順の一例を示すフローチャートである。
図13図13は、チェック処理の具体的処理手順の一例を示すフローチャートである。
図14図14は、連携サーバ201の応答時の連携処理手順の一例を示すフローチャートである。
図15図15は、第2のチェック処理の具体的処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下に図面を参照して、本発明にかかる情報処理プログラム、情報処理方法、および情報処理装置の実施の形態を詳細に説明する。
【0011】
(実施の形態)
図1は、実施の形態にかかる情報処理方法の一実施例を示す説明図である。図1において、情報処理装置101は、要求先システムに対する処理要求にチェック処理を実行するコンピュータである。要求先システムは、例えば、企業の内部システムである。処理要求は、例えば、API呼び出しにより行われる。
【0012】
APIは、ソフトウェア同士をつなげるインターフェースであり、例えば、OS(Operating System)やアプリケーションが、他のアプリケーションに対して、機能の一部を利用可能に提供する。APIは、例えば、企業の内部システムの処理を外部から実行可能にするためにインターネットを介して公開される。
【0013】
ここで、企業の内部システムの処理をAPI化して公開するにあたり、外部システムからの要求に対してチェック機構を設けることは重要である。例えば、銀行の行内システムの取引をAPI化して公開した場合、行員向けの外部サービスなどから、行内システムが想定していない項目や項目値を含む要求が行われることがある。
【0014】
行内システムに対して想定外の項目や値を含む要求が行われると、行内システムの異常を引き起こすおそれがある。したがって、外部サービスからの要求に対して、例えば、行内システムに合った項目や値が含まれているかといったチェックを行うことは重要である。ところが、企業内部のシステムのすべてがチェック機構を有しているとは限らない。
【0015】
従来は、行内システムがチェック機構を有していない場合、例えば、プログラミングによる改修を行って、行内システムにチェック機構を追加することになる。しかしながら、API化により公開する取引を追加等する際に、その都度プログラミングによる改修を行うとなると、行内システムの改修作業にかかる作業負荷や作業時間が増大するという問題がある。
【0016】
そこで、本実施の形態では、要求先システムの処理を外部に公開するにあたり、要求先システム等に対するプログラミングによる改修を行うことなく、外部からの処理要求に対するチェック処理を実現する情報処理方法について説明する。ここで、情報処理装置101の処理例(下記(1)~(3)に対応)について説明する。
【0017】
(1)情報処理装置101は、要求先システム102に対する第1の処理要求r1を受け付けた場合、記憶部110を参照して、受け付けた第1の処理要求r1に応じた第1の定義情報120を特定する。記憶部110は、複数の異なる処理要求それぞれについて、チェック項目を有する定義情報を記憶する。
【0018】
第1の処理要求r1は、要求先システム102と連携する外部システムからの処理要求である。第1の処理要求r1は、例えば、API呼び出しによって行われる。記憶部110に記憶される定義情報は、例えば、要求先システム102から公開される処理(API)ごとにユーザによって作成される。ユーザは、例えば、要求先システム102のシステム管理者である。定義情報には、チェック項目に対するチェック処理が定義される。
【0019】
(2)情報処理装置101は、特定した第1の定義情報120に含まれるチェック項目について、第1の処理要求r1に対して第1の定義情報120に定義されたチェック処理を実行する。どのようなチェック処理を行うかは、例えば、要求先システム102や要求する処理の内容によって決まる。
【0020】
例えば、要求先システム102に要求する処理の内容によっては、必須となる項目がある。そこで、情報処理装置101は、第1の定義情報120に含まれるチェック項目が、第1の処理要求r1に含まれるか否かをチェックしてもよい。情報処理装置101は、第1の処理要求r1にチェック項目が含まれない場合、エラーとしてもよい。
【0021】
また、要求先システム102に要求する処理の内容によっては、項目値の型が決まっている場合がある。そこで、情報処理装置101は、第1の定義情報120に含まれるチェック項目について、第1の処理要求r1に含まれる項目値の型が、第1の定義情報120に定義された条件を満たすか否かをチェックしてもよい。情報処理装置101は、条件を満たさない場合、エラーとしてもよい。
【0022】
また、要求先システム102に要求する処理の内容によっては、項目値の桁が決まっている場合がある。そこで、情報処理装置101は、第1の定義情報120に含まれるチェック項目について、第1の処理要求r1に含まれる項目値の桁が、第1の定義情報120に定義された条件を満たすか否かをチェックしてもよい。情報処理装置101は、条件を満たさない場合、エラーとしてもよい。
【0023】
また、要求先システム102に要求する処理の内容によっては、項目値の範囲が決まっている場合がある。そこで、情報処理装置101は、第1の定義情報120に含まれるチェック項目について、第1の処理要求r1に含まれる項目値の大きさが、第1の定義情報120に定義された条件を満たすか否かをチェックしてもよい。情報処理装置101は、条件を満たさない場合、エラーとしてもよい。
【0024】
また、要求先システム102によっては、値の表し方が固有に決まっている場合がある。例えば、外部サービスでは西暦で表される値(暦)が、要求先システム102では和暦で表される場合がある。そこで、情報処理装置101は、第1の定義情報120に含まれるチェック項目について、第1の処理要求r1に含まれる項目値を、第1の定義情報120に定義された値に変換してもよい。
【0025】
(3)情報処理装置101は、チェック処理後の第1の処理要求r1’を要求先システム102に出力する。チェック処理後の第1の処理要求r1’は、例えば、第1の定義情報120に定義されたチェック項目を含み、項目値の大きさ、型、桁が第1の定義情報120に定義された条件を満たすものである。
【0026】
なお、情報処理装置101は、チェック処理を実行した結果、エラーとなった場合は、チェック処理後の第1の処理要求r1’を要求先システム102に出力せず、第1の処理要求r1の要求元にエラー応答を出力してもよい。また、情報処理装置101は、チェック処理を実行した結果、エラーとなった場合、要求先システム102に対して、チェック処理後の第1の処理要求r1’を入力エラーとして通知してもよい。
【0027】
このように、情報処理装置101によれば、外部システムと要求先システム102とを連携させるにあたり、外部システムからの要求先システム102に対する処理要求(第1の処理要求r1)に対してチェック処理を行うことができる。例えば、システム管理者は、API単位(処理単位)の定義情報を作成することで、外部に公開する処理を追加することができる。これにより、システム管理者は、プログラミングレスで外部に公開する処理(API)を追加することが可能となり、企業の内部システムの取引などをAPI化する際の作業負荷や作業時間を削減することができる。
【0028】
(情報処理システム200のシステム構成例)
つぎに、図1に示した情報処理装置101を含む情報処理システム200のシステム構成例について説明する。ここでは、図1に示した情報処理装置101を、情報処理システム200内の連携サーバ201に適用し、図1に示した要求先システム102を情報処理システム200内の行内システム202に適用した場合を例に挙げて説明する。
【0029】
図2は、情報処理システム200のシステム構成例を示す説明図である。図2において、情報処理システム200は、連携サーバ201と、行内システム202と、外部システム203と、クライアント装置204と、を含む。情報処理システム200において、連携サーバ201、行内システム202、外部システム203およびクライアント装置204は、有線または無線のネットワーク210を介して接続される。ネットワーク210は、例えば、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)などである。連携サーバ201と行内システム202とは、専用線によって接続されてもよい。
【0030】
ここで、連携サーバ201は、定義情報DB(Database)220を有し、行内システム202と外部システム203との間を中継するコンピュータ(ゲートウェイ)である。連携サーバ201は、例えば、フロントエンド基盤FEとバックエンド基盤BEとを有する。
【0031】
フロントエンド基盤FEは、インターネット経由で外部システム203に行内システム202のAPIを安全に公開するために設けられる。フロントエンド基盤FEは、例えば、外部システム203と行内システム202とを接続するにあたり、APIの実行権限を有する者であるかのユーザ認証を行う。
【0032】
バックエンド基盤BEは、例えば、外部システム203から行内システム202に対する処理要求にチェック処理を実行する。また、バックエンド基盤BEは、行内システム202から外部システム203に対する処理応答にチェック処理を実行する。処理要求は、例えば、API呼び出しによって行われる。
【0033】
APIは、行内システム202の取引を実行するために外部に公開される。行内システム202の取引は、例えば、預金、為替、融資などの銀行業務にかかわる取引である。行内システム202に対する処理要求では、例えば、APIのURL(Uniform Resource Locator)が指定される。
【0034】
定義情報DB220は、APIごとに作成された定義情報を記憶する。定義情報は、処理要求に対するチェック処理の内容を定義した情報である。定義情報DB220では、例えば、APIの識別子と対応付けて、APIごとの定義情報が記憶される。定義情報DB220の記憶内容については、図4図5Aおよび図5Bを用いて後述する。
【0035】
行内システム202は、銀行内部の業務システムであり、企業の内部システムの一例である。行内システム202は、例えば、記帳決済システム、融資支援システム、金融商品販売支援システム、営業店システムなどを含む。行内システム202は、例えば、1以上のサーバにより実現される。
【0036】
外部システム203は、銀行外部のシステムであり、APIを使用して行内システム202と連携可能なシステムである。外部システム203は、例えば、営業支援システムなどの行員向けの外部サービスである。外部サービスは、例えば、クラウドサービスや行員端末上のアプリケーションにより実現される。
【0037】
クライアント装置204は、ユーザが使用するコンピュータである。ユーザは、例えば、行内システム202のシステム管理者である。クライアント装置204は、例えば、PC(Personal Computer)、タブレットPCなどである。
【0038】
情報処理システム200において、ユーザは、クライアント装置204を用いて、APIごとの定義情報を作成したり、作成した定義情報を定義情報DB220に登録したりすることができる。より詳細に説明すると、例えば、ユーザは、定義シートへの入力、反映を行うことで、APIごとの連携先、チェック処理などを定義した定義情報を作成することができる。連携先(要求先システム)は、例えば、記帳決済システム、融資支援システムなどである。
【0039】
なお、連携サーバ201は、複数のコンピュータにより実現されてもよい。例えば、連携サーバ201が有するフロントエンド基盤FEとバックエンド基盤BEは、それぞれ異なるコンピュータにより実現されてもよい。また、情報処理システム200には、複数の外部システム203が含まれてもよい。
【0040】
(連携サーバ201のハードウェア構成例)
つぎに、連携サーバ201のハードウェア構成例について説明する。
【0041】
図3は、連携サーバ201のハードウェア構成例を示すブロック図である。図3において、連携サーバ201は、CPU(Central Processing Unit)301と、メモリ302と、ディスクドライブ303と、ディスク304と、通信I/F(Interface)305と、可搬型記録媒体I/F306と、可搬型記録媒体307と、を有する。また、各構成部は、バス300によってそれぞれ接続される。
【0042】
ここで、CPU301は、連携サーバ201の全体の制御を司る。CPU301は、複数のコアを有していてもよい。メモリ302は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMがOSのプログラムを記憶し、ROMがアプリケーションプログラムを記憶し、RAMがCPU301のワークエリアとして使用される。メモリ302に記憶されるプログラムは、CPU301にロードされることで、コーディングされている処理をCPU301に実行させる。
【0043】
ディスクドライブ303は、CPU301の制御に従ってディスク304に対するデータのリード/ライトを制御する。ディスク304は、ディスクドライブ303の制御で書き込まれたデータを記憶する。ディスク304は、例えば、磁気ディスク、光ディスクなどであってもよい。
【0044】
通信I/F305は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して外部のコンピュータ(例えば、図2に示した行内システム202、外部システム203、クライアント装置204)に接続される。そして、通信I/F305は、ネットワーク210と装置内部とのインターフェースを司り、外部のコンピュータからのデータの入出力を制御する。通信I/F305は、例えば、モデムやLANアダプタなどであってもよい。
【0045】
可搬型記録媒体I/F306は、CPU301の制御に従って可搬型記録媒体307に対するデータのリード/ライトを制御する。可搬型記録媒体307は、可搬型記録媒体I/F306の制御で書き込まれたデータを記憶する。可搬型記録媒体307としては、例えば、CD(Compact Disc)-ROM、DVD(Digital Versatile Disk)、USB(Universal Serial Bus)メモリなどが挙げられる。
【0046】
なお、連携サーバ201は、上述した構成部のほかに、例えば、入力装置、ディスプレイなどを有してもよい。また、連携サーバ201は、上述した構成部のうち、例えば、可搬型記録媒体I/F306、可搬型記録媒体307を有さなくてもよい。また、図2に示した行内システム202、外部システム203およびクライアント装置204についても、連携サーバ201と同様のハードウェア構成により実現することができる。ただし、クライアント装置204は、上述した構成部のほかに、例えば、入力装置、ディスプレイなどを有する。
【0047】
(定義情報DB220の記憶内容)
つぎに、図4図5Aおよび図5Bを用いて、連携サーバ201が有する定義情報DB220の記憶内容について説明する。定義情報DB220は、例えば、メモリ302、ディスク304などの記憶装置により実現される。
【0048】
まず、図4を用いて、定義情報DB220に記憶された定義情報の具体例について説明する。定義情報DB220には、図4に示すように、要求定義と応答定義とが対になった定義情報がAPIごとに記憶される。
【0049】
図4は、定義情報の具体例を示す説明図である。図4において、定義情報400は、要求定義401と応答定義402とを含むAPI単位の情報である。要求定義401は、行内システム202への処理要求に対するチェック処理の内容を定義した定義ファイルである。応答定義402は、行内システム202からの処理応答に対するチェック処理の内容を定義した定義ファイルである。
【0050】
つぎに、図5Aを用いて、要求定義の具体例について説明する。
【0051】
図5Aは、要求定義の具体例を示す説明図である。図5Aにおいて、要求定義401は、API情報511と、チェック情報512とを含む。API情報511は、URL、業務API番号、業務API名、連携先区分、通番、ロジック区分、取引最大数、次通番、要求応答区分、個別処理有無、取引名および取引番号を有する。
【0052】
URLは、APIを実行する際に指定されるURLである。業務API番号は、APIを一意に識別する番号である。業務API名は、APIの名称である。連携先区分は、連携先を特定する情報である。通番は、APIの通番である。ロジック区分は、APIに対応する取引の処理内容の区分である。
【0053】
取引最大数は、APIに対応する取引の最大数である。次通番は、APIの次通番である。要求応答区分は、処理要求または処理応答のいずれの定義情報であるかを示す。個別処理有無は、個別処理の有無を示す。取引名は、APIに対応する取引の名称である。取引番号は、APIに対応する取引の番号である。
【0054】
チェック情報512は、処理要求についてのチェック項目ごとに、チェック処理の内容を表すレコードを含む。各レコードは、No、項目種別、呼び出し先システム項目キー名、API項目キー・変数名、呼び出し先システム項目キー、必須チェック、型チェック、桁チェック、範囲チェック、固定値、項目編集および空白除去(前後空白の削除)の情報を含む。
【0055】
Noは、レコードを識別する番号である。項目種別は、チェック項目の種別である。項目種別としては、例えば、固定値、リクエスト値がある。呼び出し先システム項目キー名は、チェック項目の項目名(日本語名称)である。API項目キー・変数名は、外部から指定される項目のキー名(英単語的表記)である。呼び出し先システム項目キーは、要求先システムにおける項目のキー名(十六進数表記)である。
【0056】
必須チェックは、必須チェックの実施の要否を示す。型チェックは、型チェックの内容を示す。桁チェックは、桁チェックの内容(桁数)を示す。範囲チェックは、範囲チェックの内容(数値範囲)を示す。固定値は、項目種別「固定値」の場合の項目値(固定値)を示す。項目編集は、項目値を編集(変換)する場合の内容を示す。空白除去(前後空白の削除)は、空白除去処理の実施の要否を示す。
【0057】
つぎに、図5Bを用いて、応答定義の具体例について説明する。
【0058】
図5Bは、応答定義の具体例を示す説明図である。図5Bにおいて、応答定義402は、API情報521と、チェック情報522とを含む。API情報521は、URL、業務API番号、業務API名、連携先区分、通番、ロジック区分、取引最大数、次通番、要求応答区分、個別処理有無、取引名および取引番号を有する。
【0059】
また、チェック情報522は、処理応答についてのチェック項目(応答時のチェック項目)ごとに、チェック処理の内容を表すレコードを含む。各レコードは、No、項目種別、呼び出し先システム項目キー名、API項目キー・変数名、呼び出し先システム項目キー、項目編集および空白除去(前後空白の削除)の情報を含む。
【0060】
情報処理システム200において、ユーザは、クライアント装置204を用いて、予め用意された定義シートへの入力を行うことで、要求定義401および応答定義402を作成して、定義情報DB220に定義情報400(要求定義401、応答定義402)を登録することができる。
【0061】
(連携サーバ201の機能的構成例)
つぎに、連携サーバ201の機能的構成例について説明する。
【0062】
図6は、連携サーバ201の機能的構成例を示すブロック図である。図6において、連携サーバ201は、受付部601と、特定部602と、実行部603と、出力部604と、記憶部610と、を含む。受付部601~出力部604は制御部600となる機能であり、具体的には、例えば、図3に示したメモリ302、ディスク304、可搬型記録媒体307などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、または、通信I/F305により、その機能を実現する。より詳細に説明すると、例えば、各機能部は、図2に示したバックエンド基盤BEにより実現される。各機能部の処理結果は、例えば、メモリ302、ディスク304などの記憶装置に記憶される。また、記憶部610は、例えば、メモリ302、ディスク304などの記憶装置により実現される。具体的には、例えば、記憶部610は、定義情報DB220を含む。
【0063】
受付部601は、要求先システムに対する第1の処理要求を受け付ける。要求先システムは、例えば、図2に示した行内システム202である。具体的には、例えば、受付部601は、フロントエンド基盤FEによるユーザ認証に成功した場合に、図2に示した外部システム203からAPIのURLを指定した要求電文を受信することにより、行内システム202に対する第1の処理要求を受け付ける。
【0064】
なお、要求電文の具体例については、図7図9を用いて後述する。
【0065】
特定部602は、要求先システムに対する第1の処理要求を受け付けた場合、記憶部610を参照して、受け付けた第1の処理要求に応じた第1の定義情報を特定する。記憶部610は、複数の処理要求それぞれについて、チェック項目を有する定義情報を記憶する。具体的には、例えば、特定部602は、定義情報DB220を参照して、要求電文で指定されたURLに対応する定義情報を特定する。
【0066】
例えば、第1の処理要求の要求電文で指定されたURLを「/v1/online/account_inquiry」とする。この場合、特定部602は、定義情報DB220を参照して、指定されたURL「/v1/online/account_inquiry」に対応する定義情報400(図4参照)を特定する。
【0067】
なお、定義情報には、APIのURLが含まれない場合がある。この場合、まず、特定部602は、例えば、URLと業務API番号との対応関係を示す情報を参照して、要求電文で指定されたURLに対応する業務API番号を特定する。そして、特定部602は、定義情報DB220を参照して、特定した業務API番号に対応する定義情報を特定してもよい。
【0068】
実行部603は、特定された第1の定義情報に含まれるチェック項目について、第1の処理要求に対して第1の定義情報に定義されたチェック処理を実行する。具体的には、例えば、実行部603は、特定された定義情報400の要求定義401に含まれるチェック項目それぞれについて、第1の処理要求(要求電文)に対して要求定義401に定義されたチェック処理を実行する。
【0069】
ここで、チェック処理は、例えば、第1の定義情報に含まれるチェック項目が、第1の処理要求に含まれるか否かをチェックする処理(必須チェック)を含む。この処理(必須チェック)の対象となるチェック項目は、例えば、要求定義401における必須チェックに「実施する」が設定された項目である。
【0070】
実行部603は、処理(必須チェック)を実行した結果、チェック項目(例えば、必須チェックに「実施する」が設定された項目)が含まれない場合、エラーとしてもよい。
【0071】
また、チェック処理は、例えば、第1の定義情報に含まれるチェック項目について、第1の処理要求に含まれる項目値の大きさが、第1の定義情報に定義された第1の条件を満たすか否かをチェックする処理(範囲チェック)を含む。第1の処理要求に含まれる項目値とは、第1の処理要求に含まれる項目の値である。
【0072】
第1の条件は、指定された範囲内(または、指定された値)であるという条件である。この処理(範囲チェック)の対象となるチェック項目は、例えば、要求定義401における範囲チェックに数値範囲が設定された項目である。実行部603は、処理(範囲チェック)を実行した結果、第1の条件を満たさない場合、エラーとしてもよい。
【0073】
以下の説明では、第1の処理要求に含まれる項目を「入力項目」と表記し、第1の処理要求に含まれる項目値を「入力項目の項目値」と表記する場合がある。
【0074】
また、チェック処理は、例えば、第1の定義情報に含まれるチェック項目について、第1の処理要求に含まれる項目値の型が、第1の定義情報に定義された第2の条件を満たすか否かをチェックする処理(型チェック)を含む。第2の条件は、指定された型であるという条件である。型としては、例えば、半角、全角、英字、数字などがある。この処理(型チェック)の対象となるチェック項目は、例えば、要求定義401における型チェックに型が設定された項目である。実行部603は、処理(型チェック)を実行した結果、第2の条件を満たさない場合、エラーとしてもよい。
【0075】
また、チェック処理は、例えば、第1の定義情報に含まれるチェック項目について、第1の処理要求に含まれる項目値の桁が、第1の定義情報に定義された第3の条件を満たすか否かをチェックする処理(桁チェック)を含む。第3の条件は、指定された桁数の範囲内であるという条件である。この処理(桁チェック)の対象となるチェック項目は、例えば、要求定義401における桁チェックに桁が設定された項目である。実行部603は、処理(桁チェック)を実行した結果、第3の条件を満たさない場合、エラーとしてもよい。
【0076】
また、チェック処理は、例えば、第1の定義情報に含まれるチェック項目について、第1の処理要求に含まれる項目値を、第1の定義情報に定義された値に変換する処理を含む。第1の定義情報に定義された値は、例えば、固定値や、要求先システム向けの形式の値である。
【0077】
例えば、要求先システムによっては、あるチェック項目について、値が固有に決まっている場合がある。この場合、実行部603は、あるチェック項目について、入力項目の項目値を、第1の定義情報に定義された固定値に変換する処理(固定値変換処理)を実行してもよい。この処理(固定値変換処理)の対象となるチェック項目は、例えば、要求定義401における固定値に値が設定された項目である。
【0078】
また、要求先システムによっては、外部サービスとは異なる表現で値が表される場合がある。例えば、暦は、西暦で表されることもあれば、和暦で表されることもある。実行部603は、あるチェック項目について、入力項目の西暦(または、和暦)を、和暦(または、西暦)に変換する処理(暦変換処理)を実行してもよい。この処理(暦変換処理)の対象となるチェック項目は、例えば、要求定義401における項目編集に暦の変換内容が設定された項目である。西暦から和暦に変換する例を挙げると、「20220525」は、「R-04-05-25」となる。
【0079】
また、数値は、カンマ入りで表されることもあれば、カンマを省略して表されることもある。実行部603は、あるチェック項目について、入力項目の項目値にカンマを付加する処理、または、入力項目の項目値からカンマを省略する処理(カンマ変換処理)を実行してもよい。この処理(カンマ変換処理)の対象となるチェック項目は、例えば、要求定義401における項目編集にカンマの変換内容が設定された項目である。カンマを付加する例を挙げると、「1200000」は、「1,200,000」となる。
【0080】
また、要求先システムによっては、第1の処理要求に含まれる項目値のうちの一部の文字を切り出して使用する場合がある。実行部603は、あるチェック項目について、入力項目の項目値の先頭N文字や末尾N文字を切り出す処理(切り出し処理)を実行してもよい。また、実行部603は、あるチェック項目について、入力項目の項目値から文字のみを切り出す処理(切り出し処理)を実行してもよい。この処理(切り出し処理)の対象となるチェック項目は、例えば、要求定義401における項目編集に文字の切り出し内容が設定された項目である。先頭3文字を切り出す例を挙げると、「123-1234567」は、「123」となる。
【0081】
また、外部サービスによっては、値の前後が空白埋めされる場合がある。これに対して、要求先システムによっては、値の前後の空白がエラーとなる場合がある。実行部603は、あるチェック項目について、入力項目の項目値における前後の空白を除去する処理(空白除去処理)を実行してもよい。この処理(空白除去処理)の対象となるチェック項目は、例えば、要求定義401における空白除去(前後空白の削除)に「実施する」が設定された項目である。前後の空白を除去する例を挙げると、「 ABC 」は、「ABC」となる。
【0082】
また、項目のキー名は、英単語的表記で表されることもあれば、十六進数表記で表されることもある。例えば、外部サービスでは、利用者が使いやすいように、キー名が英単語的表記で表されるのに対して、要求先システムでは、キー名が十六進数表記で表されることがある。このため、実行部603は、チェック項目それぞれについて、入力項目のキー名を、第1の定義情報(要求定義)に定義されたキー名に変換する処理を実行してもよい。入力項目のキー名は、例えば、要求定義401におけるAPI項目キー・変数名に対応する。また、変換先のキー名は、要求定義401における呼び出し先システム項目キーに対応する。
【0083】
なお、チェック処理は、例えば、外部システム203からの要求電文を変更したり、外部システム203からの要求電文をもとに新しい要求電文を作成したりすることによって実行される。チェック処理の具体的な処理内容については、図7図9を用いて後述する。
【0084】
出力部604は、チェック処理後の第1の処理要求を要求先システムに出力する。具体的には、例えば、出力部604は、チェック処理後の第1の処理要求(要求電文)を行内システム202に送信する。ここで、チェック処理後の第1の処理要求は、例えば、第1の定義情報に定義されたチェック項目を含むものである。
【0085】
また、チェック処理後の第1の処理要求は、例えば、チェック項目について、項目値の大きさ、型、桁が第1の定義情報に定義された条件を満たすものである。また、チェック処理後の第1の処理要求は、例えば、チェック項目について、項目値が第1の定義情報に定義された値に変換されたものである。
【0086】
また、出力部604は、第1の定義情報が特定されなかった場合、第1の処理要求の要求元にエラー応答を出力してもよい。具体的には、例えば、出力部604は、外部システム203に対して、リクエストエラーを示すエラー応答を送信してもよい。
【0087】
また、出力部604は、チェック処理が実行された結果、エラーとなった場合、第1の処理要求の要求元にエラー応答を出力してもよい。この場合、出力部604は、チェック処理後の第1の処理要求を要求先システムに出力しない。
【0088】
なお、第1の定義情報に定義されていない項目(入力項目)が第1の処理要求に含まれる場合がある。この場合は、出力部604は、エラーとせずに、チェック処理後の第1の処理要求を要求先システムに出力してもよい。
【0089】
また、受付部601は、要求先システムからチェック処理後の第1の処理要求に対する第1の処理応答を受け付ける。具体的には、例えば、受付部601は、行内システム202からAPIのURLを指定した応答電文を受信することにより、チェック処理後の第1の処理要求に対する第1の処理応答を受け付ける。
【0090】
また、実行部603は、チェック処理後の第1の処理要求に対する第1の処理応答を受け付けた場合、第1の定義情報に含まれる応答時のチェック項目について、第1の処理応答に対して第1の定義情報に定義された第2のチェック処理を実行してもよい。具体的には、例えば、実行部603は、定義情報400の応答定義402に含まれる応答時のチェック項目それぞれについて、第1の処理応答(応答電文)に対して応答定義402に定義された第2のチェック処理を実行する。
【0091】
ここで、第2のチェック処理は、第1の定義情報に含まれる応答時のチェック項目について、第1の処理応答に含まれる項目値を、第1の定義情報に定義された値に変換する処理を含む。第1の定義情報に定義された値は、例えば、外部サービス向けの形式の値である。
【0092】
例えば、要求先システムによっては、外部サービスとは異なる表現で暦が表される場合がある。実行部603は、ある応答時のチェック項目について、第1の処理応答に含まれる項目値の和暦(または、西暦)を、西暦(または、和暦)に変換する処理(暦変換処理)を実行してもよい。この処理(暦変換処理)の対象となる応答時のチェック項目は、例えば、応答定義402における項目編集に暦の変換内容が設定された項目である。
【0093】
また、要求先システムによっては、外部サービスとは異なる表現で数値が表される場合がある。実行部603は、ある応答時のチェック項目について、第1の処理応答に含まれる項目値にカンマを付加する処理、または、項目値からカンマを省略する処理(カンマ変換処理)を実行してもよい。この処理(カンマ変換処理)の対象となる応答時のチェック項目は、例えば、応答定義402における項目編集にカンマの変換内容が設定された項目である。
【0094】
また、外部サービスによっては、第1の処理応答に含まれる項目値のうちの一部の文字を切り出して使用する場合がある。実行部603は、ある応答時のチェック項目について、第1の処理応答に含まれる項目値の先頭N文字や末尾N文字を切り出す処理(切り出し処理)を実行してもよい(N:自然数)。また、実行部603は、ある応答時のチェック項目について、第1の処理応答に含まれる項目値から文字のみを切り出す処理(切り出し処理)を実行してもよい。この処理(切り出し処理)の対象となる応答時のチェック項目は、例えば、応答定義402における項目編集に文字の切り出し内容が設定された項目である。
【0095】
また、要求先システムによっては、値の前後が空白埋めされる場合がある。これに対して、外部サービスによっては、値の前後の空白がエラーとなる場合がある。実行部603は、ある応答時のチェック項目について、第1の処理応答に含まれる項目値における前後の空白を除去する処理(空白除去処理)を実行してもよい。この処理(空白除去処理)の対象となる応答時のチェック項目は、例えば、応答定義402における空白除去(前後空白の削除)に「実施する」が設定された項目である。
【0096】
また、外部サービスでは、キー名が英単語的表記で表されるのに対して、要求先システムでは、キー名が十六進数表記で表されることがある。このため、実行部603は、応答時のチェック項目それぞれについて、第1の処理応答に含まれるキー名を、第1の定義情報に定義されたキー名に変換する処理を実行してもよい。第1の処理応答に含まれるキー名は、例えば、応答定義402における呼び出し先システム項目キーに対応する。また、変換先のキー名は、応答定義402におけるAPI項目キー・変数名に対応する。
【0097】
なお、第2のチェック処理は、例えば、行内システム202からの応答電文を変更したり、行内システム202からの応答電文をもとに新しい応答電文を作成したりすることによって実行される。第2のチェック処理の具体的な処理内容については、図10を用いて後述する。
【0098】
出力部604は、チェック処理後の第1の処理応答を要求元に出力する。具体的には、例えば、出力部604は、チェック処理後の第1の処理応答(応答電文)を外部システム203に送信する。ここで、チェック処理後の第1の処理応答は、例えば、応答時のチェック項目について、項目値が第1の定義情報に定義された値に変換されたものである。
【0099】
なお、受付部601は、処理要求についての定義情報(例えば、図4に示した定義情報400)を受け付けてもよい。具体的には、例えば、受付部601は、図2に示したクライアント装置204から定義情報を受信することにより、受信した定義情報を受け付けてもよい。この場合、受付部601は、受け付けた定義情報を記憶部610(例えば、定義情報DB220)に記憶する。
【0100】
また、受付部601は、例えば、受け付けた定義情報とAPIのURLが同一の定義情報が定義情報DB220内に存在する場合、受け付けた定義情報によって定義情報DB220内の定義情報を上書きしてもよい。これにより、連携サーバ201は、新たな定義情報を定義情報DB220に登録したり、定義情報DB220に登録済みの定義情報を更新したりすることができる。
【0101】
(要求電文の具体例)
つぎに、図7図9を用いて、要求電文の具体例、および、要求電文に対するチェック処理の具体的な処理例について説明する。
【0102】
図7は、要求電文の具体例を示す説明図(その1)である。図7において、要求電文700は、外部システム203から行内システム202に対する要求電文(第1の処理要求)の一例である。なお、要求電文700では、各入力項目の項目値が、「API項目キー・変数名:項目値」の形式で列挙されている。
【0103】
ここでは、要求電文700で指定されたURLを「/v1/online/account_inquiry」とする。この場合、特定部602は、定義情報DB220を参照して、URL「/v1/online/account_inquiry」に対応する定義情報400(図4参照)を特定する。
【0104】
実行部603は、定義情報400の要求定義401に含まれるチェック項目それぞれについて、要求電文700に対して要求定義401に定義されたチェック処理を実行する。ここで、要求定義401には、チェック項目「科目」、「店番・口座番号」および「取引日」が含まれる。
【0105】
チェック項目「科目」について、必須チェックが「空」のため、処理(必須チェック)は行われない。チェック項目「店番・口座番号」および「取引日」については、必須チェックが「実施する」のため、処理(必須チェック)が行われる。実行部603は、チェック項目「店番・口座番号(in_ten_accountno)」および「取引日(in_date)」について、要求電文700に含まれるため、チェックOKとする。
【0106】
また、チェック項目「店番・口座番号」および「取引日」について、型チェックが「半角数字チェック」のため、処理(型チェック)が行われる。実行部603は、チェック項目「店番・口座番号」について、要求電文700に含まれる項目値の型が半角数字のため、チェックOKとする。また、実行部603は、チェック項目「取引日」について、要求電文700に含まれる項目値の型が半角数字のため、チェックOKとする。
【0107】
また、チェック項目「店番・口座番号」について、桁チェックが「11」のため、処理(桁チェック)が行われる。実行部603は、チェック項目「店番・口座番号」について、要求電文700に含まれる項目値の桁が11桁以下のため、チェックOKとする。
【0108】
また、チェック項目「取引日」について、桁チェックが「8」のため、処理(桁チェック)が行われる。実行部603は、チェック項目「取引日」について、要求電文700に含まれる項目値の桁が8桁以下のため、チェックOKとする。
【0109】
また、チェック項目「取引日」について、項目編集が「西暦→和暦変換」のため、処理(暦変換処理)が行われる。実行部603は、要求電文700に含まれる項目値「20220524」を「R-04-05-24」に変換する。Rは、令和(元号)を表す。
【0110】
また、実行部603は、チェック項目「店番・口座番号」について、要求電文700に含まれるキー名「in_ten_accountno」を、要求定義401に定義されたキー名「0x0000A002」に変換する。また、実行部603は、チェック項目「取引日」について、要求電文700に含まれるキー名「in_date」を、要求定義401に定義されたキー名「0x0000A003」に変換する。
【0111】
なお、チェック項目「店番・口座番号」および「取引日」について、空白除去(前後空白の削除)が「実施する」となっているものの、各項目値に前後の空白はない。
【0112】
そして、実行部603は、チェック・変換後の各入力項目を行内システム202のAPI呼び出し用の電文にセットすることにより、チェック処理後の第1の処理要求(要求電文)を作成することができる。
【0113】
図8は、要求電文の具体例を示す説明図(その2)である。図8において、要求電文800は、外部システム203から行内システム202に対する要求電文(第1の処理要求)の一例である。なお、要求電文800では、各入力項目の項目値が、「API項目キー・変数名:項目値」の形式で列挙されている。
【0114】
ここでは、要求電文800で指定されたURLを「/v1/online/account_inquiry」とする。この場合、実行部603は、定義情報400の要求定義401に含まれるチェック項目それぞれについて、要求電文800に対して要求定義401に定義されたチェック処理を実行する。
【0115】
ここで、要求定義401には、チェック項目「科目」、「店番・口座番号」および「取引日」が含まれる。ここでは、要求定義401に定義されたチェック処理のうち処理(必須チェック)のみを例に挙げて説明する。
【0116】
チェック項目「科目」について、必須チェックが「空」のため、処理(必須チェック)は行われない。チェック項目「店番・口座番号」および「取引日」については、必須チェックが「実施する」のため、処理(必須チェック)が行われる。実行部603は、チェック項目「取引日(in_date)」については、要求電文800に含まれるため、チェックOKとする。
【0117】
一方、チェック項目「店番・口座番号(in_ten_accountno)」については、要求電文800に含まれない。この場合、実行部603は、in_ten_accountnoが不足しているため、エラーとする。そして、出力部604は、例えば、外部システム203に対して、パラメータエラーを示すエラー応答を送信する。
【0118】
図9は、要求電文の具体例を示す説明図(その3)である。図9において、要求電文900は、外部システム203から行内システム202に対する要求電文(第1の処理要求)の一例である。なお、要求電文900では、各入力項目の項目値が、「API項目キー・変数名:項目値」の形式で列挙されている。
【0119】
ここでは、要求電文900で指定されたURLを「/v1/online/account_inquiry」とする。この場合、実行部603は、定義情報400の要求定義401に含まれるチェック項目それぞれについて、要求電文900に対して要求定義401に定義されたチェック処理を実行する。
【0120】
ここで、要求定義401には、チェック項目「科目」、「店番・口座番号」および「取引日」が含まれる。チェック項目「科目」、「店番・口座番号」および「取引日」については、図7に示した要求電文700と同様のチェック・変換が行われる。一方、要求電文900には、要求定義401には定義されていない入力項目「in_param」が含まれる。この場合、実行部603は、入力項目「in_param」を無視(削除)し、行内システム202のAPI呼び出し用の電文に含めない。
【0121】
これにより、実行部603は、行内システム202を保護するという観点で、余計な情報を行内システム202と連携しないようにすることができる。
【0122】
(応答電文の具体例)
つぎに、図10を用いて、応答電文に対する第2のチェック処理の具体的な処理例、および、第2のチェック処理後の応答電文について説明する。
【0123】
図10は、応答電文の具体例を示す説明図である。図10において、応答電文1000は、外部システム203に対する応答電文の一例である。応答電文1000は、行内システム202からの応答電文(第1の処理要求)に対して第2のチェック処理を実行することにより得られる。なお、応答電文1000では、各項目の項目値が、「API項目キー・変数名:項目値」の形式で列挙されている。
【0124】
ここでは、行内システム202からの応答電文(第1の処理要求)で指定されたURLを「/v1/online/account_inquiry」とする。この場合、実行部603は、定義情報400の応答定義402に含まれる応答時のチェック項目それぞれについて、行内システム202からの応答電文に対して応答定義402に定義された第2のチェック処理を実行する。
【0125】
ここで、応答定義402には、応答時のチェック項目「照会日付」、「照会時間」、「口座番号」、「取引先名(漢字)」、「取引先名(カナ)」および「預金残高」が含まれる。これら応答時のチェック項目について、すべての必須チェックが「実施する」のため、処理(必須チェック)が行われる。ここでは、行内システム202からの応答電文に応答時のチェック項目のすべてが含まれるため、チェックOKとなった場合を想定する。
【0126】
また、応答時のチェック項目「照会日付」について、項目編集が「和暦→西暦変換」のため、処理(暦変換処理)が行われる。ここでは、行内システム202からの応答電文に項目「照会日付」の項目値「R-04-05-24」が含まれるとする。Rは、令和(元号)を表す。この場合、実行部603は、行内システム202からの応答電文に含まれる項目値「R-04-05-24」を「20220524」に変換する。
【0127】
また、応答時のチェック項目「預金残高」について、項目編集が「カンマ除去」のため、処理(カンマ変換処理)が行われる。ここでは、行内システム202からの応答電文に項目「預金残高」の項目値「1,200,000」が含まれるとする。この場合、実行部603は、行内システム202からの応答電文に含まれる項目値「1,200,000」を「1200000」に変換する。
【0128】
また、実行部603は、応答時のチェック項目「照会日付」について、行内システム202からの応答電文に含まれるキー名「0x0000B001」を、応答定義402に定義されたキー名「out_inquiry_date」に変換する。また、実行部603は、応答時のチェック項目「照会時間」について、行内システム202からの応答電文に含まれるキー名「0x0000B002」を、応答定義402に定義されたキー名「out_inquiry_time」に変換する。
【0129】
また、実行部603は、応答時のチェック項目「口座番号」について、行内システム202からの応答電文に含まれるキー名「0x0000B003」を、応答定義402に定義されたキー名「out_accountno」に変換する。また、実行部603は、応答時のチェック項目「取引先名(漢字)」について、行内システム202からの応答電文に含まれるキー名「0x0000B004」を、応答定義402に定義されたキー名「out_customername_1」に変換する。
【0130】
また、実行部603は、応答時のチェック項目「取引先名(カナ)」について、行内システム202からの応答電文に含まれるキー名「0x0000B005」を、応答定義402に定義されたキー名「out_customername_2」に変換する。また、実行部603は、応答時のチェック項目「預金残高」について、行内システム202からの応答電文に含まれるキー名「0x0000B006」を、応答定義402に定義されたキー名「out_balance」に変換する。
【0131】
そして、実行部603は、チェック・変換後の各入力項目を外部システム203向けの電文にセットすることにより、第2のチェック処理後の第1の処理応答(応答電文1000)を作成することができる。応答電文1000内の符号1010部分には、例えば、実行部603によって処理結果やメッセージが付与される。また、エラー時には、例えば、符号1010部分にエラーコードやエラー内容が付与される。
【0132】
なお、ユーザは、例えば、行内システム202からの応答電文に、外部システム203に渡したくない項目が含まれる場合、その項目を応答定義402に定義しないことで、外部システム203への応答電文に含めないようにすることも可能である。
【0133】
(情報処理システム200の動作例)
つぎに、図11を用いて、情報処理システム200の動作例について説明する。
【0134】
図11は、情報処理システム200の動作例を示す説明図である。図11において、外部サービス1101は、行員向けの営業支援システムなどの外部システム203の一例である。まず、外部サービス1101は、URLを指定してAPIを実行する。
【0135】
連携サーバ201内のフロントエンド基盤FEは、外部サービス1101によってAPIが実行されると、ユーザ認証を行う。ユーザ認証とは、外部サービス1101と行内システム202とを接続するにあたり、ユーザ(API利用者)がAPIの実行権限を有する者であるか認証することである。ユーザ認証は、例えば、外部の認証サービス1102を利用して行われる。
【0136】
フロントエンド基盤FEは、ユーザ認証に成功すると、連携サーバ201内のバックエンド基盤BEを呼び出す。これにより、外部サービス1101からの要求電文(第1の処理要求)がフロントエンド基盤FEに送信される。
【0137】
連携サーバ201内のバックエンド基盤BEは、外部サービス1101からの要求電文(第1の処理要求)を受け付けると、定義情報DB220を参照して、受け付けた要求電文(第1の処理要求)に対するチェック処理を実行する。そして、バックエンド基盤BEは、チェック処理後の要求電文(第1の処理要求)を行内システム202に送信する。
【0138】
この結果、行内システム202では、チェック処理後の要求電文(第1の処理要求)に応じた処理が行われる。
【0139】
バックエンド基盤BEは、チェック処理後の要求電文(第1の処理要求)に対する応答電文(第1の処理応答)を受け付けると、定義情報DB220を参照して、受け付けた応答電文(第1の処理応答)に対する第2のチェック処理を実行する。そして、バックエンド基盤BEは、第2のチェック処理後の応答電文(第1の処理応答)を外部サービス1101に送信する。
【0140】
この結果、外部サービス1101では、第2のチェック処理後の応答電文(第1の処理応答)をもとに、画面表示などの後続処理が行われる。
【0141】
(連携サーバ201の各種処理手順)
つぎに、連携サーバ201の各種処理手順について説明する。まず、図12を用いて、連携サーバ201の要求時の連携処理手順について説明する。
【0142】
図12は、連携サーバ201の要求時の連携処理手順の一例を示すフローチャートである。図12のフローチャートにおいて、まず、連携サーバ201は、外部システム203から行内システム202への要求電文(第1の処理要求)を受け付けたか否かを判断する(ステップS1201)。
【0143】
ここで、連携サーバ201は、要求電文を受け付けるのを待つ(ステップS1201:No)。連携サーバ201は、要求電文を受け付けた場合(ステップS1201:Yes)、定義情報DB220を参照して、要求電文で指定されたAPIのURLに対応する第1の定義情報を特定する(ステップS1202)。
【0144】
具体的には、例えば、連携サーバ201は、URLと業務API番号との対応関係を示す情報を参照して、要求電文で指定されたURLに対応する業務API番号を特定し、定義情報DB220を参照して、特定した業務API番号に対応する第1の定義情報を特定してもよい。
【0145】
つぎに、連携サーバ201は、第1の定義情報が特定されたか否かを判断する(ステップS1203)。ここで、第1の定義情報が特定された場合(ステップS1203:Yes)、連携サーバ201は、特定した第1の定義情報の要求定義に含まれるチェック項目について、要求電文に対して要求定義に定義されたチェック処理を実行する(ステップS1204)。要求定義は、例えば、図5Aに示した要求定義401である。チェック処理の具体的な処理手順については、図13を用いて後述する。
【0146】
そして、連携サーバ201は、チェック処理後の要求電文(第1の処理要求)を行内システム202に送信して(ステップS1205)、本フローチャートによる一連の処理を終了する。
【0147】
また、ステップS1203において、第1の定義情報が特定されなかった場合(ステップS1203:No)、連携サーバ201は、外部システム203に対して、リクエストエラーを示すエラー応答を送信して(ステップS1206)、本フローチャートによる一連の処理を終了する。
【0148】
これにより、連携サーバ201は、APIを介して外部システム203と行内システム202とを連携させるにあたり、外部システム203からの要求電文(第1の処理要求)に対してチェック処理を行うことができる。また、連携サーバ201は、APIのURLに対応する定義情報が存在しない場合は、不正なリクエストとしてエラー応答することができる。
【0149】
つぎに、図13を用いて、ステップS1204のチェック処理の具体的な処理手順について説明する。
【0150】
図13は、チェック処理の具体的処理手順の一例を示すフローチャートである。図13のフローチャートにおいて、まず、連携サーバ201は、第1の定義情報の要求定義に含まれるチェック項目のうち選択されていない未選択のチェック項目を選択する(ステップS1301)。
【0151】
つぎに、連携サーバ201は、選択したチェック項目について、要求電文に対して要求定義に定義された入力チェックを行う(ステップS1302)。入力チェックは、例えば、上述した必須チェック、範囲チェック、型チェック、桁チェックなどである。そして、連携サーバ201は、エラーとなったか否かを判断する(ステップS1303)。
【0152】
ここで、エラーとなっていない場合(ステップS1303:No)、連携サーバ201は、選択したチェック項目について、要求電文に対して要求定義に定義された項目値編集を行う(ステップS1304)。項目値編集は、例えば、上述した固定値変換処理、暦変換処理、カンマ変換処理、切り出し処理などである。
【0153】
つぎに、連携サーバ201は、選択したチェック項目について、要求電文に対して要求定義に定義された空白除去(前後空白の削除)を行う(ステップS1305)。そして、連携サーバ201は、選択したチェック項目について、入力項目のキー名を、要求定義に定義されたキー名に変換する(ステップS1306)。
【0154】
つぎに、連携サーバ201は、入力チェック等を行った入力項目を行内システム202のAPI呼び出し用の電文にセットする(ステップS1307)。そして、連携サーバ201は、要求定義に含まれるチェック項目のうち選択されていない未選択のチェック項目があるか否かを判断する(ステップS1308)。
【0155】
ここで、未選択のチェック項目がある場合(ステップS1308:Yes)、連携サーバ201は、ステップS1301に戻る。一方、未選択のチェック項目がない場合(ステップS1308:No)、連携サーバ201は、チェック処理を呼び出したステップに戻る。
【0156】
また、ステップS1303において、エラーとなった場合(ステップS1303:Yes)、連携サーバ201は、外部システム203に対して、パラメータエラーを示すエラー応答を送信して(ステップS1309)、本フローチャートによる一連の処理を終了する。
【0157】
これにより、連携サーバ201は、外部システム203からの要求電文に対して、入力チェック、項目値編集、空白除去およびキー名変換を実施して、行内システム202呼び出し用の要求電文を作成することができる。また、連携サーバ201は、入力チェックがエラーとなった場合は、パラメータが異常としてエラー応答することができる。
【0158】
つぎに、図14を用いて、連携サーバ201の応答時の連携処理手順について説明する。
【0159】
図14は、連携サーバ201の応答時の連携処理手順の一例を示すフローチャートである。図14のフローチャートにおいて、まず、連携サーバ201は、行内システム202から外部システム203への応答電文(第1の処理応答)を受け付けたか否かを判断する(ステップS1401)。
【0160】
ここで、連携サーバ201は、応答電文を受け付けるのを待つ(ステップS1401:No)。連携サーバ201は、応答電文を受け付けた場合(ステップS1401:Yes)、定義情報DB220を参照して、応答電文で指定されたAPIのURLに対応する第1の定義情報を特定する(ステップS1402)。
【0161】
つぎに、連携サーバ201は、特定した第1の定義情報の応答定義に含まれる応答時のチェック項目について、応答電文に対して応答定義に定義された第2のチェック処理を実行する(ステップS1403)。第2のチェック処理の具体的な処理手順については、図15を用いて後述する。
【0162】
そして、連携サーバ201は、第2のチェック処理後の応答電文(第1の処理応答)を外部システム203に送信して(ステップS1404)、本フローチャートによる一連の処理を終了する。
【0163】
これにより、連携サーバ201は、APIを介して外部システム203と行内システム202とを連携させるにあたり、行内システム202からの応答電文(第1の処理応答)に対してチェック処理を行うことができる。
【0164】
つぎに、図15を用いて、ステップS1403の第2のチェック処理の具体的な処理手順について説明する。
【0165】
図15は、第2のチェック処理の具体的処理手順の一例を示すフローチャートである。図15のフローチャートにおいて、まず、連携サーバ201は、第1の定義情報の応答定義に含まれる応答時のチェック項目のうち選択されていない未選択の応答時のチェック項目を選択する(ステップS1501)。
【0166】
つぎに、連携サーバ201は、選択した応答時のチェック項目について、応答電文に対して応答定義に定義された項目値編集を行う(ステップS1502)。項目値編集は、例えば、上述した暦変換処理、カンマ変換処理、切り出し処理などである。
【0167】
つぎに、連携サーバ201は、選択した応答時のチェック項目について、応答電文に対して応答定義に定義された空白除去(前後空白の削除)を行う(ステップS1503)。そして、連携サーバ201は、選択した応答時のチェック項目について、応答電文に含まれる項目のキー名を、応答定義に定義されたキー名に変換する(ステップS1504)。
【0168】
つぎに、連携サーバ201は、項目値編集等を行った項目を外部システム203向けの電文にセットする(ステップS1505)。そして、連携サーバ201は、応答定義に含まれる応答時のチェック項目のうち選択されていない未選択の応答時のチェック項目があるか否かを判断する(ステップS1506)。
【0169】
ここで、未選択の応答時のチェック項目がある場合(ステップS1506:Yes)、連携サーバ201は、ステップS1501に戻る。一方、未選択の応答時のチェック項目がない場合(ステップS1506:No)、連携サーバ201は、第2のチェック処理を呼び出したステップに戻る。
【0170】
これにより、連携サーバ201は、行内システム202からの応答電文に対して、項目値編集、空白除去およびキー名変換を実施して、外部システム203(インターネット)向けの応答電文を作成することができる。
【0171】
以上説明したように、実施の形態にかかる連携サーバ201によれば、行内システム202に対する第1の処理要求を受け付けた場合、記憶部610を参照して、受け付けた第1の処理要求に応じた第1の定義情報を特定することができる。第1の処理要求は、行内システム202と連携する外部システム203からの処理要求である。記憶部610は、複数の処理要求それぞれについて、チェック項目を有する定義情報を記憶する(例えば、定義情報DB220)。そして、連携サーバ201によれば、特定した第1の定義情報(例えば、要求定義401)に含まれるチェック項目について、第1の処理要求に対して第1の定義情報に定義されたチェック処理を実行し、チェック処理後の第1の処理要求を行内システム202に出力することができる。
【0172】
これにより、連携サーバ201は、APIを介して外部システム203と行内システム202とを連携させるにあたり、外部システム203からの第1の処理要求(要求電文)に対してチェック処理を行うことができる。
【0173】
また、連携サーバ201によれば、第1の定義情報に含まれるチェック項目が、第1の処理要求に含まれるか否かをチェックする処理を含むチェック処理を実行することができる。
【0174】
これにより、連携サーバ201は、外部システム203からの第1の処理要求(要求電文)に対して、必須となる項目が含まれているか否かのチェックを行うことができる。
【0175】
また、連携サーバ201によれば、第1の定義情報に含まれるチェック項目について、第1の処理要求に含まれる項目値の大きさが、第1の定義情報に定義された第1の条件を満たすか否かをチェックする処理を含むチェック処理を実行することができる。
【0176】
これにより、連携サーバ201は、外部システム203からの第1の処理要求(要求電文)に対して、入力項目の項目値の大きさが指定された範囲内(または、指定された値)であるか否かのチェックを行うことができる。
【0177】
また、連携サーバ201によれば、第1の定義情報に含まれるチェック項目について、第1の処理要求に含まれる項目値の型が、第1の定義情報に定義された第2の条件を満たすか否かをチェックする処理を含むチェック処理を実行することができる。
【0178】
これにより、連携サーバ201は、外部システム203からの第1の処理要求(要求電文)に対して、入力項目の項目値の型が指定された型であるか否かのチェックを行うことができる。
【0179】
また、連携サーバ201によれば、第1の定義情報に含まれるチェック項目について、第1の処理要求に含まれる項目値の桁が、第1の定義情報に定義された第3の条件を満たすか否かをチェックする処理を含むチェック処理を実行することができる。
【0180】
これにより、連携サーバ201は、外部システム203からの第1の処理要求(要求電文)に対して、入力項目の項目値の桁が指定された桁数の範囲内であるか否かのチェックを行うことができる。
【0181】
また、連携サーバ201によれば、第1の定義情報に含まれるチェック項目について、第1の処理要求に含まれる項目値を、第1の定義情報に定義された値に変換する処理を含むチェック処理を実行することができる。
【0182】
これにより、連携サーバ201は、外部システム203からの第1の処理要求(要求電文)に対して、入力項目の項目値を、行内システム202固有の値(固定値)や行内システム202向けの形式の値に変換することができる。例えば、連携サーバ201は、西暦表記された取引日などを和暦表記に変換することができる。
【0183】
また、連携サーバ201によれば、第1の定義情報に含まれるチェック項目について、第1の処理要求に含まれる項目値における前後の空白を除去する処理を含むチェック処理を実行することができる。
【0184】
これにより、連携サーバ201は、外部システム203からの第1の処理要求(要求電文)に対して、行内システム202の仕様に合わせて、入力項目の項目値における前後の空白を除去することができる。
【0185】
また、連携サーバ201によれば、行内システム202からチェック処理後の第1の処理要求に対する第1の処理応答を受け付けた場合、第1の定義情報(例えば、応答定義402)に含まれる応答時のチェック項目について、第1の処理応答に対して第1の定義情報に定義された第2のチェック処理を実行することができる。そして、連携サーバ201によれば、第2のチェック処理後の第1の処理応答を、第1の処理要求の要求元(例えば、外部システム203)に出力することができる。
【0186】
これにより、連携サーバ201は、APIを介して外部システム203と行内システム202とを連携させるにあたり、行内システム202からの応答電文(第1の処理応答)に対してチェック処理を行うことができる。
【0187】
また、連携サーバ201によれば、第1の定義情報に含まれる応答時のチェック項目について、第1の処理応答に含まれる項目値を、第1の定義情報に定義された値に変換する処理を含む第2のチェック処理を実行することができる。
【0188】
これにより、連携サーバ201は、行内システム202からの応答電文(第1の処理応答)に対して、項目の項目値を、インターネット向けの形式の値に変換することができる。例えば、連携サーバ201は、和暦表記された取引日などを西暦表記に変換することができる。
【0189】
また、連携サーバ201によれば、第1の定義情報に含まれる応答時チェック項目について、第1の処理応答に含まれる項目値における前後の空白を除去する処理を含む第2のチェック処理を実行することができる。
【0190】
これにより、連携サーバ201は、行内システム202からの応答電文(第1の処理応答)に対して、項目の項目値における前後の空白を除去することができる。
【0191】
また、連携サーバ201によれば、第1の定義情報が特定されなかった場合、外部システム203(第1の処理要求の要求元)にエラー応答を出力することができる。
【0192】
これにより、連携サーバ201は、APIのURLなどに対応する定義情報が存在しない場合に、不正なリクエストとしてエラー応答することができる。
【0193】
これらのことから、連携サーバ201によれば、定義シートへの入力、反映などにより、ユーザがAPI単位の定義情報を作成することで、プログラミングレスで外部に公開するAPIを追加することが可能となる。これにより、連携サーバ201は、行内システム202の取引などをAPI化する際の作業負荷や作業時間を削減することができる。また、連携サーバ201は、外部サービス1101から実行可能な取引を低コストで増やすことが可能となるため、ひいては、行員の利便性の向上を図ることができる。
【0194】
また、上述した説明では、行員向けの外部サービス1101などから行内システム202に連携する場合を例に挙げて説明したが、これに限らない。例えば、本情報処理システム200は、一般ユーザが使用する端末上のアプリケーションから、企業の内部システムの処理を利用する場合にも適用することができ、一般ユーザの利便性の向上を図ることができる。
【0195】
なお、本実施の形態で説明した情報処理方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本情報処理プログラムは、ハードディスク、フレキシブルディスク、CD-ROM、DVD、USBメモリ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本情報処理プログラムは、インターネット等のネットワークを介して配布してもよい。
【0196】
また、本実施の形態で説明した情報処理装置101(連携サーバ201)は、例えば、スタンダードセルやストラクチャードASIC(Application Specific Integrated Circuit)などの特定用途向けICやFPGAなどのPLD(Programmable Logic Device)によっても実現することができる。
【0197】
上述した実施の形態に関し、さらに以下の付記を開示する。
【0198】
(付記1)要求先システムに対する第1の処理要求を受け付けた場合、複数の処理要求それぞれについて、チェック項目を有する定義情報を記憶する記憶部を参照して、受け付けた前記第1の処理要求に応じた第1の定義情報を特定し、
特定した前記第1の定義情報に含まれるチェック項目について、前記第1の処理要求に対して前記第1の定義情報に定義されたチェック処理を実行し、
前記チェック処理後の前記第1の処理要求を前記要求先システムに出力する、
処理をコンピュータに実行させることを特徴とする情報処理プログラム。
【0199】
(付記2)前記チェック処理は、前記第1の定義情報に含まれるチェック項目が、前記第1の処理要求に含まれるか否かをチェックする処理を含む、ことを特徴とする付記1に記載の情報処理プログラム。
【0200】
(付記3)前記チェック処理は、前記第1の定義情報に含まれるチェック項目について、前記第1の処理要求に含まれる項目値の大きさ、型および桁の少なくともいずれかが、前記第1の定義情報に定義された条件を満たすか否かをチェックする処理を含む、ことを特徴とする付記1または2に記載の情報処理プログラム。
【0201】
(付記4)前記チェック処理は、前記第1の定義情報に含まれるチェック項目について、前記第1の処理要求に含まれる項目値を、前記第1の定義情報に定義された値に変換する処理を含む、ことを特徴とする付記1~3のいずれか一つに記載の情報処理プログラム。
【0202】
(付記5)前記チェック処理は、前記第1の定義情報に含まれるチェック項目について、前記第1の処理要求に含まれる項目値における前後の空白を除去する処理を含む、ことを特徴とする付記4に記載の情報処理プログラム。
【0203】
(付記6)前記第1の定義情報は、応答時のチェック項目をさらに有し、
前記要求先システムから前記チェック処理後の前記第1の処理要求に対する第1の処理応答を受け付けた場合、前記第1の定義情報に含まれる応答時のチェック項目について、前記第1の処理応答に対して前記第1の定義情報に定義された第2のチェック処理を実行し、
前記第2のチェック処理後の前記第1の処理応答を、前記第1の処理要求の要求元に出力する、
処理を前記コンピュータに実行させることを特徴とする付記1~5のいずれか一つに記載の情報処理プログラム。
【0204】
(付記7)前記第2のチェック処理は、前記第1の定義情報に含まれる応答時のチェック項目について、前記第1の処理応答に含まれる項目値を、前記第1の定義情報に定義された値に変換する処理を含む、ことを特徴とする付記6に記載の情報処理プログラム。
【0205】
(付記8)前記第2のチェック処理は、前記第1の定義情報に含まれる応答時チェック項目について、前記第1の処理応答に含まれる項目値における前後の空白を除去する処理を含む、ことを特徴とする付記7に記載の情報処理プログラム。
【0206】
(付記9)前記第1の定義情報が特定されなかった場合、前記第1の処理要求の要求元にエラー応答を出力する、
処理を前記コンピュータに実行させることを特徴とする付記1~8のいずれか一つに記載の情報処理プログラム。
【0207】
(付記10)前記第1の処理要求は、前記要求先システムと連携する外部システムからの処理要求である、ことを特徴とする付記1~9のいずれか一つに記載の情報処理プログラム。
【0208】
(付記11)要求先システムに対する第1の処理要求を受け付けた場合、複数の処理要求それぞれについて、チェック項目を有する定義情報を記憶する記憶部を参照して、受け付けた前記第1の処理要求に応じた第1の定義情報を特定し、
特定した前記第1の定義情報に含まれるチェック項目について、前記第1の処理要求に対して前記第1の定義情報に定義されたチェック処理を実行し、
前記チェック処理後の前記第1の処理要求を前記要求先システムに出力する、
処理をコンピュータが実行することを特徴とする情報処理方法。
【0209】
(付記12)要求先システムに対する第1の処理要求を受け付けた場合、複数の処理要求それぞれについて、チェック項目を有する定義情報を記憶する記憶部を参照して、受け付けた前記第1の処理要求に応じた第1の定義情報を特定し、
特定した前記第1の定義情報に含まれるチェック項目について、前記第1の処理要求に対して前記第1の定義情報に定義されたチェック処理を実行し、
前記チェック処理後の前記第1の処理要求を前記要求先システムに出力する、
処理を実行する制御部を含むことを特徴とする情報処理装置。
【符号の説明】
【0210】
101 情報処理装置
102 要求先システム
110,610 記憶部
120,400 定義情報
200 情報処理システム
201 連携サーバ
202 行内システム
203 外部システム
204 クライアント装置
210 ネットワーク
220 定義情報DB
300 バス
301 CPU
302 メモリ
303 ディスクドライブ
304 ディスク
305 通信I/F
306 可搬型記録媒体I/F
307 可搬型記録媒体
401 要求定義
402 応答定義
511,521 API情報
512,522 チェック情報
600 制御部
601 受付部
602 特定部
603 実行部
604 出力部
700,800,900 要求電文
1000 応答電文
1101 外部サービス
1102 認証サービス
図1
図2
図3
図4
図5A
図5B
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15