JP6721548B2 - 設計確認装置及び設計確認方法 - Google Patents

設計確認装置及び設計確認方法 Download PDF

Info

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
Application number
JP2017147448A
Other languages
English (en)
Other versions
JP2019028723A (ja
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2017147448A priority Critical patent/JP6721548B2/ja
Publication of JP2019028723A publication Critical patent/JP2019028723A/ja
Application granted granted Critical
Publication of JP6721548B2 publication Critical patent/JP6721548B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、APIの設計ルールを規定し、API設計書がルールに準拠しているか否か確認する技術に関する。
近年、様々なネットワークサービスがアプリケーションプログラミングインタフェース(API)という形で提供されている。
API設計に関する技術として、非特許文献1,2の技術が知られている。非特許文献1は、所定の仕様に準じたAPI設計書の作成を支援する技術である。
特開2016−151881号公報 特開2016−151780号公報
"Swagger Editor"、[online]、SmartBear Software、[平成29年6月21日検索]、インターネット〈 URL:http://swagger.io/swagger-editor/〉 "API Blueprint"、[online]、api blueprint、[平成29年6月21日検索]、インターネット〈 URL:https://apiblueprint.org/〉 菊間、外3名、「大規模通信ソフト開発における要求仕様書からの試験項目作成自動化に関する検討」、第11回ネットワークソフトウェア研究会、電子情報通信学会、2016年
非特許文献1の技術は、構文/文法的なエラーを検出することはできるが、APIの設計ルールを独自に設定/カスタマイズすることはできない。また、APIで使用するメソッドがCRUD(Create,Read,Update,Delete)の考え方に従っているか等、メソッドの使用用途の違いや矛盾によって生じるエラーを検出することはできない。非特許文献3は、仕様書を解析する技術であるが、REST APIの領域で使用可能なメソッドが限定的である特徴を活かした解析についての言及はない。
本発明は、上記に鑑みてなされたものであり、APIの設計ルールをカスタマイズ可能とし、設計ルールに対する準拠性確認の負担を軽減することを目的とする。
第1の本発明に係る設計確認装置は、アプリケーションプログラミングインタフェースを設計する際のルールを記述した設計ルールを入力する設計ルール入力手段と、前記設計ルールを解析してチェックポリシーを作成する設計ルール解析手段と、アプリケーションプログラミングインタフェースの設計書を入力し、前記チェックポリシーに基づいて前記設計ルールに準拠しているか否かを判定する設計書チェック手段と、を有することを特徴とする。
第2の本発明に係る設計確認方法は、設計確認装置によって実行される設計確認方法であって、アプリケーションプログラミングインタフェースを設計する際のルールを記述した設計ルールを入力するステップと、前記設計ルールを解析してチェックポリシーを作成するステップと、アプリケーションプログラミングインタフェースの設計書を入力し、前記チェックポリシーに基づいて前記設計ルールに準拠しているか否かを判定するステップと、を有することを特徴とする。
本発明によれば、APIの設計ルールをカスタマイズ可能とし、設計ルールに対する準拠性確認の負担を軽減することができる。
本実施形態の設計確認装置1の構成を示す機能ブロック図である。 API記述ルールの例を示す図である。 API設計書の例を示す図である。
以下、本発明の実施の形態について図面を用いて説明する。
図1は、本実施形態の設計確認装置1の構成を示す機能ブロック図である。同図に示す設計確認装置1は、API記述ルール入力部11、API記述ルール解析部12、チェックポリシー設定部13、準拠性チェック処理部14、API設計エディタ部15、及びAPI記述ルール設定方式入力部16を備える。設計確認装置1が備える各部は、演算処理装置、記憶装置等を備えたコンピュータにより構成して、各部の処理がプログラムによって実行されるものとしてもよい。このプログラムは設計確認装置1が備える記憶装置に記憶されており、磁気ディスク、光ディスク、半導体メモリ等の記録媒体に記録することも、ネットワークを通して提供することも可能である。以下、設計確認装置1の各部について説明する。
API記述ルール入力部11は、アノテーションや正規表現等の一般的なプログラミング言語、または、設計確認装置1が指定するAPI特有の記述様式に従って記載されたAPI記述ルールを入力する。入力したAPI記述ルールはAPI記述ルール解析部12に送られる。API記述ルールとは、例えば、APIのリソース名、パラメータ名に使用してはいけない文字や文字列を規定したルール、及びAPIで使用するメソッドの使用用途を規定したルールなどである。メソッドの使用用途は、REST APIのメソッドが限定的な特徴を活かしてルールを規定できる。
API記述ルール解析部12は、システム運用者によって事前に規定された記述様式に従い、API記述ルールを解析してチェックポリシーを決定する。決定されたチェックポリシーはチェックポリシー設定部13に送られる。
チェックポリシー設定部13で、システム運用者は、チェックポリシーに間違いのないことを確認する。チェックポリシーに間違いのないことが確認されると、チェックポリシー設定部13は、チェックポリシーを準拠性チェック処理部14に反映する。
準拠性チェック処理部14は、API設計者からAPI設計書の入力を受け付け、入力されたAPI設計書をチェックポリシーに基づいてチェックし、チェックポリシーに沿っていない非準拠箇所をAPI設計者に通知する。API設計者は、設計確認装置1の備えるAPI設計エディタ部15を用いてAPI設計書を入力してもよいし、設計確認装置1の提供するAPIを用いてAPI設計書を送付してもよい。API設計者がAPI設計エディタ部15を用いたときは、API設計書の非準拠箇所をAPI設計エディタ部15に出力し、API設計者に通知する。
API記述ルール設定方式入力部16は、システム運用者からAPI記述ルールの記述様式を入力する。API記述ルール作成者は、API記述ルール設定方式入力部16で設定された記述様式に従ってAPI記述ルールを記載する。
なお、API記述ルール入力部11及び準拠性チェック処理部14の機能をAPIとして提供し、複数事業者で共通システムとして用いることで、複数事業者のAPI記述ルールに従ったチェックポリシーの統合が可能となる。
次に、API記述ルールの例について説明する。
図2は、API記述ルールの例を示す図である。同図のAPI記述ルールは、構文的記述ルールの規定例とメソッド使用ルールの規定例を含んでいる。
まず、構文的記述ルールの規定例について説明する。図2の例では、APIのリソース名、パラメータ名に、アプリが動作する上でバグの原因となる恐れのある文字「%」,「:」,「¥」,「¥¥」(バックスラッシュ)の使用を禁止するルールが記載されている。具体的には、図2の2行目の“@NGcheck\Resource”は、設計確認装置1に設定された記述様式であり、API設計書内の各APIのリソース名に特定の文字、文字列が存在する場合にエラー情報を出力するルールである。また、4行目の“@NGcheck\Parameters”は、各APIのパラメータ名に特定の文字、文字列が存在する場合にエラー情報を出力するルールである。3行目と5行目に、使用してはいけない文字、文字列が正規表現等で記述されている。
続いて、メソッド使用ルールの規定例について説明する。API記述ルールとして、各メソッドの使用用途を表1のように規定したと仮定する。
Figure 0006721548
本実施形態では、表1で規定したルールに反して用途に合っていないメソッドが使われている場合にエラー情報を出力する。図2の例では、8行目の“@NGcheck\Api”が、一つのエンドポイント毎のAPIに関する設計(概要やメソッド)において、特定の条件に当てはまる記述が存在する場合にエラー情報を出力するルールである。9行目はエラー情報を出力するポリシーである。図2の例では、API設計書に記載されるAPI説明文(description部)に「更新」,「create」,「追加」,「add」,「削除」,「delete」のいずれかの記述があり、GETメソッドを使用している場合にエラー情報を出力する。
図3に、API設計書の例を示す。図3に示したAPIでは、3行目にGETメソッドを使用することが記載されており、7行目のAPIの説明欄に“Create”の記述がある。つまり、このAPIは、リソースを新規に作成するAPIにもかかわらずGETを用いている。したがって、このAPI設計書を設計確認装置1に入力した場合、用途に合っていないメソッドが使われている旨のエラー情報が出力される。
以上説明したように、本実施形態によれば、設計確認装置1が、APIのリソース名、パラメータ名に使用してはいけない文字や文字列を規定したルール及びAPIで使用するメソッドの使用用途を規定したルールを記述したAPI記述ルールを入力するAPI記述ルール入力部11と、API記述ルールを解析してチェックポリシーを決定するAPI記述ルール解析部12と、API設計者からAPI設計書の入力を受け付けて、入力されたAPI設計書をチェックポリシー基づいてチェックする準拠性チェック処理部14を有することにより、API設計ルールの設定/カスタマイズが可能となり、設計ルールに対する準拠性確認の負担を軽減できる。
本実施形態によれば、API記述ルール入力部11及び準拠性チェック処理部14の機能をAPIとして提供し、複数事業者で共通システムとして用いることで、複数事業者のAPI記述ルールに従ったチェックポリシーの統合が可能となる。
1…設計確認装置
11…API記述ルール入力部
12…API記述ルール解析部
13…チェックポリシー設定部
14…準拠性チェック処理部
15…API設計エディタ部
16…API記述ルール設定方式入力部

Claims (8)

  1. アプリケーションプログラミングインタフェースを設計する際のルールを記述した設計ルールを入力する設計ルール入力手段と、
    前記設計ルールを解析してチェックポリシーを作成する設計ルール解析手段と、
    アプリケーションプログラミングインタフェースの設計書を入力し、前記チェックポリシーに基づいて前記設計ルールに準拠しているか否かを判定する設計書チェック手段と、
    を有することを特徴とする設計確認装置。
  2. 前記設計ルール入力手段は、複数の前記設計ルールを入力し、
    前記設計ルール解析手段は、前記複数の設計ルールの解析結果を統合して前記チェックポリシーを作成することを特徴とする請求項1に記載の設計確認装置。
  3. 前記設計ルールは、使用禁止の文字及び文字列を規定することを特徴とする請求項1又は2に記載の設計確認装置。
  4. 前記設計ルールは、前記アプリケーションプログラミングインタフェースの使用するメソッドの使用用途を規定することを特徴とする請求項1乃至3のいずれかに記載の設計確認装置。
  5. 設計確認装置によって実行される設計確認方法であって、
    アプリケーションプログラミングインタフェースを設計する際のルールを記述した設計ルールを入力するステップと、
    前記設計ルールを解析してチェックポリシーを作成するステップと、
    アプリケーションプログラミングインタフェースの設計書を入力し、前記チェックポリシーに基づいて前記設計ルールに準拠しているか否かを判定するステップと、
    を有することを特徴とする設計確認方法。
  6. 前記設計ルールを入力するステップでは、複数の前記設計ルールを入力し、
    前記チェックポリシーを作成するステップでは、前記複数の設計ルールの解析結果を統合して前記チェックポリシーを作成することを特徴とする請求項5に記載の設計確認方法。
  7. 前記設計ルールは、使用禁止の文字及び文字列を規定することを特徴とする請求項5又は6に記載の設計確認方法。
  8. 前記設計ルールは、前記アプリケーションプログラミングインタフェースの使用するメソッドを規定することを特徴とする請求項5乃至7のいずれかに記載の設計確認方法。
JP2017147448A 2017-07-31 2017-07-31 設計確認装置及び設計確認方法 Active JP6721548B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017147448A JP6721548B2 (ja) 2017-07-31 2017-07-31 設計確認装置及び設計確認方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017147448A JP6721548B2 (ja) 2017-07-31 2017-07-31 設計確認装置及び設計確認方法

Publications (2)

Publication Number Publication Date
JP2019028723A JP2019028723A (ja) 2019-02-21
JP6721548B2 true JP6721548B2 (ja) 2020-07-15

Family

ID=65478468

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017147448A Active JP6721548B2 (ja) 2017-07-31 2017-07-31 設計確認装置及び設計確認方法

Country Status (1)

Country Link
JP (1) JP6721548B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111882389B (zh) * 2020-07-23 2024-01-23 上海观池聚光数字科技有限公司 一种应用于素材二次加工的定制***
WO2022249256A1 (ja) * 2021-05-24 2022-12-01 日本電信電話株式会社 Api検出装置、api検出方法及びプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005056183A (ja) * 2003-08-05 2005-03-03 Nec Corp ルール検査システム、ルール検査装置、ルール検査方法、及びルール検査プログラム
JP2010072944A (ja) * 2008-09-18 2010-04-02 Hitachi Information Systems Ltd 情報処理システムにおける設計品質検査の支援システム
JP5209016B2 (ja) * 2010-09-28 2013-06-12 ヤフー株式会社 WebAPI作成支援装置及びWebAPI作成支援方法

Also Published As

Publication number Publication date
JP2019028723A (ja) 2019-02-21

Similar Documents

Publication Publication Date Title
CN107644286B (zh) 工作流处理方法及装置
US20190238563A1 (en) Managed software remediation
WO2017162024A1 (zh) 组件和模板的可视化开发方法及***、存储介质、设备
US20060195819A1 (en) Method and system for verifying rule compliance of an application object
US20130117738A1 (en) Server Upgrades with Safety Checking and Preview
US20140344948A1 (en) Automated Management of Private Information
EP3234851B1 (en) A system and method for facilitating static analysis of software applications
CN107741935B (zh) 数据导入方法及数据导入装置
US9584437B2 (en) Resource watermarking and management
JP6721548B2 (ja) 設計確認装置及び設計確認方法
WO2015097789A1 (ja) クエリ生成方法及びクエリ生成装置
JP6156054B2 (ja) 情報処理装置およびプログラム
WO2020031845A1 (ja) Api仕様書生成装置、api仕様書生成方法、およびプログラム
KR20170105325A (ko) 소스 코드 분석 방법과 이를 수행하기 위한 시스템 및 장치
US10579374B2 (en) Method for converting application and computing device
CN111507079B (zh) 一种多语言文档生成方法及***和设备
JP2020067859A (ja) テストデータ生成装置、テストデータ生成方法及びプログラム
JP6336922B2 (ja) 業務バリエーションに基づく業務影響箇所抽出方法および業務影響箇所抽出装置
JP7247593B2 (ja) 生成装置、ソフトウェアロボットシステム、生成方法及び生成プログラム
JP7326803B2 (ja) 文書管理装置、文書管理方法、及び、プログラム
JP6818568B2 (ja) 通信装置、通信仕様差分抽出方法及び通信仕様差分抽出プログラム
JP6136408B2 (ja) 製品開発システム、情報処理装置、プログラム、記憶媒体
JP2005063121A (ja) ソースコード変換装置、及びソースコード変換方法、ソースコード変換プログラム、記憶媒体
US20140372982A1 (en) Standardization of variable names in an integrated development environment
US7917893B2 (en) Using a system of annotations to generate views and adapters

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