JP7519230B2 - API implementation support system and API implementation support method - Google Patents

API implementation support system and API implementation support method Download PDF

Info

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
Application number
JP2020139228A
Other languages
Japanese (ja)
Other versions
JP2022035126A (en
Inventor
雄介 藤原
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2020139228A priority Critical patent/JP7519230B2/en
Publication of JP2022035126A publication Critical patent/JP2022035126A/en
Application granted granted Critical
Publication of JP7519230B2 publication Critical patent/JP7519230B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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で要求受付及び応答返却を行い、既存システムとは既存のプロトコルで送受信を行う。
Patent Document 1 describes an API conversion adapter that converts an existing system into an API. The API conversion adapter is placed between the existing system and an API gateway, stores a packet transmission/reception sequence with the existing system, extracts parameters in received packets, and replaces the parameters in the stored packets with the extracted parameters. The API conversion adapter accepts requests and returns responses with the API gateway using REST, and transmits and receives data with the existing system using an existing protocol.

特開2017-54411号公報JP 2017-54411 A

近年、多くの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 Patent Document 1 aims to turn an existing system into an API without modifying the existing Web application by creating an API conversion adapter using a pre-stored packet transmission/reception sequence as input, as a method of making the existing system into an API without modifying the existing Web application. To create the API conversion adapter, parameters in the received packet (parts to be changed as an API request) are extracted/replaced. However, the technology described in Patent Document 1 is based on the premise that a packet transmission/reception sequence with the existing Web application already exists, and does not specifically disclose any technology to reduce the amount of work required to design API specifications.

本発明は、このような背景に基づきなされたものであり、アプリケーションの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.

第1実施形態にかかる情報処理システムの概略的な構成を示す図である。1 is a diagram illustrating a schematic configuration of an information processing system according to a first embodiment. 情報処理システムの構成に用いる情報処理装置の一構成例である。1 is a configuration example of an information processing device used in the configuration of an information processing system. API仕様設定画面の一例である。13 is an example of an API specification setting screen. API仕様設定画面の一例(設定欄に値を設定した例)である。13 is an example of an API specification setting screen (an example in which values are set in setting fields). API仕様の一例である。1 is an example of an API specification. WebAPIからのレスポンスの一例である。13 is an example of a response from a Web API. 第2実施形態にかかる情報処理システムの概略的な構成を示す図である。FIG. 11 is a diagram illustrating a schematic configuration of an information processing system according to a second embodiment. アクセス履歴の一例である。13 is an example of an access history. アクセス手順抽出処理を説明するフローチャートである。13 is a flowchart illustrating an access procedure extraction process. アクセス履歴を分割した例である。This is an example of dividing the access history. アクセス履歴を分割した例である。This is an example of dividing the access history. アクセス履歴を分割した例である。This is an example of dividing the access history. 第3実施形態にかかる情報処理システムの概略的な構成を示す図である。FIG. 13 is a diagram illustrating a schematic configuration of an information processing system according to a third embodiment. API仕様設定画面の一例である。13 is an example of an API specification setting screen. WebAPI情報検索画面の一例である。13 is an example of a Web API information search screen. アクセス手順表示画面の一例である。13 is an example of an access procedure display screen.

以下、本発明の実施形態について図面を参照しつつ詳細に説明する。尚、以下の記載及び図面は、本発明を説明するための例示に過ぎず、説明の明確化のため、適宜、省略および簡略化がなされている。本発明は、他の種々の形態でも実施する事が可能である。とくに限定しない限り、各構成要素は単数でも複数でも構わない。 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 implementation support system 1"). The API implementation support system 1 includes an API implementation support device 100, an existing Web server 200, an API adapter 300, and a Web API utilization device 400. Each of these devices is configured using one or more information processing devices (computers), and is connected in a state in which two-way communication is possible via a communication network 5. The communication network 5 may be, for example, a LAN (Local Area Network), a WAN (Wide Area Network), or the like.
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 API specification 112 that is information required to convert the existing Web application into a Web API based on the acquired access procedure 111. The API specification 112 is described in a format such as "GraphQL Schema" or "OpenAPI Specification". However, the API specification 112 may be described in another type of format.

既存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 API specifications 112 provided by the API implementation support device 100, the API adapter 300 provides the usage environment of a Web API (hereinafter referred to as "Web API (existing Web application)") that has been implemented by implementing an existing Web application to the Web API utilization device 400 via the communication network 5.

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 API support system 1, that is, the API support device 100, the existing Web server 200, the API adapter 300, and the Web API utilization device 400. The illustrated information processing device 10 includes a processor 11, a main memory device 12, an auxiliary memory device 13, an input device 14, an output device 15, and a communication device 16. The illustrated information processing device 10 may be realized in whole or in part using virtual information processing resources provided using virtualization technology, process space separation technology, or the like, such as a virtual server provided by a cloud system. In addition, all or in part of the functions provided by the information processing device 10 may be realized by a service provided by the cloud system via an API, for example. The API support system 1 may also be configured using multiple information processing devices 10 connected to each other so as to be able to communicate with each other.

同図において、プロセッサ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 processor 11 is, for example, a CPU (Central Processing Unit),
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 main memory device 12 is a device for storing programs and data, and is, for example, a ROM (Read Only Memory).
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 auxiliary storage device 13 is, for example, a solid state drive (SSD), a hard disk drive, an optical storage device (CD (Compact Disc), DVD (Digital Versatile Disc), etc.), a storage system, an IC card, a read/write device for a recording medium such as an SD card or an optical recording medium, a storage area of a cloud server, etc. Programs and data can be read into the auxiliary storage device 13 via a recording medium reader or a communication device 16. The programs and data stored (memorized) in the auxiliary storage device 13 are read into the main storage device 12 as needed.

入力装置14は、外部からの入力を受け付けるインタフェースであり、例えば、キーボード、マウス、タッチパネル、カードリーダ、ペン入力方式のタブレット、音声入力装置等である。 The input device 14 is an interface that accepts input from the outside, and is, for example, a keyboard, a mouse, a touch panel, a card reader, a pen-input tablet, a voice input device, etc.

出力装置15は、処理経過や処理結果等の各種情報を出力するインタフェースである。出力装置15は、例えば、上記の各種情報を可視化する表示装置(液晶モニタ、LCD(Liquid Crystal Display)、グラフィックカード等)、上記の各種情報を音声化する装置(音声出力装置(スピーカ等))、上記の各種情報を文字化する装置(印字装置等)である。尚、例えば、情報処理装置10が通信装置16を介して他の装置との間で情報の入力や出力を行う構成としてもよい。 The output device 15 is an interface that outputs various information such as the progress of processing and the results of processing. The output device 15 is, for example, a display device (liquid crystal monitor, LCD (Liquid Crystal Display), graphic card, etc.) that visualizes the various information described above, a device that converts the various information described above into audio (audio output device (speaker, etc.)), or a device that converts the various information described above into text (printer, etc.). Note that, for example, the information processing device 10 may be configured to input and output information to and from other devices via the communication device 16.

入力装置14及び出力装置15は、ユーザとの間で情報の受け付けや情報の提示を行うユーザインタフェースを構成する。 The input device 14 and output device 15 constitute a user interface that accepts information from the user and presents information.

通信装置16は、他の装置との間の通信を実現する装置である。通信装置16は、通信ネットワーク5を介して他の装置との間の通信を実現する、有線方式または無線方式の通信インタフェースであり、例えば、NIC(Network Interface Card)、無線通信モジュール、USBモジュール等である。 The communication device 16 is a device that realizes communication with other devices. The communication device 16 is a wired or wireless communication interface that realizes communication with other devices via the communication network 5, and is, for example, a NIC (Network Interface Card), a wireless communication module, a USB module, etc.

情報処理装置10には、例えば、オペレーティングシステム、ファイルシステム、DBMS(DataBase Management System)(リレーショナルデータベース、NoSQL等)、KVS(Key-Value Store)等が導入されていてもよい。 The information processing device 10 may be equipped with, for example, an operating system, a file system, a DBMS (DataBase Management System) (relational database, NoSQL, etc.), a KVS (Key-Value Store), etc.

API化支援システム1が備える各機能は、プロセッサ11が、主記憶装置12に格納されているプログラムを読み出して実行することにより、もしくは、API化支援システム1を構成するハードウェア(FPGA、ASIC、AIチップ等)によって実現される。API化支援システム1は、前述した各種の情報(データ)を、例えば、データベースのテーブルやファイルシステムが管理するファイルとして記憶する。 Each function of the API support system 1 is realized by the processor 11 reading and executing a program stored in the main memory device 12, or by the hardware (FPGA, ASIC, AI chip, etc.) that constitutes the API support system 1. The API support system 1 stores the various information (data) described above, for example, as a database table or a file managed by a file system.

図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 processor 11 of the information processing device 10 constituting the API implementation support device 100 reading and executing a program stored in the main memory device 12, or by hardware (FPGA, ASIC, AI chip, etc.) provided in the information processing device 10 constituting the API implementation support device 100. The above programs may be stored in the main memory device 12 in advance, or may be stored in the main memory device 12 from the memory device of another device via a communication network or a portable recording medium.

上記機能のうち、記憶部110は、アクセス手順111とAPI仕様112を記憶する。 Of the above functions, the memory unit 110 stores the access procedure 111 and the API specification 112.

アクセス手順取得部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 API specification 112.

情報送信部140は、アクセス手順111やAPI仕様112を通信ネットワーク5を介してAPIアダプタ300に随時送信する。 The information transmission unit 140 transmits the access procedure 111 and API specifications 112 to the API adapter 300 via the communication network 5 at any time.

同図に示すように、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 processor 11 of the information processing device 10 constituting the API adapter 300 reading and executing a program stored in the main storage device 12, or by hardware (FPGA, ASIC, AI chip, etc.) provided in the information processing device 10 constituting the API adapter 300. The above programs may be stored in the main storage device 12 in advance, or may be stored in the main storage device 12 from a storage device of another device via a communication network or a portable recording medium.

情報受信部310は、通信ネットワーク5を介してAPI化支援装置100から送られてくるアクセス手順111とAPI仕様112を受信する。 The information receiving unit 310 receives the access procedure 111 and API specifications 112 sent from the API support device 100 via the communication network 5.

記憶部20は、情報受信部310が受信したアクセス手順111とAPI仕様112を記憶する。 The memory unit 20 stores the access procedure 111 and API specification 112 received by the information receiving unit 310.

アクセス手順再現部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 API specification 112.

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 API specifications 112 by using a user interface provided by the API specification setting unit 130 of the API implementation support device 100 .

図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 specification setting screen 3000") that the API specification setting unit 130 of the API support device 100 presents to the web API builder 2 (displayed on the output device 15 (display device)) when setting the API specifications. As shown in the figure, the API specification setting screen 3000 has an access procedure display field 311, an API specification setting field (data item) 312, an API specification setting field (request name) 313, and an API specification generation instruction button 314.

アクセス手順表示欄311は、操作3111及び操作対象3112の各項目を有する複数のレコードを含み、アクセス手順取得部120が取得したアクセス手順111の内容が表示される。また、WebAPI構築者2は、API仕様設定欄(データ項目)312及びAPI仕様設定欄(リクエスト名)313を利用して、API仕様の設定(アクセス手順の設定(追加、編集、削除)、データを格納する場合におけるデータ項目名(データ項目ID)の設定、リクエスト名の設定等)を行うことができる。 The access procedure display field 311 includes multiple records having the items of operation 3111 and operation target 3112, and displays the contents of the access procedure 111 acquired by the access procedure acquisition unit 120. In addition, the Web API builder 2 can use the API specification setting field (data item) 312 and the API specification setting field (request name) 313 to set the API specifications (access procedure setting (add, edit, delete), setting the data item name (data item ID) when storing data, setting the request name, etc.).

図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 specification setting screen 3000. In this example, the web API builder 2 operates a web browser to access the existing web application 210 (access the URL "https://existing-application.com"),
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 generation instruction button 314. When this operation is performed, the API specification setting unit 130 generates the API specifications based on the contents set in the API specification setting field (data item) 312 and the API specification setting field (request name) 313. The generated API specifications are stored in the memory unit 110 as the API specifications 112. The information transmission unit 140 transmits the access procedure 111 and the API specifications 112 to the API adapter 300 via the communication network 5 as needed.

図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 specification 112. The illustrated API specification 112 is written using "GraphQL SDL". The illustrated API specification 112 includes the content that when a request is made with the request name "users", a list of "User" type is returned as a response, and the "User" type has data items "id" and "name". Figure 4B is an example of a Web API response 118 (in JSON (JavaScript (registered trademark) Object Notation) format) when the API specification 112 has the content illustrated in Figure 4A.

以上のように、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 API specifications 112 without having to input the access procedure, and can efficiently implement the Web API of an existing Web application.

[第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 implementation support system 1 according to the second embodiment. Like the API implementation support system 1 of the first embodiment, the API implementation support system 1 of the second embodiment includes an API implementation support device 100, an existing Web server 200, an API adapter 300, and a Web API utilization device 400.

第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 implementation support system 1 of the second embodiment is the same as that of the API implementation support system 1 of the first embodiment, but unlike the first embodiment, the access procedure acquisition unit 120 of the API implementation support device 100 of the second embodiment extracts access procedures from an access history described below. The API implementation support device 100 of the second embodiment further includes an access history receiving unit 145. The storage unit 110 of the API implementation support device 100 of the second embodiment stores an access history 113 described below. The existing web server 200 of the second embodiment further includes an access history sending unit 220.

第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 access history 113, which is history information acquired by the existing web server 200 and generated when a user of an existing web application (hereinafter referred to as "existing web application user 4") uses a service provided by the existing web application 210. There may be one or more existing web application users 4. In addition, the access history does not necessarily have to be generated by the existing web application user 4 performing a special operation, and may be generated, for example, when the existing web application user 4 uses the service of the existing web server 200 in a normal manner.

既存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 access history 113. The access procedure acquisition unit 120 of the API implementation support device 100 extracts a series of operations included in the access history 113 from the access history 113 as the access procedure 111.

図6にアクセス履歴113の一例を示す。例示するアクセス履歴113は、レコードID1131、ユーザID1132、日時1133、操作1134、操作対象1135、及び入力値1136の各項目を有する複数のレコード(エントリ)で構成される。例示するアクセス履歴113の各レコードの内容は、既存Webアプリ利用者4がWebブラウザに表示されるWebページに対して行った各操作に対応する内容になっている。 Figure 6 shows an example of the access history 113. The illustrated access history 113 is made up of multiple records (entries) having the following fields: record ID 1131, user ID 1132, date and time 1133, operation 1134, operation target 1135, and input value 1136. The contents of each record in the illustrated access history 113 correspond to each operation performed by the existing web application user 4 on a web page displayed in a web browser.

上記項目のうち、レコード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 record ID 1131. A user ID that is an identifier of existing Web application user 4 is set in user ID 1132. The date and time (timestamp) when the operation was performed is set in date and time 1133. Information indicating the type (content) of the operation is set in operation 1134. Information that identifies the target of the operation (such as the location or identifier of a Web page, or an identifier of a part (object) such as a button or input field displayed on a Web page) is set in operation target 1135. A value set by existing Web application user 4 in the operation is set in input value 1136, or "-" is set if nothing is set.

例示するアクセス履歴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 record IDs 1131 "0001" to "0004" and "0006" in the illustrated access history 113 correspond to a series of operations in which an existing web application user 4 with a user ID of "A" accessed "https://existing-application.com" between "2020-04-01T21:00:10Z" and "2020-04-01T21:01:30Z," "opened" the web page, operated the registration button "click linkText = Register," entered "New" ("type css =.resister-box", "New"), and operated the send button "click xpath = //button ["Send"]." The access procedure acquisition unit 120 extracts such access procedures from the access history 113.

図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 access history 113 according to the policy that "frequently performed usage procedures are useful access procedures that we would like to provide as APIs." However, the extraction policy is not necessarily limited to the one shown in the example.

まず、アクセス手順取得部120は、ユーザID毎、日時毎にアクセス履歴113の各レコードを複数のグループに分割する(S711)。 First, the access procedure acquisition unit 120 divides each record in the access history 113 into multiple groups by user ID and date and time (S711).

図8A~図8Cに、図6に例示したアクセス履歴113のレコードを、ユーザID毎、日時毎に複数のグループに分割した例を示す。尚、本例では、アクセス手順取得部120は、1時間以上履歴がない場合(操作が行われた日時の間隔の連続性が所定時価以上途切れた場合)は別の履歴として分割している。尚、分割の方法は必ずしも例示するものに限定されず、例えば、既存Webアプリ利用者4のセッション情報に基づきセッション毎にアクセス履歴113を分割してもよい。 Figures 8A to 8C show an example in which the records of the access history 113 illustrated in Figure 6 are divided into multiple groups by user ID and date and time. In this example, the access procedure acquisition unit 120 divides the history into separate histories when there is no history for more than one hour (when the continuity of the interval between the dates and times when operations were performed is interrupted for more than a specified time value). The division method is not necessarily limited to the example shown, and for example, the access history 113 may be divided by session based on the session information of the existing Web application user 4.

本例の場合、アクセス手順取得部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 access history 113 shown in FIG. 6 into a group shown in FIG. 8A with record IDs 1131 of "0001" to "0004", and "0006" (hereinafter referred to as the "first group"), a group shown in FIG. 8B with record IDs 1131 of "0005", "0007" to "0010" (hereinafter referred to as the "second group"), and a group shown in FIG. 8C with record IDs 1131 of "0001" to "0004", and "0006" (hereinafter referred to as the "third group").

図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 access history 113, which is history information generated by using the service of the existing Web application 210, so that the Web API builder 2 does not need to perform operations to reproduce the access procedure of the existing Web application, and the load on the Web API builder 2 can be reduced. Therefore, the existing Web application can be converted into a Web API efficiently. Also, for example, by extracting the access procedure from the access history generated when the existing Web application user 4 uses the service of the existing Web application 210 in a normal usage manner, it is possible to prioritize the conversion into a Web API of, for example, an existing Web application that is frequently used and is expected to have a greater effect from conversion into a Web API.

[第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 API support system 1 according to the third embodiment. The API support system 1 of the third embodiment includes an API support device 100, an existing Web server 200, an API adapter 300, and a Web API utilization device 400, as in the API support system 1 of the first embodiment, and further includes a Web API information management device 500. The Web API information management device 500 provides a Web API builder 2 with a search function for Web APIs (existing Web applications). In this embodiment, the Web API information management device 500 is described as being an independent configuration, but all or part of the functions of the Web API information management device 500 may be implemented in another information processing device in the API support system 1. For example, all or part of the functions of the Web API information management device 500 may be implemented in the API support device 100.

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 processor 11 of the information processing device 10 constituting the Web API information management device 500 reading and executing a program stored in the main memory device 12, or by hardware (FPGA, ASIC, AI chip, etc.) provided in the information processing device 10 constituting the Web API information management device 500. The above programs may be stored in the main memory device 12 in advance, or may be stored in the main memory device 12 from a storage device of another device via a communication network or a portable recording medium.

上記機能のうち、記憶部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 specification 112 of each Web API (existing Web application). The related information group 513 includes various information about each Web API (existing Web application) (explanatory information described below, API adapter URL (URL: Uniform Resource Locator), etc.).

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 specification 112, and the above various information) related to the Web API (existing Web application) sent from the API implementation support device 100. The above information received by the API management unit 520 is stored in the storage unit 510 as an access procedure group 511, an API specification group 512, and a related information group 513, respectively.

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 specification setting screen 3000 that the API specification setting unit 130 of the API support device 100 of the third embodiment presents to the Web API builder 2 (output (display) on the output device 15 (display device)). The Web API builder 2 can register information to be used for searching (access procedure group 511, API specification group 512, related information group 513) in the Web API information management device 500 via the API specification setting screen 3000.

同図に示すように、例示する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 specification setting screen 3000 has, in addition to each field of the API specification setting screen 3000 of the first embodiment shown in FIG. 3A, an API adapter URL setting field 351, an explanatory information input field 352, and an information registration button 353. Of these, the URL of the API adapter is set in the API adapter URL setting field 351. Explanation information related to the Web API is set in the explanatory information input field 352. When the information registration button 353 is operated, the information sending unit 140 sends the contents set on the screen to the Web API information management device 500.

図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 information search screen 1100") that the Web API information management device 500 presents (outputs (displays) on the output device 15 (display device)) to the Web API builder 2 when providing a search function. The API search unit 530 of the Web API information management device 500 provides the Web API information search screen 1100 as, for example, a Web page.

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 information search screen 1100 has a search word setting field 1111, a search execution button 1112, and a search result display field 1113. When the web API builder 2 inputs a search word in the search word setting field 1111 and operates the search execution button 1112, the search word is sent from the web API information management device 500 to the web API information management device 500. When the API search unit 530 of the web API information management device 500 receives the search word, it searches for information corresponding to the search word from the information stored in the memory unit 510 and sends the search results to the API implementation support device 100. When the API implementation support device 100 receives the search results, it displays the received search results in the search result display field 1140 of the web API information search screen 1100.

図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 word setting field 1111, and information containing the word "existing" in the URL of an existing Web application is displayed in search result display field 1140 as a search result. The content of each record (entry) in search result display field 1140 corresponds to one Web API (existing Web application). Each record has the following items: existing Web application URL 1141, API adapter URL 1142, and description 1143.

検索結果の表示欄1140の各レコードには、APIアダプタ300で再現するアクセス手順を確認するための表示ボタン1161が設けられている。WebAPI構築者2が表示ボタン1161を操作すると、当該WebAPI(既存Webアプリ)に関する情報が表示される。 Each record in the search result display column 1140 is provided with a display button 1161 for checking the access procedure to be reproduced by the API adapter 300. When the Web API builder 2 operates the display button 1161, information about the Web API (existing Web application) is displayed.

図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 procedure display screen 1150"). The illustrated access procedure display screen 1150 is displayed by operating the display button 1161 in the second row of the search result display field 1140 in Figure 11A. As shown in the figure, the access procedure display screen 1150 displays the access procedures of the existing Web application (chronologically ordered records (entries) having the items of user ID 1151, operation 1152, and operation target 1153).

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化支援システムであって、
前記アクセス手順取得部は、前記候補のグループうち出現頻度が高いグループを優先して前記アクセス手順の抽出元として選出し、選出した前記候補のグループに含まれている前記一連の操作を前記アクセス手順として取得する、
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検索部は、前記情報を検索するためのキーワードを受け付け、受け付けたキーワードにより前記情報を検索し、検索の結果を出力する、
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化支援システムであって、
前記関連情報を受け付けるユーザインタフェースを備える、
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化支援方法であって、
前記情報処理装置が、前記候補のグループうち出現頻度が高いグループを優先して前記アクセス手順の抽出元として選出し、選出した前記候補のグループに含まれている前記一連の操作を前記アクセス手順として取得するステップ、
を更に実行する、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仕様とともに検索対象の前記情報として管理するステップと、
前記情報を検索するためのキーワードを受け付け、受け付けたキーワードにより前記情報を検索し、検索の結果を出力するステップと、
を更に実行する、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化支援方法であって、
前記情報処理装置が、前記関連情報を受け付けるユーザインタフェースを提供するステップ、
を更に実行する、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.
JP2020139228A 2020-08-20 2020-08-20 API implementation support system and API implementation support method Active JP7519230B2 (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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