JP6721548B2 - Design confirmation device and design confirmation method - Google Patents
Design confirmation device and design confirmation method Download PDFInfo
- Publication number
- JP6721548B2 JP6721548B2 JP2017147448A JP2017147448A JP6721548B2 JP 6721548 B2 JP6721548 B2 JP 6721548B2 JP 2017147448 A JP2017147448 A JP 2017147448A JP 2017147448 A JP2017147448 A JP 2017147448A JP 6721548 B2 JP6721548 B2 JP 6721548B2
- Authority
- JP
- Japan
- Prior art keywords
- design
- rule
- api
- rules
- check policy
- 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
Images
Landscapes
- Stored Programmes (AREA)
Description
本発明は、APIの設計ルールを規定し、API設計書がルールに準拠しているか否か確認する技術に関する。 The present invention relates to a technique of defining an API design rule and confirming whether an API design document complies with the rule.
近年、様々なネットワークサービスがアプリケーションプログラミングインタフェース(API)という形で提供されている。 In recent years, various network services have been provided in the form of application programming interfaces (APIs).
API設計に関する技術として、非特許文献1,2の技術が知られている。非特許文献1は、所定の仕様に準じたAPI設計書の作成を支援する技術である。
The techniques of Non-Patent
非特許文献1の技術は、構文/文法的なエラーを検出することはできるが、APIの設計ルールを独自に設定/カスタマイズすることはできない。また、APIで使用するメソッドがCRUD(Create,Read,Update,Delete)の考え方に従っているか等、メソッドの使用用途の違いや矛盾によって生じるエラーを検出することはできない。非特許文献3は、仕様書を解析する技術であるが、REST APIの領域で使用可能なメソッドが限定的である特徴を活かした解析についての言及はない。
The technique of Non-Patent
本発明は、上記に鑑みてなされたものであり、APIの設計ルールをカスタマイズ可能とし、設計ルールに対する準拠性確認の負担を軽減することを目的とする。 The present invention has been made in view of the above, and an object thereof is to make it possible to customize API design rules and reduce the burden of confirming conformity to the design rules.
第1の本発明に係る設計確認装置は、アプリケーションプログラミングインタフェースを設計する際のルールを記述した設計ルールを入力する設計ルール入力手段と、前記設計ルールを解析してチェックポリシーを作成する設計ルール解析手段と、アプリケーションプログラミングインタフェースの設計書を入力し、前記チェックポリシーに基づいて前記設計ルールに準拠しているか否かを判定する設計書チェック手段と、を有することを特徴とする。 A design confirmation apparatus according to a first aspect of the present invention is a design rule input means for inputting a design rule describing a rule for designing an application programming interface, and a design rule analysis for analyzing the design rule to create a check policy. Means, and a design document checking unit for inputting a design document of an application programming interface and determining whether or not the design rule is complied with based on the check policy.
第2の本発明に係る設計確認方法は、設計確認装置によって実行される設計確認方法であって、アプリケーションプログラミングインタフェースを設計する際のルールを記述した設計ルールを入力するステップと、前記設計ルールを解析してチェックポリシーを作成するステップと、アプリケーションプログラミングインタフェースの設計書を入力し、前記チェックポリシーに基づいて前記設計ルールに準拠しているか否かを判定するステップと、を有することを特徴とする。 A design confirmation method according to a second aspect of the present invention is a design confirmation method executed by a design confirmation device, which comprises a step of inputting a design rule describing a rule when designing an application programming interface, and the design rule. It is characterized by including a step of analyzing and creating a check policy, and a step of inputting a design document of an application programming interface and judging whether or not the design rule is complied with based on the check policy. ..
本発明によれば、APIの設計ルールをカスタマイズ可能とし、設計ルールに対する準拠性確認の負担を軽減することができる。 According to the present invention, the API design rule can be customized, and the burden of confirming the conformity to the design rule can be reduced.
以下、本発明の実施の形態について図面を用いて説明する。 Embodiments of the present invention will be described below with reference to the drawings.
図1は、本実施形態の設計確認装置1の構成を示す機能ブロック図である。同図に示す設計確認装置1は、API記述ルール入力部11、API記述ルール解析部12、チェックポリシー設定部13、準拠性チェック処理部14、API設計エディタ部15、及びAPI記述ルール設定方式入力部16を備える。設計確認装置1が備える各部は、演算処理装置、記憶装置等を備えたコンピュータにより構成して、各部の処理がプログラムによって実行されるものとしてもよい。このプログラムは設計確認装置1が備える記憶装置に記憶されており、磁気ディスク、光ディスク、半導体メモリ等の記録媒体に記録することも、ネットワークを通して提供することも可能である。以下、設計確認装置1の各部について説明する。
FIG. 1 is a functional block diagram showing the configuration of the
API記述ルール入力部11は、アノテーションや正規表現等の一般的なプログラミング言語、または、設計確認装置1が指定するAPI特有の記述様式に従って記載されたAPI記述ルールを入力する。入力したAPI記述ルールはAPI記述ルール解析部12に送られる。API記述ルールとは、例えば、APIのリソース名、パラメータ名に使用してはいけない文字や文字列を規定したルール、及びAPIで使用するメソッドの使用用途を規定したルールなどである。メソッドの使用用途は、REST APIのメソッドが限定的な特徴を活かしてルールを規定できる。
The API description
API記述ルール解析部12は、システム運用者によって事前に規定された記述様式に従い、API記述ルールを解析してチェックポリシーを決定する。決定されたチェックポリシーはチェックポリシー設定部13に送られる。
The API description
チェックポリシー設定部13で、システム運用者は、チェックポリシーに間違いのないことを確認する。チェックポリシーに間違いのないことが確認されると、チェックポリシー設定部13は、チェックポリシーを準拠性チェック処理部14に反映する。
In the check
準拠性チェック処理部14は、API設計者からAPI設計書の入力を受け付け、入力されたAPI設計書をチェックポリシーに基づいてチェックし、チェックポリシーに沿っていない非準拠箇所をAPI設計者に通知する。API設計者は、設計確認装置1の備えるAPI設計エディタ部15を用いてAPI設計書を入力してもよいし、設計確認装置1の提供するAPIを用いてAPI設計書を送付してもよい。API設計者がAPI設計エディタ部15を用いたときは、API設計書の非準拠箇所をAPI設計エディタ部15に出力し、API設計者に通知する。
The compliance
API記述ルール設定方式入力部16は、システム運用者からAPI記述ルールの記述様式を入力する。API記述ルール作成者は、API記述ルール設定方式入力部16で設定された記述様式に従ってAPI記述ルールを記載する。
The API description rule setting
なお、API記述ルール入力部11及び準拠性チェック処理部14の機能をAPIとして提供し、複数事業者で共通システムとして用いることで、複数事業者のAPI記述ルールに従ったチェックポリシーの統合が可能となる。
By providing the functions of the API description
次に、API記述ルールの例について説明する。 Next, an example of the API description rule will be described.
図2は、API記述ルールの例を示す図である。同図のAPI記述ルールは、構文的記述ルールの規定例とメソッド使用ルールの規定例を含んでいる。 FIG. 2 is a diagram showing an example of the API description rule. The API description rule in the figure includes an example of defining a syntactic description rule and an example of defining a method use rule.
まず、構文的記述ルールの規定例について説明する。図2の例では、APIのリソース名、パラメータ名に、アプリが動作する上でバグの原因となる恐れのある文字「%」,「:」,「¥」,「¥¥」(バックスラッシュ)の使用を禁止するルールが記載されている。具体的には、図2の2行目の“@NGcheck\Resource”は、設計確認装置1に設定された記述様式であり、API設計書内の各APIのリソース名に特定の文字、文字列が存在する場合にエラー情報を出力するルールである。また、4行目の“@NGcheck\Parameters”は、各APIのパラメータ名に特定の文字、文字列が存在する場合にエラー情報を出力するルールである。3行目と5行目に、使用してはいけない文字、文字列が正規表現等で記述されている。
First, a definition example of the syntactic description rule will be described. In the example of FIG. 2, characters "%", ":", "\", "\\" (backslash) that may cause a bug in the operation of the application are added to the API resource name and parameter name. The rules that prohibit the use of are described. Specifically, “@NGcheck\Resource” on the second line of FIG. 2 is a description format set in the
続いて、メソッド使用ルールの規定例について説明する。API記述ルールとして、各メソッドの使用用途を表1のように規定したと仮定する。 Next, a stipulated example of the method use rule will be described. It is assumed that the usage of each method is defined as the API description rule as shown in Table 1.
本実施形態では、表1で規定したルールに反して用途に合っていないメソッドが使われている場合にエラー情報を出力する。図2の例では、8行目の“@NGcheck\Api”が、一つのエンドポイント毎のAPIに関する設計(概要やメソッド)において、特定の条件に当てはまる記述が存在する場合にエラー情報を出力するルールである。9行目はエラー情報を出力するポリシーである。図2の例では、API設計書に記載されるAPI説明文(description部)に「更新」,「create」,「追加」,「add」,「削除」,「delete」のいずれかの記述があり、GETメソッドを使用している場合にエラー情報を出力する。 In the present embodiment, error information is output when a method that does not suit the purpose is used, contrary to the rules defined in Table 1. In the example of FIG. 2, “@NGcheck\Api” on the 8th line outputs error information when there is a description that meets specific conditions in the design (outline or method) related to the API for each endpoint. It is a rule. The ninth line is a policy for outputting error information. In the example of FIG. 2, any description of “update”, “create”, “add”, “add”, “delete”, and “delete” is described in the API description (description section) described in the API design document. Yes, output error information when using the GET method.
図3に、API設計書の例を示す。図3に示したAPIでは、3行目にGETメソッドを使用することが記載されており、7行目のAPIの説明欄に“Create”の記述がある。つまり、このAPIは、リソースを新規に作成するAPIにもかかわらずGETを用いている。したがって、このAPI設計書を設計確認装置1に入力した場合、用途に合っていないメソッドが使われている旨のエラー情報が出力される。
FIG. 3 shows an example of the API design document. In the API shown in FIG. 3, it is described that the GET method is used on the third line, and “Create” is described in the API description column on the seventh line. In other words, this API uses GET despite the API for newly creating a resource. Therefore, when this API design document is input to the
以上説明したように、本実施形態によれば、設計確認装置1が、APIのリソース名、パラメータ名に使用してはいけない文字や文字列を規定したルール及びAPIで使用するメソッドの使用用途を規定したルールを記述したAPI記述ルールを入力するAPI記述ルール入力部11と、API記述ルールを解析してチェックポリシーを決定するAPI記述ルール解析部12と、API設計者からAPI設計書の入力を受け付けて、入力されたAPI設計書をチェックポリシー基づいてチェックする準拠性チェック処理部14を有することにより、API設計ルールの設定/カスタマイズが可能となり、設計ルールに対する準拠性確認の負担を軽減できる。
As described above, according to the present embodiment, the
本実施形態によれば、API記述ルール入力部11及び準拠性チェック処理部14の機能をAPIとして提供し、複数事業者で共通システムとして用いることで、複数事業者のAPI記述ルールに従ったチェックポリシーの統合が可能となる。
According to the present embodiment, the functions of the API description
1…設計確認装置
11…API記述ルール入力部
12…API記述ルール解析部
13…チェックポリシー設定部
14…準拠性チェック処理部
15…API設計エディタ部
16…API記述ルール設定方式入力部
DESCRIPTION OF
Claims (8)
前記設計ルールを解析してチェックポリシーを作成する設計ルール解析手段と、
アプリケーションプログラミングインタフェースの設計書を入力し、前記チェックポリシーに基づいて前記設計ルールに準拠しているか否かを判定する設計書チェック手段と、
を有することを特徴とする設計確認装置。 Design rule input means for inputting design rules describing rules for designing an application programming interface,
Design rule analysis means for analyzing the design rule to create a check policy,
Design document check means for inputting a design document of an application programming interface and determining whether or not the design rule is complied with based on the check policy,
A design confirmation device having:
前記設計ルール解析手段は、前記複数の設計ルールの解析結果を統合して前記チェックポリシーを作成することを特徴とする請求項1に記載の設計確認装置。 The design rule input means inputs a plurality of the design rules,
The design confirmation apparatus according to claim 1, wherein the design rule analysis unit integrates analysis results of the plurality of design rules to create the check policy.
アプリケーションプログラミングインタフェースを設計する際のルールを記述した設計ルールを入力するステップと、
前記設計ルールを解析してチェックポリシーを作成するステップと、
アプリケーションプログラミングインタフェースの設計書を入力し、前記チェックポリシーに基づいて前記設計ルールに準拠しているか否かを判定するステップと、
を有することを特徴とする設計確認方法。 A design confirmation method executed by a design confirmation device, comprising:
A step of inputting a design rule describing a rule for designing an application programming interface,
Creating a check policy by analyzing the design rules,
Inputting a design document of the application programming interface and determining whether or not the design rule is complied with based on the check policy;
A method for confirming design, comprising:
前記チェックポリシーを作成するステップでは、前記複数の設計ルールの解析結果を統合して前記チェックポリシーを作成することを特徴とする請求項5に記載の設計確認方法。 In the step of inputting the design rule, input a plurality of the design rules,
The design confirmation method according to claim 5, wherein, in the step of creating the check policy, the analysis results of the plurality of design rules are integrated to create the check policy.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017147448A JP6721548B2 (en) | 2017-07-31 | 2017-07-31 | Design confirmation device and design confirmation method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017147448A JP6721548B2 (en) | 2017-07-31 | 2017-07-31 | Design confirmation device and design confirmation method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019028723A JP2019028723A (en) | 2019-02-21 |
JP6721548B2 true JP6721548B2 (en) | 2020-07-15 |
Family
ID=65478468
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017147448A Active JP6721548B2 (en) | 2017-07-31 | 2017-07-31 | Design confirmation device and design confirmation method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6721548B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111882389B (en) * | 2020-07-23 | 2024-01-23 | 上海观池聚光数字科技有限公司 | Customization system applied to secondary processing of materials |
WO2022249256A1 (en) * | 2021-05-24 | 2022-12-01 | 日本電信電話株式会社 | Api detection device, api detection method, and program |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005056183A (en) * | 2003-08-05 | 2005-03-03 | Nec Corp | Rule checking system, device, method, and program |
JP2010072944A (en) * | 2008-09-18 | 2010-04-02 | Hitachi Information Systems Ltd | System for supporting design quality inspection of information processing system |
JP5209016B2 (en) * | 2010-09-28 | 2013-06-12 | ヤフー株式会社 | WebAPI creation support apparatus and WebAPI creation support method |
-
2017
- 2017-07-31 JP JP2017147448A patent/JP6721548B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2019028723A (en) | 2019-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12021892B2 (en) | Managed software remediation | |
CN107644286B (en) | Workflow processing method and device | |
WO2017162024A1 (en) | Method of developing component and template using visual expression, storage medium, and apparatus | |
US20060195819A1 (en) | Method and system for verifying rule compliance of an application object | |
US20140344948A1 (en) | Automated Management of Private Information | |
EP2774033A1 (en) | Server upgrades with safety checking and preview | |
EP3234851B1 (en) | A system and method for facilitating static analysis of software applications | |
CN107741935B (en) | Data importing method and data importing device | |
US20180081650A1 (en) | Link time program optimization in presence of a linker script | |
JP6167187B2 (en) | Query generation method and query generation apparatus | |
JP2011100447A (en) | Entity morphing in metamodel-based tool | |
JP6721548B2 (en) | Design confirmation device and design confirmation method | |
US20130275600A1 (en) | Resource Watermarking and Management | |
JP6156054B2 (en) | Information processing apparatus and program | |
WO2020031845A1 (en) | Api specification generation device, api specification generation method, and program | |
US10579374B2 (en) | Method for converting application and computing device | |
JP5545133B2 (en) | Static analysis processing system, method, and program | |
CN111507079B (en) | Multi-language document generation method, system and equipment | |
JP2020067859A (en) | Test data generating apparatus, test data generating method, and program | |
JP7326803B2 (en) | Document management device, document management method, and program | |
WO2022038701A1 (en) | Program analysis device, program analysis method, and computer-readable medium | |
JP6818568B2 (en) | Communication device, communication specification difference extraction method and communication specification difference extraction program | |
JP6136408B2 (en) | Product development system, information processing device, program, storage medium | |
JP2005063121A (en) | Device, method and program for converting source code and storage medium | |
JP2016143106A (en) | Business influence portion extraction method based on business variation and business influence portion extraction device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190621 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200518 |
|
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: 20200616 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200618 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6721548 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |