JP2016170548A - 情報処理システム、情報処理装置および情報処理プログラム - Google Patents

情報処理システム、情報処理装置および情報処理プログラム Download PDF

Info

Publication number
JP2016170548A
JP2016170548A JP2015048878A JP2015048878A JP2016170548A JP 2016170548 A JP2016170548 A JP 2016170548A JP 2015048878 A JP2015048878 A JP 2015048878A JP 2015048878 A JP2015048878 A JP 2015048878A JP 2016170548 A JP2016170548 A JP 2016170548A
Authority
JP
Japan
Prior art keywords
request
api
schema
program interface
response
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2015048878A
Other languages
English (en)
Inventor
健太 山野
Kenta Yamano
健太 山野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2015048878A priority Critical patent/JP2016170548A/ja
Publication of JP2016170548A publication Critical patent/JP2016170548A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】依存関係がある複数のAPIの動作確認を容易とする。【解決手段】動作確認ツールは以下のように動作する。まず、プログラムに実装されるAPIのリクエスト及びレスポンスを定義するスキーマ情報を格納する。API及びその実行順序をユーザ操作に応じて選択しS100、選択されたAPI毎にスキーマ情報を取得するS103。選択されたAPIに対するリクエストを設定するための設定部を、取得されたスキーマ情報に基づき生成する。次に、設定部で設定されたリクエストを用いて、選択されたAPIを順序に従い実行させる。上述の設定部を生成する際、取得されたスキーマ情報に定義されるリクエストに、選択されたAPIのうちリクエストが定義されるAPIよりも順序が前のAPIのレスポンスが含まれている場合には、レスポンスをリクエストとして設定部に設定する。こうしてAPI間に依存関係がある場合でもその動作確認が容易に行える。【選択図】図13

Description

本発明は、情報処理システム、情報処理装置および情報処理プログラムに関する。
一般的に、例えばOS(Operating System)やWebサービスといったプログラムを利用する際には、それぞれのプログラムに適合したAPI(Application Programming Interface)に従いパラメータの入力などを行う。例えば、Webサービスの提供者は、提供するWebサービスに適合したAPIおよび当該APIを実装するためのプログラムを用意する。このWebサービスの利用者は、このプログラムに対して必要なパラメータを入力する。プログラムは、APIに従い、入力されたパラメータに基づき例えば所定のデータ構造を生成してWebサービスに渡す。
従来から、APIの開発者が、当該APIを利用する利用者のために、当該APIによる動作を確認するための動作確認ツールを提供することが、一般的に行われている。動作確認ツールは、例えば、必要なパラメータを入力することで当該APIによるリクエストを作成し、当該リクエストに対するレスポンスを返す。また、このような動作確認ツールにおいて、パラメータの入力を行うためのUI(User Interface)を、APIに基づき自動で生成し、入力値から自動でリクエストを生成するようにしたものが知られている。
例えば、特許文献1は、WebサービスのためのWebAPIライブラリの定義情報ファイルから、入力ボックスを表示するコードを生成し、生成された入力ボックスに入力された情報に基づきWebAPI関数の動作確認を行う技術が開示されている。この特許文献1の技術を用いることで、WebAPIライブラリの開発者および利用者の双方に対し、当該WebAPIライブラリに含まれるWebAPI関数の動作確認の利便性を向上させることができる。
しかしながら、従来技術による動作確認ツールは、単体のAPIによる動作を確認するリクエストの自動作成は可能であったが、複数のAPI間に依存関係が存在する場合には、UIやリクエストの自動作成が困難であるという問題点があった。この問題は、上述した特許文献1でも解決できていない。
本発明は、上記に鑑みてなされたものであって、依存関係がある複数のAPIによる動作確認を容易とすることを目的とする。
上述した課題を解決するために、本発明は、プログラムに実装されるプログラムインタフェースの少なくともリクエストおよびレスポンスを定義するスキーマ情報を格納する格納部と、プログラムインタフェースをユーザ操作に応じて選択し、選択されたプログラムインタフェースの順序を指定する選択部と、選択されたプログラムインタフェース毎にスキーマ情報を取得する取得部と、選択されたプログラムインタフェースに対するリクエストを設定するための設定部を、取得部により取得されたスキーマ情報に基づき生成する生成部と、選択されたプログラムインタフェースが実装されるプログラムを、選択されたプログラムインタフェースに設定部で設定されたリクエストを用いて、順序に従い実行させる実行制御部とを備え、生成部は、取得部で取得されたスキーマ情報に定義されるリクエストに、選択されたプログラムインタフェースのうちリクエストが定義されるプログラムインタフェースよりも順序が前のプログラムインタフェースのレスポンスが含まれている場合に、レスポンスをリクエストとして設定部に設定する。
本発明によれば、依存関係がある複数のAPIによる動作確認が容易になるという効果を奏する。
図1は、第1の実施形態に係る情報処理システムの一例の構成を示す図である。 図2は、利用者PCからWebアプリに対してAPIに従ったリクエストを送信した場合のWebアプリの動作を概念的に示す図である。 図3は、第1の実施形態に係るWebサーバのハードウェアの一例の構成を示すブロック図である。 図4は、第1の実施形態に適用可能な利用者PCのハードウェアの一例の構成を示すブロック図である。 図5は、第1の実施形態に係るWebサーバの機能を説明するための一例の機能ブロック図である。 図6は、APIについて概略的に説明するための図である。 図7は、既存技術による動作確認ツールによる動作の例を示す図である。 図8は、第1の実施形態に係る、API機能を定義するためのスキーマ情報の一例を示す図である。 図9は、第1の実施形態に係るスキーマ定義の例を示す図である。 図10は、第1の実施形態に係るスキーマ定義の例を示す図である。 図11は、第1の実施形態に係るスキーマ定義の例を示す図である。 図12は、第1の実施形態に係るスキーマ定義の例を概略的に示す図である。 図13は、第1の実施形態に係る動作確認ツールの動作を説明するための一例のフローチャートである。 図14は、第1の実施形態に係るAPI選択画面の例を示す図である。 図15は、第1の実施形態に係る動作確認画面の例を示す図である。 図16は、第1の実施形態に係る動作確認ツールによるAPI機能の動作確認処理を示す一例のフローチャートである。 図17は、第1の実施形態に係る、リクエスト情報およびレスポンス情報の表示例を示す図である。 図18は、第2の実施形態に係る動作確認画面の例を示す図である。 図19は、第2の実施形態に係る動作確認ツールの動作を説明するための一例のフローチャートである。 図20は、第2の実施形態の変形例に係る動作確認画面の例を示す図である。 図21は、第3の実施形態に係るAPI選択画面の例を示す図である。 図22は、第4の実施形態に係るAPI選択画面の例を示す図である。
以下に添付図面を参照して、情報処理システム、情報処理装置および情報処理プログラムの実施形態を詳細に説明する。
(第1の実施形態)
図1は、第1の実施形態に係る情報処理システムの一例の構成を示す。図1において、情報処理システム1は、Webアプリ11が搭載されるWebサーバ10を含み、Webサーバ10がインターネットなどのネットワーク40を介してAPI群20、提供者用PC(パーソナルコンピュータ)30および利用者PC31と通信可能に接続される。
Webアプリ11は、Webサーバ10が備えるCPU(Central Processing Unit)上で動作する1以上のアプリケーションプログラムであって、例えば第1の実施形態に係る動作確認ツールを含む。API群20は、Webアプリ11が利用するAPI(Application Programming Interface)のスキーマを定義するスキーマ情報や、APIにより呼び出される関数などのライブラリを含むもので、実体は、例えばネットワーク40に通信可能に接続されるストレージ装置である。これに限らず、API群20をWebサーバ10内に設けてもよい。
例えば、Webアプリ11は、所定の機能のAPIが実装され、動作に応じて実装されたAPIに従ったリクエストを生成する。Webサーバ10は、Webアプリ11により生成されたリクエストを、ネットワーク40を介してAPI群20に送信する。API群20は、送信されたリクエストに従い例えば所定の関数を呼び出して、この関数により、リクエストに応じたレスポンスを生成してWebサーバ10に送信する。
提供者PC30および利用者PC31は、それぞれ一般的なコンピュータを用いることができる。提供者PC30は、例えば、Webアプリ11に実装されるAPIの開発を行いAPI提供者により使用されるコンピュータである。API提供者は、提供者PC30を用いてAPIを開発し、APIのスキーマ定義を示すスキーマ情報を例えばAPI群20に格納する。また、提供者PC30は、開発したAPIをWebアプリ11に実装し、このAPIをWebアプリ11の利用者に提供する。
利用者PC31は、例えば、上述した提供者により開発されたAPIが実装されたWebアプリ11を用いてエンドユーザなどに対するサービスを提供する、API利用者により使用されるコンピュータである。このとき、API利用者は、利用者PC31からWebサーバ10上のWebアプリ11としての動作確認ツールを起動して、利用するAPIによる動作を確認することができる。
なお、図1では、Webサーバ10が1台のコンピュータにより構成されるように示しているが、これはこの例に限定されず、Webサーバ10を互いに通信可能に接続される複数台のコンピュータにより構成してもよい。また、Webサーバ10を、互いにネットワークで接続される複数のコンピュータを含み、外部からは、その内部が隠蔽されたブラックボックスとして入出力のみが示されるネットワーク・グループであるネットワーククラウドを用いて構成してもよい。
図2は、利用者PC31からWebアプリ11に対してAPIに従ったリクエストを送信した場合のWebアプリ11の動作を概念的に示す。ここで、Webアプリ11は、それぞれ対応する機能を順次実行するための、複数のAPI#1、API#2、…、API#nが実装されているものとする。利用者PC31は、Webアプリ11に対する変数の値を入力してWebサーバ10に送信した後、Webアプリ11の実行の指示をWebサーバ10に送信する。Webサーバ10は、利用者PC31から送信された変数値と実行指示とを受信し、Webアプリ11に渡す。
Webアプリ11は、実行指示に応じて起動され、渡れた変数値に基づき、最初の機能を実行するAPI#1に対するリクエストを生成する。このリクエストは、API群20に渡される。API群20において、API#1のリクエストに対してレスポンスが生成される。例えば、API群20において、API#1のリクエストに応じて対応する関数が呼び出され、呼び出された関数に利用者PC31から受信された変数値が渡される。この関数は、渡された変数値に応じた値をレスポンスとして出力する。API#1によるリクエストに対するレスポンスは、Webアプリ11に返される。
Webアプリ11は、このAPI#1のレスポンスに応じて、次のAPI#2に対するリクエストを生成してAPI群20に渡す。API群20からこのAPI#2のリクエストに応じたレスポンスがWebアプリ11に返される。Webアプリ11は、このレスポンスに応じて、次のAPI#3に対するリクエストを生成してAPI群20に渡す。この、Webサーバ11とAPI群20との間でのリクエストとレスポンスとのやりとりは、Webアプリ11が最後のAPI#nによるレスポンスをAPI群20から受け取るまで繰り返される。
Webアプリ11は、API群20から最後のAPI#nのリクエストに応じたレスポンスを受け取り、受け取ったレスポンスを利用者PC31に送信する。これにより、利用者PC31は、最初に送信したリクエストに応じた、各API#1、API#2、…、API#nによるレスポンスを纏めて受け取ることができる。
これは、Webアプリ11を動作確認ツールとしても同様である。詳細は後述するが、動作確認ツールにおいては、Webアプリ11とAPI群20との間でやりとりされた各リクエストおよび各レスポンスを纏めて利用者PC31に送信する。したがって、API利用者は、利用者PC31に対して変数値を入力し実行を指示するだけで、Webアプリ11上で生成される各リクエストと、各リクエストに応じてWebアプリ11が取得する各レスポンスとを纏めて受け取ることができる。
(第1の実施形態に適用可能な構成)
次に、第1の実施形態に適用可能な構成について、より具体的に説明する。図3は、第1の実施形態に係るWebサーバ10のハードウェアの一例の構成を示す。図3において、Webサーバ10は、CPU101と、ROM(Read Only Memory)102と、RAM(Random Access Memory)103と、ストレージ104と、通信I/F105とを含み、これら各部がバス100により互いに通信可能に接続される。
CPU100は、ROM102およびストレージ104に記憶されるプログラムに従い、RAM103をワークメモリとして用いて、このWebサーバ10の全体の動作を制御する。
ストレージ104は、データを不揮発に記憶することが可能な記憶媒体であって、例えばハードディスクドライブである。これに限らず、ストレージ104として、フラッシュメモリなどの不揮発性の半導体メモリを用いてもよい。ストレージ104は、CPU101が実行するためのプログラムや各種データが格納される。また、上述したAPI群20を、このストレージ104上の記憶領域を用いて構成することができる。
通信I/F105は、CPU101の制御に従いネットワーク40を介した通信を行う。
なお、図3では、ストレージ104が1のハードウェアから構成されるように示しているが、これはこの例に限定されず、例えば複数のストレージ装置を1つのストレージ104として統合的に管理するようにしてもよい。また、図3では、Webサーバ10が1のハードウェアから構成されるように示しているが、これはこの例に限定されず、Webサーバ10を、同等の構成を有する複数のサーバ装置を統合的に制御することで構成してもよい。
図4は、第1の実施形態に適用可能な利用者PC31のハードウェアの一例の構成を示す。図4において、提供者PC30は、CPU121と、ROM122と、RAM123と、表示信号生成部124と、ストレージ126と、データI/F127と、入力デバイス128と、通信I/F129とを含み、これら各部がバス120により互いに通信可能に接続されている。
ストレージ126は、データを不揮発に記憶することが可能な記憶媒体であって、例えばハードディスクドライブが用いられる。これに限らず、ストレージ126として、フラッシュメモリなどの不揮発性の半導体メモリを用いてもよい。ストレージ126は、CPU121が実行するためのプログラムや各種データが格納される。
CPU121は、ROM122およびストレージ126に記憶されるプログラムに従い、RAM123をワークメモリとして用いて、この利用者PC31の全体の動作を制御する。
表示信号生成部124は、CPU121により生成された表示制御命令に従い、表示装置125による表示を制御するための表示制御信号に変換して出力する。表示装置125は、表示信号生成部124から供給された表示制御信号に応じた表示を行う。
データI/F127は、外部機器との間でデータの入出力を行う。データI/F127としては、例えば、USB(Universal Serial Bus)やBluetooth(登録商標)といったインタフェースを適用することができる。通信I/F129は、CPU121の命令に従いネットワーク40を介した通信を制御する。入力デバイス128は、例えばマウスなどのポインティングデバイスや、キーボードを含み、ユーザ操作を受け付ける。ユーザは、例えば表示装置125に対する表示に応じて入力デバイス128を操作することで、利用者PC31に対して指示を出すことができる。
図5は、第1の実施形態に係るWebサーバ10の機能を説明するための一例の機能ブロック図である。図5において、Webサーバ10は、1以上のプログラムにより構成されるアプリケーションプログラムであるWebアプリ11を含む。また、Webサーバ10は、複数のWebアプリ11を含むことができる。以下では、Webアプリ11が上述した動作確認ツールであるものとして説明する。Webアプリ11は、格納部1000と、操作部1001と、選択部1002と、取得部1003と、生成部1004と、実行制御部1005と、表示情報生成部1006とを含む。
格納部1000は、ストレージ104やAPI群20に対して情報を格納する。格納部1000は、例えば、Webアプリ11に実装されるAPIの少なくともリクエストおよびレスポンスを定義するスキーマを示すスキーマ情報を、API群20に格納する。操作部1001は、ユーザ操作に応じた指示を受け付ける。操作部1001は、外部の機器、例えば提供者PC30や利用者PC31などに対するユーザ操作をネットワーク40を介して受け付ける。
選択部1002は、操作部1001に受け付けられたユーザ操作に応じて、API機能を選択する。また、選択部1002は、選択されたAPI機能の順序を指定する。取得部1003は、選択部1002で選択されたAPI機能のスキーマ情報を、例えばストレージ104やAPI群20から取得する。生成部1004は、選択部1002により選択されたAPI機能に対応するスキーマ情報に基づき、リクエストを設定するための設定部を生成する。実行制御部1005は、Webアプリ11(動作確認ツール)の全体の動作を制御する。また、実行制御部1005は、選択部1002で選択されたAPI機能が実装されるプログラムを、設定部で設定されたリクエストを用いて、指定された順序に従い実行させる。
表示情報生成部1006は、表示を行うための表示情報を生成する。例えば、表示情報生成部1006は、生成部1004により生成された設定部を表示するための表示情報を生成する。また例えば、表示情報生成部1006は、実行制御部1005による実行結果を表示するための表示情報を生成する。表示情報生成部1006で生成された表示情報は、例えばネットワーク40を介して提供者PC30や利用者PC31に送信される。
これら格納部1000、操作部1001、選択部1002、取得部1003、生成部1004、実行制御部1005および表示情報生成部1006は、例えばストレージ104上に記憶され、CPU101上で動作する情報処理プログラムにより実現される。この情報処理プログラムは、インストール可能な形式また実行可能な形式のファイルでCD(Compact Disk)、フレキシブルディスク(FD)、DVD(Digital Versatile Disk)などのコンピュータで読み取り可能な記録媒体に記録されて提供される。
また、第1の実施形態のWebサーバ10で実行される情報処理プログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、当該ネットワークを介してダウンロードさせることにより提供するように構成してもよい。また、第1の実施形態のWebサーバ10で実行されるプログラムをインターネットなどのネットワークを経由して提供または配布するように構成してもよい。さらに、第1の実施形態の情報処理プログラムを、ROM102などに予め組み込んで提供するように構成してもよい。
第1の実施形態のWebサーバ10で実行される情報処理プログラムは、上述した各部(格納部1000、操作部1001、選択部1002、取得部1003、生成部1004、実行制御部1005および表示情報生成部1006)を含むモジュール構成となっている。実際のハードウェアとしては、CPU101がストレージ104やROM102などの記憶媒体から当該情報処理プログラムを読み出して実行することにより、上述した各部がRAM103などの主記憶装置上にロードされ、格納部1000、操作部1001、選択部1002、取得部1003、生成部1004、実行制御部1005および表示情報生成部1006が主記憶装置上に生成されるようになっている。
(既存技術について)
次に、既存技術について概略的に説明する。図6は、APIについて概略的に説明するための図である。図6において、リクエスト210がプログラム200に入力される。このとき、リクエスト210は、プログラム200に実装されるAPIを実現するAPI機能201により規定される例えばデータ構造のデータ211に変換されて、プログラム200に渡される。すなわち、API機能201は、プログラム200に対するインタフェースとして機能する。プログラム200は、データ211に対して処理を実行し、処理結果のデータ212を生成する。このデータ212は、APIにより規定されるデータ構造のレスポンス213に変換されて出力される。
API機能201を利用する利用者が、API機能201による動作を確認したい場合がある。図6の例の場合、例えばプログラム200をAPI機能201の動作を確認する動作確認ツールとする。動作確認ツールは、API機能201に定義されるスキーマ情報に基づき、リクエスト210を入力するリクエスト入力部が設けられたUI(User Interface)を自動的に生成することができるようになっている。動作確認ツールは、例えば、利用者がリクエスト入力部に対してリクエスト210を入力すると、入力されたリクエスト210に対応して返されたレスポンス213が表示されるようになっている。
実際には、API機能201は、複数が組み合わせれて使用されることが多い。図7は、この場合の既存技術による動作確認ツールによる動作の例を示す。ここでは、サービス登録に対して値keyおよび値valueを生成する一連の処理を例にとって説明する。この処理では、サービス登録、ログインおよび値key、value登録の3段階に処理が実行され、それぞれ異なるAPI機能201が適用される。図7の例では、サービス登録処理に適用される第1のAPI機能201と、ログイン処理に適用される第2のAPI機能201と、値key、value登録の第3のAPI機能201とが組み合わせて使用される場合の動作例が示されている。
動作確認ツールは、先ず、第1のAPI機能201のスキーマ情報に従い、第1の確認画面340を生成し、利用者に提示する。図7の例では、第1の確認画面340は、第1のAPI機能201に対するリクエスト210(パスワードとする)を入力するためのリクエスト入力部3400が設けられる。動作確認ツールは、利用者によりリクエスト入力部3400にリクエスト210が入力され実行が指示されると、予め設定された、第1のAPI機能201によるレスポンス213(IDとする)をレスポンス表示部3401に表示させる。
次に、動作確認ツールは、第2のAPI機能201のスキーマ情報に従い、さらに第2の確認画面341を生成し、利用者に提示する。図7の例では、第2のAPI機能201は、リクエスト210として、第1のAPI機能201に対するリクエスト210であるパスワードと、第1のAPI機能201のレスポンス213であるIDを要求する。利用者は、第1の確認画面340においてリクエスト入力部3400に入力した値(パスワード)と、レスポンス表示部3401に表示された値(ID)とを、第2の確認画面341に設けられるリクエスト入力部3410にそれぞれ入力し、実行を指示する。動作確認ツールは、この操作に応じて、予め設定された、第2のAPI機能201によるレスポンス213(クッキーとする)をレスポンス表示部3411に表示させる。
さらに、動作確認ツールは、第3のAPI機能201のスキーマ情報に従い、さらに第3の確認画面342を生成し、利用者に提示する。図7の例では、第3のAPI機能201は、リクエスト210として、第2のAPI機能201に対するリクエスト210であるIDと、第2のAPI機能201のレスポンス213であるクッキーと、値keyおよび値valueとを要求する。利用者は、第2の確認画面341においてリクエスト入力部3410に入力した値(ID)と、レスポンス表示部3411に表示された値(クッキー)とを、リクエスト入力部3420にそれぞれ入力し、実行を指示する。なお、値keyおよび値valueは、予め設定されているものとする。動作確認ツールは、この操作に応じて、予め設定された、第3のAPI機能201によるレスポンス213である値keyおよび値valueをレスポンス表示部3421に表示させる。
既存技術では、スキーマ情報には、リクエストのスキーマは定義されるが、レスポンスのスキーマは定義されないため、リクエストに対してどのようなレスポンスが返ってくるか、知ることが困難であった。したがって、動作確認ツールは、各API機能201に対応する第1〜第3の確認画面340〜342をそれぞれ利用者に提示し、利用者は、第2の確認画面341および第3の確認画面342に、それぞれ直前の確認画面に表示される値を入力する必要があった。この場合、使用されるAPI機能201の数が多くなると、利用者の負担が増加すると共に、入力ミスなども発生し易くなり、作業効率が低くなるおそれがある。
そのため、第1の実施形態では、スキーマ情報にレスポンスのスキーマをさらに定義し、動作確認ツールがリクエストに対して直前のレスポンスを反映できるようにした。
(第1の実施形態に係るスキーマ情報の概略)
図8〜図11を用いて、第1の実施形態に係る、APIを定義するための定義情報について説明する。図8〜図11において、特に記載の無い限り、各行の先頭の数字は説明のための行番号を示し、続くコロン(:)でデータ本体を示すコードと区別されている。また、図8〜図11に例示されるコードは、データ記述言語の1つであるJSON(JavaScript Object Notation、JavaScriptは登録商標)を模した模擬コードである。このコードにおいては、1対の前括弧「{」および後括弧「}」で挟んだ部分に、前括弧「{」の直前に記述される項目の内容が記述される。
定義情報は、複数のAPIの定義を含むことができる。図8は、API機能201を定義するためのスキーマ情報の一例を示す。なお、スキーマ情報300は、リクエストおよびレスポンスのスキーマ定義を複数含むことができ、図8では、これら複数のスキーマ定義に共通して定義される共通情報定義部を抽出して示している。
図8において、スキーマ情報300の共通情報定義部は、1行目および2行目にパス情報が記述され、3行目〜5行目にヘッダ情報が記述される。6行目にリソース定義であることが記述され、7行目は、このAPIの名前が記述される。この7行目に記述される名前のAPIの機能が、8行目の項目「method」の直後の前括弧「{」と、対応する23行目の後括弧「}」との間に記述される。すなわち、項目「method」の直後の前括弧「{」から対応する後括弧「}」までの間は、1のAPIの情報が定義されるAPI定義部分である。このAPI定義部分の記述を繰り返すことで、スキーマ情報300により複数のAPIを定義することができる。
9行目は、API機能の名前が記述される。10行目および11行目は、機能毎のパス情報と、API機能を使用するためのHTTP(Hypertext Transfer Protocol)メソッドの種類(GET/PUT)が記述される。
12行目の項目「request」は、以下にAPIのリクエストのスキーマ定義が記述されることが記述され、13行目〜15行目に、リクエストのスキーマ定義の本体が記述される。リクエストのスキーマ定義の本体については、後述する。なお、リクエストのスキーマ定義は、通常、複数行に亘って記述されるが、図8の例では、説明のため、14行目の1行で表現している。
17行目の項目「response」は、以下のAPIのレスポンスのスキーマ定義が記述されることが記述される。18行目〜20行目に、レスポンスのスキーマ定義の本体が記述される。レスポンスのスキーマ定義の本体については、後述する。上述と同様に、レスポンスのスキーマ定義は、通常、複数行に亘って記述されるが、図8の例では、説明のため、19行目の1行で表現している。
図9〜図11は、第1の実施形態に係るスキーマ定義の例を示す。図9が文字列として定義されるスキーマ定義の例、図10が配列として定義されるスキーマ定義の例、図11がオブジェクトとして定義されるスキーマ定義の例を示す。図11の例は、階層構造を用いてスキーマ定義を記述したい場合に用いられる。
図9において、図9(a)は、リクエストのスキーマ定義310の例を示し、図9(b)は、このリクエストのスキーマ定義310に対応するレスポンスのスキーマ定義311の例を示す。
図9(a)において、リクエストのスキーマ定義310は、同一のレベルの括弧「{」および「}」の組で挟まれた部分に、リクエストの形式が定義され、当該括弧の組の前括弧「{」の直前に、当該リクエストの名称が記述される。このリクエストの名称が、リクエスト毎のキーとして用いられる。図9(a)の例では、2行目〜6行目に、キー「password」に対応するリクエストの値が定義され、7行目〜11行目に、キー「tenantId」に対応するリクエストの値が定義される。
また、各キーの直後の行に、このキーに対応するレスポンスの形式が記述される。図9(a)の例では、キー「password」および「tenantId」の何れも、項目「type」にパラメータ「string」が記述され、レスポンスの形式が文字列であることが示されている。
図9(b)において、レスポンスのスキーマ定義311は、対応するリクエストのスキーマ定義310における各キー「password」および「tenantId」それぞれに対するレスポンスが定義される。図9(b)の例では、リクエストのキー「password」に対して、レスポンスとして文字列による値「passSample」が定義され、キー「tenantId」に対して、レスポンスとして文字列による値「tenantSample」が定義されている。
図10において、図10(a)は、リクエストのスキーマ定義320の例を示し、図10(b)は、このリクエストのスキーマ定義320に対応するレスポンスのスキーマ定義321の例を示す。図10(a)のリクエストのスキーマ定義320の例では、2行目に、このリクエストの名称としてキー「keys」が記述され、3行目の項目「type」にパラメータ「array」が記述され、レスポンスの形式が配列であることが示されている。4行目〜8行目は、この配列の内部の形式が定義され、例えば5行目の項目「type」にパラメータ「string」が記述され、文字列が用いられることが示されている。
図10(b)において、レスポンスのスキーマ定義321は、対応するリクエストのスキーマ定義320におけるキー「keys」に対するレスポンスが定義される。この場合、リクエストのスキーマ定義320において、キー「keys」のレスポンスが配列であることが示されているため、レスポンスのスキーマ定義321においても、2行目〜4行目に示されるように、レスポンスとして複数の値「keysamples1」、「keysamples2」および「keysamples3」が定義されている。
図11において、図11(a)は、リクエストのスキーマ定義330の例を示し、図11(b)は、このリクエストのスキーマ定義330に対応するレスポンスのスキーマ定義331の例を示す。図11(a)のリクエストのスキーマ定義330の例では、2行目に、このリクエストの名称としてキー「tenant」が記述され、3行目の項目「type」にパラメータ「object」が記述され、レスポンスの形式がオブジェクトであることが示されている。4行目以降に、例えば図9(a)のリクエストのスキーマ定義310と同等の、キー「password」を含む構成が記述される。すなわち、このリクエストのスキーマ定義330は、内部にさらにリクエストのスキーマ定義を含み、リクエストのスキーマ定義が階層構造をなし、2つのキーを階層的に含んでいる。
図11(b)において、レスポンスのスキーマ定義331は、図11(a)のリクエストのスキーマ定義330に対応し、階層構造をなしている。すなわち、キー「tenant」のレスポンスの値は、キー「password」のレスポンスの値「passSample」を含む。実際には、このレスポンスのスキーマ定義331に従い記述される階層構造を有するレスポンスでは、最下層のキー「password」の値が参照される。
なお、図9(a)の4行目および9行目、図10(a)の6行目、ならびに、図11(a)の7行目に記述される項目「required」は、このリクエスト値が必須であるか否が記述される。また、図9(a)の5行目および10行目、図10(a)の7行目、ならびに、図11(a)の8行目に記述される項目「default」は、このリクエスト値のデフォルト値が記述される。
また、例えば図9(a)に示したリクエストのスキーマ定義310は、図8のスキーマ情報300におけるAPI定義部分の項目「request」に対応する位置(例えば14行目)に挿入される。同様に、図9(b)に示したレスポンスのスキーマ定義311は、スキーマ情報300におけるAPI定義部分の項目「response」に対応する位置(例えば19行目)に挿入される。これは、図10(a)および図11(a)に示される各リクエストのスキーマ定義320および330、ならびに、図10(b)および図11(b)に示される各レスポンスのスキーマ定義321および331についても同様である。
上述したような各スキーマ定義は、例えば提供者により予めAPI群20に、スキーマ情報として格納される。このスキーマ情報をWebサーバ10のストレージ104に格納しておいてもよい。
(第1の実施形態に係る動作確認ツール)
次に、第1の実施形態に係る動作確認ツールについて説明する。図12は、第1の実施形態に係る、以下で用いるスキーマ定義の例を概略的に示す。なお、以下では、図7を用いた説明と同様の、第1、第2および第3のAPI機能201が、この順序で用いられるものとする。図12(a)は、第1のAPI機能201に係るスキーマ定義350の例、図12(b)は、第2のAPI機能201に係るスキーマ定義351の例、図12(c)は、第3のAPI機能201に係るスキーマ定義352の例をそれぞれ示す。
なお、図12(a)、図12(b)および図12(c)に示されるスキーマ定義350、351および352は、それぞれ、図8〜図11を用いて説明した各スキーマ定義から、第1の実施形態に係る動作確認ツールの動作に関わりの深い部分を抜き出して示している。
図12(a)において、スキーマ定義350は、HTTPメソッド3500aおよびパス情報3500bと、1つのリクエストのスキーマ3501と、1つのレスポンスのスキーマ3502とを含む。ここで、リクエストのスキーマ3501は、キーの値(「password」)と、入力形式(「string」)とを含む。レスポンスのスキーマ3502も同様に、キーの値と入力形式とを含んでいる。
図12(b)において、スキーマ情報351は、HTTPメソッド3510aおよびパス情報5310bと、それぞれキーの値と入力形式とを含む2つのリクエストのスキーマ35111および35112と、キーである1つのレスポンスのスキーマ3512とを含む。ここで、リクエストのスキーマ35111のキーの値(「password」)は、スキーマ定義350のリクエストのスキーマ3501と同一である。また、リクエストのスキーマ35112のキーの値(「tenantId」)は、スキーマ定義350のレスポンスのスキーマ3502のキーの値と同一である。すなわち、スキーマ定義351のリクエストは、直前のスキーマ定義350に依存している。
図12(c)において、スキーマ情報352は、HTTPメソッド3520aおよびパス情報3520bと、それぞれキーの値と入力形式とを含む4つのリクエストのスキーマ35211、35212、35213および35214と、それぞれキーの値と入力形式とを含む2つのレスポンスのスキーマ35221および35222とを含む。ここで、リクエストのスキーマ35211のキーの値(「cookie」)は、スキーマ定義351のレスポンスのスキーマ3512のキーの値と同一である。また、リクエストのスキーマ35212のキーの値(「tenantId」)は、スキーマ定義351のリクエストのスキーマ35112のキーの値と同一である。すなわち、スキーマ定義352のリクエストは、直前のスキーマ定義351に依存している。
なお、スキーマ情報352において、リクエストのスキーマ35213および35214のキーの値(「key」および「Value」)および入力形式(「string」)が、レスポンスのスキーマ35221および35222にそのまま用いられている。
例えば、提供者は、提供者PC30などを用いて、上述の図12(a)、図12(b)および図12(c)に示したスキーマ定義350〜352を含むスキーマ情報300を作成し、API群20内の所定の位置に格納しておく。
次に、第1の実施形態に係るWebアプリ11としての動作確認ツールの動作について説明する。図13は、第1の実施形態に係る動作確認ツールの動作を説明するための一例のフローチャートである。このフローチャートによる各処理は、Webアプリ11としての動作確認ツールにより実行される。
この図13のフローチャートによる処理の実行に先立って、動作確認ツールは、API機能を選択するためのAPI選択画面を、利用者PC31に表示させる。より具体的には、動作確認ツールは、表示情報生成部1006により、後述するAPI選択画面を表示させるための表示情報を生成し、生成した表示情報を、Webサーバ10からネットワーク40を介して利用者PC31に送信する。利用者PC31は、この表示情報を受信すると、受信した表示情報に従い、API選択画面を表示装置125に表示させる。
また、動作確認ツールは、例えばAPI群20から、利用可能なAPI機能のリストを取得する。
ステップS100で、動作確認ツールは、API選択画面に対して入力領域を配置し、配置した入力領域に対して利用可能なAPI機能のリストを表示させる。そして、動作確認ツールは、入力領域に対する利用者PC31からのユーザ操作に応じてAPI機能を選択する。より具体的には、動作確認ツールにおいて、操作部1001は、利用者PC31からの、API機能の選択指示を待機し、選択指示を受信すると、受信した選択指示により選択されたAPI機能を特定する。このとき、動作確認ツールは、特定されたAPI機能の数に1を加算し、API機能の数をカウントする。
次のステップS101で、動作確認ツールは、利用者PC31からのユーザ操作を待機し、ユーザ操作を受け付けた場合に、受け付けたユーザ操作がAPI機能の追加および決定の何れの操作であるかを判定する。動作確認ツールは、受け付けたユーザ操作がAPI機能の追加の指示の操作であると判定した場合、処理をステップS102に移行させ、API機能を追加するために、新たな入力領域をAPI選択画面に配置する。そして、処理がステップS100に戻され、新たな入力領域に対するユーザ操作を待機する。
一方、動作確認ツールは、ステップS101で、利用者PC31からのユーザ操作が、API機能の決定の操作であると判定した場合、処理をステップS103に移行させる。以下のステップS103〜ステップS107の処理により、ステップS100〜ステップS102で選択された各API機能の動作を確認するための動作確認画面が生成される。このステップS103〜ステップS107は、上述のステップS100〜ステップS102の処理でカウントされたカウント値分、すなわち、選択されたAPI機能の数だけ繰り返して実行される。
以下では、ステップS100〜ステップS102の処理により、図12を用いて説明した、第1、第2および第3のAPI機能201が選択されたものとする。これら第1、第2および第3のAPI機能201には、上述したように、スキーマ定義350、351および352がそれぞれ対応する。
ステップS103で、動作確認ツールは、取得部1003により、ステップS100で選択された1つのAPI機能(例えば第1のAPI機能201)を対象として、例えばAPI群20から、スキーマ情報300に含まれるスキーマ定義(例えばスキーマ定義350)を取得する。また、このステップS103がステップS103〜ステップS107で繰り返される処理のうち最初の処理である場合には、動作確認ツールは、取得部1003により、スキーマ情報300から共通情報定義部をさらに取得する。
次のステップS104で、動作確認ツールは、ステップS103で取得されたスキーマ定義から、HTTPメソッドとパス情報とを抽出して動作確認画面に配置する。例えば、対象となるAPI機能が第1のAPI機能201であれば、図12(a)を参照して、動作確認ツールは、スキーマ定義350からHTTPメソッド3500aと、パス情報3500bとを抽出して、動作確認画面の所定の位置に配置する。
また、ステップS104で、動作確認ツールは、ステップS103で取得したスキーマ定義から、リクエストのスキーマを抽出して、キーの値を動作確認画面の所定の位置に配置する。例えば、対象となるAPI機能が第1のAPI機能201であれば、図12(a)を参照して、動作確認ツールは、スキーマ定義350からリクエストのスキーマ3501を抽出し、キーの値を動作確認画面の所定の位置に配置する。
次のステップS105で、動作確認ツールは、各スキーマのキーの値に基づき、ステップS104で配置したリクエストのスキーマと同様の、例えばキーの値が一致するスキーマが動作確認画面に既に配置されているか否かを判定する。動作確認ツールは、配置されていないと判定した場合、処理をステップS107に移行させる。一方、動作確認ツールは、配置されていると判定した場合、処理をステップS106に移行させる。
動作確認ツールは、例えば、ステップS104で配置されたリクエストのスキーマが、動作確認画面に最初に配置されたスキーマである場合には、同様のスキーマが配置されていないと判定する。また例えば、対象となるAPI機能が第2のAPI機能201であり、第1のAPI機能201に対応するリクエストのスキーマ3501が既に配置されている場合、このリクエストのスキーマ3501のキーの値「password」は、第2のAPI機能201のスキーマ定義351に含まれるリクエストのスキーマ35111のキーの値と同一である。したがって、動作確認ツールは、既に配置されていると判定する。さらに例えば、この場合において、スキーマ定義351に含まれるリクエストのスキーマ35112のキーの値「tenantId」は、リクエストのスキーマ3501とは異なるが、レスポンスのスキーマ3502のキーの値と一致する。この場合も、動作確認ツールは、同様のスキーマが配置されていると判定する。
ステップS106で、動作確認ツールは、ステップS105で同様のスキーマが既に配置されると判定したスキーマの値に対して、自動入力フラグを設定する。この自動入力フラグが設定されたスキーマは、動作確認処理の実行時に、既に配置されている、当該スキーマとキーの値が一致するスキーマの値が自動的に入力される。
例えば、上述のリクエストのスキーマ35111のキーの値「password」は、当該リクエストのスキーマ35111より前に配置されたリクエストのスキーマ3501のキーの値と同一である。したがって、リクエストのスキーマ35111に対して自動入力フラグが設定される。また例えば、上述のリクエストのスキーマ35112のキーの値「tenantId」は、当該リクエストのスキーマ35112より前に配置されたレスポンスのスキーマ3502のキーの値と同一である。したがって、リクエストのスキーマ35112にも、自動入力フラグが設定される。
次のステップS107で、動作確認ツールは、ステップS100〜ステップS102で選択された全てのAPI機能について処理が終了したか否かを判定する。動作確認ツールは、未だ処理が終了していないAPI機能があると判定した場合、処理をステップS103に戻す。一方、動作確認ツールは、選択された全てのAPI機能について処理が終了したと判定した場合、処理をステップS108に移行させる。
ステップS108で、動作確認ツールは、ステップS103〜ステップS107の処理で生成された動作確認画面を、利用者PC31に表示させる。より具体的には、例えば、表示情報生成部1006は、ステップS103〜ステップS107で生成された各配置情報や自動入力フラグを用いて、動作確認画面を表示させるための表示情報を生成する。動作確認ツールは、生成された表示情報を、Webサーバ10からネットワーク40を介して利用者PC31に送信する。利用者PC31は、受信した表示情報に従い、動作確認画面を表示装置125に表示させる。
次のステップS109で、動作確認ツールは、利用者PC31からの実行指示を待機する。動作確認ツールは、利用者PC31からの実行指示を受信すると、上述の処理で生成された動作確認画面に従い、動作確認処理を実行する。動作確認処理の詳細については、後述する。
次に、動作確認ツールにより上述のステップS100〜ステップS102で生成されるAPI選択画面と、ステップS103〜ステップS107で生成される動作確認画面について、より具体的に説明する。図14は、ステップS100〜ステップS102で動作確認ツールに生成される、第1の実施形態に係るAPI選択画面の例を示す。図14に示されるAPI選択画面360は、利用したいAPIの機能を選択して追加するための選択部として機能する。
動作確認ツールは、API選択画面360を表示させるための表示情報を生成して、例えばWebサーバ10からネットワーク40を介して利用者PC31に送信する。利用者PC31は、Webサーバ10から送信された表示情報を受信し、受信した表示情報に応じて、API選択画面360を表示装置125により表示させる。利用者は、この表示に従い利用者PC31の入力デバイス128を操作することで、API選択画面360に従った指示を、Webサーバ10に送信することができる。
図14において、API選択画面360は、選択領域36001、36002および36003が設けられ、各領域において、既にAPIの機能「サービス登録API」、「テナント認証API」および「key、value登録API」がそれぞれ選択済みの状態となっている。各選択領域36001〜36003は、例えば右端に表示される三角印をユーザ操作により指定することで、リスト表示3601のように、選択可能なAPI機能のリストが表示される。
なお、決定ボタン3603は、各選択領域36001〜36003による選択内容を確定し、次の処理に移行するためのボタンである。
さらに、図14の例では、選択領域36003の右側に、API機能を追加するための追加ボタン3602が配置される。このボタン3602を操作することで、API選択画面360に、API機能を選択するための選択領域を追加することができる。
例えば、動作確認ツールは、API選択画面360に対し、初期状態では、空白(未選択状態)の選択領域36001と、追加ボタン3602と、決定ボタン3603とを設ける。動作確認ツールは、例えば利用者PC31から、選択領域36001に対するAPI機能の選択操作が行われ、追加ボタン3602が操作された旨の通知を受けると、選択領域36001の下に選択領域36002を追加して表示させ、追加ボタン3602の位置を選択領域36001の右側から、追加された選択領域36002の右側に移動させ、選択領域36002の追加と、追加ボタン3602の位置の変更を行う。このようにして、API選択画面360に対して、選択領域を順次追加することができる。
また、動作確認ツールは、例えば選択領域36001の右側に設けられる三角印が操作されると、例えば図13のフローチャートの処理に先立って取得部1003に取得されたAPI機能のリストに基づき、API機能を選択するためのリスト表示3601を生成する。
さらに、API選択画面360において複数のAPI機能が選択された場合、当該複数のAPI機能が適用される順序を、当該API選択画面360上で指定することができる。
例えば、動作確認ツールは、API選択画面360において、選択されたAPI機能が表示される位置に応じて、API機能が適用される順序を指定する。図14の例では、API選択画面360の上から順に配置される選択領域36001、36002および36003に、それぞれ機能「サービス登録API」、「テナント認証API」および「key、value登録API」が表示されている。そこで、動作確認ツールは、各API機能の適用順を、この表示順に合わせて、機能「サービス登録API」、機能「テナント認証API」、機能「key、value登録API」の順とする。
なお、各選択領域36001、36002および36003は、それぞれ右側に設けられる三角印を操作することで、リスト表示3601と同様にして、選択可能なAPI機能のリストが表示される。このリストにおいて所望のAPI機能を指定することで、対応する選択領域に表示されるAPI機能が指定されたAPI機能に切り替わり、指定されるAPI機能が更新される。また、これにより、API機能が適用される順序を変更することができる。
動作確認ツールは、API選択画面360において決定ボタン3603が操作されると、API選択画面360において選択された各API機能による動作を確認するための動作確認画面を生成する。図15は、ステップS103〜ステップS107で動作確認ツールに生成される、第1の実施形態に係る動作確認画面の例を示す。図15において、動作確認画面361aは、API選択画面360において各選択領域36001、36002および36003にて指定された各API機能にそれぞれ対応するAPI機能領域3610a1、3610a2および3610a3が設けられる。
これらAPI機能領域3610a1、3610a2および3610a3は、それぞれ、各API機能におけるHTTPメソッドに関する情報と、リクエストに関する情報および入力領域とが表示される。
例えば、動作確認ツールは、API選択画面360での決定ボタン3603の操作に応じて、各選択領域36001〜36003において指定されたAPI機能に従い、API群20から、指定されたAPI機能に関するスキーマ定義を含むスキーマ情報300を取得する。動作確認ツールは、取得したスキーマ情報300から、所定の項目の値と各キーの値とを取得する。動作確認ツールは、取得した各値に基づき、動作確認画面361aにおいてAPI機能に対してリクエストを生成するための入力領域などを生成する。
この例では、動作確認ツールは、図12(a)、図12(b)および図12(c)に示したスキーマ定義350、351および352を含むスキーマ情報300を取得するものとする。動作確認ツールは、取得したスキーマ情報300に基づき、各API機能領域3610a1、3610a2および3610a3を表示するための表示情報を生成する。
図15の例では、API機能領域3610a1に対して、スキーマ定義350に含まれるHTTPメソッド3500aおよびパス情報3500bに対応する値36111と、スキーマ定義350に含まれるリクエストのスキーマ3501のキーの値(「password」)に対応する値が入力される入力領域3612a11とが配置される。ここで、API機能領域3610a1に対応するAPI機能は、API選択画面360において指定される各API機能のうち最初に適用されるAPI機能であり、参照すべき値が存在しない。そのため、入力領域3612a11は、デフォルトの値が予め入力される。この入力領域3612a11は、例えば利用者PC31に対するユーザ操作に応じて、任意の値を入力することができる。
API機能領域3610a2は、スキーマ定義351に含まれるHTTPメソッド3510aおよびパス情報3510bに対応する値36112と、スキーマ定義351に含まれるリクエストのスキーマ35111および35112のキーの値(「password」および「tenantId」)に対応する値が入力される入力領域3612a21および3612a22とが配置される。
この場合、上述したように、リクエストのスキーマ35111には自動入力フラグが設定されている。そのため、入力領域3612a21の値として、順序が前のAPI機能に対応するスキーマ定義350におけるリクエストのスキーマ3501の値が適用される。また、リクエストのスキーマ35112には自動入力フラグが設定されている。そのため、入力領域3612a22の値として、順序が前のAPI機能に対応するスキーマ定義350におけるレスポンスのスキーマ3502の値が適用される。
API機能領域3610a3は、スキーマ定義352に含まれるHTTPメソッド3520に対応する値36113と、スキーマ定義352に含まれるリクエストのスキーマ35211、35212、35213および35214のキーの値(「cookie」、「tenantId」、「key」および「value」)に対応する値が入力される入力領域3612a31、3612a32、3612a33および3612a34とが配置される。
この場合、リクエストのスキーマ35211には、自動入力フラグが設定されている。そのため、入力領域3612a31の値として、順序が前のAPI機能に対応するスキーマ定義351におけるレスポンスのスキーマ3512の値が適用される。また、リクエストのスキーマ35212には、自動入力フラグが設定されている。そのため、入力領域3612a32の値は、当該スキーマ定義351に含まれるキーであるリクエストのスキーマ35112の値が適用される。
さらに、リクエストのスキーマ35213および35214は、新規に出現した項目であり、対応する入力領域3612a33および3612a34は、参照すべき値が存在しない。そのため、動作確認ツールは、入力領域3612a33および3612a34に対して、デフォルトの値を入力する。これら入力領域3612a33および3612a34は、例えば利用者PC31に対するユーザ操作に応じて、任意の値を入力することができる。
このように、第1の実施形態に係る動作確認画面361aは、順序が前のAPI機能のリクエストまたはレスポンスに対して依存関係があるリクエストについて、この依存関係にあるリクエストまたはレスポンスの値を適用するようにしている。また順序が先頭のAPI機能のリクエストや、API機能の順序中、新規に出現したキーに係るリクエストについては、ユーザ操作に応じて値を入力するようにしている。
動作確認画面361aにおいて、実行ボタン3620は、動作確認画面361aの各入力領域に入力された値に従い、各API機能の動作を確認するための動作確認処理を実行させるためのボタンである。
次に、実行ボタン3620が操作され、動作確認処理が実行された場合、すなわち、動作確認ツールが、図13のフローチャートのステップS109において、利用者PC31からの実行指示を受け取った場合の動作確認ツールの動作について説明する。
図16は、第1の実施形態に係る動作確認ツールによるAPI機能の動作確認処理を示す一例のフローチャートである。ステップS120で、動作確認ツールは、処理対象のAPI機能の数を取得する。API機能の数は、上述の図13のフローチャートにおける上述のステップS100〜ステップS102の処理でカウントされたカウント値から知ることができる。
以下のステップS121〜ステップS127の処理は、取得されたAPI機能の数の回数だけ繰り返される。例えば、ステップS121〜ステップS127の処理は、図15を用いて説明した動作確認画面361aの各API機能領域3610a〜3610a毎に実行される。
次のステップS121で、動作確認ツールは、処理の対象となるAPI機能領域のリクエストのスキーマに自動入力フラグが設定されているか否かを判定する。
動作確認ツールは、自動入力フラグが設定されていると判定した場合、処理をステップS122に移行させる。ステップS122で、動作確認ツールは、同一のスキーマを有する、順序が前のAPI機能領域に既に入力または設定されているリクエストまたはレスポンスの値から、処理対象のAPI機能領域のリクエストを生成する。動作確認ツールは、リクエストを生成すると、処理をステップS124に移行させる。
例えば、図15の動作確認画面361aにおいて、API機能領域3610a2の入力領域3612a21および3612a22は、図13のステップS106にて説明したように、それぞれ対応するリクエストのスキーマ35111および35112に自動入力フラグが設定されている。したがって、入力領域3612a21には、対応するリクエストのスキーマ35111とキー値が一致するリクエストのスキーマ3501の値から、リクエストのスキーマを生成する。同様に、入力領域3612a22には、対応するリクエストのスキーマ35112とキー値が一致するレスポンスのスキーマ3502の値から、リクエストのスキーマを生成する。
一方、動作確認ツールは、ステップS121で自動入力フラグが設定されていないと判定した場合、処理をステップS123に移行させる。ステップS123で、動作確認ツールは、ユーザ操作により入力された値からリクエストを生成する。動作確認ツールは、ユーザ操作により利用者PC31に対して入力された値を受信すると、受信した値からリクエストを生成し、処理をステップS124に移行させる。
例えば、図15の動作確認画面361aにおいて、API機能領域3610a1の入力領域3612a11は、最初に登場するAPI機能に対応し、自動入力フラグが設定されていない。また、API機能領域3610a3の入力領域3612a33および3612a34は、ここまでのAPI機能の順序において最初に登場するキーに係るため、自動入力フラグが設定されていない。そのため、これらの入力領域3612a11、3612a33および3612a34は、ユーザ操作により値を入力する必要がある。
ステップS124で、動作確認ツールは、ステップS122またはステップS123で生成したリクエストを、例えばAPI群20に送信する。動作確認ツールは、送信したリクエストに対するレスポンスをステップS125で受信し、処理をステップS126に移行させる。
ステップS126で、動作確認ツールは、ステップS124で送信したリクエストを示すリクエスト情報と、ステップS125で受信したレスポンスを示すレスポンス情報とを表示させるための表示情報を生成する。次のステップS127で、動作確認ツールは、対象となる全てのAPI機能について処理が終了したか否かを判定する。動作確認ツールは、未だ処理が終了していないAPI機能があると判定した場合、処理をステップS121に戻し、次のAPI機能を処理対象として、処理を開始する。
一方、動作確認ツールは、ステップS127で、対象となる全てのAPI機能について処理が終了したと判定した場合、処理をステップS128に移行させる。ステップS128で、動作確認ツールは、各API機能についてステップS126で生成した、動作確認結果としてのリクエスト情報およびレスポンス情報を表示させるための表示情報を、処理対象のAPI機能全てについて纏めて、利用者PC31に送信する。利用者PC31は、この表示情報に基づき、例えば表示装置125にリクエスト情報およびレスポンス情報を表示させる。
図17は、第1の実施形態に係る、リクエスト情報およびレスポンス情報の表示例を示す。図17(a)は、リクエスト情報およびレスポンス情報の構造の例を示す。図17(a)において、リクエスト情報3700は、1つのAPI機能#1について、リクエストホスト、リクエストヘッダおよびリクエストボディを含む。レスポンス情報3701についても同様に、1つのAPI機能#1について、レスポンスホスト、レスポンスヘッダおよびレスポンスボディを含む。1つのAPI機能について、これらリクエスト情報3700とレスポンス情報3701とが1対1に対応付けられた組として構成される。
図17(b)は、表示情報により表示される結果情報370の例を示す。結果情報370は、API選択画面360で指定された全てのAPI機能に対するレスポンス情報およびレスポンス情報の組を含む。図17(b)の例では、結果情報は、API選択画面360で指定されたAPI機能の順序に従い、第1のAPI機能201に係るリクエスト情報37001とレスポンス情報37011の組、第1のAPI機能201に係るリクエスト情報37002とレスポンス情報37012の組、…のように、API選択画面360で指定された全てのAPI機能に対するレスポンス情報およびレスポンス情報が纏めて表示される。
このように、第1の実施形態では、依存関係のある複数のAPI機能の動作結果を纏めて表示するようにしているので、容易に動作確認を行うことができる。
(第2の実施形態)
次に、第2の実施形態について説明する。上述した第1の実施形態による動作確認画面361aでは、順序が前のAPI機能のリクエストまたはレスポンスに対して依存関係があるリクエストについては、当該順序が前のAPI機能のリクエストまたはレスポンスの値を自動的に適用するようにしていた。これに対して、第2の実施形態は、順序が前のAPI機能のリクエストまたはレスポンスに対して依存関係があるリクエストについて、ユーザ操作により値を入力、または、値を選択可能とし、より汎用に構成した例である。
図18は、第2の実施形態に係る動作確認画面の例を示す。なお、図18において、上述した図15と共通する部分には同一の符号を付して、詳細な説明を省略する。図18に示される動作確認画面361bは、上述した動作確認画面361aに対して、各入力領域を、ユーザ操作による直接的な入力、または、ユーザ操作による入力値の選択が可能なように構成している。
例えば、図18の例では、動作確認画面361bにおいて、各API機能領域は、キーとなるリクエスト毎に、直接入力領域と選択入力領域とが配置される。具体的には、例えばAPI機能領域3610a2’において、キー「password」のリクエスト入力領域として、直接入力領域3612a21−1と選択入力領域3612a21−2とが配置され、キー「tenantId」のリクエスト入力領域として、直接入力領域3612a22−1と選択入力領域3612a22−2とが配置される。選択入力領域3612a21−2および3612a22−2は、それぞれ、順序が前の第1のAPI機能201のスキーマ定義350に定義される各キー「password」および「tenantId」とが選択できるようになっている。
API機能領域3610a3’についても同様である。すなわち、API機能領域3610a3’において、キー「cookie」のリクエスト入力領域として、直接入力領域3612a31−1と選択入力領域3612a31−2とが配置され、キー「tenantId」のリクエスト入力領域として、直接入力領域3612a32−1と選択入力領域3612a32−2とが配置される。これら選択入力領域3612a31−2および3612a32−2は、順序が前の第1のAPI機能201のスキーマ定義350に定義されるキー「password」および「tenantId」と、同様に順序が前の第2のAPI機能201のスキーマ定義351に定義されるキー「cookie」とが選択できるようになっている。
図19は、第2の実施形態に係る動作確認ツールの動作を説明するための一例のフローチャートである。このフローチャートによる各処理は、Webアプリ11としての動作確認ツールにより実行される。この図19のフローチャートによる処理の実行に先立って、動作確認ツールは、API機能を選択するためのAPI選択画面を、利用者PC31に表示させる。このAPI選択画面は、図14を用いて説明したAPI選択画面360と共通できるので、ここでの説明を省略する。
ステップS200で、動作確認ツールは、API選択画面に対して入力領域を配置し、配置した入力領域に対して利用可能なAPI機能のリストを表示させる。そして、動作確認ツールは、入力領域に対する利用者PC31からのユーザ操作に応じてAPI機能を選択する。また、動作確認ツールは、特定されたAPI機能の数に1を加算し、API機能の数をカウントする。
次のステップS201で、動作確認ツールは、利用者PC31から受け付けたユーザ操作がAPI機能の追加および決定の何れの操作であるかを判定する。動作確認ツールは、受け付けたユーザ操作がAPI機能の追加の指示の操作であると判定した場合、処理をステップS202に移行させ、API機能を追加するために、新たな入力領域をAPI選択画面に配置する。そして、処理がステップS200に戻され、新たな入力領域に対するユーザ操作を待機する。
一方、動作確認ツールは、ステップS201で、利用者PC31からのユーザ操作が、API機能の決定の操作であると判定した場合、処理をステップS203に移行させる。以下のステップS203〜ステップS208の処理により、第2の実施形態係る動作確認画面361bが生成される。このステップS203〜ステップS208は、上述のステップS200〜ステップS202の処理でカウントされたカウント値に従い、選択されたAPI機能の数だけ繰り返して実行される。
以下では、ステップS200〜ステップS202の処理により、図12を用いて説明した、第1、第2および第3のAPI機能201が選択されたものとする。
ステップS203で、動作確認ツールは、ステップS200で選択された1つのAPI機能(例えば第1のAPI機能201)を対象として、例えばAPI群20から、スキーマ情報300に含まれるスキーマ定義(例えばスキーマ定義350)を取得する。また、このステップS203がステップS203〜ステップS208で繰り返される処理の内最初の処理である場合には、動作確認ツールは、スキーマ情報300から共通情報定義部をさらに取得する。
次のステップS204で、動作確認ツールは、ステップS203で取得されたスキーマ定義から、HTTPメソッドとパス情報とを抽出して動作確認画面に配置する。また、ステップS204で、動作確認ツールは、ステップS203で取得したスキーマ定義から、リクエストのスキーマを抽出して、キーの値を動作確認画面の所定の位置に配置する。次のステップS205で、動作確認ツールは、ステップS204で抽出したリクエストのスキーマに基づき、値を入力する入力領域を生成し、この入力領域に対する入力形式を設定する。
次のステップS206で、動作確認ツールは、現在の処理がステップS203〜ステップS208のループ処理の1回目の処理であるか否かを判定する。動作確認ツールは、1回目の処理であると判定した場合、処理をステップS208に移行させる。一方、動作確認ツールは、現在の処理が1回目ではないと判定した場合、処理をステップS207に移行させる。ステップS207で、動作確認ツールは、ステップS205で生成した入力領域に対して、選択領域を追加し、選択形式を設定する。
次のステップS207で、動作確認ツールは、ステップS200〜ステップS202で選択された全てのAPI機能について処理が終了したか否かを判定する。動作確認ツールは、未だ処理が終了していないAPI機能があると判定した場合、処理をステップS203に戻す。一方、動作確認ツールは、選択された全てのAPI機能について処理が終了したと判定した場合、処理をステップS209に移行させる。
ステップS209で、動作確認ツールは、ステップS203〜ステップS208の処理で生成された動作確認画面361bを、利用者PC31に表示させる。次のステップS210で、動作確認ツールは、利用者PC31からの実行指示を待機する。動作確認ツールは、利用者PC31からの実行指示を受信すると、上述の処理で生成された動作確認画面に従い、動作確認処理を実行する。
例えば、利用者は、この動作確認画面361bに従い、各API機能領域に設けられた各入力領域および選択領域に対する入力または選択操作を行う。利用者PC31は、動作確認画面361bの実行ボタン3620が操作されると、入力操作および選択操作により入力または選択された各値と、確認動作処理の実行の指示とを、利用者PC31からWebサーバ10に送信する。Webサーバ10は、利用者PC31から受信した各値を動作確認ツールに渡す。
なお、動作確認ツールにおける動作確認処理は、図16を用いて説明した処理と同様であり、動作確認処理の結果得られるリクエスト情報およびレスポンス情報は、図17で説明した構成と同様であるので、それぞれ、ここでの説明を省略する。
このように、第2の実施形態では、各リクエストの値を直接的に入力可能であると共に、順序が前のAPI機能のリクエストおよびレスポンスのスキーマに基づき選択可能とされているため、API機能の動作確認をより柔軟に実行できる。
(第2の実施形態の変形例)
次に、第2の実施形態の変形例について説明する。第2の実施形態の変形例は、上述した第2の実施形態に係る動作確認画面361bにおいて設定された各値を保存可能としたものである。図20は、第2の実施形態の変形例に係る動作確認画面の例を示す。なお、図20において、上述した図18と共通する部分には同一の符号を付して、詳細な説明を省略する。
図20において、動作確認画面361b’は、図18の動作確認画面361bに対して保存ボタン3630および読み出しボタン3631が追加されている。保存ボタン3630は、動作確認画面361b’の各入力領域および選択領域の状態を保存するためのボタンである。
動作確認ツールは、利用者PC31にて保存ボタン3630が操作されると、動作確認画面361b’の各入力領域3612a11、3612a21−1、3612a22−1、3612a31−1、3612a32−1、3612a33および3612a34に入力された値を保存する。また、動作確認ツールは、保存ボタン3630が操作されると、動作確認画面361b’の各選択領域3612a21−2、3612a22−2、3612a31−2および3612a32−2の選択状態を示す情報を保存する。
動作確認ツールは、これら各入力値と選択状態を示す情報とを、例えば利用者PC31のストレージ126に保存する。これに限らず、動作確認ツールは、これら各入力値と選択状態を示す情報とを、例えば利用者PC31を利用する利用者の識別情報と関連付けて、Webサーバ10のストレージ104に保存してもよい。
読み出しボタン3631は、保存ボタン3630の操作により保存された各入力値と各選択状態を示す情報とを読み出して、読み出した値などを動作確認画面361b’に設定するためのボタンである。動作確認ツールは、利用者PC31にて読み出しボタン3631が操作されると、保存ボタン3630の操作により保存された各入力値と各選択状態を示す情報とを読み出す。
そして、動作確認ツールは、読み出した各入力値と各選択状態を示す情報とを用いて、動作確認画面361b’の入力領域3612a11、3612a21−1、3612a22−1、3612a31−1、3612a32−1、3612a33および3612a34、ならびに、選択領域3612a21−2、3612a22−2、3612a31−2および3612a32−2の値をそれぞれ設定する。これら設定された値は、利用者PC31に対するユーザ操作により変更することも可能である。動作確認画面361b’において、実行ボタン3620を操作することで、読み出され設定された各値に基づき図16のフローチャートに従い動作確認処理が実行され、動作確認結果が利用者PC31に表示される。
このように、第2の実施形態の変形例に係る動作確認画面361b’は、ユーザ操作により入力および選択した各値を保存し、また、保存した各値を読み出して再設定することができる。そのため、利用者は、例えばAPI機能による動作確認を繰り返して実行するような場合に、各値の入力や選択操作を一々行う必要がなく、動作確認処理の利用者の負荷を軽減することができる。
(第3の実施形態)
次に、第3の実施形態について説明する。上述した第1の実施形態に係る動作確認ツールでは、動作確認の対象のAPI機能を、API選択画面360において1つずつ指定していた。これに対して、第3の実施形態に係る動作確認ツールは、リクエストのスキーマに依存関係があるAPI機能の組を予め登録しておき、登録された組に対する利用者の選択に応じて、候補の組を利用者に提示する。このようにすることで、利用者は、候補として提示されたAPI機能の組から所望の組を選択することで、動作確認の対象の複数のAPI機能を指定することができる。
第3の実施形態による動作確認ツールの動作について、より詳細に説明する。先ず、例えばAPI機能の提供者は、リクエストのスキーマに依存関係があるAPI機能の組を予め作成し、例えばAPI群20に格納しておく。式(1)〜(4)は、リクエストのスキーマに依存関係があるAPI機能の組の例を示す。
{テナント認証、key,value登録} …(1)
{サービス登録、テナント認証、key,value登録} …(2)
{テナント認証、ファイル登録} …(3)
{サービス登録、テナント認証、ファイル登録} …(4)
なお、式(1)〜(4)において、括弧「{」および「}」内の各API機能の順序は、API機能が適用される順序を示している。
図21は、第3の実施形態に係るAPI選択画面の例を示す。図21(a)は、目的のAPI機能、例えば一連の処理に最終的に必要となるAPI機能を選択するための第1のAPI選択画面400の例を示す。また、図21(b)は、第1のAPI選択画面で選択されたAPI機能に基づく、リクエストのスキーマに依存関係のあるAPI機能の組を選択するための第2のAPI選択画面401の例を示す。
なお、第3の実施形態に係る動作確認ツールは、これら第1のAPI選択画面400および第2のAPI選択画面401を、例えば図13のフローチャートにおけるステップS100〜ステップS102、または、図19のフローチャートにおけるステップS200〜ステップS202の処理の代わりに生成し、利用者PC31に表示させる。動作確認ツールは、第1のAPI選択画面400の生成に先立って、例えばAPI群20から、利用可能なAPI機能のリストを取得する。
図21(a)において、第1のAPI選択画面400は、選択領域4000と、候補ボタン4002とが配置される。選択領域4000は、例えば右端に表示される三角印をユーザ操作により指定することで、リスト表示4001のように、選択可能なAPI機能のリストが表示される。
動作確認ツールは、例えば利用者PC31に対するユーザ操作により、リスト表示4001に対して目的とするAPI機能が指定され、候補ボタン4002が操作されると、リクエストのスキーマに依存関係があるAPI機能の組のうち、指定されたAPI機能を含む組を抽出する。例えば、図21(a)に例示されるように、API機能「key,value登録」が指定された場合、動作確認ツールは、上述した式(1)〜(4)から、指定されたAPI機能「key,value登録」を含む組として、式(1)および式(2)で示される組を抽出する。
動作確認ツールは、第1のAPI選択画面400において指定されたAPI機能を含む組を抽出すると、図21(b)に示す第2のAPI選択画面401を生成し、利用者PC31に表示させる。図21(b)の例では、第2のAPI選択画面401は、抽出されたAPI機能の組に従い、API機能表示領域4010aおよび4010bと、これらAPI機能表示領域4010aおよび4010bのうち1つを選択するためのラジオボタン4011aおよび4011bと、決定ボタン4012とが配置される。
API機能表示領域4010aおよび4010bは、それぞれ、第1のAPI選択画面400に対するAPI機能の指定に応じて抽出されたAPI機能の組に含まれるAPI機能が、API機能の適用順に従ってリスト表示される。ラジオボタン4011aおよび4011bは、これらAPI機能表示領域4010aおよび4010bに表示されるAPI機能の組から1つの組を排他的に指定する。
動作確認ツールは、決定ボタン4012が操作されると、API機能表示領域4010aおよび4010bに表示されるAPI機能の組のうち、ラジオボタン4011aおよび4011bにより選択された組に含まれる各API機能を、選択されたAPI機能として特定する。動作確認ツールは、選択されたAPI機能が特定されると、上述の図13のフローチャートのステップS103以降の処理、または、図19のフローチャートのステップS203以降の処理を実行する。
このように、第3の実施形態に係る動作確認ツールは、リクエストのスキーマに依存関係があるAPI機能の組を予め登録しておき、登録された組に対する利用者の選択に応じて、候補の組を利用者に提示するようにしている。そのため、利用者は、必要な処理を行うためのAPI機能を一々指定する必要が無く、API機能の動作確認処理への負荷が軽減される。
なお、上述では、式(1)〜(4)に例示したように、リクエストのスキーマに依存関係のあるAPI機能の組を、全てのパターンについて作成しているが、これはこの例に限定されない。例えば、直前の依存関係のみに基づきAPI機能の組を作成してもよい。例えば、API機能の組{サービス認証、テナント認証}の情報と、API機能の組{テナント認証、key,value登録}の情報とから、共通するAPI機能{テナント認証}に基づき、依存関係にあるAPI機能の組{サービス登録、テナント認証、key,value登録}を導出することができる。
(第4の実施形態)
次に、第4の実施形態について説明する。第4の実施形態に係る動作確認ツールは、指定したAPI機能が依存関係にある、順序が当該API機能の前のAPI機能を順次選択するようにしている。図22(a)、図22(b)および図22(c)は、第4の実施形態に係るAPI選択画面の例を示す。
なお、第4の実施形態に係る動作確認ツールは、API選択画面410を、例えば図13のフローチャートにおけるステップS100〜ステップS102、または、図19のフローチャートにおけるステップS200〜ステップS202の処理の代わりに生成し、利用者PC31に表示させる。動作確認ツールは、API選択画面410の生成に先立って、例えばAPI群20から、利用可能なAPI機能のリストを取得する。
図22(a)、図22(b)および図22(c)において、API選択画面410a、410bおよび410cは、それぞれ選択領域4100と、候補ボタン4102と、決定ボタン4103とが配置される。図22(a)を例にとって、選択領域4100は、例えば右端に表示される三角印をユーザ操作により指定することで、リスト表示4101aのように、選択可能なAPI機能のリストが表示される。
動作確認ツールは、例えば利用者PC31に対するユーザ操作により、リスト表示4101aに対して目的とするAPI機能が指定され、候補ボタン4102が操作されると、指定されたAPI機能のスキーマ定義のキーを抽出する。そして、動作確認ツールは、利用可能な他のAPI機能のうち、スキーマ定義が抽出したキーと同じキーを含むAPI機能を特定する。
例えば、図22(a)において指定されたAPI機能「key,value登録API」が、リクエストのスキーマにキーの値「cookie」、「tenantId」、「key」および「value」を含む場合、動作確認ツールは、これらのキーの値をレスポンスの項目にキー値として持っているAPI機能のリストを作成する。
図22(b)は、このように作成されたリスト表示4101bが配置されたAPI選択画面410bの例を示す。API選択画面410bにおいて、直前のAPI選択画面410aで選択されたAPI機能の情報が領域4110に配置され、選択領域4100に対してリスト表示4101bが配置されている。
この図22(b)のAPI選択画面410bにおいて、例えばAPI機能「テナント認証API」が指定された場合、動作確認ツールは、指定されたAPI機能「テナント認証API」が、リクエストのスキーマにキーの値「password」および「tenantId」を含む場合、動作確認ツールは、これらのキーの値をレスポンスの項目にキー値として持っているAPI機能のリストを作成する。
図22(c)は、このように作成されたリスト表示4101cが配置されたAPI選択画面410cの例を示す。上述のAPI選択画面410bと同様に、API選択画面410cにおいて、直前のAPI選択画面410bで選択されたAPI機能の情報が領域4110に配置され、選択領域4100に対してリスト表示4101cが配置されている。
なお、動作確認ツールは、API選択画面410a、410bおよび410cの何れの段階で決定ボタン4103が操作されても、動作確認処理を実行させることができる。この場合、決定ボタン4103が操作された時点で指定されているAPI機能について、動作確認処理が実行される。動作確認ツールは、決定ボタン4103が操作されると、上述の図13のフローチャートのステップS103以降の処理、または、図19のフローチャートのステップS203以降の処理を実行する。
このように、第4の実施形態に係る動作確認ツールは、指定したAPI機能が依存関係にある、順序が当該API機能の前のAPI機能を順次選択するようにしているため、利用者は、必要な処理を行うためのAPI機能を容易に指定することができ、API機能の動作確認処理への負荷が軽減される。
なお、上述の各実施形態は、本発明の好適な実施の例ではあるがこれに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変形による実施が可能である。
1 情報処理システム
10 Webサーバ
11 Webアプリ
20 API群
30 提供者PC
31 利用者PC
40 ネットワーク
101,121 CPU
104,126 ストレージ
125 表示装置
128 入力デバイス
200 プログラム
201 API機能
210 リクエスト
213 レスポンス
300 スキーマ情報
310,320,330 リクエストのスキーマ定義
311,321,331 レスポンスのスキーマ定義
360,410a,410b,410c API選択画面
361a,361b 動作確認画面
370 結果情報
400 第1のAPI選択画面
401 第2のAPI選択画面
1000 格納部
1001 操作部
1002 選択部
1003 取得部
1004 生成部
1005 実行制御部
1006 表示情報制御部
36001,36002,36003,4000,4100 選択領域
3601,4001,4101a,4101b,4101c リスト表示
3610a1,3610a2,3610a2’、3610a3,3610a3’ API機能領域
3612a11,3612a21,3612a21−1,3612a21−2,3612a22,3612a22−1,3612a22−2,3621a31,3621a31−1,3621a31−2,3612a32,3612a32−1,3612a32−2,3612a33,3612a34 入力領域
3700,37001,37002 リクエスト情報
3701,37011,37012 レスポンス情報
4002,4102 候補ボタン
4010a,4010b API機能表示領域
4011a,4011b ラジオボタン
特開2012−073778号公報

Claims (9)

  1. プログラムに実装されるプログラムインタフェースの少なくともリクエストおよびレスポンスを定義するスキーマ情報を格納する格納部と、
    前記プログラムインタフェースをユーザ操作に応じて選択し、選択されたプログラムインタフェースの順序を指定する選択部と、
    前記選択されたプログラムインタフェース毎に前記スキーマ情報を取得する取得部と、
    前記選択されたプログラムインタフェースに対するリクエストを設定するための設定部を、前記取得部により取得されたスキーマ情報に基づき生成する生成部と、
    前記選択されたプログラムインタフェースが実装されるプログラムを、該選択されたプログラムインタフェースに前記設定部で設定された前記リクエストを用いて、前記順序に従い実行させる実行制御部と
    を備え、
    前記生成部は、
    前記取得部で取得されたスキーマ情報に定義されるリクエストに、前記選択されたプログラムインタフェースのうち該リクエストが定義されるプログラムインタフェースよりも前記順序が前のプログラムインタフェースの前記レスポンスが含まれている場合に、該レスポンスをリクエストとして前記設定部に設定する
    情報処理システム。
  2. 前記生成部は、
    前記選択されたプログラムインタフェースのうち、前記順序が最初のプログラムインタフェースの前記設定部に対して、ユーザ入力に従い前記リクエストを設定し、前記順序が最後のプログラムインタフェースの前記設定部に対して、ユーザ入力に従い前記レスポンスを設定する
    請求項1に記載の情報処理システム。
  3. 前記生成部は、
    前記設定部に対する前記リクエストの設定をユーザ入力に従い行う
    請求項1に記載の情報処理システム。
  4. 前記生成部は、
    前記設定部に対して、前記選択されたプログラムインタフェースのうち、前記順序が前のプログラムインタフェースの前記スキーマ情報に基づき前記ユーザ入力に従い選択された前記リクエストを設定する
    請求項3に記載の情報処理システム。
  5. 前記選択部は、
    ユーザ操作に応じて、前記レスポンスを取得すべき1の前記プログラムインタフェースを選択し、選択されたプログラムインタフェースと関連付けて予め格納されたプログラムインタフェースをさらに選択する
    請求項1乃至請求項4の何れか1項に記載の情報処理システム。
  6. 前記格納部は、さらに、
    前記リクエストおよび前記レスポンスのうち少なくとも一方が共通する前記スキーマ情報が定義されたプログラムインタフェースの組を示す情報を格納し、
    前記選択部は、
    前記格納部が格納する前記組を示す情報に基づき、前記組のうち、ユーザ操作に応じて選択されたプログラムインタフェースが含まれる組を選択する
    請求項5に記載の情報処理システム。
  7. 前記選択部は、
    第1のユーザ操作に応じて選択された前記プログラムインタフェースの前記スキーマ情報に含まれるリクエストのうち少なくとも1のリクエストに対応するレスポンスが含まれる前記スキーマ情報に対応する前記プログラムインタフェースを選択し、
    選択した該プログラムインタフェースから第2のユーザ操作に応じて選択されたプログラムインタフェースの前記スキーマ情報に含まれるリクエストのうち少なくとも1のリクエストに対応するレスポンスが含まれる前記スキーマ情報に対応する前記プログラムインタフェースをさらに選択する
    請求項1に記載の情報処理システム。
  8. プログラムに実装されるプログラムインタフェースの少なくともリクエストおよびレスポンスを定義するスキーマ情報を格納する格納部と、
    前記プログラムインタフェースをユーザ操作に応じて選択し、選択されたプログラムインタフェースの順序を指定する選択部と、
    前記選択されたプログラムインタフェース毎に前記スキーマ情報を取得する取得部と、
    前記選択されたプログラムインタフェースに対するリクエストを設定するための設定部を、前記取得部により取得されたスキーマ情報に基づき生成する生成部と、
    前記選択されたプログラムインタフェースが実装されるプログラムを、該選択されたプログラムインタフェースに前記設定部で設定された前記リクエストを用いて、前記順序に従い実行させる実行制御部と
    を備え、
    前記生成部は、
    前記取得部で取得されたスキーマ情報に定義されるリクエストに、前記選択されたプログラムインタフェースのうち該リクエストが定義されるプログラムインタフェースよりも前記順序が前のプログラムインタフェースの前記レスポンスが含まれている場合に、該レスポンスをリクエストとして前記設定部に設定する
    情報処理装置。
  9. 情報処理方法をコンピュータに実行させるための情報処理プログラムであって、
    前記情報処理方法は、
    プログラムに実装されるプログラムインタフェースをユーザ操作に応じて選択し、選択されたプログラムインタフェースの順序を指定する選択ステップと、
    前記選択されたプログラムインタフェース毎に、前記プログラムインタフェースの少なくともリクエストおよびレスポンスを定義するスキーマ情報を取得する取得ステップと、
    前記選択されたプログラムインタフェースに対するリクエストを設定するための設定部を、前記取得ステップにより取得されたスキーマ情報に基づき生成する生成ステップと、
    前記選択されたプログラムインタフェースが実装されるプログラムを、該選択されたプログラムインタフェースに前記設定部で設定された前記リクエストを用いて、前記順序に従い実行させる実行制御ステップと
    を備え、
    前記生成ステップは、
    前記取得ステップにより取得されたスキーマ情報に定義されるリクエストに、前記選択されたプログラムインタフェースのうち該リクエストが定義されるプログラムインタフェースよりも前記順序が前のプログラムインタフェースの前記レスポンスが含まれている場合に、該レスポンスをリクエストとして前記設定部に設定する
    情報処理プログラム。
JP2015048878A 2015-03-11 2015-03-11 情報処理システム、情報処理装置および情報処理プログラム Pending JP2016170548A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015048878A JP2016170548A (ja) 2015-03-11 2015-03-11 情報処理システム、情報処理装置および情報処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015048878A JP2016170548A (ja) 2015-03-11 2015-03-11 情報処理システム、情報処理装置および情報処理プログラム

Publications (1)

Publication Number Publication Date
JP2016170548A true JP2016170548A (ja) 2016-09-23

Family

ID=56983775

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015048878A Pending JP2016170548A (ja) 2015-03-11 2015-03-11 情報処理システム、情報処理装置および情報処理プログラム

Country Status (1)

Country Link
JP (1) JP2016170548A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016177659A (ja) * 2015-03-20 2016-10-06 ヤフー株式会社 検証プログラム、検証装置及び検証方法
JP2020052510A (ja) * 2018-09-25 2020-04-02 株式会社東芝 仕様管理装置、方法、およびプログラム
JPWO2021152803A1 (ja) * 2020-01-30 2021-08-05
JPWO2021152802A1 (ja) * 2020-01-30 2021-08-05

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016177659A (ja) * 2015-03-20 2016-10-06 ヤフー株式会社 検証プログラム、検証装置及び検証方法
JP2020052510A (ja) * 2018-09-25 2020-04-02 株式会社東芝 仕様管理装置、方法、およびプログラム
JP7204398B2 (ja) 2018-09-25 2023-01-16 株式会社東芝 仕様管理装置、方法、およびプログラム
JPWO2021152803A1 (ja) * 2020-01-30 2021-08-05
JPWO2021152802A1 (ja) * 2020-01-30 2021-08-05
JP7367784B2 (ja) 2020-01-30 2023-10-24 富士通株式会社 入力支援装置、入力支援方法および入力支援プログラム
JP7367783B2 (ja) 2020-01-30 2023-10-24 富士通株式会社 サービス設計装置、サービス設計方法およびサービス設計プログラム

Similar Documents

Publication Publication Date Title
JP2009053730A (ja) ソフトウェアアップデート用プログラム
JP2008234213A (ja) 情報処理装置、情報処理方法、情報処理プログラム、及び情報処理プログラムを記録する記録媒体
JP2016170548A (ja) 情報処理システム、情報処理装置および情報処理プログラム
KR20130044359A (ko) 라이센스 설치 지원 시스템, 라이센스 설치 지원 방법, 및 비 일시적인 컴퓨터 판독 가능한 기억 매체
JP2016177553A (ja) 情報処理装置、情報処理システム、情報処理方法、及びプログラム
JP6260585B2 (ja) 情報処理装置および情報処理プログラム
CN108885444B (zh) 信息管理装置、信息管理方法及信息管理系统
JPWO2018193503A1 (ja) プログラム作成装置
JP2023054082A (ja) プログラム、情報処理装置及びその処理方法
JP6319246B2 (ja) 情報処理システムおよび情報処理方法
JP5991079B2 (ja) データチェック装置及びプログラム
JP6242554B1 (ja) プログラム開発支援装置およびプログラム部品の管理方法
JP2019192134A (ja) 情報処理装置、その処理方法及びプログラム
JP7315817B2 (ja) 情報処理装置及びその制御方法、プログラム
JP7231812B2 (ja) 情報処理システム、処理方法及びプログラム
JP7421137B2 (ja) 情報処理装置、情報処理方法およびプログラム
JP5510502B2 (ja) 情報処理装置、情報処理方法、情報処理プログラム、及び情報処理プログラムを記録する記録媒体
JP2009064347A (ja) 作業支援情報表示装置および作業支援情報表示方法
JP6214698B2 (ja) Ui定義生成装置およびui定義生成プログラム
JP6353269B2 (ja) 情報処理装置、情報処理方法、およびプログラム
JP6705993B2 (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
JP2018005695A (ja) 画像処理装置、画像処理方法、および画像処理プログラム
JP2016062214A (ja) 出力システム、端末装置及びプログラム
JP6532745B2 (ja) 構成図設計支援システム、構成図設計支援方法およびプログラム
JP6674084B2 (ja) サーバ装置、その制御方法、及びプログラム、並びに、情報処理システム、その制御方法、及びプログラム