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

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

Info

Publication number
JP2019028723A
JP2019028723A JP2017147448A JP2017147448A JP2019028723A JP 2019028723 A JP2019028723 A JP 2019028723A JP 2017147448 A JP2017147448 A JP 2017147448A JP 2017147448 A JP2017147448 A JP 2017147448A JP 2019028723 A JP2019028723 A JP 2019028723A
Authority
JP
Japan
Prior art keywords
design
api
rule
rules
check
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.)
Granted
Application number
JP2017147448A
Other languages
English (en)
Other versions
JP6721548B2 (ja
Inventor
真吾 小俣
Shingo Komata
真吾 小俣
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)

Abstract

【課題】APIの設計ルールをカスタマイズ可能とし、設計ルールに対する準拠性確認の負担を軽減する。【解決手段】設計確認装置1が、APIのリソース名、パラメータ名に使用してはいけない文字や文字列を規定したルール及びAPIで使用するメソッドの使用用途を規定したルールを記述したAPI記述ルールを入力するAPI記述ルール入力部11と、API記述ルールを解析してチェックポリシーを決定するAPI記述ルール解析部12と、API設計者からAPI設計書の入力を受け付けて、入力されたAPI設計書をチェックポリシー基づいてチェックする準拠性チェック処理部14を有する。これにより、API設計ルールの設定/カスタマイズが可能となり、設計ルールに対する準拠性確認の負担を軽減できる。【選択図】図1

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 2019028723
本実施形態では、表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 true JP2019028723A (ja) 2019-02-21
JP6721548B2 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)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111882389A (zh) * 2020-07-23 2020-11-03 上海鸿臣互动传媒有限公司 一种应用于素材二次加工的定制系统
WO2022249256A1 (ja) * 2021-05-24 2022-12-01 日本電信電話株式会社 Api検出装置、api検出方法及びプログラム

Citations (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 情報処理システムにおける設計品質検査の支援システム
JP2012073778A (ja) * 2010-09-28 2012-04-12 Yahoo Japan Corp WebAPI作成支援装置及びWebAPI作成支援方法

Patent Citations (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 情報処理システムにおける設計品質検査の支援システム
JP2012073778A (ja) * 2010-09-28 2012-04-12 Yahoo Japan Corp WebAPI作成支援装置及びWebAPI作成支援方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
新美健一ほか: "大規模開発におけるモデル品質向上のためのモデル検証フレームワーク", IBMプロフェッショナル論文, JPN6020020362, 31 October 2008 (2008-10-31), pages 72 - 78, ISSN: 0004286470 *
武直樹ほか: "規約に沿ったWebAPI設計支援に関する一考察", 電子情報通信学会総合大会予稿集, JPN6020020359, 22 March 2017 (2017-03-22), pages 406, ISSN: 0004286467 *
高橋真由美: "B2B2Xビジネスモデル活性化を目指したAPI活用の取り組み", NTT技術ジャーナル, JPN6020020360, October 2015 (2015-10-01), pages 56 - 58, ISSN: 0004286468 *
高橋真由美ほか: "テレコムオペレータにおけるAPI公開の取組み", マルチメディア、分散、協調とモバイルシンポジウム, JPN6020020361, July 2015 (2015-07-01), pages 425 - 428, ISSN: 0004286469 *

Cited By (3)

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

Also Published As

Publication number Publication date
JP6721548B2 (ja) 2020-07-15

Similar Documents

Publication Publication Date Title
CN107644286B (zh) 工作流处理方法及装置
WO2017162024A1 (zh) 组件和模板的可视化开发方法及系统、存储介质、设备
EP3564812B1 (en) Method and system for automated creation of graphical user interfaces
CN114981775B (zh) 用于api综合管理的基于云的api元数据管理方法及系统
CN104794048A (zh) 一种ui自动化测试方法和系统
JP6167187B2 (ja) クエリ生成方法及びクエリ生成装置
CN107015794B (zh) 软件即服务参考流程扩展验证框架
JP2008299723A (ja) プログラム検証方法、プログラム検証装置
JP6721548B2 (ja) 設計確認装置及び設計確認方法
CN108459846B (zh) 软件云定制方法及平台
KR100762712B1 (ko) 규칙기반의 전자문서 변환방법 및 그 시스템
WO2020031845A1 (ja) Api仕様書生成装置、api仕様書生成方法、およびプログラム
KR20170105325A (ko) 소스 코드 분석 방법과 이를 수행하기 위한 시스템 및 장치
JP2020067859A (ja) テストデータ生成装置、テストデータ生成方法及びプログラム
JP6336922B2 (ja) 業務バリエーションに基づく業務影響箇所抽出方法および業務影響箇所抽出装置
US8887136B2 (en) Context-based evaluation of equations
CN111507079B (zh) 一种多语言文档生成方法及系统和设备
KR20190059701A (ko) Devs 기반 시뮬레이션 모델 및 코드 생성 방법 및 장치
JP7247593B2 (ja) 生成装置、ソフトウェアロボットシステム、生成方法及び生成プログラム
CN114449063A (zh) 一种报文处理方法、装置及设备
US20140372982A1 (en) Standardization of variable names in an integrated development environment
JP2012150740A (ja) プログラム生成装置及び方法
JP2021192201A (ja) 修正支援プログラム、修正支援方法、および修正支援装置
CN111782183B (zh) 用于判断组件依赖关系的方法及设备、电子设备和介质
JP2005228234A (ja) サービス情報生成方法及び実施システム並びに処理プログラム

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