(57)【要約】【課題】複数のＡＰＩ処理するマッシュアップＡＰＩについて適切に秘匿化する。【解決手段】サービス提供サーバ１は、マッシュアップＡＰＩについて暗号化するとの指示を受信する暗号対象ＡＰＩ指定部３６と、暗号対象項目データＥを生成して、部品提供サーバ２に通知する暗号対象項目通知部３７と、アプリケーション実行装置６からマッシュアップＡＰＩの処理クエストを受信し、マッシュアップＡＰＩで特定される複数のＡＰＩを所定の処理順序で、部品提供サーバ２に実行させるＡＰＩ処理部３８を備える、部品提供サーバ２は、サービス提供サーバ１からＡＰＩの処理リクエストを受信して、ＡＰＩを処理し、処理したＡＰＩの出力項目のうち、暗号対象項目データＥで暗号化対象として指定された出力項目を暗号化して処理レスポンスを生成するＡＰＩ処理部１２３を備える。【選択図】図１
2019204986.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションを実行するアプリケーション実行装置から、複数のＡＰＩと前記ＡＰＩの処理順序を特定するマッシュアップＡＰＩの処理リクエストを受信して処理するサービス提供システムであって、
前記アプリケーション実行装置からマッシュアップＡＰＩの処理クエストを受信し、前記マッシュアップＡＰＩで特定される複数のＡＰＩを前記処理順序で、後記部品提供サーバに実行させるサービス提供サーバと、
前記サービス提供サーバからＡＰＩの処理リクエストを受信して、前記ＡＰＩを処理し、前記サービス提供サーバに処理レスポンスを返す部品提供サーバを備え、
前記サービス提供サーバは、
前記マッシュアップＡＰＩについて暗号化するとの指示を受信する暗号対象ＡＰＩ指定部と、
前記マッシュアップＡＰＩが特定する複数のＡＰＩと前記ＡＰＩの処理順序に従って、各ＡＰＩの出力項目のうち、後続のＡＰＩで参照される出力項目は暗号化対象外として指定し、後続のＡＰＩで参照される出力項目は暗号化対象として指定する暗号対象項目データを生成して、前記部品提供サーバに通知する暗号対象項目通知部と、
前記アプリケーション実行装置からマッシュアップＡＰＩの処理クエストを受信し、前記マッシュアップＡＰＩで特定される複数のＡＰＩを前記処理順序で、前記部品提供サーバに実行させ、前記部品提供サーバからの処理レスポスに基づいて、前記アプリケーション実行装置に送信する処理レスポンスを作成して送信するＡＰＩ処理部を備え、
前記部品提供サーバは、
前記サービス提供サーバから暗号対象項目データを取得する暗号対象項目取得部と、
前記サービス提供サーバからＡＰＩの処理リクエストを受信して、前記ＡＰＩを処理し、処理した前記ＡＰＩの出力項目のうち、前記暗号対象項目データで暗号化対象として指定された出力項目を暗号化して前記処理レスポンスを生成して、前記サービス提供サーバに前記処理レスポンスを返すＡＰＩ処理部を備える
ことを特徴とするサービス提供システム。
【請求項２】
前記サービス提供サーバは、
前記アプリケーション実行装置が復号可能な暗号データを生成する暗号鍵データを取得する暗号鍵取得部と、
前記暗号鍵データを前記部品提供サーバに提供する暗号鍵提供部
をさらに備え、
前記部品提供サーバのＡＰＩ処理部は、前記暗号鍵データで、暗号化対象として指定された出力項目を暗号化する
ことを特徴とする請求項１に記載のサービス提供システム。
【請求項３】
アプリケーションを実行するアプリケーション実行装置から、複数のＡＰＩと前記ＡＰＩの処理順序を特定するマッシュアップＡＰＩの処理リクエストを受信して処理するサービス提供システムに用いられるサービス提供サーバであって、
前記サービス提供システムは、
前記アプリケーション実行装置からマッシュアップＡＰＩの処理クエストを受信し、前記マッシュアップＡＰＩで特定される複数のＡＰＩを前記処理順序で、後記部品提供サーバに実行させるサービス提供サーバと、
前記サービス提供サーバからＡＰＩの処理リクエストを受信して、前記ＡＰＩを処理し、前記サービス提供サーバに処理レスポンスを返す部品提供サーバを備え、
前記サービス提供サーバは、
前記マッシュアップＡＰＩについて暗号化するとの指示を受信する暗号対象ＡＰＩ指定部と、
前記マッシュアップＡＰＩが特定する複数のＡＰＩと前記ＡＰＩの処理順序に従って、各ＡＰＩの出力項目のうち、後続のＡＰＩで参照される出力項目は暗号化対象外として指定し、後続のＡＰＩで参照される出力項目は暗号化対象として指定する暗号対象項目データを生成して、前記部品提供サーバに通知する暗号対象項目通知部と、
前記アプリケーション実行装置からマッシュアップＡＰＩの処理クエストを受信し、前記マッシュアップＡＰＩで特定される複数のＡＰＩを前記処理順序で、前記部品提供サーバに実行させ、前記部品提供サーバからの処理レスポスに基づいて、前記アプリケーション実行装置に送信する処理レスポンスを作成して送信するＡＰＩ処理部を備える
ことを特徴とするサービス提供サーバ。
【請求項４】
アプリケーションを実行するアプリケーション実行装置から、複数のＡＰＩと前記ＡＰＩの処理順序を特定するマッシュアップＡＰＩの処理リクエストを受信して処理するサービス提供システムに用いられるサービス提供方法であって、
前記サービス提供システムは、
前記アプリケーション実行装置からマッシュアップＡＰＩの処理クエストを受信し、前記マッシュアップＡＰＩで特定される複数のＡＰＩを前記処理順序で、後記部品提供サーバに実行させるサービス提供サーバと、
前記サービス提供サーバからＡＰＩの処理リクエストを受信して、前記ＡＰＩを処理し、前記サービス提供サーバに処理レスポンスを返す部品提供サーバを備え、
前記サービス提供方法は、
前記サービス提供サーバが、前記マッシュアップＡＰＩについて暗号化するとの指示を受信するステップと、
前記サービス提供サーバが、前記マッシュアップＡＰＩが特定する複数のＡＰＩと前記ＡＰＩの処理順序に従って、各ＡＰＩの出力項目のうち、後続のＡＰＩで参照される出力項目は暗号化対象外として指定し、後続のＡＰＩで参照される出力項目は暗号化対象として指定する暗号対象項目データを生成して、前記部品提供サーバに通知するステップと、
前記部品提供サーバが、前記サービス提供サーバから暗号対象項目データを取得するステップと、
前記サービス提供サーバが、前記アプリケーション実行装置からマッシュアップＡＰＩの処理クエストを受信し、前記マッシュアップＡＰＩで特定される複数のＡＰＩを前記処理順序で、前記部品提供サーバに実行させるステップと、
前記部品提供サーバが、前記サービス提供サーバからＡＰＩの処理リクエストを受信して、前記ＡＰＩを処理し、処理した前記ＡＰＩの出力項目のうち、前記暗号対象項目データで暗号化対象として指定された出力項目を暗号化して前記処理レスポンスを生成して、前記サービス提供サーバに前記処理レスポンスを返すステップと、
前記サービス提供サーバが、前記部品提供サーバからの処理レスポスに基づいて、前記アプリケーション実行装置に送信する処理レスポンスを作成して送信するステップ
を備えることを特徴とするサービス提供方法。
【請求項５】
コンピュータを、請求項３に記載のサービス提供サーバとして機能させるためのサービス提供プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションを実行するアプリケーション実行装置から、複数のＡＰＩとＡＰＩの処理順序を特定するマッシュアップＡＰＩの処理リクエストを受信して処理するサービス提供システム、サービス提供サーバ、サービス提供方法およびサービス提供プログラムに関する。
【背景技術】
【０００２】
一般的に、アプリケーションの処理の一部を、部品提供サーバが担うシステムが普及している。部品提供サーバは、イネーブラとも呼ばれ、少なくとも一つのアプリケーションに、特定の機能を提供する。
【０００３】
このようなシステムにおいて、アプリケーションは、複数の部品提供サーバを収容するサービス提供サーバに、必要な引数（パラメータ）を指定したＡＰＩの処理リクエストを送信する。サービス提供サーバは、送信された処理リクエストに従って、ＡＰＩを実行する部品提供サーバに、アプリケーションから送信された必要な引数を送信し、その処理結果を、部品提供サーバから受信して、アプリケーションに返す。
【０００４】
またアプリケーションの一つの処理リクエストに従って、複数のＡＰＩを処理する場合もある。このようにマッシュアップされたＡＰＩは、マッシュアップＡＰＩと称される。マッシュアップＡＰＩは、実行されるＡＰＩの種類および順序などが、予めアプリケーション開発者とサービス提供サーバとの間で定義される。
【０００５】
またアプリケーションが送信または受信するデータの秘匿化が必要になる場合がある。例えば特許文献１に記載のシステムにおいて、アプリケーションは、予め指定された暗号化キーを用いてＡＰＩのパラメータを暗号化して部品提供サーバに送信する。さらに部品提供サーバは、予め指定された暗号化キーを用いて処理結果を暗号化して、アプリケーションに送信する。なお特許文献１は、マッシュアップＡＰＩではなく、アプリケーションが、単一のＡＰＩを呼び出す場合の処理を開示する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１８−２９２４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、複数のＡＰＩ処理するマッシュアップＡＰＩについて秘匿化するに際し、特許文献１に記載の方法を用いることができない場合がある。
【０００８】
例えば、マッシュアップＡＰＩにおいて複数のＡＰＩを所定の処理順序で実行するに際し、先に処理されるＡＰＩの出力項目が、後に処理されるＡＰＩの入力項目となる場合がある。各ＡＰＩの出力項目を一律に暗号化すると、マッシュアップＡＰＩを適切に処理できない場合がある。
【０００９】
従って本発明の目的は、複数のＡＰＩ処理するマッシュアップＡＰＩについて適切に秘匿化するサービス提供システム、サービス提供サーバ、サービス提供方法およびサービス提供プログラムを提供することである。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明の第１の特徴は、アプリケーションを実行するアプリケーション実行装置から、複数のＡＰＩとＡＰＩの処理順序を特定するマッシュアップＡＰＩの処理リクエストを受信して処理するサービス提供システムに関する。本発明の第１の特徴に係るサービス提供システムは、アプリケーション実行装置からマッシュアップＡＰＩの処理クエストを受信し、マッシュアップＡＰＩで特定される複数のＡＰＩを処理順序で、後記部品提供サーバに実行させるサービス提供サーバと、
【００１１】
サービス提供サーバからＡＰＩの処理リクエストを受信して、ＡＰＩを処理し、サービス提供サーバに処理レスポンスを返す部品提供サーバを備える。サービス提供サーバは、マッシュアップＡＰＩについて暗号化するとの指示を受信する暗号対象ＡＰＩ指定部と、マッシュアップＡＰＩが特定する複数のＡＰＩとＡＰＩの処理順序に従って、各ＡＰＩの出力項目のうち、後続のＡＰＩで参照される出力項目は暗号化対象外として指定し、後続のＡＰＩで参照される出力項目は暗号化対象として指定する暗号対象項目データを生成して、部品提供サーバに通知する暗号対象項目通知部と、アプリケーション実行装置からマッシュアップＡＰＩの処理クエストを受信し、マッシュアップＡＰＩで特定される複数のＡＰＩを処理順序で、部品提供サーバに実行させ、部品提供サーバからの処理レスポスに基づいて、アプリケーション実行装置に送信する処理レスポンスを作成して送信するＡＰＩ処理部を備える。部品提供サーバは、サービス提供サーバから暗号対象項目データを取得する暗号対象項目取得部と、サービス提供サーバからＡＰＩの処理リクエストを受信して、ＡＰＩを処理し、処理したＡＰＩの出力項目のうち、暗号対象項目データで暗号化対象として指定された出力項目を暗号化して処理レスポンスを生成して、サービス提供サーバに処理レスポンスを返すＡＰＩ処理部を備える。
【００１２】
サービス提供サーバは、アプリケーション実行装置が復号可能な暗号データを生成する暗号鍵データを取得する暗号鍵取得部と、暗号鍵データを部品提供サーバに提供する暗号鍵提供部をさらに備え、部品提供サーバのＡＰＩ処理部は、暗号鍵データで、暗号化対象として指定された出力項目を暗号化しても良い。
【００１３】
本発明の第２の特徴は、アプリケーションを実行するアプリケーション実行装置から、複数のＡＰＩとＡＰＩの処理順序を特定するマッシュアップＡＰＩの処理リクエストを受信して処理するサービス提供システムに用いられるサービス提供サーバに関する。本発明の第２の特徴においてサービス提供システムは、アプリケーション実行装置からマッシュアップＡＰＩの処理クエストを受信し、マッシュアップＡＰＩで特定される複数のＡＰＩを処理順序で、後記部品提供サーバに実行させるサービス提供サーバと、サービス提供サーバからＡＰＩの処理リクエストを受信して、ＡＰＩを処理し、サービス提供サーバに処理レスポンスを返す部品提供サーバを備える。サービス提供サーバは、マッシュアップＡＰＩについて暗号化するとの指示を受信する暗号対象ＡＰＩ指定部と、マッシュアップＡＰＩが特定する複数のＡＰＩとＡＰＩの処理順序に従って、各ＡＰＩの出力項目のうち、後続のＡＰＩで参照される出力項目は暗号化対象外として指定し、後続のＡＰＩで参照される出力項目は暗号化対象として指定する暗号対象項目データを生成して、部品提供サーバに通知する暗号対象項目通知部と、アプリケーション実行装置からマッシュアップＡＰＩの処理クエストを受信し、マッシュアップＡＰＩで特定される複数のＡＰＩを処理順序で、部品提供サーバに実行させ、部品提供サーバからの処理レスポスに基づいて、アプリケーション実行装置に送信する処理レスポンスを作成して送信するＡＰＩ処理部を備える。
【００１４】
本発明の第３の特徴は、アプリケーションを実行するアプリケーション実行装置から、複数のＡＰＩとＡＰＩの処理順序を特定するマッシュアップＡＰＩの処理リクエストを受信して処理するサービス提供システムに用いられるサービス提供方法に関する。本発明の第３の特徴に係るサービス提供方法においてサービス提供システムは、アプリケーション実行装置からマッシュアップＡＰＩの処理クエストを受信し、マッシュアップＡＰＩで特定される複数のＡＰＩを処理順序で、後記部品提供サーバに実行させるサービス提供サーバと、サービス提供サーバからＡＰＩの処理リクエストを受信して、ＡＰＩを処理し、サービス提供サーバに処理レスポンスを返す部品提供サーバを備える。サービス提供方法は、サービス提供サーバが、マッシュアップＡＰＩについて暗号化するとの指示を受信するステップと、サービス提供サーバが、マッシュアップＡＰＩが特定する複数のＡＰＩとＡＰＩの処理順序に従って、各ＡＰＩの出力項目のうち、後続のＡＰＩで参照される出力項目は暗号化対象外として指定し、後続のＡＰＩで参照される出力項目は暗号化対象として指定する暗号対象項目データを生成して、部品提供サーバに通知するステップと、部品提供サーバが、サービス提供サーバから暗号対象項目データを取得するステップと、サービス提供サーバが、アプリケーション実行装置からマッシュアップＡＰＩの処理クエストを受信し、マッシュアップＡＰＩで特定される複数のＡＰＩを処理順序で、部品提供サーバに実行させるステップと、部品提供サーバが、サービス提供サーバからＡＰＩの処理リクエストを受信して、ＡＰＩを処理し、処理したＡＰＩの出力項目のうち、暗号対象項目データで暗号化対象として指定された出力項目を暗号化して処理レスポンスを生成して、サービス提供サーバに処理レスポンスを返すステップと、サービス提供サーバが、部品提供サーバからの処理レスポスに基づいて、アプリケーション実行装置に送信する処理レスポンスを作成して送信するステップを備える。
【００１５】
本発明の第４の特徴は、コンピュータに、本発明の第２の特徴に記載のサービス提供サーバとして機能させるためのサービス提供プログラムに関する。
【発明の効果】
【００１６】
本発明によれば、複数のＡＰＩ処理するマッシュアップＡＰＩについて適切に秘匿化するサービス提供システム、サービス提供サーバ、サービス提供方法およびサービス提供プログラムを提供することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施の形態に係るアプリケーション提供システムのシステム構成図である。
【図２】本発明の実施の形態に係るアプリケーション提供システムにおけるサービス提供方法を説明するシーケンス図である。
【図３】本発明の実施の形態に係るサービス提供方法において、アプリケーション開発者が、アプリケーションで用いるマッシュアップＡＰＩと暗号化の有無を指定する画面の一例である。
【図４】本発明の実施の形態に係るサービス提供システムにおいて、マッシュアップＡＰＩを構成する各ＡＰＩによる出力項目の暗号化の有無の一例を説明する図である。
【図５】図４に示す例において用いられるマッシュアップＡＰＩの仕様を説明する図である。
【図６】本発明の実施の形態に係るサービス提供システムにおいて、マッシュアップＡＰＩを実行する際に送受信されるデータの一例を説明する図である（その１）。
【図７】本発明の実施の形態に係るサービス提供システムにおいて、マッシュアップＡＰＩを実行する際に送受信されるデータの一例を説明する図である（その２）。
【図８】本発明の実施の形態に係るサービス提供サーバのハードウエアおよび機能ブロックを説明する図である。
【図９】本発明の実施の形態に係るサービス提供サーバの暗号対象ＡＰＩデータのデータ構造とデータの一例を説明する図である。
【図１０】本発明の実施の形態に係るサービス提供サーバの暗号対象項目データのデータ構造とデータの一例を説明する図である。
【図１１】本発明の実施の形態に係るサービス提供サーバの暗号対象項目データをＪＳＯＮ形式で記載した場合のデータの一例を説明する図である。
【図１２】本発明の実施の形態に係る部品提供サーバのハードウエアおよび機能ブロックを説明する図である。
【発明を実施するための形態】
【００１８】
次に、図面を参照して、本発明の実施の形態を説明する。以下の図面の記載において、同一または類似の部分には同一または類似の符号を付している。
【００１９】
（アプリケーション提供システム）
図１を参照して、本発明の実施の形態に係るサービス提供サーバ１が用いられるアプリケーション提供システム９を説明する。
【００２０】
アプリケーション提供システム９は、サービス提供サーバ１を備えるサービス提供システム５、第１のアプリケーション実行装置６ａ、第２のアプリケーション実行装置６ｂおよびアプリ開発者端末７を備える。サービス提供システム５、第１のアプリケーション実行装置６ａ、第２のアプリケーション実行装置６ｂおよびアプリ開発者端末７は、インターネット等の通信ネットワーク８により相互に通信可能に接続される。
【００２１】
本発明の実施の形態において第１のアプリケーション実行装置６ａおよび第２のアプリケーション実行装置６ｂを区別しない場合、単にアプリケーション実行装置６と記載する場合がある。図１には２つのアプリケーション実行装置６を記載するが、アプリケーション提供システム９は、１つ以上のアプリケーション実行装置６を備えれば良い。
【００２２】
アプリケーション実行装置６は、マッシュアップＡＰＩを含むＡＰＩの処理をサービス提供システム５にリクエストして、その処理結果を受信するアプリケーションを実行する端末である。アプリケーション実行装置６の処理結果は、さらに他の端末（図示せず）に提供される場合もある。
【００２３】
アプリ開発者端末７は、アプリケーション実行装置６で実行されるアプリケーションを開発する開発者が用いる端末である。アプリ開発者端末７は、アプリケーション実行装置６に実行させるアプリケーションの開発時に、マッシュアップＡＰＩの定義を、サービス提供システム５との間で決定する。その際、アプリ開発者端末７は、サービス提供システム５がこれらのＡＰＩを用いるアプリケーションを識別するための識別子（ＡＰＬキーまたはＡＰＬ＿ＩＤ）を、サービス提供システム５から取得する。アプリケーションがＡＰＩをサービス提供システム５に送信する際、アプリケーションを識別するための識別子が設定される。
【００２４】
サービス提供システム５は、アプリケーションを実行するアプリケーション実行装置６から、複数のＡＰＩ記ＡＰＩの処理順序を特定するマッシュアップＡＰＩの処理リクエストを受信して処理する。サービス提供システム５は、サービス提供サーバ１、第１の部品提供サーバ２ａ、第２の部品提供サーバ２ｂおよびサービス提供管理者端末３を備える。サービス提供サーバ１、第１の部品提供サーバ２ａ、第２の部品提供サーバ２ｂおよびサービス提供管理者端末３は、ＬＡＮ（Local Area Network）などの通信ネットワーク４により相互に通信可能に接続される。
【００２５】
本発明の実施の形態において第１の部品提供サーバ２ａおよび第２の部品提供サーバ２ｂを区別しない場合、単に部品提供サーバ２と記載する場合がある。図１には２つの部品提供サーバ２を記載するが、本発明の実施の形態において、サービス提供システム５が一つのマッシュアップＡＰＩを構成する複数のＡＰＩを実行できればよく、部品提供サーバ２の数は問わない。
【００２６】
サービス提供サーバ１は、アプリケーション実行装置６から処理リクエストを受信し、処理リクエストに従って、サービス提供サーバ１が収容する部品提供サーバ２に、所定のＡＰＩの処理を実行させる。サービス提供サーバ１は、部品提供サーバ２による処理結果を、アプリケーション実行装置６に返す。本発明の実施の形態に係るサービス提供サーバ１は特に、アプリケーション実行装置６からマッシュアップＡＰＩの処理クエストを受信し、マッシュアップＡＰＩで特定される複数のＡＰＩをこの処理順序で、部品提供サーバ２に実行させる。
【００２７】
サービス提供サーバ１はさらに、サービス提供管理者端末３およびアプリ開発者端末７からの指示に従って、アプリケーションで用いるＡＰＩシナリオに従って、ＡＰＩを作成し、マッシュアップＡＰＩの識別子（ＡＰＩキー）を定義する。サービス提供サーバ１は、アプリ開発者端末７に、サービス提供サーバ１がアプリケーションを識別するためのＡＰＬキーを払い出す。また本発明の実施の形態においてサービス提供サーバ１は、アプリケーションの実行に先だって、アプリケーションで実行されるマッシュアップＡＰＩについて、各部品提供サーバ２の出力項目のうち、暗号化すべき出力項目とその暗号化キーを、各部品提供サーバ２に通知する。
【００２８】
部品提供サーバ２は、サービス提供サーバ１からＡＰＩの処理リクエストを受信して、ＡＰＩを処理し、サービス提供サーバ１に処理レスポンスを返す。本発明の実施の形態において部品提供サーバ２は、処理結果をサービス提供サーバ１に送信する際、予めサービス提供サーバ１によって指定された出力項目を暗号化する。部品提供サーバ２は、１つのサーバで複数のＡＰＩを実行しても良い。
【００２９】
サービス提供管理者端末３は、サービス提供システム５を管理する管理者の端末である。サービス提供管理者端末３は、マッシュアップＡＰＩにおいて部品提供サーバ２が実行するＡＰＩの組み合わせおよび処理順序等を記載したシナリオを準備し、サービス提供サーバ１に読み込ませる。
【００３０】
図２を参照して、図１に示すサービス提供システム５におけるサービス提供方法を説明する。図２に示す処理は、所定のアプリケーション（Ａアプリ）に関する処理を示す。ステップＳ１ないしステップＳ８は、アプリケーション実行装置６がこのアプリケーションを実行する前に行う前処理である。ステップＳ１１ないしステップＳ１６は、アプリケーション実行装置６がこのアプリケーションを実行する際の処理である。
【００３１】
まずステップＳ１においてサービス提供管理者端末３は、シナリオをサービス提供サーバ１に読み込ませる。このシナリオは、マッシュアップＡＰＩについて、ＡＰＩを特定するデータと、そのＡＰＩの処理順序を指定する。またシナリオにおいて、マッシュアップＡＰＩの識別子（マッシュアップＡＰＩキー）が特定される。
【００３２】
ステップＳ２においてサービス提供サーバ１は、ステップＳ１で送信されたシナリオに従って、ＡＰＩとＡＰＩの呼出順序を解析し、マッシュアップＡＰＩを定義する。
【００３３】
ステップＳ３においてアプリ開発者端末７は、サービス提供サーバ１に対して、アプリケーションで用いるＡＰＩと、アプリケーションで用いるＡＰＩのうち出力を暗号化するＡＰＩを指定する。例えばサービス提供サーバ１は、アプリ開発者端末７に図３に示す開発者ポータル画面を表示する。開発者ポータル画面は、アプリ開発者に、Ａアプリにおいて用いるマッシュアップＡＰＩの種別と、そのマッシュアップＡＰＩの出力を暗号するか否かを指定させる。図３に示す例では、Ａアプリでは、apiMashupAと、apiMashupCの各マッシュアップＡＰＩを使うことと、apiMashupAの出力を暗号化し、apiMashupCの出力を暗号化しないことが指定されている。サービス提供サーバ１は、ステップＳ３で指定された内容を保持する。なお図３に示す例では、マッシュアップＡＰＩのみ記載しているが、マッシュアップされていない単一のＡＰＩも表示しても良い。
【００３４】
ステップＳ４においてアプリ開発者端末７は、ステップＳ３で指定されたアプリケーションで復号可能な暗号鍵を、サービス提供サーバ１に送信する。サービス提供サーバ１は、アプリケーションの識別子と、暗号鍵を対応づけて保持する。さらにステップＳ５においてサービス提供サーバ１は、ステップＳ３で指定されたアプリケーションをサービス提供サーバ１が識別するためのＡＰＬキーを払い出し、アプリ開発者端末７に送信する。
【００３５】
ステップＳ６においてサービス提供サーバ１は、アプリケーションで用いられるマッシュアップＡＰＩの識別子について、ステップＳ３における指定に従って、暗号対象ＡＰＩデータ１２と、暗号対象項目データＥを生成する。暗号対象ＡＰＩデータ１２は、サービス提供サーバ１が扱うマッシュアップＡＰＩのうち、暗号化が必要となるマッシュアップＡＰＩの識別子（マッシュアップＡＰＩキー）と、そのＡＰＩを呼び出すアプリケーションの識別子（ＡＰＬキー）を対応づけるデータである。暗号対象項目データＥは、マッシュアップＡＰＩを構成する各ＡＰＩを実行する部品提供サーバ２において、ＡＰＩの処理結果において、暗号化するべき出力項目を特定するデータである。暗号対象項目データＥは、部品提供サーバ２毎に生成される。
【００３６】
ステップＳ７およびステップＳ８においてサービス提供サーバ１は、ステップＳ４で受信した暗号鍵と、ステップＳ６で生成した暗号対象項目データＥを、各部品提供サーバ２に送信する。
【００３７】
ステップＳ１１においてアプリケーション実行装置６は、アプリケーション実行中に、マッシュアップＡＰＩの処理リクエストをサービス提供サーバ１に送信する。この処理リクエストには、マッシュアップＡＰＩの識別子（マッシュアップＡＰＩキー）と、このアプリケーションの識別子（ＡＰＬキー）を含む。またここでリクエストされるマッシュアップＡＰＩは、暗号化対象であるとする。
【００３８】
サービス提供サーバ１は、アプリケーション実行装置６から処理リクエストを受信すると、マッシュアップＡＰＩキーで特定されるマッシュアップＡＰＩを構成する各ＡＰＩを、部品提供サーバ２に実行させる。マッシュアップＡＰＩを、第１の部品提供サーバ２ａおよび第２の部品提供サーバ２ｂの順で、それぞれＡＰＩを実行させる場合、ステップＳ１２においてサービス提供サーバ１は、第１の部品提供サーバ２ａに処理リクエストを送信して、ステップＳ１３において処理レスポンスを受信する。ステップＳ１４においてサービス提供サーバ１は、第２の部品提供サーバ２ｂに処理リクエストを送信して、ステップＳ１５において処理レスポンスを受信する。
【００３９】
本発明の実施の形態において処理レスポンスは、複数の出力項目により構成される。複数の出力項目のうち、後続の処理の入力になる出力項目については平文で出力され、後続の処理の入力にならない出力項目については、ステップＳ４で受信した暗号鍵で暗号化されて出力される。例えばステップＳ１３でサービス提供サーバ１が受信する処理レスポンスを構成する出力項目のうち、ステップＳ１４で送信する処理リクエストに含まれる出力項目について、第１の部品提供サーバ２ａは、暗号化せずに平文で処理レスポンスに含ませる。一方、ステップＳ１３でサービス提供サーバ１が受信する処理レスポンスを構成する出力項目のうち、ステップＳ１４で送信する処理リクエストに含まれない出力項目について、第１の部品提供サーバ２ａは、暗号化して処理レスポンスに含ませる。また、最後のＡＰＩを実行する第２の部品提供サーバ２ｂは、ＡＰＩの各出力項目を暗号化して処理レスポンスに含ませる。
【００４０】
サービス提供サーバ１は、ステップＳ１３およびステップＳ１５で受信した処理レスポンスに基づいて、ステップＳ１６において、ステップＳ１１で受信した処理リクエストに対する処理レスポンスを送信する。この処理レスポンスに含まれる各出力項目は、部品提供サーバ２によって暗号化される。
【００４１】
このように本発明の実施の形態に係るサービス提供システム５は、マッシュアップＡＰＩにおいて複数のＡＰＩを実行する場合でも、各出力項目について適切に暗号化した処理レスポンスを生成し、アプリケーション実行装置６に返すことができる。
【００４２】
図４ないし図７を参照して、サービス提供サーバ１と部品提供サーバ２とのデータ送受信を詳述する。ここでは、所定のアプリケーションで呼び出された、暗号化対象のマッシュアップＡＰＩ（ＡＰＩキー：”apiMashupA”）について説明する。
【００４３】
ＡＰＩキー”apiMashupA”のマッシュアップＡＰＩの引数は、図４に示すように、key_aおよびkey_bの各項目であり、返り値は、attr_a、attr_b、attr_cおよびattr_dの各項目である。アプリケーション実行装置６は、key_aおよびkey_bには、それぞれvalue_aおよびvalue_bの値を設定して、マッシュアップＡＰＩの実行をリクエストする。
【００４４】
このマッシュアップＡＰＩは、図４および図５に示すように、３つのＡＰＩにより構成される。（１）のＡＰＩは、”GET /api/v1/enabler1APIa”で、（２）のＡＰＩは、”POST /api/v1/enabler1APIb”で、（３）のＡＰＩは、”POST /api/v1/enabler2APIa”である。apiMashupAは、（１）、（２）および（３）の順にＡＰＩを実行する。（１）および（２）のＡＰＩは、第１の部品提供サーバ２ａが提供するＡＰＩで、（３）のＡＰＩは、第２の部品提供サーバ２ｂが提供するＡＰＩである。
【００４５】
まず、ＡＰＩキー”apiMashupA”のマッシュアップＡＰＩについて、引数key_aに値value_aが設定され、引数key_bに値value_bが設定されてリクエストされた場合に、各ＡＰＩが処理する場合を説明する。
【００４６】
（１）のＡＰＩは、GET関数である。（１）のＡＰＩの引数として設定される値はない。第１の部品提供サーバ２ａが（１）のＡＰＩを実行すると、（１）のＡＰＩの返り値として、attr_cの値value_cと、attr_dの値value_dが設定される。
【００４７】
（２）のＡＰＩは、POST関数である。（２）のＡＰＩの引数として、key_aの値value_aと、key_cの値value_cが設定される。key_aの値value_aは、apiMashupAPIの引数である。key_cの値value_cは、（１）のＡＰＩの返り値のattr_cの値value_cである。第１の部品提供サーバ２ａが（２）のＡＰＩを実行すると、（２）のＡＰＩの返り値として、attr_aの値value_a’と、attr_cの値value_c’が設定される。
【００４８】
（３）のＡＰＩは、POST関数である。（３）のＡＰＩの引数として、key_aの値value_a’と、key_bの値value_bと、key_dの値value_dが設定される。key_aの値value_a’は、（２）の返り値であるattr_ａの値value_ａ’である。key_bの値value_bは、apiMashupAPIの引数である。key_dの値value_dは、（１）のＡＰＩの返り値であるattr_dの値value_dである。第２の部品提供サーバ２ｂが（３）のＡＰＩを実行すると、（３）のＡＰＩの返り値として、attr_aの値value_a’’、 attr_bの値value_b’およびattr_dの値value_d’が設定される。
【００４９】
ＡＰＩキー”apiMashupA”のマッシュアップＡＰＩの返り値は、図４に示すように、attr_a、attr_b、attr_cおよびattr_dの各項目である。サービス提供サーバ１は、（１）ないし（３）の各ＡＰＩの処理の結果、attr_a、attr_b、attr_cおよびattr_dの各項目に、それぞれ値value_a’’、value_b’、value_c’およびvalue_d’を設定して、アプリケーション実行装置６に返す。
【００５０】
このようなマッシュアップＡＰＩについて本発明の実施の形態に係るサービス提供サーバ１は、各ＡＰＩの出力項目のうち、後続のＡＰＩで参照される出力項目は暗号化対象外とするとともに、後続のＡＰＩで参照される出力項目は暗号化対象とする。なお、図４等において、下線が付された値は、暗号化されていることを示し、下線が付されていない値は、暗号化されていないことを示す。
【００５１】
図４に示す例において、（１）のＡＰＩの返り値value_cは、後続の（２）のＡＰＩの引数となるので、（１）のＡＰＩは、value_cを暗号化しないで平文のまま出力する。同様に（１）のＡＰＩの返り値value_dは、後続の（３）のＡＰＩの引数となるので、（１）のＡＰＩは、value_dを暗号化しないで平文のまま出力する。
【００５２】
（２）のＡＰＩの返り値value_a’は、後続の（３）のＡＰＩの引数となるので、（２）のＡＰＩは、value_a’を暗号化しないで平文のまま出力する。（２）のＡＰＩの返り値value_c’は、後続のＡＰＩで用いられないので、（２）のＡＰＩは、value_c’を暗号化して出力する。
【００５３】
（３）のＡＰＩの返り値value_a’’、value_b’およびvalue_d’はそれぞれ、後続のＡＰＩがなく後続のＡＰＩで用いられないので、（３）のＡＰＩは、value_a’’、value_b’およびvalue_d’をそれぞれ暗号化して出力する。
【００５４】
図６および図７を参照して、図４に示すデータ例におけるデータのシーケンス図の一例を示す。図６および図７において、下線が付された値は、暗号化されていることを示し、下線が付されていない値は、暗号化されていないことを示す。
【００５５】
まずステップＳ５１においてアプリケーション実行装置６は、データＤ１を送信する。このデータＤ１は、リクエストラインに示すように、ＡＰＩキー”apiMashupA”のマッシュアップＡＰＩの実行をリクエストするもので、ボディに示すように、引数key_aに値value_aが設定され、引数key_bに値value_bが設定される。またデータＤ１のリクエストヘッダには、このマッシュアップＡＰＩの送信元のアプリケーションを識別するＡＰＬキー（ＡＰＬ＿ＩＤ）が設定される。なおサービス提供サーバ１が送受信する各データの各レスポンスヘッダにおいて、ＡＰＬキー（ＡＰＬ＿ＩＤ）が設定される。
【００５６】
サービス提供サーバ１は、データＤ１を受信すると、ＡＰＩキー”apiMashupA”のマッシュアップＡＰＩに従って、各部品提供サーバ２に処理をさせる。
【００５７】
まずステップＳ５２においてサービス提供サーバ１は、GET /api/v1/enabler1APIaの処理を要求するデータＤ２を、第１の部品提供サーバ２ａに送信する。データＤ２において、引数として設定される値はない。
【００５８】
第１の部品提供サーバ２ａは、データＤ２に従ってGET /api/v1/enabler1APIaの処理を行い、ステップＳ５３においてその結果のデータＤ３をサービス提供サーバ１に返す。データＤ３において、返り値として、attr_cの値value_cが設定され、attr_dの値value_dが設定される。この返り値の値value_cおよびvalue_dは、後続のＡＰＩの入力になるためいずれも暗号化されない。
【００５９】
ステップＳ５４においてサービス提供サーバ１は、POST /api/v1/enabler1APIbの処理を要求するデータＤ４を、第１の部品提供サーバ２ａに送信する。データＤ４において、key_aの値value_aと、key_cの値value_cが設定される。
【００６０】
第１の部品提供サーバ２ａは、データＤ４に従ってPOST /api/v1/enabler1APIbの処理を行い、ステップＳ５５においてその結果のデータＤ５をサービス提供サーバ１に返す。データＤ５において、返り値として、attr_aの値value_a’およびattr_cの値value_c’が設定される。ここでvalue_a’は、後続のＡＰＩで用いられるので暗号化されないが、value_c’は、後続のＡＰＩで用いられないので暗号化される。
【００６１】
ステップＳ５６においてサービス提供サーバ１は、POST /api/v1/enabler2APIaの処理を要求するデータＤ６を、第２の部品提供サーバ２ｂに送信する。データＤ６において、key_aの値value_a’と、key_bの値value_bと、key_dの値value_dが設定される。
【００６２】
第２の部品提供サーバ２ｂは、データＤ６に従ってPOST /api/v1/enabler2APIaの処理を行い、ステップＳ５７においてその結果のデータＤ６をサービス提供サーバ１に返す。データＤ６において、返り値として、attr_aの値value_a’’、 attr_bの値value_b’およびattr_dの値value_d’が設定される。ここでvalue_a’’、value_b’およびvalue_d’は、後続のＡＰＩで用いられないので暗号化される。
【００６３】
サービス提供サーバ１が、ステップＳ５２ないしステップＳ５７において、マッシュアップＡＰＩを実行した結果、ステップＳ５８においてデータＤ８をアプリケーション実行装置６に送信する。データＤ８において、返り値としてattr_aの値value_a’’、attr_bの値value_b’、attr_cの値value_c’およびattr_dの値value_d’の各項目が設定される。また各value_a’’、value_b’、value_c’およびvalue_d’は、それぞれ暗号化される。
【００６４】
（サービス提供サーバ）
図８を参照して、本発明の実施の形態に係るサービス提供サーバ１を説明する。サービス提供サーバ１は、一般的な機能とともに、図４ないし図７を参照して説明したように、各部品提供サーバ２が所与の出力項目を暗号化できるように制御する機能を実装する。
【００６５】
サービス提供サーバ１は、記憶装置１０、処理装置３０および通信制御装置５０を備える一般的なコンピュータである。一般的なコンピュータがサービス提供プログラムを実行することにより、図８に示す機能を実現する。
【００６６】
記憶装置１０は、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random access memory）、ハードディスク等であって、処理装置３０が処理を実行するための入力データ、出力データおよび中間データなどの各種データを記憶する。処理装置３０は、ＣＰＵ（Central Processing Unit）であって、記憶装置１０に記憶されたデータを読み書きしたり、通信制御装置５０とデータを入出力したりして、サービス提供サーバ１における処理を実行する。通信制御装置５０は、部品提供サーバ２、サービス提供管理者端末３、アプリケーション実行装置６およびアプリ開発者端末７等と接続するためのインタフェースである。
【００６７】
記憶装置１０は、暗号鍵データＰ、ＡＰＩ定義データ１１、暗号対象ＡＰＩデータ１２および暗号対象項目データＥを記憶する。
【００６８】
暗号鍵データＰは、アプリケーション実行装置６が復号可能な暗号データを生成するための暗号鍵のデータである。暗号鍵データＰは、公開鍵暗号の場合、アプリケーション実行装置６が有する秘密鍵とペアの暗号鍵であり、共通鍵暗号の場合、アプリケーション実行装置６が有する暗号鍵と同じ暗号鍵である。暗号鍵データＰは、アプリケーション実行装置６が復号可能な暗号データを生成するものであれば、どのようなものでも良い。
【００６９】
ＡＰＩ定義データ１１は、サービス提供サーバ１が、マッシュアップＡＰＩを処理するために用いられるデータである。例えば、マッシュアップＡＰＩで処理されるＡＰＩの識別子、引数、戻り値、そのＡＰＩを収容する部品提供サーバ２の識別子等の情報、処理順序等を含む。
【００７０】
暗号対象ＡＰＩデータ１２は、アプリケーションの識別子と、そのアプリケーションが呼び出すマッシュアップＡＰＩについて、暗号化するか否かを示すデータである。暗号対象ＡＰＩデータ１２は、図９に示すように、マッシュアップＡＰＩ識別子、マッシュアップＡＰＩ名、アプリ識別子、暗号化フラグおよびシナリオ等を対応づけたデータである。暗号化フラグがTrueに設定されたマッシュアップＡＰＩ識別子およびアプリ識別子について、そのアプリから、そのマッシュアップＡＰＩが呼び出された際に、サービス提供サーバ１は、そのマッシュアップＡＰＩの出力項目について暗号化されたデータを設定してアプリケーション実行装置６に返す。
【００７１】
暗号対象項目データＥは、マッシュアップＡＰＩが特定する複数のＡＰＩとＡＰＩの処理順序に従って、各ＡＰＩの出力項目のうち、後続のＡＰＩで参照される出力項目は暗号化対象外として指定し、後続のＡＰＩで参照される出力項目は暗号化対象として指定するデータである。暗号対象項目データＥは、部品提供サーバ２毎に生成され、その部品提供サーバ２が実行するＡＰＩの出力項目について、暗号化するか否かを指定する。暗号化対象項目データＥは、アプリケーションから呼び出されるマッシュアップＡＰＩの各出力項目が暗号化されてアプリケーションに返されるように設定される。
【００７２】
暗号対象項目データＥは、例えば図１０に示すデータであって、アプリ識別子、マッシュアップＡＰＩ識別子、ＡＰＩおよび出力項目の暗号化を対応づける。図１０（ａ）は、第１の部品提供サーバ２ａ向けの暗号対象項目データＥａであって、図１０（ｂ）は、第２の部品提供サーバ２ｂ向けの暗号対象項目データＥｂである。
【００７３】
第１の部品提供サーバ２ａ向けの暗号対象項目データＥａの１行目は、アプリ識別子APL_Aから、マッシュアップAPI識別子apiMashupAが呼び出され、enablerAPIaを実行した際、その出力項目のattr_cおよびattr_dはともに暗号化せずに出力することを示す。２行目は、アプリ識別子APL_Aから、マッシュアップAPI識別子apiMashupAが呼び出され、enablerAPIbを実行した際、その出力項目のattr_aは暗号化せずに出力し、attr_cは暗号化して出力することを示す。一つのマッシュアップＡＰＩにおいて、同一のＡＰＩが複数回呼び出される場合、さらに、呼び出される回数を指定するカラムを設けて、回数ごとに出力項目の暗号化の要否を指定しても良い。
【００７４】
暗号対象項目データＥは、例えば図１１に示すようにＪＳＯＮ形式で記載されたデータであっても良い。図１１（ａ）は、第１の部品提供サーバ２ａ向けの暗号対象項目データＥａであって、図１１（ｂ）は、第２の部品提供サーバ２ｂ向けの暗号対象項目データＥｂである。暗号対象項目データＥは、部品提供サーバ２が読み取り可能なデータ形式で生成される。
【００７５】
処理装置３０は、暗号鍵処理部３１、シナリオ処理部３４、ＡＰＩ処理部３８を備える。
【００７６】
暗号鍵処理部３１は、暗号鍵取得部３２と暗号鍵提供部３３を備える。暗号鍵取得部３２は、アプリ開発者端末７から、アプリケーション実行装置６が復号可能な暗号データを生成する暗号鍵データＰを取得する。取得した暗号鍵データＰは、記憶装置１０に記憶される。暗号鍵提供部３３は、暗号鍵データＰを部品提供サーバ２に提供する。暗号鍵提供部３３は、少なくとも、暗号化が必要なＡＰＩを実行する部品提供サーバ２に、暗号鍵データＰを提供する。
【００７７】
シナリオ処理部３４は、シナリオ解析部３５、暗号対象ＡＰＩ指定部３６および暗号対象項目通知部３７を備える。
【００７８】
シナリオ解析部３５は、サービス提供管理者端末３から入力されたシナリオを解析して、ＡＰＩ定義データ１１を生成する。
【００７９】
暗号対象ＡＰＩ指定部３６は、アプリ開発者端末７からマッシュアップＡＰＩについて暗号化するとの指示を受信する。暗号対象ＡＰＩ指定部３６は、例えば図３に示す画面をアプリ開発者端末７に表示して、マッシュアップＡＰＩで用いるＡＰＩと、そのＡＰＩの出力項目を暗号化するか否かの指示を受信する。暗号対象ＡＰＩ指定部３６は、アプリ開発者端末７からの指示に従って、暗号対象ＡＰＩデータ１２を生成し、記憶装置１０に記憶する。
【００８０】
暗号対象項目通知部３７は、マッシュアップＡＰＩが特定する複数のＡＰＩとＡＰＩの処理順序に従って、各ＡＰＩの出力項目のうち、後続のＡＰＩで参照される出力項目は暗号化対象外として指定し、後続のＡＰＩで参照される出力項目は暗号化対象として指定する暗号対象項目データＥを生成する。暗号対象項目通知部３７はさらに、生成した暗号対象項目データＥを、部品提供サーバ２に通知する。暗号対象項目通知部３７は、図４等を参照して説明したように、マッシュアップＡＰＩで特定される複数のＡＰＩを所定の順序で各部品提供サーバ２に処理させる際、各部品提供サーバ２で暗号化する出力項目を指定して、暗号対象項目データＥを生成する。
【００８１】
ＡＰＩ処理部３８は、アプリケーション実行装置６からマッシュアップＡＰＩの処理クエストを受信し、マッシュアップＡＰＩで特定される複数のＡＰＩを所定の処理順序で、部品提供サーバ２に実行させ、部品提供サーバ２からの処理レスポスに基づいて、アプリケーション実行装置６に送信する処理レスポンスを作成して送信する。ＡＰＩ処理部３８は、マッシュアップＡＰＩのＡＰＩを部品提供サーバ２に実行させる際、ＡＰＩ定義データ１１を参照して、そのＡＰＩを収容する部品提供サーバ、処理順序、引数等の情報を特定する。
【００８２】
暗号対象のマッシュアップＡＰＩの処理レスポンスに含まれる出力項目は、それぞれ部品提供サーバ２によって暗号化されるので、ＡＰＩ処理部３８は、暗号化された出力項目を含む処理レスポンスを、アプリケーション実行装置６に送信することができる。
【００８３】
（部品提供サーバ）
部品提供サーバ２は、記憶装置１１０、処理装置１２０および通信制御装置１３０を備える一般的なコンピュータである。一般的なコンピュータが部品提供プログラムを実行することにより、図１２に示す機能を実現する。
【００８４】
記憶装置１１０は、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random access memory）、ハードディスク等であって、処理装置１２０が処理を実行するための入力データ、出力データおよび中間データなどの各種データを記憶する。処理装置１２０は、ＣＰＵ（Central Processing Unit）であって、記憶装置１１０に記憶されたデータを読み書きしたり、通信制御装置１３０とデータを入出力したりして、サービス提供サーバ１における処理を実行する。通信制御装置１３０は、サービス提供サーバ１等と接続するためのインタフェースである。
【００８５】
記憶装置１１０は、暗号対象項目データＥおよび暗号鍵データＰを記憶する。暗号対象項目データＥおよび暗号鍵データＰは、サービス提供サーバ１から提供されるデータであって、図８等を参照して説明した通りである。
【００８６】
処理装置１２０は、暗号対象項目取得部１２１、暗号鍵取得部１２２およびＡＰＩ処理部１２３を備える。
【００８７】
暗号対象項目取得部１２１は、サービス提供サーバ１から暗号対象項目データＥを取得して、記憶装置１１０に記憶する。暗号対象項目データＥは、部品提供サーバ２が処理するＡＰＩ、このＡＰＩに紐付くマッシュアップＡＰＩおよびアプリケーションに対して、ＡＰＩの出力項目のうち、暗号化の必要な出力項目を特定するものである。
【００８８】
暗号鍵取得部１２２は、サービス提供サーバ１から暗号鍵データＰを取得して、記憶装置１１０に記憶する。暗号鍵データＰは、部品提供サーバ２が処理するＡＰＩに紐付くアプリケーション毎に用意される。
【００８９】
ＡＰＩ処理部１２３は、サービス提供サーバ１からＡＰＩの処理リクエストを受信して、ＡＰＩを処理し、処理レスポンスを生成して、サービス提供サーバ１に処理レスポンスを返す。
【００９０】
本発明の実施の形態においてＡＰＩ処理部１２３は、暗号化処理部１２４を備える。暗号化処理部１２４は、ＡＰＩ処理部１２３が処理したＡＰＩの出力項目のうち、暗号対象項目データＥで暗号化対象として指定された出力項目を、暗号鍵データＰで暗号化する。ＡＰＩ処理部１２３は、暗号対象項目データＥで暗号化対象として指定された項目のデータを暗号化し、それ以外の項目のデータを暗号化することなく平文のままで、処理レスポンスを生成する。
【００９１】
このような本発明の実施の形態に係るサービス提供システム５によれば、複数のＡＰＩを紐づけたマッシュアップＡＰＩについても、その出力を適切に暗号化して、秘匿化することが可能になる。またマッシュアップＡＰＩについて適切に暗号化することが可能であるので、アプリケーションから、秘匿化が必要なマッシュアップＡＰＩを呼び出すことが可能になり、ＡＰＩの呼出回数を削減することができる。
【００９２】
（その他の実施の形態）
上記のように、本発明の実施の形態によって記載したが、この開示の一部をなす論述および図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例および運用技術が明らかとなる。
【００９３】
例えば、本発明の実施の形態に記載したサービス提供サーバは、図８に示すように一つのハードウエア上に構成されても良いし、その機能や処理数に応じて複数のハードウエア上に構成されても良い。
【００９４】
本発明はここでは記載していない様々な実施の形態等を含むことは勿論である。従って、本発明の技術的範囲は上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。
【符号の説明】
【００９５】
１  サービス提供サーバ
２  部品提供サーバ
３  サービス提供管理者端末
４、８  通信ネットワーク
５  サービス提供システム
６  アプリケーション実行装置
７  アプリ開発者端末
９  アプリケーション提供システム
１０、１１０  記憶装置
１１  ＡＰＩ定義データ
１２  暗号対象ＡＰＩデータ
３０、１２０  処理装置
３１  暗号鍵処理部
３２、１２２  暗号鍵取得部
３３  暗号鍵提供部
３４  シナリオ処理部
３５  シナリオ解析部
３６  暗号対象ＡＰＩ指定部
３７  暗号対象項目通知部
３８  ＡＰＩ処理部
５０、１３０  通信制御装置
１２１  暗号対象項目取得部
１２４  暗号化処理部
Ｅ  暗号対象項目データ
Ｐ  暗号鍵データ
【図１】
2019204986.tif 000003
【図２】
2019204986.tif 000004
【図３】
2019204986.tif 000005
【図４】
2019204986.tif 000006
【図５】
2019204986.tif 000007
【図６】
2019204986.tif 000008
【図７】
2019204986.tif 000009
【図８】
2019204986.tif 000010
【図９】
2019204986.tif 000011
【図１０】
2019204986.tif 000012
【図１１】
2019204986.tif 000013
【図１２】
2019204986.tif 000014