JP7519230B2 - API implementation support system and API implementation support method - Google Patents
API implementation support system and API implementation support method Download PDFInfo
- Publication number
- JP7519230B2 JP7519230B2 JP2020139228A JP2020139228A JP7519230B2 JP 7519230 B2 JP7519230 B2 JP 7519230B2 JP 2020139228 A JP2020139228 A JP 2020139228A JP 2020139228 A JP2020139228 A JP 2020139228A JP 7519230 B2 JP7519230 B2 JP 7519230B2
- Authority
- JP
- Japan
- Prior art keywords
- api
- access procedure
- information
- web
- access
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 149
- 230000010365 information processing Effects 0.000 claims description 38
- 238000006243 chemical reaction Methods 0.000 claims description 14
- 238000004891 communication Methods 0.000 description 31
- 230000006870 function Effects 0.000 description 24
- 238000012545 processing Methods 0.000 description 12
- 230000005540 biological transmission Effects 0.000 description 9
- 239000000284 extract Substances 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 238000000605 extraction Methods 0.000 description 7
- 238000013473 artificial intelligence Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000005012 migration Effects 0.000 description 4
- 238000013508 migration Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000007790 scraping Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
Description
本発明は、API化支援システム、及びAPI化支援方法に関する。 The present invention relates to an API support system and an API support method.
特許文献1には、既存システムをAPI化するAPI変換アダプタに関して記載されている。API変換アダプタは、既存システムとAPIゲートウェイとの間に配備され、既存システムとのパケット送受信シーケンスを記憶し、 受信したパケット内のパラメータ
を抽出し、記憶しているパケット内のパラメータを抽出したパラメータに置換する。API変換アダプタは、APIゲートウェイとはRESTで要求受付及び応答返却を行い、既存システムとは既存のプロトコルで送受信を行う。
近年、多くのWebアプリケーション(以下、「Webアプリ」とする。)においてWebAPI(Web Application Programming Interface)が提供されている。WebAP
Iを利用する事により、外部のWebアプリと連携するクライアントアプリケーション(以下、「クライアントアプリ」と称する。)の開発効率の向上を図ることができる。また、WebAPIを利用することで、ユーザの利便性を大きく向上させるようなクライアントアプリを容易に実現することが可能になる(例えば、各地方自治体が提供するWebAPIを利用して全国版のクライアントアプリを作成する場合等)。
In recent years, Web APIs (Web Application Programming Interfaces) have been provided in many Web applications (hereinafter referred to as "Web apps").
By using I, it is possible to improve the efficiency of developing client applications (hereinafter referred to as "client applications") that work with external web applications. In addition, by using Web API, it is possible to easily realize client applications that greatly improve user convenience (for example, when creating a nationwide version of a client application using Web APIs provided by each local government).
このようにWebアプリをWebAPIとして提供することには様々な利点があるが、既存のWebアプリ(以下、「既存Webアプリ」と称する。)のAPI化には通常は多くの工数を要する。また、他者の既存Webアプリについては必要な権限を有していない限りAPI化のための機能を付与する事は困難である。 Providing a web application as a web API in this way has many advantages, but turning an existing web application (hereafter referred to as an "existing web application") into an API usually requires a lot of work. In addition, it is difficult to give someone else's existing web application the functionality to turn it into an API unless you have the necessary permissions.
特許文献1に記載の技術では、既存システムをREST API化する手法として、予め格納しているパケット送受信シーケンスを入力としてAPI変換アダプタを作成することにより、既存Webアプリを変更する事なく既存WebアプリのAPI化を図る。API変換アダプタの作成には、受信したパケット内のパラメータ(APIのリクエストとして変化させたい部分)を抽出/置換する。しかし特許文献1に記載の技術は、既存のWebアプリとのパケット送受信シーケンスが予め存在する事を前提としており、API仕様の設計にかかる工数を削減する技術についてはとくに開示されていない。
The technology described in
本発明は、このような背景に基づきなされたものであり、アプリケーションのAPI化にかかる作業を支援することが可能な、API化支援システム、及びAPI化支援方法を提供することを目的とする。 The present invention was made against this background, and aims to provide an API conversion support system and an API conversion support method that can support the work involved in API conversion of applications.
上記課題を解決するための本発明の一つは、API化支援システムであって、プロセッサと記憶装置とを有する情報処理装置を用いて構成され、API化しようとするWebアプリケーションに対してWebブラウザを介して行われる一連の操作をアクセス手順として取得するアクセス手順取得部と、取得した前記アクセス手順の内容をユーザに提示しつつ、前記API化において必要となるAPI仕様の設定をユーザから受け付けることによりAPI仕様を生成するAPI仕様設定部と、前記Webアプリケーションに対して行われた操作の履歴であるアクセス履歴を取得するアクセス履歴取得部と、を備え、前記アクセス手順取得部は、前記アクセス履歴に含まれている前記一連の操作を前記アクセス手順として取得し、前記アクセス手順取得部は、前記アクセス履歴を、前記操作の主体が共通するもの、及び前記操作が行われた日時の間隔の連続性、のうちの少なくともいずれかに基づき複数のグループに分類し、前記複数のグループ間の包含関係を特定し、包含される側のグループを前記アクセス手順の抽出元の候補として選出し、選出した前記候補のグループに含まれている前記一連の操作を前記アクセス手順として取得する。
One aspect of the present invention for solving the above problem is an API implementation support system, which is configured using an information processing device having a processor and a storage device, and includes an access procedure acquisition unit that acquires, as an access procedure, a series of operations performed via a Web browser on a Web application to be API-implemented, an API specification setting unit that generates an API specification by presenting the contents of the acquired access procedure to a user and accepting from the user settings of the API specification required for the API implementation, and an access history acquisition unit that acquires an access history, which is a history of operations performed on the Web application, wherein the access procedure acquisition unit acquires, as the access procedure, the series of operations included in the access history, and the access procedure acquisition unit classifies the access history into a plurality of groups based on at least one of those in which the subject of the operations is common and the continuity of the intervals between dates and times when the operations were performed, identifies an inclusion relationship between the plurality of groups, selects a group that is included as a candidate from which the access procedure is extracted, and acquires, as the access procedure, the series of operations included in the selected candidate group.
その他、本願が開示する課題、及びその解決方法は、発明を実施するための形態の欄、及び図面により明らかにされる。 Other problems and solutions disclosed in this application will be made clear in the detailed description of the invention and the drawings.
本発明によれば、アプリケーションのAPI化にかかる作業を支援することができる。 The present invention can assist with the work involved in making applications into APIs.
以下、本発明の実施形態について図面を参照しつつ詳細に説明する。尚、以下の記載及び図面は、本発明を説明するための例示に過ぎず、説明の明確化のため、適宜、省略および簡略化がなされている。本発明は、他の種々の形態でも実施する事が可能である。とくに限定しない限り、各構成要素は単数でも複数でも構わない。 The following describes in detail an embodiment of the present invention with reference to the drawings. Note that the following description and drawings are merely examples for explaining the present invention, and have been omitted or simplified as appropriate for clarity of explanation. The present invention can also be implemented in various other forms. Unless otherwise specified, each component may be singular or plural.
以下の説明において、同一のまたは類似する構成について同一の符号を付して重複した説明を省略することがある。以下の説明において、符号の前に付した「S」の文字は処理ステップの意味である。以下の説明における各種情報(データ)は例示するデータ構造以外の方法で表現もしくは管理してもよい。各種の識別情報について説明する際、「識別子」、「ID」等の表現を適宜用いるが、これらについてはお互いに置換可能である。 In the following explanation, the same or similar components may be given the same reference numerals and duplicate explanations may be omitted. In the following explanation, the letter "S" before a reference numeral denotes a processing step. Various information (data) in the following explanation may be represented or managed in a manner other than the data structure shown as an example. When explaining various types of identification information, expressions such as "identifier" and "ID" are used as appropriate, but these are interchangeable.
以下の説明において、Webサービスを提供するWebアプリケーションのことを「Webアプリ」と称し、WebAPI(Web Application Programming Interface)を利用
するアプリケーションのことを「WebAPI利用アプリ」と称する。
In the following description, a Web application that provides a Web service is referred to as a "Web application," and an application that uses a Web API (Web Application Programming Interface) is referred to as a "Web API-using application."
[第1実施形態]
図1に、第1実施形態にかかる情報処理システム(以下、「API化支援システム1」と称する。)の概略的な構成を示している。API化支援システム1は、API化支援装置100、既存Webサーバ200、APIアダプタ300、及びWebAPI利用装置400を含む。これらの装置はいずれも一つ以上の情報処理装置(コンピュータ)を用いて構成されており、通信ネットワーク5を介して双方向通信が可能な状態で接続されている。通信ネットワーク5は、例えば、LAN(Local Area Network)、WAN(Wide Are
a Network)、インターネット、専用線、公衆通信網等である。
[First embodiment]
FIG. 1 shows a schematic configuration of an information processing system according to a first embodiment (hereinafter referred to as "API
a Network), the Internet, dedicated lines, public communication networks, etc.
API化支援装置100は、既存Webサーバ200における既存のWebアプリ(以下、「既存Webアプリ210」と称する。)をWebAPI化、即ち、WebAPIとして通信ネットワーク5を介して利用できるようにする。API化支援装置100は、上記WebAPI化を行うユーザであるWebAPI構築者2がWebブラウザを用いて既存Webアプリ210にアクセスすることにより得られる操作情報から既存Webアプリ210のアクセス手順であるアクセス手順111を取得し、取得したアクセス手順111に基づき、既存WebアプリをWebAPI化する上で必要となる情報であるAPI仕様112を生成する。API仕様112は、例えば、「GraphQL Schema」、「OpenAPI Specification」等のフォーマットで記述される。但し、API仕様112は他の種類のフォ
ーマットで記述してもよい。
The API implementation support device 100 converts an existing Web application (hereinafter, referred to as "existing Web application 210") in an existing Web server 200 into a Web API, that is, makes it available as a Web API via a communication network 5. The API implementation support device 100 acquires an access procedure 111 that is an access procedure of the existing Web application 210 from operation information obtained when a Web API builder 2, who is a user who performs the Web API implementation, accesses the existing Web application 210 using a Web browser, and generates an
既存Webサーバ200は、例えば、通信ネットワーク5を介してアクセスしてくる情報処理装置に既存Webアプリ210によるWebサービスを提供する情報処理装置(Webサーバ)として機能する。 The existing web server 200 functions, for example, as an information processing device (web server) that provides a web service by an existing web application 210 to an information processing device that accesses it via the communication network 5.
APIアダプタ300は、API化支援装置100から提供されるアクセス手順111とAPI仕様112とに基づき、既存WebアプリをWebAPI化したWebAPI(以下、「WebAPI(既存Webアプリ)」と称する。)の利用環境を通信ネットワーク5を介してWebAPI利用装置400に提供する。
Based on the access procedure 111 and
WebAPI利用装置400では、WebAPI(既存Webアプリ)を利用するアプリケーション(以下、「WebAPI利用アプリ410」と称する。)が動作する。WebAPI利用アプリ410は、例えば、通信ネットワーク5を介して他の情報処理装置にWebサービスを提供する。尚、WebAPI利用アプリ410のユーザであるWebAPI利用者3は、WebAPI構築者2と同一人物でもよい。 An application (hereinafter referred to as "Web API using application 410") that uses a Web API (existing Web application) runs on the Web API using device 400. The Web API using application 410 provides a Web service to other information processing devices, for example, via a communication network 5. Note that the Web API user 3, who is the user of the Web API using application 410, may be the same person as the Web API builder 2.
図2は、API化支援システム1の構成要素である、API化支援装置100、既存Webサーバ200、APIアダプタ300、及びWebAPI利用装置400の実現に用いる情報処理装置のハードウェア構成例である。例示する情報処理装置10は、プロセッサ11、主記憶装置12、補助記憶装置13、入力装置14、出力装置15、及び通信装置16を備える。尚、例示する情報処理装置10は、その全部または一部が、例えば、クラウドシステムによって提供される仮想サーバのように、仮想化技術やプロセス空間分離技術等を用いて提供される仮想的な情報処理資源を用いて実現されるものであってもよい。また、情報処理装置10によって提供される機能の全部または一部は、例えば、クラウドシステムがAPI等を介して提供するサービスによって実現してもよい。また、API化支援システム1は、通信可能に接続された複数の情報処理装置10を用いて構成してもよい。
2 is a hardware configuration example of an information processing device used to realize the components of the
同図において、プロセッサ11は、例えば、CPU(Central Processing Unit)、M
PU(Micro Processing Unit)、GPU(Graphics Processing Unit)、FPGA(Field Programmable Gate Array)、ASIC(Application Specific Integrated Circuit
)、AI(Artificial Intelligence)チップ等を用いて構成されている。
In the figure, the
PU (Micro Processing Unit), GPU (Graphics Processing Unit), FPGA (Field Programmable Gate Array), ASIC (Application Specific Integrated Circuit)
), AI (Artificial Intelligence) chips, etc.
主記憶装置12は、プログラムやデータを記憶する装置であり、例えば、ROM(Read
Only Memory)、RAM(Random Access Memory)、不揮発性メモリ(NVRAM(Non Volatile RAM))等である。
The
Only Memory), RAM (Random Access Memory), NVRAM (Non Volatile RAM), etc.
補助記憶装置13は、例えば、SSD(Solid State Drive)、ハードディスクドライ
ブ、光学式記憶装置(CD(Compact Disc)、DVD(Digital Versatile Disc)等)、ストレージシステム、ICカード、SDカードや光学式記録媒体等の記録媒体の読取/書込装置、クラウドサーバの記憶領域等である。補助記憶装置13には、記録媒体の読取装置や通信装置16を介してプログラムやデータを読み込むことができる。補助記憶装置13に格納(記憶)されているプログラムやデータは主記憶装置12に随時読み込まれる。
The
入力装置14は、外部からの入力を受け付けるインタフェースであり、例えば、キーボード、マウス、タッチパネル、カードリーダ、ペン入力方式のタブレット、音声入力装置等である。
The
出力装置15は、処理経過や処理結果等の各種情報を出力するインタフェースである。出力装置15は、例えば、上記の各種情報を可視化する表示装置(液晶モニタ、LCD(Liquid Crystal Display)、グラフィックカード等)、上記の各種情報を音声化する装置(音声出力装置(スピーカ等))、上記の各種情報を文字化する装置(印字装置等)である。尚、例えば、情報処理装置10が通信装置16を介して他の装置との間で情報の入力や出力を行う構成としてもよい。
The
入力装置14及び出力装置15は、ユーザとの間で情報の受け付けや情報の提示を行うユーザインタフェースを構成する。
The
通信装置16は、他の装置との間の通信を実現する装置である。通信装置16は、通信ネットワーク5を介して他の装置との間の通信を実現する、有線方式または無線方式の通信インタフェースであり、例えば、NIC(Network Interface Card)、無線通信モジュール、USBモジュール等である。
The
情報処理装置10には、例えば、オペレーティングシステム、ファイルシステム、DBMS(DataBase Management System)(リレーショナルデータベース、NoSQL等)、KVS(Key-Value Store)等が導入されていてもよい。
The
API化支援システム1が備える各機能は、プロセッサ11が、主記憶装置12に格納されているプログラムを読み出して実行することにより、もしくは、API化支援システム1を構成するハードウェア(FPGA、ASIC、AIチップ等)によって実現される。API化支援システム1は、前述した各種の情報(データ)を、例えば、データベースのテーブルやファイルシステムが管理するファイルとして記憶する。
Each function of the
図1に戻り、同図に示すように、API化支援装置100は、記憶部110、アクセス手順取得部120、API仕様設定部130、及び情報送信部140の各機能を備える。これらの機能は、API化支援装置100を構成する情報処理装置10のプロセッサ11が、主記憶装置12に格納されているプログラムを読み出して実行することにより、もしくは、API化支援装置100を構成する情報処理装置10が備えるハードウェア(FPGA、ASIC、AIチップ等)により実現される。上記のプログラムは、予め主記憶装置12に格納してもよいし、他の装置の記憶装置から、通信ネットワークや可搬型記録媒体を介して主記憶装置12に格納してもよい。
Returning to FIG. 1, as shown in the figure, the API implementation support device 100 has the functions of a memory unit 110, an access procedure acquisition unit 120, an API specification setting unit 130, and an information transmission unit 140. These functions are realized by the
上記機能のうち、記憶部110は、アクセス手順111とAPI仕様112を記憶する。
Of the above functions, the memory unit 110 stores the access procedure 111 and the
アクセス手順取得部120は、WebAPI構築者2がWebブラウザを用いて既存Webサーバ200の既存Webアプリ210にアクセスする機能を提供し、WebAPI構築者2が既存Webアプリ210にアクセスすることにより取得される操作情報からア
クセス手順を取得する。尚、上記操作情報は、例えば、Webスクレイピング(Web scraping)等の他の方法によって取得してもよい。アクセス手順取得部120が取得したアクセス手順は、記憶部110がアクセス手順111として記憶する。
The access procedure acquisition unit 120 provides a function for the Web API builder 2 to access the existing Web application 210 of the existing Web server 200 using a Web browser, and acquires the access procedure from operation information acquired by the Web API builder 2 accessing the existing Web application 210. Note that the operation information may be acquired by other methods such as Web scraping. The access procedure acquired by the access procedure acquisition unit 120 is stored in the storage unit 110 as the access procedure 111.
API仕様設定部130は、アクセス手順111をWebAPI構築者2に提示(表示)しつつAPI仕様の設定を受け付ける。API仕様設定部130が受け付けたAPI仕様は、記憶部110がAPI仕様112として記憶する。
The API specification setting unit 130 accepts the setting of the API specification while presenting (displaying) the access procedure 111 to the Web API builder 2. The API specification accepted by the API specification setting unit 130 is stored in the memory unit 110 as the
情報送信部140は、アクセス手順111やAPI仕様112を通信ネットワーク5を介してAPIアダプタ300に随時送信する。
The information transmission unit 140 transmits the access procedure 111 and
同図に示すように、APIアダプタ300は、情報受信部310、記憶部320、アクセス手順再現部330、及びWebAPI提供部340の各機能を有する。これらの機能は、APIアダプタ300を構成する情報処理装置10のプロセッサ11が、主記憶装置12に格納されているプログラムを読み出して実行することにより、もしくは、APIアダプタ300を構成する情報処理装置10が備えるハードウェア(FPGA、ASIC、AIチップ等)により実現される。上記のプログラムは、予め主記憶装置12に格納してもよいし、他の装置の記憶装置から、通信ネットワークや可搬型記録媒体を介して主記憶装置12に格納してもよい。
As shown in the figure, the API adapter 300 has the functions of an information receiving unit 310, a storage unit 320, an access procedure reproducing unit 330, and a Web API providing unit 340. These functions are realized by the
情報受信部310は、通信ネットワーク5を介してAPI化支援装置100から送られてくるアクセス手順111とAPI仕様112を受信する。
The information receiving unit 310 receives the access procedure 111 and
記憶部20は、情報受信部310が受信したアクセス手順111とAPI仕様112を記憶する。
The memory unit 20 stores the access procedure 111 and
アクセス手順再現部330は、アクセス手順111とAPI仕様112に基づき、既存Webアプリ210の機能をWebAPI(既存Webアプリ)として再現する。
The access procedure reproduction unit 330 reproduces the functions of the existing Web application 210 as a Web API (existing Web application) based on the access procedure 111 and the
WebAPI提供部340は、アクセス手順再現部330によって再現されるWebAPI(既存Webアプリ)を通信ネットワーク5に提供、即ちWebAPI(既存Webアプリ)の利用環境をWebAPI利用装置400等の通信ネットワーク5に接続する情報処理装置に提供する。WebAPI提供部340は、例えば、APIゲートウェイとして機能する。 The Web API providing unit 340 provides the Web API (existing Web application) reproduced by the access procedure reproducing unit 330 to the communication network 5, i.e., provides a usage environment of the Web API (existing Web application) to an information processing device connected to the communication network 5, such as the Web API using device 400. The Web API providing unit 340 functions, for example, as an API gateway.
WebAPI利用者3は、APIアダプタ300が提供するWebAPI(既存Webアプリ)を利用しつつ、WebAPI利用装置400で動作するWebAPI利用アプリ410を作成する。 The Web API user 3 creates a Web API using application 410 that runs on the Web API using device 400 while using the Web API (existing Web application) provided by the API adapter 300.
<API仕様の設定>
WebAPI構築者2は、API化支援装置100のAPI仕様設定部130が提供するユーザインタフェースを利用して効率よくAPI仕様112を設定することができる。
<API specification settings>
The web API builder 2 can efficiently set the
図3Aは、API化支援装置100のAPI仕様設定部130がAPI仕様の設定に際してWebAPI構築者2に提示(出力装置15(表示装置)に表示)する画面(以下、「API仕様設定画面3000」と称する。)の一例である。同図に示すように、API仕様設定画面3000は、アクセス手順表示欄311、API仕様設定欄(データ項目)312、API仕様設定欄(リクエスト名)313、及びAPI仕様生成指示ボタン314を有する。
Figure 3A is an example of a screen (hereinafter referred to as "API
アクセス手順表示欄311は、操作3111及び操作対象3112の各項目を有する複数のレコードを含み、アクセス手順取得部120が取得したアクセス手順111の内容が表示される。また、WebAPI構築者2は、API仕様設定欄(データ項目)312及びAPI仕様設定欄(リクエスト名)313を利用して、API仕様の設定(アクセス手順の設定(追加、編集、削除)、データを格納する場合におけるデータ項目名(データ項目ID)の設定、リクエスト名の設定等)を行うことができる。
The access
図3Bは、WebAPI構築者2が、API仕様設定画面3000のAPI仕様設定欄(データ項目)312とAPI仕様設定欄(リクエスト名)313に具体的な値を設定した例である。本例では、WebAPI構築者2が、Webブラウザを操作して既存Webアプリ210にアクセス(URL「https://existing-application.com」にアクセス)し、
それにより表示されるWebページに設けられている、ユーザ一覧を表示するリンク(CSS(Cascading Style Sheets)のidが「userlist」であるもの)をクリックする操作を行うことにより取得されるアクセス手順111が表示されている。また、本例では、WebAPI構築者2が、API仕様設定欄(データ項目)312に、ユーザIDの一覧の格納先のデータ項目とユーザ名一覧の格納先のデータ項目を設定し、API仕様設定欄(リクエスト名)313にリクエスト名を設定している。
3B shows an example in which the web API builder 2 sets specific values in the API specification setting field (data item) 312 and the API specification setting field (request name) 313 of the API
The access procedure 111 is displayed by performing an operation of clicking a link (whose CSS (Cascading Style Sheets) id is "userlist") that displays a user list provided on the displayed Web page. In this example, the Web API builder 2 sets in the API specification setting field (data item) 312 a data item for storing a list of user IDs and a data item for storing a list of user names, and sets a request name in the API specification setting field (request name) 313.
WebAPI構築者2は、API仕様を設定し終えると、API仕様生成指示ボタン314を操作する。上記操作が行われると、API仕様設定部130は、API仕様設定欄(データ項目)312及びAPI仕様設定欄(リクエスト名)313に設定された内容に基づきAPI仕様を生成する。生成されたAPI仕様は、記憶部110がAPI仕様112として記憶する。情報送信部140は、アクセス手順111とAPI仕様112を通信ネットワーク5を介してAPIアダプタ300に随時送信する。
When the web API builder 2 has finished setting the API specifications, he or she operates the API specification
図4AにAPI仕様112の一例を示す。例示するAPI仕様112は、「GraphQL SDL」を用いて記述されている。例示するAPI仕様112は、「users」というリクエスト名でリクエストした場合に、「User」型のリストがレスポンスとして返り、「User」型は「id」と「name」というデータ項目を有するという内容を含む。図4Bは、API仕様112が図4Aに例示する内容である場合におけるWebAPIのレスポンス118(JSON(JavaScript(登録商標) Object Notation)型式)の一例である。
Figure 4A shows an example of
以上のように、API化支援装置100は、アクセス手順を提示しつつ、WebAPI構築者2からAPI仕様の設定を受け付けるので、WebAPI構築者2は、アクセス手順を入力等することなくAPI仕様112を設定することができ、既存Webアプリを効率よくWebAPI化することができる。
As described above, the API implementation support device 100 presents the access procedure while accepting the setting of the API specifications from the Web API builder 2, so that the Web API builder 2 can set the
[第2実施形態]
図5に、第2実施形態にかかるAPI化支援システム1の概略的な構成を示している。第2実施形態のAPI化支援システム1は、第1実施形態のAPI化支援システム1と同様に、API化支援装置100、既存Webサーバ200、APIアダプタ300、及びWebAPI利用装置400を含む。
[Second embodiment]
5 shows a schematic configuration of the API
第2実施形態のAPI化支援システム1の基本的な構成は第1実施形態のAPI化支援システム1と共通するが、第1実施形態と異なり、第2実施形態のAPI化支援装置100のアクセス手順取得部120は、後述するアクセス履歴からアクセス手順を抽出する。また、第2実施形態のAPI化支援装置100は、アクセス履歴受信部145を更に備える。また、第2実施形態のAPI化支援装置100の記憶部110は、後述するアクセス履歴113を記憶する。また、第2実施形態の既存Webサーバ200は、アクセス履歴送信部220を更に備える。
The basic configuration of the API
第2実施形態のAPI化支援装置100は、既存Webサーバ200において取得される、既存Webアプリの利用者(以下、「既存Webアプリ利用者4」と称する。)が既存Webアプリ210が提供するサービスを利用することにより生成される履歴情報であるアクセス履歴113からアクセス手順111を抽出する。既存Webアプリ利用者4は単数でも複数でもよい。また、アクセス履歴は、必ずしも既存Webアプリ利用者4が特別な操作をすることにより生成されるものでなくてよく、例えば、既存Webアプリ利用者4が通常の利用態様で既存Webサーバ200のサービスを利用することにより生成されるものでもよい。
The API support device 100 of the second embodiment extracts the access procedure 111 from the
既存Webサーバ200のアクセス履歴送信部220は、既存Webアプリ利用者4が既存Webアプリ210が提供するサービスを利用することにより生成されるアクセス履歴をAPI化支援装置100に随時送信する。 The access history sending unit 220 of the existing web server 200 transmits the access history generated by the existing web application user 4 using the service provided by the existing web application 210 to the API support device 100 at any time.
API化支援装置100のアクセス履歴受信部145は、既存Webサーバ200から送られてくるアクセス履歴を受信する。記憶部110は、アクセス履歴受信部145が受信したアクセス履歴をアクセス履歴113として記憶する。API化支援装置100のアクセス手順取得部120は、アクセス履歴113から、当該アクセス履歴113に含まれている一連の操作をアクセス手順111として抽出する。
The access history receiving unit 145 of the API implementation support device 100 receives the access history sent from the existing web server 200. The storage unit 110 stores the access history received by the access history receiving unit 145 as the
図6にアクセス履歴113の一例を示す。例示するアクセス履歴113は、レコードID1131、ユーザID1132、日時1133、操作1134、操作対象1135、及び入力値1136の各項目を有する複数のレコード(エントリ)で構成される。例示するアクセス履歴113の各レコードの内容は、既存Webアプリ利用者4がWebブラウザに表示されるWebページに対して行った各操作に対応する内容になっている。
Figure 6 shows an example of the
上記項目のうち、レコードID1131には、レコードの識別子であるレコードIDが設定される。ユーザID1132には、既存Webアプリ利用者4の識別子であるユーザIDが設定される。日時1133には、当該操作が行われた日時(タイムスタンプ)が設定される。操作1134には、当該操作の種類(内容)を示す情報が設定される。操作対象1135には、当該操作の対象を特定する情報(Webページの所在や識別子、Webページに表示されるボタンや入力欄等の部品(オブジェクト)の識別子等)が設定される。入力値1136には、当該操作において既存Webアプリ利用者4が設定した値が設定され、何も設定されない場合には「-」が設定される。
Of the above items, a record ID that is an identifier of the record is set in
例示するアクセス履歴113の、例えば、レコードID1131が「0001」~「0004」、「0006」のレコードは、ユーザIDが「A」の既存Webアプリ利用者4が、「2020-04-01T21:00:10Z」~「2020-04-01T21:01:30Z」の間に、「https://existing-application.com」というWebページにアクセス「open」して登録ボタンを操作「click linkText=登録」し、「新規」を入力し(「type css=.resister-box」、「新規」)、送信ボタンを操作「click xpath=//button[”送信”]」したという一連の操作に相当する内容である。アクセス手順取得部120は、アクセス履歴113からこうしたアクセス手順を抽出する。
For example, the records with
図7は、アクセス手順の抽出に際しアクセス手順取得部120が行う処理(以下、「アクセス手順抽出処理S700」と称する。)を説明するフローチャートである。以下、同図とともにアクセス手順抽出処理S700について説明する。尚、以下では、アクセス手順取得部120が、「頻繁に実施される利用手順がAPIとして提供したい有用なアクセス手順である」という方針に従ってアクセス履歴113からアクセス手順を抽出する場合を例として説明する。但し、抽出の方針は必ずしも例示するものに限られない。
Figure 7 is a flowchart explaining the process performed by the access procedure acquisition unit 120 when extracting an access procedure (hereinafter referred to as "access procedure extraction process S700"). The access procedure extraction process S700 will be explained below with reference to this figure. Note that the following explanation takes as an example a case where the access procedure acquisition unit 120 extracts access procedures from the
まず、アクセス手順取得部120は、ユーザID毎、日時毎にアクセス履歴113の各レコードを複数のグループに分割する(S711)。
First, the access procedure acquisition unit 120 divides each record in the
図8A~図8Cに、図6に例示したアクセス履歴113のレコードを、ユーザID毎、日時毎に複数のグループに分割した例を示す。尚、本例では、アクセス手順取得部120は、1時間以上履歴がない場合(操作が行われた日時の間隔の連続性が所定時価以上途切れた場合)は別の履歴として分割している。尚、分割の方法は必ずしも例示するものに限定されず、例えば、既存Webアプリ利用者4のセッション情報に基づきセッション毎にアクセス履歴113を分割してもよい。
Figures 8A to 8C show an example in which the records of the
本例の場合、アクセス手順取得部120は、図6に示すアクセス履歴113を、図8Aに示す、レコードID1131が「0001」~「0004」、「0006」のグループ(以下、「第1グループ」と称する。)と、図8Bに示す、レコードID1131が「0005」、「0007」~「0010」のグループ(以下、「第2グループ」と称する。)と、図8Cに示す、レコードID1131が「0001」~「0004」、「0006」のグループ(以下、「第3グループ」と称する。)とに分割している。
In this example, the access procedure acquisition unit 120 divides the
図7に戻り、続いて、アクセス手順取得部120は、分割して得られたグループから2つグループ(以下、「組み合わせ」と称する。)を1つ選択する(S712)。図8A~図8Cに例示したグループの場合、第1グループと第2グループ、第2グループと第3グループ、及び第1グループと第3グループの3つの組み合わせが存在するので、アクセス手順取得部120は、これらの組み合わせの1つを選択する。 Returning to FIG. 7, the access procedure acquisition unit 120 then selects one of two groups (hereinafter referred to as a "combination") from the groups obtained by division (S712). In the case of the groups illustrated in FIGS. 8A to 8C, there are three combinations: the first group and the second group, the second group and the third group, and the first group and the third group, and the access procedure acquisition unit 120 selects one of these combinations.
続いて、アクセス手順取得部120は、S712で選択した組み合わせについて、一方のグループが他方のグループを包含する関係にあるか否かを判定する(S713)。一方のグループが他方のグループを包含する関係にあれば(S713:YES)、処理はS714に進み、一方のグループが他方のグループを包含する関係になければ(S713:NO)、処理はS717に進む。 Then, the access procedure acquisition unit 120 determines whether or not one group is in an inclusive relationship with the other group for the combination selected in S712 (S713). If one group is in an inclusive relationship with the other group (S713: YES), the process proceeds to S714, and if one group is not in an inclusive relationship with the other group (S713: NO), the process proceeds to S717.
図8A~図8Cに例示したグループの場合、第1グループと第2グループの組み合わせについては互いに包含する関係にあり、また、第1グループと第3グループの組み合わせについては第3グループが第1グループを包含する関係にあり、第2グループと第3グループの組み合わせについては第3グループが第2グループを包含する関係にある。尚、一方のグループが他方のグループを包含する関係にあるか否かを判定する方法は必ずしも限定されず、例えば、一方のグループと他方のグループとで一致する行数の割合が予め設定した閾値を超えるか否かに基づき行ってもよい。本例では、第1グループと第2グループについては一致する割合は100%、第1グループと第3グループについては一致する割合は62.5%、第2グループと第3グループについては一致する割合は62.5%となり、例えば、包含関係にあるか否かを判定するための閾値を80%とした場合、第1グループと第2グループの組み合わせのみが包含関係にあると判定される。 In the case of the groups illustrated in Figures 8A to 8C, the combination of the first group and the second group is in an inclusive relationship, and the combination of the first group and the third group is in an inclusive relationship with the third group, and the combination of the second group and the third group is in an inclusive relationship with the third group. The method of determining whether one group is in an inclusive relationship with the other group is not necessarily limited, and may be based on, for example, whether the ratio of the number of lines that match between one group and the other group exceeds a preset threshold. In this example, the ratio of matching between the first group and the second group is 100%, the ratio of matching between the first group and the third group is 62.5%, and the ratio of matching between the second group and the third group is 62.5%. For example, if the threshold for determining whether or not there is an inclusive relationship is 80%, only the combination of the first group and the second group is determined to be in an inclusive relationship.
図7に戻り、S714では、アクセス手順取得部120は、包含される側(レコード数が少ない側)のグループのアクセス履歴の内容を再現し、エラーが発生するか否かを検証する(S715)。エラーの発生が検出されない場合(S715:NO)、処理はS716に進み、エラーの発生が検出された場合(S715:YES)、処理はS717に進む。 Returning to FIG. 7, in S714, the access procedure acquisition unit 120 reproduces the contents of the access history of the included group (the group with the fewer number of records) and verifies whether an error has occurred (S715). If no error is detected (S715: NO), the process proceeds to S716, and if an error is detected (S715: YES), the process proceeds to S717.
S716では、アクセス手順取得部120は、包含される側(レコードの数が少ない側)のグループに属するレコード群を、アクセス手順の抽出元の候補として記憶し、グルー
プ毎に設けたカウンタ変数である候補数に1を加算する。
In S716, the access procedure acquisition unit 120 stores the set of records belonging to the included group (the group with the fewer number of records) as candidates for the source of access procedures, and adds 1 to the number of candidates, which is a counter variable provided for each group.
例えば、図8A~図8Cに例示したグループが、いずれもS713において「YES」となり、かつ、S715において「NO」となる場合、第1グループと第2グループの組み合わせについては双方が、第2グループと第3グループの組み合わせについては第2グループが、第1グループと第3グループの組み合わせについては第1グループが、夫々、アクセス手順の抽出元の候補として記憶される。また、この場合における各グループの候補数は、第1グループが2回、第2グループが2回、第3グループが0回となる。 For example, if the groups illustrated in Figures 8A to 8C are all "YES" in S713 and "NO" in S715, then for the combination of the first group and the second group, both are stored as candidates for the extraction source of the access procedure, for the combination of the second group and the third group, the second group is stored, and for the combination of the first group and the third group, the first group is stored as a candidate for the extraction source of the access procedure. In this case, the number of candidates for each group is 2 for the first group, 2 for the second group, and 0 for the third group.
S717では、アクセス手順取得部120は、S712でグループの組み合わせを全て選択済か否かを判定する。S712でグループの組み合わせを全て選択済である場合(S717:YES)、処理はS718に進み、全て選択済でない場合(S717:NO)、処理はS712に戻る。 In S717, the access procedure acquisition unit 120 determines whether or not all group combinations have been selected in S712. If all group combinations have been selected in S712 (S717: YES), the process proceeds to S718, and if not all group combinations have been selected (S717: NO), the process returns to S712.
S718では、アクセス手順取得部120は、記憶している候補のグループの重複を排除した上で候補数を累計する。例えば、図8A~図8Cの例では、第1グループと第2グループについては内容が完全一致しているため、第2グループを除外して第1グループの候補数に2を加算して4回と累計する。 In S718, the access procedure acquisition unit 120 accumulates the number of candidates after eliminating duplicates in the stored candidate groups. For example, in the example of Figures 8A to 8C, the contents of the first and second groups are identical, so the second group is excluded and the number of candidates for the first group is added by 2, resulting in a total of 4.
続いて、アクセス手順取得部120は、候補数が予め設定した閾値を超えている候補のグループを優先してアクセス手順の抽出元とする(S719)。例えば、図8A~図8Cの例において、閾値を3回に設定した場合、第1グループの候補数は4回であり上記閾値を超えているので、アクセス手順取得部120は、第1グループをアクセス手順の抽出元の内容(レコード群)をアクセス手順として抽出する。アクセス手順取得部120が抽出したアクセス手順は、記憶部110がアクセス手順111として記憶する。 Then, the access procedure acquisition unit 120 prioritizes the group of candidates whose number of candidates exceeds a preset threshold as the source of the access procedure (S719). For example, in the example of Figures 8A to 8C, if the threshold is set to three times, the number of candidates in the first group is four, which exceeds the threshold, so the access procedure acquisition unit 120 extracts the contents (group of records) of the first group as the source of the access procedure as the access procedure. The access procedure extracted by the access procedure acquisition unit 120 is stored by the storage unit 110 as the access procedure 111.
以上に説明したように、第2実施形態のAPI化支援装置100は、既存Webアプリ210のサービスが利用されることにより生成される履歴情報であるアクセス履歴113からアクセス手順111を自動的に抽出するので、WebAPI構築者2は、既存Webアプリのアクセス手順を再現するための操作を行う必要がなく、WebAPI構築者2の負荷を軽減することができる。そのため、効率よく既存WebアプリをWebAPI化することができる。また、例えば、既存Webアプリ利用者4が通常の利用態様で既存Webアプリ210のサービスを利用した場合に生成されるアクセス履歴からアクセス手順を抽出することで、例えば、利用頻度が高くWebAPI化による効果がより多く期待される既存Webアプリを優先してWebAPI化することができる。
As described above, the API conversion support device 100 of the second embodiment automatically extracts the access procedure 111 from the
[第3実施形態]
図9に、第3実施形態にかかるAPI化支援システム1の概略的な構成を示している。第3実施形態のAPI化支援システム1は、第1実施形態のAPI化支援システム1と同様に、API化支援装置100、既存Webサーバ200、APIアダプタ300、及びWebAPI利用装置400を含み、更にWebAPI情報管理装置500を含む。WebAPI情報管理装置500は、WebAPI構築者2に、WebAPI(既存Webアプリ)の検索機能を提供する。尚、本実施形態では、このようにWebAPI情報管理装置500を独立した構成であるとして説明するが、WebAPI情報管理装置500の機能の全部又は一部をAPI化支援システム1における他の情報処理装置に実装してもよい。例えば、WebAPI情報管理装置500の機能の全部又は一部をAPI化支援装置100に実装してもよい。
[Third embodiment]
FIG. 9 shows a schematic configuration of the
WebAPI情報管理装置500は、例えば、図2に示した構成からなる情報処理装置を一つ以上用いて構成される。WebAPI情報管理装置500は、API化支援装置1
00によってWebAPI化されたWebAPI(既存Webアプリ)に関する情報(アクセス手順111、API仕様112)を管理し、通信ネットワーク5を介して通信可能に接続する他の情報処理装置に上記情報の検索機能を提供する。
The Web API information management device 500 is configured using one or more information processing devices having the configuration shown in FIG.
The application manages information (access procedure 111, API specification 112) relating to a Web API (existing Web application) that has been converted into a Web API by the application program 100, and provides a search function for the above information to other information processing devices communicably connected via a communication network 5.
API化支援装置100のAPI仕様設定部130及び情報送信部140は、API化支援装置100によってWebAPI化されたWebAPI(既存Webアプリ)に関する情報(アクセス手順111、API仕様112)をWebAPI情報管理装置500に送信する。 The API specification setting unit 130 and the information transmission unit 140 of the API implementation support device 100 transmit information (access procedure 111, API specification 112) about the Web API (existing Web application) that has been implemented as a Web API by the API implementation support device 100 to the Web API information management device 500.
同図に示すように、WebAPI情報管理装置500は、記憶部510、API管理部520、及びAPI検索部530の各機能を備える。これらの機能は、WebAPI情報管理装置500を構成する情報処理装置10のプロセッサ11が、主記憶装置12に格納されているプログラムを読み出して実行することにより、もしくは、WebAPI情報管理装置500を構成する情報処理装置10が備えるハードウェア(FPGA、ASIC、AIチップ等)により実現される。上記のプログラムは、予め主記憶装置12に格納してもよいし、他の装置の記憶装置から、通信ネットワークや可搬型記録媒体を介して主記憶装置12に格納してもよい。
As shown in the figure, the Web API information management device 500 has the functions of a storage unit 510, an API management unit 520, and an API search unit 530. These functions are realized by the
上記機能のうち、記憶部510は、API化支援装置100によってWebAPI化されたWebAPI(既存Webアプリ)に関する情報(アクセス手順群511、API仕様群512、関連情報群513)を記憶する。尚、上記情報には、WebAPI(既存Webアプリ)の識別子と対応づけて管理される。アクセス手順群511は、各WebAPI(既存Webアプリ)のアクセス手順111を含む。API仕様群512は、各WebAPI(既存Webアプリ)のAPI仕様112を含む。関連情報群513は、各WebAPI(既存Webアプリ)に関する各種情報(後述する説明情報、APIアダプタURL(URL:Uniform Resource Locator)等)を含む。
Of the above functions, the storage unit 510 stores information (access procedure group 511, API specification group 512, related information group 513) about the Web API (existing Web application) that has been converted into a Web API by the API conversion support device 100. The above information is managed in association with the identifier of the Web API (existing Web application). The access procedure group 511 includes the access procedure 111 of each Web API (existing Web application). The API specification group 512 includes the
API管理部520は、API化支援装置100から送られてくる、WebAPI(既存Webアプリ)に関する情報(アクセス手順111、API仕様112、及び上記の各
種情報)を受信する。API管理部520が受信した上記情報は、記憶部510が、夫々
、アクセス手順群511、API仕様群512、及び関連情報群513として記憶する。
The API management unit 520 receives information (access procedure 111,
API検索部530は、記憶部510が記憶している情報についての検索機能を、通信ネットワーク5を介して他の情報処理装置(API化支援装置100等)に提供する。例えば、WebAPI構築者2は、API化支援装置100が提供するWebブラウザを用いて通信ネットワーク5を介して上記検索機能を利用することができる。 The API search unit 530 provides a search function for the information stored in the memory unit 510 to other information processing devices (such as the API support device 100) via the communication network 5. For example, the Web API builder 2 can use the search function via the communication network 5 using a Web browser provided by the API support device 100.
図10は、第3実施形態のAPI化支援装置100のAPI仕様設定部130が、WebAPI構築者2に提示(出力装置15(表示装置)に出力(表示))するAPI仕様設定画面3000である。WebAPI構築者2は、API仕様設定画面3000を介して検索に用いる情報(アクセス手順群511、API仕様群512、関連情報群513)をWebAPI情報管理装置500に登録することができる。
Figure 10 shows an API
同図に示すように、例示するAPI仕様設定画面3000は、図3Aに示した第1実施形態のAPI仕様設定画面3000が有する各欄に加えて、APIアダプタURL設定欄351、説明情報入力欄352、及び情報登録ボタン353を有する。このうちAPIアダプタURL設定欄351には、APIアダプタのURLが設定される。説明情報入力欄352には、当該WebAPIに関する説明情報が設定される。情報登録ボタン353が操作されると、情報送信部140は、当該画面に設定された内容をWebAPI情報管理装置500に送信する。
As shown in the figure, the illustrated API
図11Aは、WebAPI情報管理装置500が、検索機能の提供に際しWebAPI構築者2に提示(出力装置15(表示装置)に出力(表示))する画面(以下、「WebAPI情報検索画面1100」と称する。)の一例である。WebAPI情報管理装置500のAPI検索部530は、例えば、WebページとしてWebAPI情報検索画面1100を提供する。
Figure 11A is an example of a screen (hereinafter referred to as "Web API
WebAPI情報検索画面1100は、検索ワードの設定欄1111、検索実行ボタン1112、及び検索結果の表示欄1113を有する。WebAPI構築者2が、検索ワードの設定欄1111に検索ワードを入力して検索実行ボタン1112を操作すると、WebAPI情報管理装置500から検索ワードがWebAPI情報管理装置500に送信される。WebAPI情報管理装置500のAPI検索部530は、上記検索ワードを受信すると、検索ワードに対応する情報を記憶部510が記憶している情報から検索し、検索結果をAPI化支援装置100に送信する。API化支援装置100は、上記検索結果を受信すると、受信した検索結果をWebAPI情報検索画面1100の検索結果の表示欄1140に表示する。
The web API
図11Aの例では、WebAPI構築者2が、検索ワードの設定欄1111に検索ワード「existing」を入力し、検索結果として、検索結果の表示欄1140に既存WebアプリのURLに「existing」というワードを含む情報が表示されている。検索結果の表示欄1140の各レコード(エントリ)の内容は、一つのWebAPI(既存Webアプリ)に対応する。各レコードは、既存WebアプリURL1141、APIアダプタURL1142、及び説明1143の各項目を有する。
In the example of FIG. 11A, Web API builder 2 inputs the search word "existing" into search
検索結果の表示欄1140の各レコードには、APIアダプタ300で再現するアクセス手順を確認するための表示ボタン1161が設けられている。WebAPI構築者2が表示ボタン1161を操作すると、当該WebAPI(既存Webアプリ)に関する情報が表示される。
Each record in the search
図11Bに、上記情報の表示例(以下、「アクセス手順表示画面1150」と称する。)を示す。例示するアクセス手順表示画面1150は、図11Aの検索結果の表示欄1140の2行目の表示ボタン1161が操作されることにより表示される。同図に示すように、アクセス手順表示画面1150には、既存Webアプリのアクセス手順(ユーザID1151、操作1152、操作対象1153の各項目を有する時系列順のレコード(エントリ))が表示される。
Figure 11B shows an example of the display of the above information (hereinafter referred to as "access
WebAPI構築者2は、図11Aや図11Bのような情報を参照することで、例えば、自身が構築したいWebAPIと同一又は類似するものが既に存在する否かを確認し、存在する場合にはこれを利用してWebAPIへの移行作業を効率よく行うことができる。また、例えば、WebAPI構築者2は、これから構築しようとしているWebAPIの参考になるような情報を検索してWebAPIへの移行を効率よく行うことができる。このように、第3実施形態の構成によれば、WebAPIの移行により蓄積される情報を有効に活用してWebAPIへの移行作業の効率を高めることができる。 By referring to information such as that shown in Figures 11A and 11B, the Web API builder 2 can, for example, check whether a Web API that is the same as or similar to the one he or she wants to build already exists, and if so, can use this to efficiently perform the migration work to the Web API. In addition, for example, the Web API builder 2 can search for information that can be used as a reference for the Web API that he or she is about to build, and can efficiently perform the migration to the Web API. In this way, according to the configuration of the third embodiment, the information accumulated by the migration of the Web API can be effectively utilized to increase the efficiency of the migration work to the Web API.
以上、本発明の実施形態について説明したが、本発明は上記の実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、上記の実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、上記実施形態の構成の一部について、他の構成の追加や削除、置換をすることが可能である。 Although the embodiment of the present invention has been described above, it goes without saying that the present invention is not limited to the above embodiment and can be modified in various ways without departing from the gist of the invention. For example, the above embodiment has been described in detail to clearly explain the present invention, and is not necessarily limited to having all of the configurations described. In addition, it is possible to add, delete, or replace part of the configuration of the above embodiment with other configurations.
また、上記の各構成、機能部、処理部、処理手段等は、それらの一部または全部を、例えば、集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリやハードディスク、SSD(Solid State Drive)等の記録装置、
ICカード、SDカード、DVD等の記録媒体に置くことができる。
In addition, the above-mentioned configurations, functional units, processing units, processing means, etc. may be realized in part or in whole by hardware, for example, by designing them as integrated circuits. In addition, the above-mentioned configurations, functions, etc. may be realized in software by a processor interpreting and executing a program that realizes each function. Information such as the program, table, file, etc. that realizes each function can be stored in a storage device such as a memory, a hard disk, or an SSD (Solid State Drive),
It can be placed on a recording medium such as an IC card, an SD card, or a DVD.
また、以上に説明した各情報処理装置の各種機能部、各種処理部、各種データベースの配置形態は一例に過ぎない。各種機能部、各種処理部、各種データベースの配置形態は、これらの装置が備えるハードウェアやソフトウェアの性能、処理効率、通信効率等の観点から最適な配置形態に変更し得る。 Furthermore, the layout of the various functional units, various processing units, and various databases of each information processing device described above is merely an example. The layout of the various functional units, various processing units, and various databases can be changed to an optimal layout in terms of the performance, processing efficiency, communication efficiency, etc. of the hardware and software equipped in these devices.
また、前述した各種のデータを格納するデータベースの構成(スキーマ(Schema)等)は、リソースの効率的な利用、処理効率向上、アクセス効率向上、検索効率向上等の観点から柔軟に変更し得る。 In addition, the configuration (schema, etc.) of the database that stores the various types of data described above can be flexibly changed from the perspective of efficient use of resources, improved processing efficiency, improved access efficiency, improved search efficiency, etc.
1 API化支援システム、2 WebAPI構築者、3 WebAPI利用者、4 既存Webアプリ利用者、5 通信ネットワーク、100 API化支援装置、110 記憶部、111 アクセス手順、112 API仕様、113 アクセス履歴、120 アクセス手順取得部、130 API仕様設定部、140 情報送信部、145 アクセス履歴受信部、200 既存Webサーバ、210 既存Webアプリ、220 アクセス履歴送信部、300 APIアダプタ、310 情報受信部、320 記憶部、321 アクセス手順、322 API仕様、330 アクセス手順再現部、340 WebAPI提供部、400 WebAPI利用装置、410 WebAPI利用アプリ、500 WebAPI情報管理装置、510 記憶部、511 アクセス手順群、512 API仕様群、513 関連情報群、520 API管理部、530 API検索部、S700
アクセス手順抽出処理、3000 API仕様設定画面
1 API implementation support system, 2 Web API builder, 3 Web API user, 4 Existing Web application user, 5 Communication network, 100 API implementation support device, 110 Memory unit, 111 Access procedure, 112 API specification, 113 Access history, 120 Access procedure acquisition unit, 130 API specification setting unit, 140 Information transmission unit, 145 Access history reception unit, 200 Existing Web server, 210 Existing Web application, 220 Access history transmission unit, 300 API adapter, 310 Information reception unit, 320 Memory unit, 321 Access procedure, 322 API specification, 330 Access procedure reproduction unit, 340 Web API provision unit, 400 Web API utilization device, 410 Web API utilization application, 500 Web API information management device, 510 Memory unit, 511 Access procedure group, 512 API specification group, 513 related information group, 520 API management unit, 530 API search unit, S700
Access procedure extraction process, 3000 API specification setting screen
Claims (10)
API化しようとするWebアプリケーションに対してWebブラウザを介して行われる一連の操作をアクセス手順として取得するアクセス手順取得部と、
取得した前記アクセス手順の内容をユーザに提示しつつ、前記API化において必要となるAPI仕様の設定をユーザから受け付けることによりAPI仕様を生成するAPI仕様設定部と、
前記Webアプリケーションに対して行われた操作の履歴であるアクセス履歴を取得するアクセス履歴取得部と、
を備え、
前記アクセス手順取得部は、前記アクセス履歴に含まれている前記一連の操作を前記アクセス手順として取得し、
前記アクセス手順取得部は、前記アクセス履歴を、前記操作の主体が共通するもの、及び前記操作が行われた日時の間隔の連続性、のうちの少なくともいずれかに基づき複数のグループに分類し、前記複数のグループ間の包含関係を特定し、包含される側のグループを前記アクセス手順の抽出元の候補として選出し、選出した前記候補のグループに含まれている前記一連の操作を前記アクセス手順として取得する、
API化支援システム。 The information processing device includes a processor and a storage device.
an access procedure acquisition unit that acquires, as an access procedure, a series of operations performed via a web browser on a web application to be converted into an API;
an API specification setting unit that generates API specifications by presenting the acquired contents of the access procedure to a user and receiving settings of API specifications required for the API conversion from the user;
an access history acquisition unit that acquires an access history, which is a history of operations performed on the Web application;
Equipped with
the access procedure acquisition unit acquires the series of operations included in the access history as the access procedure;
the access procedure acquisition unit classifies the access history into a plurality of groups based on at least one of whether the operations are performed by a common subject and the continuity of the intervals between the dates and times when the operations are performed, identifies an inclusion relationship between the plurality of groups, selects a group that is included as a candidate from which the access procedure is extracted, and acquires the series of operations included in the selected candidate group as the access procedure.
API support system.
前記アクセス手順取得部は、前記候補のグループうち出現頻度が高いグループを優先して前記アクセス手順の抽出元として選出し、選出した前記候補のグループに含まれている前記一連の操作を前記アクセス手順として取得する、
API化支援システム。 2. The API implementation support system according to claim 1 ,
the access procedure acquisition unit preferentially selects a group having a high appearance frequency from among the candidate groups as a source from which the access procedure is to be extracted, and acquires the series of operations included in the selected candidate group as the access procedure.
API support system.
API化しようとするWebアプリケーションに対してWebブラウザを介して行われる一連の操作をアクセス手順として取得するアクセス手順取得部と、
取得した前記アクセス手順の内容をユーザに提示しつつ、前記API化において必要となるAPI仕様の設定をユーザから受け付けることによりAPI仕様を生成するAPI仕様設定部と、
前記アクセス手順及び前記API仕様によって実現されるAPIの識別子と対応づけて前記アクセス手順及び前記API仕様に関する情報を管理するAPI管理部と、
前記情報を検索するためのキーワードを受け付け、受け付けたキーワードにより前記情報を検索し、検索の結果を出力するAPI検索部と、
を備える、
API化支援システム。 The information processing device includes a processor and a storage device.
an access procedure acquisition unit that acquires, as an access procedure, a series of operations performed via a web browser on a web application to be converted into an API;
an API specification setting unit that generates API specifications by presenting the acquired contents of the access procedure to a user and receiving settings of API specifications required for the API conversion from the user;
an API management unit that manages information related to the access procedure and the API specification in association with an identifier of an API realized by the access procedure and the API specification;
an API search unit that receives a keyword for searching the information, searches the information using the received keyword, and outputs a result of the search;
Equipped with
API support system.
前記API管理部は、前記アクセス手順及び前記API仕様に関する情報である関連情報を、前記アクセス手順及び前記API仕様とともに検索対象の前記情報として管理し、
前記API検索部は、前記情報を検索するためのキーワードを受け付け、受け付けたキーワードにより前記情報を検索し、検索の結果を出力する、
API化支援システム。 4. The API implementation support system according to claim 3 ,
the API management unit manages related information, which is information relating to the access procedure and the API specification, as the information to be searched together with the access procedure and the API specification;
The API search unit receives a keyword for searching the information, searches the information using the received keyword, and outputs a result of the search.
API support system.
前記関連情報を受け付けるユーザインタフェースを備える、
API化支援システム。 The API implementation support system according to claim 4 ,
a user interface for receiving the related information;
API support system.
API化しようとするWebアプリケーションに対してWebブラウザを介して行われる一連の操作をアクセス手順として取得するステップと、
取得した前記アクセス手順の内容をユーザに提示しつつ、前記API化において必要となるAPI仕様の設定をユーザから受け付けることによりAPI仕様を生成するステップと、
前記Webアプリケーションに対して行われた操作の履歴であるアクセス履歴を取得するステップと、
前記アクセス履歴に含まれている前記一連の操作を前記アクセス手順として取得するステップと、
前記アクセス履歴を、前記操作の主体が共通するもの、及び前記操作が行われた日時の間隔の連続性、のうちの少なくともいずれかに基づき複数のグループに分類し、前記複数のグループ間の包含関係を特定し、包含される側のグループを前記アクセス手順の抽出元の候補として選出し、選出した前記候補のグループに含まれている前記一連の操作を前記アクセス手順として取得するステップ、
を実行する、API化支援方法。 An information processing device having a processor and a storage device,
acquiring, as an access procedure, a series of operations performed via a web browser on a web application to be converted into an API;
generating an API specification by presenting the acquired contents of the access procedure to a user and receiving from the user settings of the API specification required for the API implementation;
acquiring an access history which is a history of operations performed on the Web application;
acquiring the series of operations included in the access history as the access procedure;
a step of classifying the access history into a plurality of groups based on at least one of the common subject of the operations and the continuity of the intervals between the dates and times when the operations were performed, identifying an inclusion relationship between the plurality of groups, selecting the included group as a candidate from which the access procedure is to be extracted, and acquiring the series of operations included in the selected candidate group as the access procedure;
The API support method executes the above.
前記情報処理装置が、前記候補のグループうち出現頻度が高いグループを優先して前記アクセス手順の抽出元として選出し、選出した前記候補のグループに含まれている前記一連の操作を前記アクセス手順として取得するステップ、
を更に実行する、API化支援方法。 The API implementation support method according to claim 6 ,
the information processing device preferentially selecting a group having a high appearance frequency from among the candidate groups as a source from which the access procedure is to be extracted, and acquiring the series of operations included in the selected candidate group as the access procedure;
The API implementation support method further executes the above.
API化しようとするWebアプリケーションに対してWebブラウザを介して行われる一連の操作をアクセス手順として取得するステップと、
取得した前記アクセス手順の内容をユーザに提示しつつ、前記API化において必要となるAPI仕様の設定をユーザから受け付けることによりAPI仕様を生成するステップと、
前記アクセス手順及び前記API仕様によって実現されるAPIの識別子と対応づけて前記アクセス手順及び前記API仕様に関する情報を管理するステップと、
前記情報を検索するためのキーワードを受け付け、受け付けたキーワードにより前記情報を検索し、検索の結果を出力するステップと、
を実行する、API化支援方法。 An information processing device having a processor and a storage device,
acquiring, as an access procedure, a series of operations performed via a web browser on a web application to be converted into an API;
generating an API specification by presenting the acquired contents of the access procedure to a user and receiving from the user settings of the API specification required for the API implementation;
managing information relating to the access procedure and the API specification in association with an identifier of an API realized by the access procedure and the API specification;
receiving a keyword for searching the information, searching the information using the received keyword, and outputting a result of the search;
The API support method executes the above.
前記情報処理装置が、
前記アクセス手順及び前記API仕様に関する情報である関連情報を、前記アクセス手順及び前記API仕様とともに検索対象の前記情報として管理するステップと、
前記情報を検索するためのキーワードを受け付け、受け付けたキーワードにより前記情報を検索し、検索の結果を出力するステップと、
を更に実行する、API化支援方法。 The API implementation support method according to claim 8 ,
The information processing device,
managing related information, which is information relating to the access procedure and the API specification, as the information to be searched together with the access procedure and the API specification;
receiving a keyword for searching the information, searching the information using the received keyword, and outputting a result of the search;
The API implementation support method further executes the above.
前記情報処理装置が、前記関連情報を受け付けるユーザインタフェースを提供するステップ、
を更に実行する、API化支援方法。 The API implementation support method according to claim 9 ,
a step of the information processing device providing a user interface for receiving the related information;
The API implementation support method further executes the above.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020139228A JP7519230B2 (en) | 2020-08-20 | 2020-08-20 | API implementation support system and API implementation support method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020139228A JP7519230B2 (en) | 2020-08-20 | 2020-08-20 | API implementation support system and API implementation support method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022035126A JP2022035126A (en) | 2022-03-04 |
JP7519230B2 true JP7519230B2 (en) | 2024-07-19 |
Family
ID=80442977
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020139228A Active JP7519230B2 (en) | 2020-08-20 | 2020-08-20 | API implementation support system and API implementation support method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7519230B2 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010146074A (en) | 2008-12-16 | 2010-07-01 | Tetsuo Kamei | Information use system |
WO2013128645A1 (en) | 2012-03-02 | 2013-09-06 | 株式会社日立製作所 | User operation detection system and user operation detection method |
JP2018055625A (en) | 2016-09-30 | 2018-04-05 | 富士通株式会社 | Information processing device, specification creation method, and specification creation program |
JP2019082746A (en) | 2017-10-27 | 2019-05-30 | 株式会社エヌ・ティ・ティ・データ | Abnormal log detection apparatus, method and program for detecting abnormal log |
JP2020021374A (en) | 2018-08-02 | 2020-02-06 | 日本電信電話株式会社 | Api adapter generating apparatus, api adapter generating method, and api adapter generating program |
-
2020
- 2020-08-20 JP JP2020139228A patent/JP7519230B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010146074A (en) | 2008-12-16 | 2010-07-01 | Tetsuo Kamei | Information use system |
WO2013128645A1 (en) | 2012-03-02 | 2013-09-06 | 株式会社日立製作所 | User operation detection system and user operation detection method |
JP2018055625A (en) | 2016-09-30 | 2018-04-05 | 富士通株式会社 | Information processing device, specification creation method, and specification creation program |
JP2019082746A (en) | 2017-10-27 | 2019-05-30 | 株式会社エヌ・ティ・ティ・データ | Abnormal log detection apparatus, method and program for detecting abnormal log |
JP2020021374A (en) | 2018-08-02 | 2020-02-06 | 日本電信電話株式会社 | Api adapter generating apparatus, api adapter generating method, and api adapter generating program |
Non-Patent Citations (3)
Title |
---|
上田 達也 ほか,RESTful APIのためのソースコード自動生成ツールの設計,情報処理学会研究報告 セキュリティ心理学とトラスト(SPT),日本,情報処理学会,2016年09月16日,Vol.2016-SPT-20 No.2 ,p. 1-6 |
中野 雄介 ほか,対話型WebアプリケーションWebAPI化手法,電子情報通信学会2009年通信ソサイエティ大会講演論文集2,日本,社団法人 電子情報通信学会,2009年09月01日,B-14-18,p. 349 |
永田 明,AWS LambdaとMicrosoft Azure Functionsで体験 はじめてのサーバーレスアーキテクチャ Part2,Software Design,日本,(株)技術評論社,2017年04月18日,2017年4月号,p. 66-75 |
Also Published As
Publication number | Publication date |
---|---|
JP2022035126A (en) | 2022-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11651032B2 (en) | Determining semantic content of textual clusters | |
US10685071B2 (en) | Methods, systems, and computer program products for storing graph-oriented data on a column-oriented database | |
US20230153342A1 (en) | Clustering and dynamic re-clustering of similar textual documents | |
US20170228470A1 (en) | Data system and method | |
US10180984B2 (en) | Pivot facets for text mining and search | |
US20220286509A1 (en) | Dynamic routing of file system objects | |
WO2018097846A1 (en) | Edge store designs for graph databases | |
US11687794B2 (en) | User-centric artificial intelligence knowledge base | |
WO2013038489A1 (en) | Computer system, management method for client computer, and storage medium | |
US11567995B2 (en) | Branch threading in graph databases | |
WO2021119175A1 (en) | Determining semantic content of textual clusters | |
US11244109B2 (en) | Information processing device and information processing method | |
EP3249557B1 (en) | Computer implemented and computer controlled method, computer program product and platform for arranging data for processing and storage at a data storage engine | |
JP2008310514A (en) | User operation history acquisition display device, user operation history acquisition display method, user operation history acquisition display program and recording medium recording that program | |
JP7519230B2 (en) | API implementation support system and API implementation support method | |
US20180144060A1 (en) | Processing deleted edges in graph databases | |
JP2012083929A (en) | File retrieval device and file retrieval program | |
US20210397635A1 (en) | Information processing device, information processing system, and computer-readable recording medium storing information processing program | |
JP7381290B2 (en) | Computer system and data management method | |
JP2023551641A (en) | List-based data storage for data retrieval | |
WO2017175247A1 (en) | Method and system for generating content from search results rendered by a search engine | |
US9087127B1 (en) | Method for providing an integrated video module | |
McGuinness et al. | Towards semantically enabled next generation community health information portals: The PopSciGrid pilot | |
JP2015162170A (en) | Information processing device, and control method | |
JP7001550B2 (en) | Screen analysis support device and screen analysis support method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230127 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20231213 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240116 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240314 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20240611 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240708 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7519230 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |