以下、図面を参照して、本発明の各実施形態について説明する。
[第1の実施形態]
図1を参照して、本発明の第1の実施形態について説明する。図1は、本実施形態に係るサービス連携システムの構成を示すブロック図である。サービス連携システムは、例えばASP(Application Service Provider)サービスにおいて用いられるサービス提供装置1及び利用者(ユーザ)によって使用されるサービス連携装置2を備える。サービス提供装置1及びサービス連携装置2は、例えばインターネットのようなネットワークを介して通信可能に接続されている。このサービス連携装置2は、例えば企業等において用いられる。
サービス提供装置1は、例えばソフトウェアをインターネット経由のサービスとして、サービス連携装置2に対して提供する。サービスとして提供されるソフトウェアは、例えばサービス提供装置1に接続されているサービスデータベース(DB)3に格納されている。サービス提供装置1によって提供されるサービス(ソフトウェア)においては、例えばサービス連携装置2を使用する利用者に対してデータの入力を促す入力画面(を表示するためのデータ)及び当該入力画面に対して入力されたデータに対する結果を当該利用者に対して出力する出力画面(を表示するためのデータ)等がサービス連携装置2において表示される。
サービス連携装置2は、サービス連携部21、データベース(DB)アクセス部22及び表示部23を含む。サービス連携部21は、例えば利用者によって入力されたデータを変換する機能を有する。このサービス連携部21の詳細については後述する。
DBアクセス部22は、例えばサービス連携装置2に接続されている利用者データベース(DB)4に対するアクセス処理を行う。この利用者DB4には、例えば企業における各社員の銀行口座情報のような利用者の有する重要なデータ(以下、利用者データと表記)が格納されている。利用者DB4に格納されている利用者データは、例えばサービス提供装置1によって提供されるサービスを利用する際、必要に応じて用いられる。
表示部23は、例えば上記したサービス提供装置1によって提供されるサービスにおける入力画面及び出力画面等(表示画面)を表示する。この表示部23は、サービス連携装置2において用いられる例えばブラウザである。
図2は、図1に示すサービス連携装置2に含まれるサービス連携部21の機能構成を示すブロック図である。図2に示すように、サービス連携部21は、変換処理部211及び変換情報記憶部212を含む。
変換処理部211は、例えばサービス提供装置1によって提供されるサービスにおいて表示される入力画面(の入力箇所)に対して入力されたデータ(入力データ)を取得する。この入力データは、例えばサービス連携装置2を使用する利用者の操作に応じて入力画面に対して入力される。なお、入力データは、例えば上記した利用者データベース4に格納されている利用者データを用いて入力されてもよい。
変換処理部211は、取得された入力データにおいて、利用者データ(変換元データ)を例えば当該利用者データとは異なる任意のデータ(以下、変換データと表記)に変換する。
変換処理部211は、例えば変換された変換データを含むリクエストデータをサービス提供装置1に送信する。このサービス提供装置1に対して送信されるリクエストデータは、例えば利用者データが変換データに変換された入力データである。また、リクエストデータには、例えば当該データの送信先となるURL(Uniform Resource Locator)等が含まれる。
また、変換処理部211は、例えばサービス提供装置1によって提供されるサービスにおいて表示される出力画面において、利用者データが変換された変換データが含まれる場合には、当該変換データを利用者データに変換(以下、戻し変換と表記)する。この出力画面は、例えば変換処理部211からサービス提供装置1に対して送信されたリクエストデータに対する結果を出力するための画面である。つまり、出力画面は、例えばサービス提供装置1によって提供されるサービス(ソフトウェア)においてリクエストデータが処理された結果を出力するための画面である。戻し変換処理が実行されると、表示部23は、変換データを利用者データに置き換えて画面に表示する。
変換情報記憶部212には、例えば上記した利用者データ及び変換データを変換(戻し変換)するために用いられる変換設定情報が格納されている。また、変換情報記憶部212には、利用者データ(変換元データ)及び当該利用者データが変換された変換データを含む変換結果情報が格納されている。
ここで、図2を参照して、サービス連携装置の動作の概略について説明する。例えばサービス提供装置1によって提供されるサービスにおいて表示される入力画面に対して、利用者データとして「田中 一郎」(を含むデータ)が入力された場合を想定する。このとき、変換処理部211は、例えば入力された利用者データである「田中 一郎」を取得する(ステップS1)。この利用者データである「田中 一郎」は、例えば利用者の氏名(ユーザ名)、つまり、個人情報である。
変換処理部211は、変換情報記憶部212に格納されている変換設定情報に基づいて、例えば利用者データである「田中 一郎」を変換データとして「あいうえお」に変換する。変換処理部211は、変換データ「あいうえお」(を含むリクエストデータ)をサービス提供装置1に送信する(ステップS2)。
サービス提供装置1は、例えば変換処理部211から送信された変換データ「あいうえお」(を含むリクエストデータ)に対する結果を出力するための出力画面(サービス結果データ)をサービス連携装置2に送信する(ステップS3)。
変換処理部211は、例えばサービス提供装置1から送信された出力画面に変換データ「あいうえお」が含まれている場合には、例えば変換結果情報に基づいて当該「あいうえお」を利用者データ「田中 一郎」に戻し変換する。ここで、利用者データ「田中 一郎」は、変換結果情報に含まれる変換元データである。
変換処理部211は、出力画面において、変換データ「あいうえお」が利用者データ「田中 一郎」に置き換えられた出力画面(サービス結果データ)を表示部23に送信する(ステップS4)。表示部23は、変換処理部211によって送信された出力画面を表示する。
なお、サービス連携部21は、振り分け部213を備える構成であっても構わない。この振り分け部213は、リクエストデータに含まれる例えばURL及び属性(例えば、口座番号等)を示す情報(属性情報)を取得する。なお、この属性情報(属性キー)は、例えばリクエストデータに含まれるURLに基づいて取得される。振り分け部213は、振り分け設定情報格納部(図示せず)を含む。振り分け設定情報格納部には、上記したリクエストデータを振り分けるための振り分け設定情報が格納されている。振り分け部213は、振り分け設定情報格納部に格納されている振り分け設定情報に基づいて、リクエストデータのアクセス先を振り分ける処理を実行する。
図3は、図2に示す変換処理部211の機能構成を示すブロック図である。図3に示すように、変換処理部211は、変換設定処理部211a及びデータ変換部211bを含む。
変換設定処理部211aは、例えば利用者データ(変換元データ)及び当該利用者データとは異なる任意のデータ(変換データ)の変換処理制御を実行する。変換設定処理部211aは、変換情報記憶部212に格納されている変換設定情報の管理を行う。また、変換設定処理部211aは、変換結果情報を変換情報記憶部212に格納する処理を実行する。
ここで、変換設定処理部211aによって管理される変換設定情報は、例えばサービス連携システムの管理者によってサービス毎に予め登録される。変換設定情報には、サービス提供装置1によって提供されるサービスにおいて表示される入力画面において利用者データが入力される場所(以下、入力箇所と表記)及び当該サービスにおいて表示される出力画面において当該利用者データが出力される場所(以下、出力箇所と表記)が設定される。この入力箇所は、例えば入力画面のページを示すURL及び当該入力画面に対して入力されるデータ(利用者データ)の属性名(データの種類)によって表される。また、出力箇所は、出力画面のページを示すURL及び当該出力画面において出力されるデータ(利用者データ)の属性名(データの種類)によって表される。変換設定情報には、例えば利用者データの種類、input/output、URL及び場所等が含まれる。
変換設定情報を登録する場合、例えばサービス連携システムの管理者は、利用者データ(例えば、「田中 一郎」)が存在する(含まれる)ページ(入力画面・出力画面)のURLをピックアップする。次に、ピックアップされたページにおいて、利用者データの種類(例えば氏名等)及び当該利用者データが存在する場所(入力箇所・出力箇所)を例えばXPathもしくは正規表現により指定する。これにより、変換設定情報が変換情報記憶部212に登録される。利用者データが存在する場所とは、上記したように当該利用者データが入力される場所または利用者データが出力される場所を示す。
また、変換設定情報には、当該変換設定情報に設定されている入力箇所に入力される利用者データを変換データに変換するための制約条件(制約条件情報)が設定されている。この制約条件には、例えば文字種別(数字、アルファベット等)、長さ(文字数等)及びインプット形式(ドロップダウン、ラジオボタン等)が設定されている。なお、この制約条件は、例えばサービス連携システムの管理者によって設定される。
データ変換部211bは、変換情報記憶部212に格納されている変換設定情報に基づいて、利用者データ(変換元データ)及び変換データを互いに変換する。
データ変換部211bは、例えば入力画面に対して入力された入力データにおいて、変換設定情報に設定されている入力箇所に入力されたデータ(利用者データ)を変換データに変換する。この場合、データ変換部211bは、利用者データを例えば乱数等のサービス提供側で識別不能なデータ(変換データ)に変換する。また、データ変換部211bは、変換情報記憶部212に格納されている変換結果情報を参照して、当該変換結果情報に含まれる変換データ以外の変換データに変換する。
なお、上記したようにサービス提供側で識別不能な変換データに変換可能なデータは、利用者データであっても、従業員番号または電話番号のような例えばサービス連携装置2の表示部23に表示するのみで、サービス提供装置1側で処理を必要としないデータに限られる。
一方、データ変換部211bは、例えば出力画面において、変換設定情報に設定されている出力箇所に存在するデータが変換結果情報に含まれる変換データである場合、当該変換データを当該変換結果情報に含まれる変換元データ(利用者データ)に変換する。
図4は、変換設定情報に設定されるデータの種類(名)、input/output、URL及び場所の関連を説明するための図である。データの種類は、利用者データの種類を示す。input/outputは、利用者データが入力されるデータであるか出力されるデータであるかを示す。URLには、例えばURL1及びURL2が含まれる。URL1は、利用者データが存在するページ(入力画面または出力画面)のURLを示す。URL2は、例えばURL1によって指定される入力画面に対して入力された入力データが送信される送信先のURLを示す。場所は、URL1によって指定されるページ内において利用者データが存在する(入力される/出力される)場所を示す。
図4に示す例では、データの種類「name」、「input」、URL1「http://www.example.com/service/xxx1.jsp」、URL2「http://www.example.com/service/xxx2.jsp」及び場所「/html/body/form/input[@name=“name”]」の関連が示されている。この場合では、例えばURL1「http://www.example.com/service/xxx1.jsp」によって示される入力(input)画面(ページ)において、データの種類が「name」であって、場所「/html/body/form/input[@name=“name”]」によって指定される場所に入力されたデータ(利用者データ)は、変換データに変換されることが示される。なお、この入力画面に対して入力された入力データは、URL2「http://www.example.com/service/xxx2.jsp」に送信される。
図4に示す例では、データの種類「name」、「output」、URL1「http://www.example.com/service/xxx1.do」及び場所「/html/body/table/tr[1]/td[2]」の関連が示されている。この場合では、例えばURL1「http://www.example.com/service/xxx1.do」によって示される出力(output)画面(ページ)において、データの種類が「name」であって、場所「/html/body/table/tr[1]/td[2]」によって指定される場所に存在するデータ(変換データ)は、利用者データに変換されることが示される。
同様に、図4に示す例では、データの種類「name」、「output」、URL1「http://www.example.com/service/xxx2.do」及び場所「/html/body/table/tr[1]/td[2]」の関連が示されている。この場合では、例えばURL1「http://www.example.com/service/xxx2.do」によって示される出力(output)画面(ページ)において、データの種類が「name」であって、場所「/html/body/table/tr[1]/td[2]」によって指定される場所に存在するデータ(変換データ)は、利用者データに変換されることが示される。
図5は、例えばXML(eXtensible Markup Language)の階層化情報を用いた変換設定情報のデータ構造の一例を示す。図5に示す変換設定情報は、上記した図4において説明した内容を示す。
図5に示すように、変換設定情報300には、図4に示すデータの種類(属性名「name」)、input/output(要素名「input」/「output」)、URL1(属性名「url1」)、URL2(属性名「url2」)及び場所(要素名「place」)が設定されている。なお、「input」タグの項目には、入力画面に関する事項が設定されており、一方、「output」タグの項目には、出力画面に関する事項が設定されている。
また、要素名「datatype」及び要素名「length」は、上記した制約条件を示す。要素名に設定されている「datatype」は、文字種別を示す。要素名「length」は、長さを示す。図5に示す例では、文字種別(「datatype」)は、文字(「letter」)を示す。一方、長さ(「length」)は、5(文字以内)を示す。
図6は、変換情報記憶部212に格納されている変換結果情報のデータ構造の一例を示す。図6に示すように、変換結果情報には、変換元データ(利用者データ)、変換データ(当該利用者データが変換されたデータ)、データ種別及びユーザID(user ID)が含まれる。データ種別は、変換元データである利用者データの種別を示す。ユーザIDは、例えば利用者データを入力した利用者(ユーザ)を識別する。
図6に示す例では、変換結果情報301には、変換元データ「田中 一郎」、変換データ「あいうえお」、データ種別「Name(氏名)」及びユーザID「g2345」が含まれる。
変換結果情報302には、変換元データ「東京都府中市片町3−」、変換データ「かきくけこさしす1−」、データ種別「Address(住所)」及びユーザID「g2345」が含まれる。
変換結果情報303には、変換元データ「1969」、変換データ「1975」、データ種別「Birth−year(誕生年)」及びユーザID「g2345」が含まれる。
変換結果情報304には、変換元データ「5」、変換データ「6」、データ種別「Birth−month(誕生月)」及びユーザID「g2345」が含まれる。
変換結果情報305には、変換元データ「12」、変換データ「29」、データ種別「Birth−day(誕生日)」及びユーザID「g2345」が含まれる。
図7は、例えばXMLの階層化情報を用いた振り分け設定情報のデータ構造の一例を示す。
図7に示すように、振り分け設定情報400には、属性キー(要素名「key」)及び各種URL(要素名「振り分け先URL」、「振り分け元URL」及び「振り分けない元URL」)が設定されている。
図7に示す例では、振り分け設定情報400には、属性キーとして「KouzaNo」及び「口座番号」、振り分け先URLとして「http://www.userserger.ccc/inputkouzaNo」、振り分け元URLとして「http://www.supplyserver.ccc/inputkouzaNo」、振り分けない元URLとして「http://www.supplyserver.ccc/shadowkouzaNo」が設定されている。
また、振り分け設定情報400には、属性キーとして「birth」及び「生年月日」、振り分け先URLとして「http://www.userserger.ccc/inputbirth」、振り分け元URLとして「http://www.supplyserver.ccc/inputbirth」、振り分けない元URLとして「http://www.supplyserver.ccc/shadowbirth」が設定されている。
この振り分け設定情報400によれば、例えばリクエストデータに属性キー「kouzaNo(または、口座番号)」が含まれていれば、当該リクエストデータは、振り分け先URLとして設定されている「http://www.userserger.ccc/inputkouzaNo」に振り分けられる。また、例えばリクエストデータに属性キー「birth(または、生年月日)」が含まれていれば、当該リクエストデータは、振り分け先URLとして設定されている「http://www.userserger.ccc/inputbirth」に振り分けられる。
上記の振り分け設定情報に設定されている振り分け元URL及び振り分けない元URLに関しては、初期設定においてではなく、例えば利用後に自動的に付加されるものである。振り分けない元URLは、任意のリクエストに関して例えば利用者ブラウザ画面上で利用者のデータベースを用いない選択がされた場合で、リクエストデータ内に該当するキーワード(属性キー)が含まれていた場合でも、振り分け先URLに振り分けないURLを意味する。
なお、例えば上記した振り分け先URL及び振り分けない元URLの組合せを設定することにより、複数の属性キーが含まれたデータ(リクエストデータ)において、利用者が意図するような振り分け処理を実行させることが可能となる。
次に、図8のフローチャートを参照して、本実施形態に係るサービス連携システムの処理手順について説明する。なお、変換情報記憶部212には、例えばサービス連携システムの管理者によって予め設定された変換設定情報が登録されているものとする。
まず、サービス連携装置2は、サービス提供装置1に対して、例えば当該サービス提供装置1によって提供されるサービスにおいて表示されるページ(入力画面)を要求(リクエスト)する(ステップS11)。
サービス提供装置1は、サービス連携装置2による要求に応じて、入力画面(を表示するための入力画面データ)をサービス連携装置2に対して送信する。このサービス提供装置1によって送信される入力画面(データ)は、例えばHTML(HyperText Markup Language)等のデータである。
次に、サービス連携装置2は、サービス提供装置1によって送信された入力画面を受信する(ステップS12)。この入力画面には、例えば当該入力画面のURL(URL1)、当該入力画面に対して入力された入力データの送信先となるURL(URL2)及び当該入力画面に対して入力される入力データの種類(属性名)が含まれる。サービス連携装置2に含まれる表示部23は、受信された入力画面(以下、対象入力画面と表記)を、当該サービス連携装置2を利用する利用者(ユーザ)に対して表示する。
ここで、利用者は、表示部23により表示された入力画面に対して入力データを入力すると、例えば当該入力画面に設けられている送信ボタンを押下(選択)することで当該入力画面に対する入力を完了する。この利用者の操作により、入力データを含むリクエストデータが送信される。このリクエストデータには、例えば当該リクエストデータが送信される送信先のURL(URL2)及び属性キー(属性情報)が含まれる。
サービス連携装置2の変換処理部211に含まれる変換設定処理部211aは、上記した利用者の操作に応じて送信されたリクエストデータを取得する。これにより、変換設定処理部211aは、例えば利用者の操作に応じて、表示部23によって表示された対象入力画面に対して入力された入力データを取得する(ステップS13)。この入力データは、上記したリクエストデータに含まれる。このとき、変換設定処理部211aは、例えば入力データ(を含むリクエストデータ)の送信先であるURLを取得する。なお、取得された入力データには、利用者にとって重要な例えば口座番号のような利用者データが含まれているものとする。
次に、振り分け部213は、リクエストデータに含まれるURL(当該リクエストデータが送信される送信先のURL)及び属性キーを取得する。この属性キーは、例えばリクエストデータに含まれるURLに含まれる。振り分け部213は、振り分け設定情報に基づいて、変換設定処理部211aによって取得されたリクエストデータのアクセス先を振り分ける処理を実行する(ステップS14)。振り分け設定情報には、属性キー及び振り分け先となる例えばサービス連携装置1のURLが予め設定されている。なお、振り分け先としては、属性キーの内容に応じて、例えば利用者側サービスのURLが設定されてもよい。
この場合、例えば変換設定処理部211aによって取得された属性キーが振り分け設定情報に設定されている場合、当該振り分け設定情報に設定されているURLが当該属性キーを含むリクエストデータの振り分け先となる。以下、リクエストデータは、振り分け先としてサービス提供装置1(のアドレス)に振り分けられるものとして説明する。
次に、変換設定処理部211aは、変換情報記憶部212に格納されている変換設定情報を参照する(ステップS15)。変換設定処理部211aは、変換設定情報に設定されている入力箇所(「input」タグの項目)を参照する。
変換設定処理部211aは、対象入力画面(に関する事項)が変換設定情報に設定されているか否かを判定する(ステップS16)。つまり、変換設定処理部211aは、例えば対象入力画面のURL(URL1)が設定されている変換設定情報が変換情報記憶部212に格納されているか否かを判定する。
対象入力画面が変換設定情報に設定されていると判定された場合(ステップS16のYES)、変換設定処理部211aは、当該変換設定情報に設定されている内容を満たすデータを利用者データとして特定する。具体的には、変換設定処理部211aは、取得された入力データ(対象入力画面に対して入力されたデータ)において、変換設定情報に設定されている入力箇所に入力されたデータを特定する。変換設定処理部211aは、特定されたデータの送信先となるURLが変換設定情報に設定されているURL2である場合には、当該特定されたデータを利用者データとして特定する。
データ変換部211bは、変換情報記憶部212に格納されている変換設定情報に基づいて、変換設定処理部211aによって特定されたデータ(利用者データ)を当該利用者データとは異なる任意のデータ(変換データ)に変換する(ステップS17)。このとき、変換設定処理部211aは、対象入力画面が設定されている変換設定情報に制約条件が設定されている場合には、当該制約条件を満たすように変換処理を実行する。
変換設定処理部211aは、変換処理された利用者データ(変換元データ)及び当該変換元データが変換された変換データを含む変換結果情報を変換情報記憶部212に格納する(ステップS18)。
変換処理部211は、変換結果情報が変換情報記憶部212に格納されると、例えば利用者データが変換データに変換された入力データを含むリクエストデータをサービス提供装置1に送信する。
サービス提供装置1は、変換処理部211によって送信されたリクエストデータを受信すると、当該リクエストデータに対する結果を出力する出力画面(サービス結果データ)をサービス連携装置2に対して送信する。このサービス提供装置1によって送信される出力画面は、上記した入力画面と同様に、例えばHTML等のデータである。
サービス連携装置2は、サービス提供装置1から送信された出力画面を受信する(ステップS19)。
次に、サービス連携装置2の変換設定処理部211aは、変換情報記憶部212に格納されている変換設定情報を参照する。変換設定処理部211aは、変換設定情報に設定されている出力箇所(「output」タグの項目)を参照する。
変換設定処理部211aは、受信された出力画面(以下、対象出力画面と表記)が変換設定情報に設定されているか否かを判定する(ステップS21)。つまり、変換設定処理部211aは、例えば対象出力画面のURL(URL1)が設定されている変換設定情報が変換情報記憶部212に格納されているか否かを判定する。
対象出力画面が変換設定情報に設定されている場合(ステップS21のYES)、変換設定処理部211aは、当該対象出力画面において、当該変換設定情報に設定されている出力箇所に存在するデータを特定する。
変換設定処理部211aは、変換情報記憶部212に格納されている変換結果情報に基づいて、特定されたデータに対して戻し変換処理を実行する(ステップS22)。変換設定処理部211aは、特定されたデータを変換データとして含む変換結果情報が変換情報記憶部212に存在するか否かを判定する。変換設定処理部211aは、変換結果情報が存在すると判定された場合、特定されたデータを当該変換結果情報に含まれる変換元データ(利用者データ)に戻し変換する。
変換設定処理部211aは、特定されたデータが戻し変換された利用者データに置き換えられた対象出力画面を表示部23に送信する。表示部23は、変換設定処理部211aによって送信された対象出力画面を利用者に対して表示する(ステップS23)。
一方、ステップS16において対象入力画面が変換設定情報に設定されていない場合、ステップS19の処理が実行される。この場合、変換処理は実行されず、入力データを含むリクエストデータがサービス提供装置1に送信される。
また、ステップS21において対象出力画面が変換設定情報に設定されていない場合、ステップS23の処理が実行される。つまり、戻し変換処理は実行されず、変換設定処理部211aによって受信された対象出力画面がそのまま表示部23により表示される
上記したように本実施形態においては、サービス提供装置1によって提供されるサービスを利用する利用者にとって重要な利用者データが入力された場合、当該利用者データは、予め登録された変換設定情報に基づいて変換データに変換処理された後、サービス提供装置1に送信される。また、サービス提供装置1から変換データを含む出力画面(対象出力画面)が送信された場合、当該変換データを利用者データに戻し変換した後、利用者に対して表示される。
これにより、本実施形態においては、利用者は、例えば個人情報等の重要な情報(利用者データ)を、利用者側(つまり、サービス連携装置2側)で管理したまま、サービス提供装置1によって提供されるサービスを利用することが可能となる。これにより、情報漏洩のリスクを減少することが可能となる。これに伴い、サービス利用者自身が利用者データを管理することで、サービス提供装置1側においても情報漏洩対策のリスク及び管理コストを削減することが可能となる。
本実施形態においては、データの置き場所による制約を受けることなく、例えばサービス提供者側(つまり、サービス提供装置1側)、利用者側だけでなく、他のサービス提供者が有するデータも利用することが可能である。よって、本実施形態においては、利用者データを保護するだけでなく、データの置き場所に関わらず、サービスを利用または提供することができる。
また、本実施形態においては、提供されるサービスのソフトウェア(アプリケーション)は、例えば改造を加えることなく、既存のままで使用することができる。
[第2の実施形態]
次に、図9を参照して、本発明の第2の実施形態について説明する。図9は、本実施形態に係るサービス連携システムの機能構成を示すブロック図である。なお、前述した図2及び図3と同様の部分には同一参照符号を付してその詳しい説明を省略する。ここでは、図1及び図2と異なる部分について主に述べる。以下の実施形態についても同様にして重複した説明を省略する。
図9に示すように、本実施形態に係るサービス連携システムを構成するサービス連携装置5は、サービス連携部51を含む。このサービス連携部51は、変換処理部511、変換情報記憶部512及びGUI(Graphical User Interface)処理部513を含む。
変換処理部511は、制約条件処理部511a及び変換設定処理部511bを含む。制約条件処理部511aは、例えば変換情報記憶部512に格納されている変換設定情報に設定されている入力箇所に入力されたデータ(利用者データ)に基づいて、当該データを変換データに変換するための制約条件を生成する。このとき、制約条件処理部511aは、変換情報記憶部512に格納されている制約条件マスターに基づいて、制約条件を生成する。
変換情報記憶部512に格納されている制約条件マスターには、例えば文字種別、文字角及び長さのような制約条件を生成するための各種項目が予め設定されている。文字種別には、例えば数字またはアルファベット等が含まれる。文字角には、例えば全角または半角が含まれる。また、長さには、例えば文字の最大の長さ(Max長さ)または最小の長さ(Min長さ)が含まれる。なお、この制約条件マスターは、例えばサービス連携システムの管理者等によって予め設定される。
変換設定処理部511bは、制約条件処理部511aによって生成された制約条件が設定された変換設定情報を変換情報記憶部512に登録する。変換設定処理部511bは、例えば対象入力画面が設定されている変換設定情報に制約条件が既に設定されている場合には、制約条件処理部511aによって生成された制約条件と既に変換設定情報に設定されている制約条件(以下、既存の制約条件と表記)とを比較する。変換設定処理部511bは、比較した結果、制約条件処理部511aによって生成された制約条件が、既存の制約条件と比べて条件が緩いか否かを例えば制約条件マスターに設定されている項目毎に判定する。制約条件処理部511aによって生成された制約条件の方が条件が緩いと判定された場合、制約条件処理部511aは、既存の制約条件に代えて制約条件処理部511aによって生成された制約条件を変換設定情報に設定する。
ここで、例えば制約条件マスターに設定されている文字種別または文字角が多い(増加する)場合に、条件が緩いと判定される。また、Max長さが長い(増加する)またはMin長さが短い(減少する)場合に、条件が緩いと判定される。
GUI処理部513は、例えば既存の制約条件が制約条件処理部511aによって生成された制約条件より緩いと変換設定処理部511bによって判定された場合、制約条件を利用者に選択させる。GUI処理部513は、例えば利用者に制約条件を選択させるための選択画面を作成する。つまり、GUI処理部513は、作成された選択画面を表示部23を介して表示することにより、制約条件処理部511によって生成された制約条件及び既存の制約条件のいずれかを利用者に選択させる。これにより、選択された制約条件が変換設定情報に設定される。
次に、図10のフローチャートを参照して、本実施形態に係るサービス連携システムの処理手順について説明する。
まず、前述した図8のフローチャートに示すステップS11〜ステップS15の処理に相当するステップS31〜ステップS35の処理が実行される。なお、ここでは、例えば表示部23により表示された入力画面(対象入力画面)が変換設定情報に設定されている、つまり、例えば当該対象入力画面における入力箇所が設定されているものとして説明する。この入力箇所は、上記したように例えば対象入力画面のページを示すURL、当該対象入力画面に対して入力されるデータの種類(属性)及び当該対象入力画面において利用者データが入力される場所によって表される。
なお、上記したステップS114の処理(振り分け処理)は省略される構成であっても構わない。以下の各実施形態についても同様である。
次に、変換設定処理部511bは、上記したステップS33において取得された入力データ(対象入力画面に対して入力されたデータ)において、例えば当該対象入力画面が設定されている変換設定情報に設定されている入力箇所に入力されたデータであって、当該変換設定情報に設定されているURL2に対して送信されるデータを利用者データとして特定する。
制約条件処理部511aは、特定された利用者データを取得する(ステップS36)。制約条件処理部511aは、取得された利用者データに基づいて、当該利用者データを変換データに変換するための制約条件(情報)を生成する(ステップS37)。このとき、制約条件処理部511aは、変換情報記憶部512に格納されている制約条件マスターに基づいて、制約条件を生成する。
ここで、変換情報記憶部512に格納されている制約条件マスターに、制約条件を生成するための項目として、文字種別、文字角及び長さが設定されているものとする。また、制約条件処理部511aが、利用者データとして「田中 一郎」を取得した場合を想定する。この場合、制約条件処理部511aは、制約条件マスターに基づいて、文字種別、文字角及び長さを項目として有する制約条件を生成する。制約条件処理部511aは、取得された利用者データが「田中 一郎」であるため、制約条件マスターに設定されている項目である文字種別として「(漢字及びひらがなを含む)文字」、文字角として「全角」及び長さとして「5文字(ここでは、スペースを含む)」という制約条件を生成する。
次に、制約条件処理部511aは、対象入力画面が設定されている変換設定情報に既に制約条件が設定されているか否かを判定する(ステップS38)。
既に制約条件が設定されていないと判定された場合(ステップS38のNO)、変換設定処理部511bは、制約条件処理部511aによって生成された制約条件(情報)を、対象入力画面が設定されている変換設定情報に挿入する(ステップS39)。これにより、制約条件処理部511bによって生成された制約条件が、変換設定情報に設定される。
変換設定処理部511b及びデータ変換部211bは、変換設定情報に設定された制約条件に基づいて、特定された利用者データに対する変換処理を実行する(ステップS40)。このデータ変換処理は、具体的には、前述した図8に示すステップS17及びステップS18に相当する処理である。このデータ変換処理が実行されると、例えばリクエストデータがデータ提供装置1に対して送信される。
このとき、例えば利用者データが「田中 一郎」であり、制約条件処理部511aによって生成された制約条件が上記したように文字種別が「(漢字及びひらがなを含む)文字」、文字角が「全角」及び長さが「5文字(Max長さ)」である場合を想定する。この場合、データ変換部211bは、利用者データ「田中 一郎」を、この制約条件を満たす変換データとして例えば「あいうえお」に変換する。
なお、変換設定処理部511bは、データ変換処理において利用者データが変換データに変換された入力データを含むリクエストデータをサービス提供装置1に送信するとともに、制約条件処理部511bによって生成された制約条件が設定された変換設定情報を、変換情報記憶部512に登録する(ステップS41)。
一方、ステップS38において既に制約条件が設定されていると判定された場合、変換設定処理部511bは、制約条件処理部511aによって生成された制約条件(今回の制約条件)及び既に変換設定情報に設定されている制約条件(既存の制約条件)を比較する。変換設定処理部511bは、今回の制約条件が既存の制約条件より、条件が緩いか否かを判定する(ステップS42)。このとき、変換設定処理部511bは、制約条件に含まれる項目毎に判定処理を実行する。この制約条件に含まれる項目には、上記した文字種別、文字角及び長さ等が含まれる。
このとき、例えば文字種別においては、今回の制約条件及び既存の制約条件を比較した場合に、文字種別の数が多い方が条件が緩いと判定される。具体的には、例えば文字種別が「数字」のみである場合より、文字種別が「数字またはアルファベット」の方が条件が緩い。
また、例えば文字角においては、今回の制約条件及び既存の制約条件を比較した場合に、文字角の数が多い方が条件が緩いと判定される。具体的には、例えば文字角が「全角」のみである場合より、文字角が「全角または半角」の方が条件が緩い。
また、例えば長さにおいては、今回の制約条件及び既存の制約条件を比較した場合に、Max長さが長い(増える)またはMin長さが短い(減る)方が条件が緩いと判定される。具体的には、例えば長さ(Max長さ)が4文字(つまり、4文字以内)より5文字(つまり、5文字以内)の方が条件が緩い。同様に、例えば長さ(Min長さ)が5文字(つまり、5文字以上)より4文字(つまり、4文字以上)の方が条件が緩い。
今回の制約条件の方が既存の制約条件より条件が緩くない、つまり、既存の制約条件の方が今回の制約条件より条件が緩いと判定された場合(ステップS42のNO)、制約条件の候補表示機能がONに設定されているか否かを判定する(ステップS43)。この候補表示機能は、例えば利用者データを変換するための制約条件の候補を表示するための機能である。また、候補表示機能を機能させるか否か(つまり、候補表示機能のON/OFF)は、例えばサービス連携システムの管理者によって予め設定されている。
候補表示機能がONに設定されている場合(ステップS43のYES)、GUI処理部513は、制約条件の候補を表示部23を介して表示する(ステップS44)。このとき、GUI処理部513は、例えば今回の制約条件及び既存の制約条件を、制約条件の候補として表示する。GUI処理部513は、例えば今回の制約条件及び既存の制約条件を選択させる選択画面を作成し、当該選択画面を表示部23により表示する。利用者は、例えばサービス連携装置2を操作することによって、表示部23に表示された選択画面から制約条件を選択する。
変換設定処理部511bは、例えば利用者の操作に応じて選択された制約条件(情報)を、対象入力画面が設定されている変換設定情報に挿入する(ステップS45)。これにより、選択された制約条件が、変換設定情報に設定される。
ステップS45の処理が実行されると、上記したステップS40の処理が実行される。
一方、ステップS42において今回の制約条件の方が既存の制約条件より条件が緩いと判定された場合、上記したステップS39の処理が実行される。つまり、変換設定処理部511bは、今回の制約条件(制約条件処理部511aによって生成された制約条件)を変換設定情報に設定する。
また、ステップS43において候補表示機能がONに設定されていない場合、つまり、候補表示機能がOFFに設定されている場合、ステップS40の処理が実行される。この場合、対象入力画面が設定されている変換設定情報に設定されている制約条件(既存の制約条件)に基づいて、データ変換処理が実行される。なお、この場合には、既存の制約条件は既に変換設定情報に設定されており、当該変換設定情報は変換情報記憶部512に登録されているため、ステップS41の処理は実行されない。
上記したように本実施形態においては、例えば変換設定情報に設定されている入力箇所に入力されたデータ(利用者データ)に基づいて、制約条件が生成される。これにより、例えばサービス連携システムの管理者は、変換設定情報に予め制約条件を設定することなく、自動的に制約条件を設定することが可能となる。
また、本実施形態においては、変換設定情報に既に制約条件が設定されている場合であっても、既存の制約条件または今回の制約条件を利用者に対して選択させることにより、よりデータ変換の精度を高めることが可能となる。
[第3の実施形態]
次に、図11を参照して、本発明の第3の実施形態について説明する。図11は、本実施形態に係るサービス連携システムの機能構成を示すブロック図である。
図11に示すように、本実施形態に係るサービス連携システムを構成するサービス連携装置6は、サービス連携部61を含む。このサービス連携部61は、変換処理部611及びGUI処理部612を含む。
変換処理部611は、変換設定処理部611aを含む。変換設定処理部611aは、変換情報記憶部212に格納されている変換設定情報に対して例えば入力画面(に関する事項)を自動的に設定する機能を有する。この入力画面に関する事項は、例えば上記した図5に示す変換設定情報のinputタグの項目に設定される。つまり、変換設定処理部611aは、例えば利用者データが入力される入力箇所を変換設定情報に自動的に設定する。また、変換設定処理部611aは、変換設定情報に設定されている入力箇所(つまり、変換設定情報のinputタグの項目)を解除する機能を有する。
GUI処理部612は、例えば入力画面を表示部23を介して表示する際、変換設定処理部611aによって変換設定情報に設定された入力箇所に対して、例えばデータが変換される旨を付加表示する。これにより、利用者は、入力されたデータが変換されることを認識することができる。
次に、図12のフローチャートを参照して、変換設定情報に入力画面に関する事項(入力箇所)を設定する処理手順について説明する。ここでは、例えば対象入力画面が変換設定情報に設定されていないものとして説明する。
まず、前述した図8に示すステップS11〜ステップS12の処理に相当するステップS51〜ステップS52の処理が実行される。
次に、表示部23は、受信された入力画面(対象入力画面)を、サービス連携装置2を利用する利用者に対して表示する。
GUI処理部612は、表示部23により表示された対象入力画面において、例えば利用者にとって重要なデータ(利用者データ)が入力される箇所が指定されたか否かを、利用者の操作に応じて判定する(ステップS53)。この場合、利用者は、表示部23により表示された対象入力画面を確認し、当該対象入力画面において、例えば当該利用者にとって重要なデータ(利用者データ)が入力される箇所を、変換設定情報に設定すべき箇所(入力箇所)として指定する。このとき、利用者は、例えば対象入力画面上でマウス等を用いてクリックすることにより指定することができる。
利用者データが入力される箇所が指定されたと判定された場合(ステップS53のYES)、GUI処理部612は、当該指定された箇所(指定箇所)を示す指定箇所情報を取得する(ステップS54)。GUI処理部612は、取得された指定箇所情報を変換設定処理部611aに対して送信する。
GUI処理部612は、例えば利用者の操作に応じて、対象入力画面に対して入力された入力データを取得する(ステップS55)。GUI処理部612は、取得された入力データを変換設定処理部611aに対して送信する。
変換設定処理部611aは、GUI処理部612によって送信された指定箇所情報によって示される指定箇所を、利用者データが入力される入力箇所として変換設定情報に設定する。また、変換設定処理部611aは、対象入力画面に含まれる当該対象入力画面に対して入力される入力データの送信先となるURLを前述したURL2として変換設定情報に設定する。変換設定処理部611aは、指定箇所(入力箇所)及びURL2が設定された変換設定情報を、変換情報記憶部212に登録(記録)する。つまり、変換設定情報が書き換えられる。これにより、例えば次回からは対象入力画面に対して上記した指定箇所に入力され、かつ、URL2に対して送信されるデータは、登録された変換設定情報に基づいて自動的に変換データに変換される。
データ変換部211bは、GUI処理部612によって送信された入力データ(入力画面に対して入力されたデータ)において、登録された変換設定情報に設定されている入力箇所(つまり、利用者によって指定された指定箇所)に入力されたデータを利用者データとして変換処理を行う(ステップS57)。この場合、データ変換部211bは、利用者データを変換データ(当該利用者データとは異なる任意のデータ)に変換する。また、データ変換部211bは、変換情報記憶部212に格納されている変換結果情報に基づいて、当該変換結果情報に含まれる変換データ以外の変換データに利用者データを変換する。
変換設定処理部611aは、利用者データが変換データに変換された入力データを含むリクエストデータをサービス提供装置1に送信する(ステップS58)。これにより、サービス提供装置1は、リクエストデータに対する結果を出力する出力画面がサービス連携装置2に対して送信する。これ以降では、例えば前述した図8に示すステップS19〜ステップS23の処理がサービス連携装置2において実行される。
一方、ステップS53において利用者データが入力される箇所が指定されていないと判定された場合、変換設定処理部611aは、例えば利用者の操作に応じて、対象入力画面に対して入力された入力データを取得する(ステップS59)。対象入力画面が設定された変換設定情報が変換情報記憶部212に格納されていない場合には、データ変換処理は実行されないためステップS58の処理が実行される。
ここでは、対象入力画面が変換設定情報に設定されていないものとして説明したが、例えば対象入力画面が変換設定情報に設定されている場合であっても、指定箇所が入力箇所として変換設定情報に設定されていない場合には、当該指定箇所は変換設定情報に設定され、当該変換設定情報が変換情報記憶部212に登録される。
次に、図13のフローチャートを参照して、変換設定情報に設定されている入力画面に関する事項を解除する処理手順について説明する。ここでは、例えば対象入力画面が変換設定情報に設定されているものとして説明する。つまり、この変換設定情報には、例えば対象入力画面における入力箇所が設定されている。
まず、図8に示すステップS11〜ステップS12の処理に相当するステップS61〜ステップS62の処理が実行される。
次に、変換設定処理部611aは、変換情報記憶部212に格納されている変換設定情報を参照する(ステップS63)。このとき、変換設定処理部611aは、変換設定情報に設定されている入力箇所(「input」タグの項目)を参照する。
変換設定処理部611aは、変換設定情報に設定されている対象入力画面における入力箇所(を示す情報)をGUI処理部612に通知する。このGUI処理部612に対して通知される入力箇所は、対象入力画面において利用者データが入力される場所(箇所)、つまり、例えば当該入力箇所に入力されたデータ(利用者データ)が変換データに変換される変換予定の場所(箇所)を示す。
GUI処理部612は、表示部23により対象入力画面を表示する際に、変換設定処理部611aによって通知された入力箇所に例えば「データ変換予定」と付加表示する(ステップS64)。これにより、例えば利用者は、「データ変換予定」と付加表示された箇所に入力したデータは変換されることを認識できる。
次に、GUI処理部612は、表示部23により表示された対象入力画面において、例えば「データ変換予定」と表示された箇所が指定されたか否かを、利用者の操作に応じて判定する(ステップS65)。つまり、GUI処理部612は、対象入力画面において、変換設定情報に設定されている入力箇所が指定されたか否かを判定する。この場合、利用者は、表示部23により表示された対象表示画面を確認し、当該対象表示画面において、例えば「データ変換予定」と表示されている箇所に入力したデータを変換する必要がないと判断した場合に、当該箇所を指定する。このとき、利用者は、例えば対象入力画面上でマウス等を用いてクリックすることにより指定することができる。
例えば「データ変換予定」と表示されている箇所(つまり、変換設定情報に設定されている入力箇所)が指定されたと判定された場合(ステップS65のYES)、GUI処理部612は、利用者によって対象入力画面に対して指定された箇所(指定箇所)を示す指定箇所情報を取得する(ステップS66)。GUI処理部612は、取得された指定箇所情報を変換設定処理部611aに対して送信する。
GUI処理部612は、例えば利用者の操作に応じて、対象入力画面に対して入力された入力データを取得する(ステップS67)。GUI処理部612は、取得された入力データを変換設定処理部611aに対して送信する。
変換設定処理部611aは、対象入力画面が設定されている変換設定情報に基づいて、GUI処理部612によって送信された指定箇所情報によって示される指定箇所(つまり、変換設定情報に設定されている入力箇所)を解除する(ステップS68)。つまり、変換設定情報に設定されている入力箇所(指定箇所)を、当該変換設定情報から削除する。このとき、例えば解除された入力箇所(指定箇所)に入力されたデータが送信されるURL2が変換設定情報に当該入力箇所と共に設定されている場合には、当該URL2についても当該変換設定情報から削除される。つまり、対象入力画面に関する事項が、変換設定情報から削除される。
変換設定処理部611aは、例えば対象入力画面に関する事項が解除された変換設定情報を変換情報記憶部212に登録(記録)する。つまり、変換設定情報が書き換えられる。これにより、例えば次回以降の処理では、この変換設定情報には入力箇所が設定されていないため、対象入力画面において上記した例えば「データ変換予定」は付加表示されない。
変換設定情報に設定されていた入力箇所は解除されたため、当該入力箇所に入力されたデータは変換されない。よって、変換設定処理部611aは、GUI処理部612によって送信された入力データ(入力画面に対して入力されたデータ)を含むリクエストデータをサービス提供装置1に送信する(ステップS69)。これにより、サービス提供装置1からサービス連携装置2に対して、リクエストデータに対する結果を出力する出力画面が送信される。これ以降では、例えば前述した図8に示すステップS19〜ステップS23の処理がサービス連携装置2において実行される。
一方、ステップS65において例えば「データ変換予定」と表示されている箇所が指定されていないと判定された場合、GUI処理部612は、例えば利用者の操作に応じて、対象入力画面に対して入力された入力データを取得する(ステップS70)。GUI処理部612は、取得された入力データを変換設定処理部611aに対して送信する。
データ変換部211bは、GUI処理部612によって送信された入力データ(入力画面に対して入力されたデータ)において、変換設定情報に設定されている入力箇所(つまり、「データ変換予定」と付加表示された箇所)に入力されたデータを利用者データとしてデータ変換処理を行う(ステップS71)。この場合、データ変換部211bは、利用者データを変換データに変換する。また、データ変換部211bは、変換情報記憶部212に格納されている変換結果情報に基づいて、当該変換結果情報に含まれる変換データ以外の変換データに利用者データを変換する。
ステップS70の処理が実行されると、ステップS69の処理が実行される。この場合、利用者データが変換データに変換された入力データを含むリクエストデータがサービス提供装置1に対して送信される。これにより、サービス提供装置1からサービス連携装置2に対して、リクエストデータに対する結果を出力する出力画面が送信される。これ以降では、例えば前述した図8に示すステップS19〜ステップS23の処理がサービス連携装置2において実行される。
上記したように本実施形態においては、表示部23により表示される入力画面(対象入力画面)に対して例えば利用者により指定された箇所(指定箇所)に基づいて、変換設定情報に対して入力箇所の設定または解除を自動的に行うことが可能となる。これにより、例えばサービス連携システムの管理者は、変換設定情報に設定されている入力箇所を更新することなく、自動的に入力箇所の設定または解除を行うことができる。
また、本実施形態においては、例えば対象入力画面において変換設定情報に設定されている入力箇所には例えば「データ変換予定」等が付加表示されるため、利用者はこの表示を確認することで、データが変換される場所(箇所)を確認することができる。
[第4の実施形態]
次に、図14及び図15を参照して、本発明の第4の実施形態について説明する。なお、本実施形態に係るサービス連携システムの構成は、前述した第3の実施形態と同様であるため、図11を用いて説明する。
本実施形態において、サービス連携装置6の変換設定処理部611aは、変換情報記憶部212に格納されている変換設定情報に対して例えば出力画面(に関する事項)を自動的に設定する機能を有する。この出力画面に関する事項は、例えば上記した図5に示す変換設定情報のoutputタグの項目に設定される。つまり、変換設定処理部611aは、例えば利用者データが出力される出力箇所を変換設定情報に自動的に設定する。また、変換設定処理部611aは、変換設定情報に設定されている出力箇所(つまり、変換設定情報のoutputタグの項目)を解除する機能を有する。
GUI処理部612は、例えばサービス提供装置1から送信された出力画面に変換データが含まれている場合、例えば表示部23の画面上で、その旨を通知するためのメッセージを表示する。また、GUI処理部612は、出力画面に含まれている変換データが変換される変換元データ(利用者データ)の候補(戻し変換候補)を利用者に対して提示する。
図14のフローチャートを参照して、変換設定情報に出力画面に関する事項(出力箇所)を設定する処理手順について説明する。ここでは、例えば対象出力画面が変換設定情報に設定されていないものとして説明する。
ここで、例えばサービス提供装置1によって例えば出力画面が、サービス連携装置2に対して送信されたものとする。この出力画面は、例えばサービス連携装置2からサービス提供装置1に対して送信されたリクエストデータに対する結果を出力する画面(結果画面)である。
まず、変換設定処理部611aは、サービス提供装置1によって送信された出力画面(結果画面)を受信する(ステップS81)。
変換設定処理部611aは、受信された出力画面(対象出力画面)に含まれるデータ(対象データ)を変換データとして含む変換結果情報が、変換情報記憶部212に格納されているか否かを判定する。これにより、変換設定処理部611aは、対象出力画面に含まれる対象データに対する戻し変換候補があるか否かを判定する(ステップS82)。
戻し変換候補があると判定された場合(ステップS82のYES)、変換設定処理部611aは、対象データ(変換データ)を含む変換結果情報に含まれる変換元データをGUI処理部612に送信する。
GUI処理部612は、表示部23により、対象出力画面をサービス連携装置2を利用する利用者に対して表示する。このとき、GUI処理部612は、変換設定処理部611aによって送信された利用者データを、戻し変換候補として対象出力画面に表示(提示)する(ステップS83)。
次に、GUI処理部612は、表示部23により表示された対象出力画面に表示された戻し変換候補が指定されたか否かを、利用者の操作に応じて判定する(ステップS84)。この場合、利用者は、表示部23により表示された対象出力画面を確認し、当該対象出力画面に表示された戻し変換候補の中から、適切な戻し変換候補(利用者データ)を指定(選択)する。このとき、利用者は、例えば対象出力画面上でマウス等を用いてクリックすることにより適切な戻し変換候補を指定することができる。
戻し変換候補が指定されたと判定された場合(ステップS84のYES)、GUI処理部612は、指定された戻し変換候補(利用者データ)を含む対象出力画面を表示装置23により表示する。
GUI処理部612は、対象出力画面における対象データが存在する箇所を示す指定箇所情報を取得する(ステップS85)。GUI処理部612は、取得された指定箇所情報を変換設定処理部611aに送信する。
変換設定処理部611aは、GUI処理部612によって送信された指定箇所情報によって示される指定箇所を、利用者データが出力される出力箇所として変換設定情報に設定する。変換設定処理部611aは、指定箇所が設定された変換設定情報を、変換情報記憶部212に登録(記録)する(ステップS86)。つまり、変換設定情報が書き換えられる。これにより、例えば次回からは対象出力画面に対して上記した指定箇所に出力されるデータは、登録された変換設定情報に基づいて、自動的に利用者データに戻し変換される。
一方、ステップS82において戻し変換候補がないと判定された場合、処理は終了される。また、ステップS84において戻し変換候補が指定されていないと判定された場合についても同様に処理は終了される。
次に、図15のフローチャートを参照して、変換設定情報から出力画面に関する事項(出力箇所)を解除する処理手順について説明する。ここでは、例えば対象出力画面が変換設定情報に設定されているものとして説明する。つまり、この変換設定情報には、例えば対象出力画面における出力箇所が設定されている。
まず、上述した図14に示すステップS81の処理に相当するステップS91の処理が実行される。
次に、変換設定処理部611aは、変換情報記憶部212に格納されている変換設定情報を参照する(ステップS92)。このとき、変換設定処理部611aは、変換設定情報に設定されている出力箇所(「input」タグの項目)を参照する。
変換設定処理部611aは、変換設定情報に設定されている対象出力画面における出力箇所(を示す情報)をGUI処理部612に通知する。このGUI処理部612に対して通知される出力箇所は、対象出力画面において利用者データが出力される場所(箇所)、つまり、例えば当該出力箇所に存在するデータ(変換データ)が利用者データに戻し変換される場所(箇所)を示す。
GUI処理部612は、表示部23により対象出力画面を表示する際に、変換設定処理部611aによって通知された出力箇所に例えば「データ変換箇所」と付加表示する(ステップS93)。つまり、GUI処理部612は、変換設定処理部611aによって通知された出力箇所に存在するデータ(変換データ)が利用者データに変換されて表示されている旨を利用者に対して付加表示する。
次に、GUI処理部612は、表示部23により表示された対象出力画面において、例えば「データ変換箇所」と付加表示されている箇所が指定されたか否かを、例えば利用者の操作に応じて判定する(ステップS94)。つまり、GUI処理部612は、対象出力画面において、変換設定情報に設定されている出力箇所が指定されたか否かを判定する。この場合、利用者は、表示部23により表示された対象出力画面を確認し、当該対象出力画面において、例えば「データ変換箇所」と表示されている箇所に出力されるデータを変換する必要がないと判断した場合に、当該箇所を指定する。このとき、利用者は、例えば対象出力画面上でマウス等を用いてクリックすることにより指定することができる。
例えば「データ変換箇所」と表示されている箇所(つまり、変換設定情報に設定されている出力箇所)が指定されたと判定された場合(ステップS94のYES)、GUI処理部612は、利用者によって対象出力画面に対して指定された箇所(指定箇所)を示す指定箇所情報を取得する(ステップS95)。GUI処理部612は、取得された指定箇所情報を変換設定処理部611aに対して送信する。
変換設定処理部611aは、対象出力画面が設定されている変換設定情報に基づいて、GUI処理部612によって送信された指定箇所情報によって示される指定箇所(つまり、変換設定情報に設定されている出力箇所)を解除する(ステップS96)。つまり、変換設定情報に設定されている出力箇所(指定箇所)を、当該変換設定情報から削除する。
変換設定処理部611aは、例えば指定箇所が解除された変換設定情報を変換情報記憶部212に登録(記録)する。つまり、変換設定情報が書き換えられる。これにより、例えば次回以降の処理では、この変換設定情報には出力箇所が設定されていないため、対象出力画面において上記した例えば「データ変換箇所」は付加表示されない。
一方、ステップS94において例えば「データ変換箇所」と表示されている箇所が指定されていないと判定された場合、処理は終了される。
上記したように本実施形態においては、表示部23により表示される出力画面(対象出力画面)に対して例えば利用者により指定された箇所(指定箇所)に基づいて、変換設定情報に対して出力箇所の設定または解除を自動的に行うことが可能となる。これにより、例えばサービス連携システムの管理者は、変換設定情報に設定されている出力箇所を更新することなく、自動的に出力箇所の設定または解除を行うことができる。
また、本実施形態においては、例えば対象出力画面において変換設定情報に設定されている出力箇所(つまり、利用者データに変換された表示される箇所)には例えば「データ変換箇所」等が付加表示されるため、利用者はこの表示を確認することで、データが変換されている場所(箇所)を確認することができる。
[第5の実施形態]
次に、図16を参照して、本発明の第5の実施形態について説明する。図16は、本実施形態に係るサービス連携システムの機能構成を示すブロック図である。
図16に示すように、本実施形態に係るサービス連携システムを構成するサービス連携装置7のサービス連携部71は、変換処理部711を含む。この変換処理部711は、一意性処理部711aを含む。
一意性処理部711aは、データ変換において、一意性のあるデータ変換を自動的に行う機能を有する。一意性処理部711aは、例えばサービス連携装置7を使用する利用者(ユーザ)がログインする際に、例えば当該利用者の操作に応じて入力されるユーザID(第1の識別情報)を取得する。一意性処理部711aは、例えば変換設定情報に設定されている入力箇所に入力されたデータ(利用者データ)及び取得されたユーザIDによって識別されるユーザID(第2の識別情報)を含む変換結果情報が変換情報記憶部212に格納されているか否かを判定する。変換結果情報が変換情報記憶部212に格納されている場合には、利用者データが変換される変換データとして、当該変換結果情報に含まれる変換データが用いられる。これにより、例えば同じ利用者が同じデータ(例えば、氏名等)を入力した場合には、同一の変換データに変換されることになる。
次に、図17のフローチャートを参照して、図16に示すサービス連携装置7の処理手順について説明する。ここでは、例えば対象入力画面が変換設定情報に設定されているものとして説明する。つまり、この変換設定情報には、例えば対象入力画面における入力箇所が設定されている。
変換設定処理部211aが、例えば表示部23により表示された入力画面(対象入力画面)に対して入力された入力データを取得した場合を想定する。この場合、変換設定処理部211aは、取得された入力データ(対象入力画面に対して入力されたデータ)において、変換設定情報に設定されている入力箇所に入力されたデータであって、当該変換設定情報に設定されているURL2に対して送信されるデータを利用者データとして特定する。変換設定処理部211aは、特定された利用者データを一意性処理部711aに送信する。
一意性処理部711aは、変換設定処理部211aによって送信された利用者データ(つまり、変換設定情報に設定されている入力箇所に入力されたデータ)及び当該利用者データを入力した利用者(ユーザ)を識別するユーザIDを取得する(ステップS101)。このユーザIDは、例えば利用者がログインする際に、例えば当該利用者の操作に応じてサービス連携装置7に入力される。
次に、一意性処理部711aは、変換情報記憶部212に格納されている変換結果情報を参照する(ステップS102)。
一意性処理部711aは、取得された利用者データを変換元データとして含み、かつ、取得されたユーザIDを含む変換結果情報が変換情報記憶部212に格納されているか否かを判定する(ステップS103)。
利用者データ(変換元データ)及びユーザIDを含む変換結果情報が変換情報記憶部212に格納されていると判定された場合(ステップS103のYES)、一意性処理部711aは、当該変換結果情報に含まれる変換データを取得する(ステップS104)。一意性処理部711aは、取得された変換データを変換設定処理部211aに送信する。
この場合、変換設定処理部211aは、一意性処理部711aによって送信された変換データを、変換元データ(利用者データ)が変換されたデータ(変換データ)として用いて、リクエストデータをサービス提供装置1に送信する。
一方、ステップS103において利用者データ(変換元データ)及びユーザIDを含む変換結果情報が変換情報記憶部212に格納されていないと判定された場合、変換設定処理部211aは、特定された利用者データをデータ変換部211bに送信する。
データ変換部211bは、例えば変換設定情報に基づいて、変換設定処理部211aによって送信された利用者データ(変換元データ)を変換データに変換する(ステップS105)。なお、このとき、データ変換部211bは、変換情報記憶部212に格納されている変換結果情報を参照して、当該変換結果情報に含まれている変換データ以外の変換データに変換する。
上記したように本実施形態においては、変換設定情報に設定されている入力箇所に入力されたデータを変換データに変換する際に、変換結果情報を参照することによって一意性を設けることが可能となる。つまり、例えば同じユーザが同じデータを入力した場合には、同じ変換データが用いられる。これにより、サービス提供装置1側では、サービス連携装置7(の変換設定処理部211a)から送信された変換データを、一意性を有するデータとして処理することでき、例えばログ解析等の処理を行うことが可能となる。
[第6の実施形態]
次に、図18を参照して、本発明の第6の実施形態について説明する。図18は、本実施形態に係るサービス連携システムの機能構成を示すブロック図である。図18に示すように、本実施形態に係るサービス連携システムは、サービス提供装置11及びサービス連携装置8を備える。
サービス提供装置11は、サービス連携装置8から送信されたリクエストデータ(に含まれる変換データ)が例えば当該データの長さまたは文字角等が当該サービス提供装置11にとって沿わない(適切でない)ものである場合に、その旨を警告するための警告メッセージをサービス連携装置8に対して送信する機能を有する。
サービス連携装置8は、サービス連携部81を含む。このサービス連携部81は、変換処理部811及び変換情報記憶部812を含む。
変換処理部811は、変換設定処理部811a及びデータ変換部811bを含む。変換設定処理部811aは、サービス提供装置11によって送信された警告メッセージに応じて、当該警告メッセージの元となる変換データ(つまり、上記した適切でない変換データ)を補正変換するための処理(以下、補正変換処理と表記)の内容をデータ変換部811bに通知する。この際、変換処理部811aは、変換情報記憶部812に格納されているメッセージ対応情報に基づいて、補正変換処理の内容を通知する。
変換情報記憶部812に記憶されているメッセージ対応情報には、例えば警告メッセージ(の内容)及び当該警告メッセージに対応する補正変換処理(の内容)が設定されている。このメッセージ対応情報は、例えばサービス連携システムの管理者によって予め設定される。
データ変換部811bは、警告メッセージの元となる変換データを、当該警告メッセージの内容を満たす変換データに補正変換する。このとき、データ変換部811bは、変換設定処理部811aによって通知された補正変換処理の内容に基づいて、補正変換処理を実行する。以下、補正変換された変換データを補正変換データと称する。
図19は、変換情報記憶部812に格納されているメッセージ対応情報のデータ構造の一例を示す。図19に示すように、メッセージ対応情報には、メッセージ及び補正変換処理が対応付けて設定されている。メッセージ対応情報に設定されているメッセージは、例えばサービス提供装置11によって送信された警告メッセージの内容を示す。メッセージ対応情報に設定されている補正変換処理は、例えば当該補正変換処理に対応付けて設定されている内容の警告メッセージがサービス提供装置11によって送信された場合に、当該警告メッセージの元となる変換データに対して実行される補正変換処理の内容を示す。
図19に示す例では、メッセージ対応情報851には、メッセージ「n(数値)文字以上」及び補正変換処理「n(数値)文字以上に変換」が設定されている。このメッセージ対応情報851によれば、例えば警告メッセージ(の内容)が例えば「n文字以上で入力」であった場合には、当該警告メッセージの元となる変換データに対して実行される補正変換処理として「n文字以上に変換」の処理が実行されることが示される。
また、メッセージ対応情報852には、メッセージ「半角で入力」及び補正変換処理「半角に変換」が設定されている。このメッセージ対応情報852によれば、例えば警告メッセージ(の内容)が例えば「半角で入力」であった場合には、当該警告メッセージの元となる変換データに対して実行される補正変換処理として「半角に変換」の処理が実行されることが示される。
次に、図20のフローチャートを参照して、本実施形態に係るサービス連携システムの処理手順について説明する。
まず、図8のフローチャートに示すステップS11〜ステップS19の処理に相当するステップS111〜ステップS119の処理が実行される。なお、ステップS114の処理(振り分け処理)は省略される構成であっても構わない。
なお、以下の処理では、例えば上記したステップS116において対象入力画面が変換設定情報に設定されていると判定され、ステップS117及びステップS118の処理が実行されたものとして説明する。
次に、変換設定処理部811aは、受信された対象出力画面に警告メッセージが含まれているか否かを判定する(ステップS120)。
警告メッセージが含まれていると判定された場合(ステップS120のYES)、変換設定処理部811aは、変換情報記憶部812に格納されているメッセージ対応情報に基づいて、当該警告メッセージの元となる変換データに対して実行する補正変換処理(の内容)をデータ変換部811bに対して通知する。この場合、変換設定処理部811aは、例えば警告メッセージを解析することにより、当該警告メッセージの内容を抽出する。変換設定処理部811aは、抽出された警告メッセージの内容に対応付けてメッセージ対応情報に設定されている補正変換処理(の内容)をデータ変換部811bに対して通知する。
データ変換部811bは、変換設定処理部811aによって通知された補正変換処理の内容に応じて、補正変換処理を実行する(ステップS121)。
ここで、例えば警告メッセージの元となる変換データが「あいうえお」であり、当該変換データ「あいうえお」に対してサービス提供装置1から送信された警告メッセージが例えば「6文字以上で入力」であった場合を想定する。この場合、変換設定処理部811aは、例えば図19に示すメッセージ対応情報851を参照して、補正変換処理の内容として「6文字以上に変換」をデータ変換部811aに通知する。データ変換部811aは、変換設定処理部811aによって通知された補正変換処理の内容「6文字以上に変換」に基づいて、例えば変換データ「あいうえお」を補正変換データ「あいうえおか(6文字)」に補正変換する。この場合、データ変換部811bは、補正変換データ「あいうえおか」を変換設定処理部811aに対して送信する。
変換設定処理部811aは、データ変換部811bによって送信された補正変換データを含む変換結果情報を変換情報記憶部812に格納する(ステップS122)。つまり、変換設定処理部811aは、例えば上記したステップS118において変換情報記憶部212に格納された変換結果情報に含まれる変換データに、補正変換データを上書きする。
ステップS122の処理が実行されると、変換設定処理部811aは、データ変換部811bによって送信された補正変換データを含むリクエストデータをサービス提供装置11に対して送信する。
補正変換データを含むリクエストデータがサービス提供装置11に対して送信されると、ステップS119に戻って処理が繰り返される。
一方、ステップS120において警告メッセージが含まれていないと判定された場合、図8に示すステップ20〜ステップS23の処理に相当するステップS123〜ステップS126の処理が実行される。
ところで、例えば上記したステップS116の処理において対象入力画面が変換設定情報に設定されていないと判定された場合、ステップS117及びS118の処理は実行されない。この場合では、データ変換処理は実行されていないため、上記したステップS121及びステップS122の処理は実行されない。したがって、例えばデータ変換処理(ステップS117及びステップS118の処理)が実行されていない場合であって、上記したステップS120において警告メッセージが含まれていると判定された場合には、例えば当該警告メッセージが利用者に対して表示され、当該利用者に対して警告メッセージの元となるデータの再入力を促す処理が実行される。
また、上記したステップS120において警告メッセージが含まれていると判定された場合、当該警告メッセージに基づいて制約条件(情報)を生成し、当該制約条件が変換設定情報に設定される構成であっても構わない。上記したように警告メッセージが例えば「6文字以上で入力して下さい。」である場合には、「6文字以上(で入力)」を示す制約条件が生成され、変換設定情報に設定される。
上記したように本実施形態においては、サービス提供装置1に対して送信された変換データが例えば長さまたは文字角等が適切でない場合に当該サービス提供装置1から送信された警告メッセージの内容に基づいて、当該変換データに対して補正変換処理が実行される。これにより、例えば変換設定情報に基づいて自動的に変換された変換データに対して警告メッセージが送信された場合であっても、当該警告メッセージの内容を満たすように自動的に当該変換データを補正変換処理することが可能となる。
なお、本願発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組合せてもよい。
1,11…サービス提供装置、2,5,6,7,8…サービス連携装置、3…サービスデータベース(DB)、4…利用者データベース(DB)、21,51,61,71,81…サービス連携部、22…データベース(DB)アクセス部、23…表示部、211,511,611,711,811…変換処理部、211a,511b,611a,811a…変換設定処理部、211b,811b…データ変換部、212,512,812…変換情報記憶部、213…振り分け部、511a…制約条件処理部、513,612…GUI処理部、711a…一意性処理部。