コネクターを必要としないAPI開発を実現する「APIスキーマ」もうAPIだけでは足りない

システムを連携させるAPIとAPI記述言語が増えるに伴い、SOAPにとってのWSDLのような「APIスキーマ」が必要になってきた。なぜAPIスキーマが必要なのか。

2020年08月12日 08時00分 公開
[David BrownComputer Weekly]

 アプリケーション開発プロジェクトにデータベーススキーマの設計を伴うようになったのはいつ頃だったろう。クラウドのAPIにとって、最初のスキーマ方式が意味することとは何だろう。

 まずは基本に戻り、データベーススキーマについて考えてみよう。データベーススキーマとは、データベース内のテーブル、フィールド、オブジェクトなどの情報の関係性を定義するメタデータの集まりだ。スキーマはデータベースの定義を容易にするだけでなく、プログラマーがテーブル、ビュー、プロシージャなどを適切に構築するための指針となる。

 今度はAPIを考えてみよう。APIとは、ソフトウェア、サービス、プラットフォームなど、全く異なる2つのコンポーネントが要求応答メッセージを通じて相互にやりとりするためのインタフェースだ。データベーススキーマと同じようなスキーマがAPIにあれば、開発者にとってどれほど便利なことだろう。

SOAPから学んだ教訓

会員登録(無料)が必要です

 Webサービスが登場した1990年代以降、さまざまな業界団体がアプリケーション統合の標準化に取り組んできた。SOAPは、Webサービスとやりとりする標準を作ろうという試みだった。

 しばらくの間、SOAPはWebサービス用の「全能」のメッセージングプロトコルだと考えられていた。SOAPの操作と入力のパラメーターはWSDL(Web Services Description Language)というスキーマでドキュメント化された。

 時間がたつにつれ、WSDLなしでWebサービスを考えるのは難しくなり、WSDLはSOAPの前提条件のようになった。さらに時間がたつとSOAPは徐々に冗長になり、使用時の負担が増えるようになった。

 SOAPの問題に対処し、速くて軽く、優れたWebベースアプリを求めて、開発者はRESTに注目した。RESTは「REpresentational State Transfer」の略だ。RESTはネットワークアプリケーション設計を支えるアーキテクチャで、HTTPなどのステートレス通信プロトコルを使用する。そのためRESTは使いやすく、柔軟性が高く、高速なのでAPIで非常によく利用された。RESTful API(RESTを実装するWebサービス)は、疎結合システムの効率的な救世主として幅広く受け入れられている。

APIスキーマの誕生

 APIを探索可能にするには、コードスニペットとSDKを使ってAPIをドキュメント化する必要がある。だがRESTには、SOAPにとってのWSDLのような、コンピュータが判読可能なドキュメントがなかった。

 APIを定義して記述するというニーズから、「RAML」「Blueprint」「Swagger」など、競合するAPI記述言語(API DL:API Description Languages)が作られた。これが、APIスキーマ誕生の経緯だ。

 API DLで作られたAPIスキーマは、人間もコンピュータも判読可能だ。APIスキーマには、RESTful APIでできる操作内容とAPIとのやりとりの方法を記述する。プログラミング手順を詳しく説明するのに役立つ仮想の取扱説明書のようなものだ。

 このスキーマはAPIを探索しやすく、使いやすくするだけではない。詳細に定義されたAPIスキーマがあることで、開発者はAPIドキュメントやクライアントSDKをコンピュータで生成できるようになる。

API DLにOpenAPIが登場した背景

 API DLの数が増え続けている状況で、「Swagger」仕様がOpenAPI Initiativeに提供され、業界大手によって「OpenAPI」という新しいオープン標準が制定されることになった。

 APIのコネクターが提供されているかどうかはiPaaS(Integration Platform as a Service)のベンダー次第だった。統合するAPIのコネクターがベンダーから提供されていなければ、開発者が取れる選択肢は非常に限られる。同様に、APIが変わるとベンダーがコネクターを更新するのを待たなくてはならなかった。

 OpenAPIをサポートしていれば、コンピュータが判読可能なAPIスキーマを取り込んでAPIの操作に必要なサービスを臨機応変に生成できる。

スキーマ定義が必要な理由

 RESTは、SOAPの負荷に対処する軽量なソリューションとして導入された。ただし、RESTful APIにはコントラクトを定義し、APIを探索可能にするスキーマが必要であることが明らかになった。

 最新アプリケーション開発は、APIとの統合に大きく依存する。開発者がAPIコードの作成プロセスを開始すると、Webサービスの設計を正確に特定するためにデータベーススキーマと同等のスキーマが必要になる。APIスキーマはまさしくこの目的にかなうものだ。

ダビッド・ブラウン氏はTORO CloudのCEO。同社はAPI中心のローコードアプローチでアプリケーション開発、統合、ワークフロー自動化を行っていることで知られている。

Copyright © ITmedia, Inc. All Rights Reserved.

新着ホワイトペーパー

製品資料 アステリア株式会社

ノーコードで現場が変わる、kintoneとPlatio連携で始める現場DX

多くの企業でオフィスDXが進む一方、現場にはアナログ業務が多く残りDXが進んでいない。現場DXを推進し、オフィスと現場のデータを活用するためにはどうしたらよいか。本資料では、ノーコード開発ツールを活用した解決策を紹介する。

製品資料 アステリア株式会社

年間約400時間削減の声も、業種別の口コミで分かる業務アプリの導入効果

工場や倉庫などの現場では、紙中心の業務が今も多く残っている。だが現場DXを進めようにも、人材や予算の不足、システム選定の難しさが障壁となっているケースは多い。この問題を解消する、モバイルアプリ作成ツールの実力とは?

製品資料 ServiceNow Japan合同会社

生成AIで「ローコード開発」を強化するための4つの方法

ビジネスに生成AIを利用するのが当たり前になりつつある中、ローコード開発への活用を模索している組織も少なくない。開発者不足の解消や開発コストの削減など、さまざまな問題を解消するために、生成AIをどう活用すればよいのか。

製品資料 ServiceNow Japan合同会社

「ローコード開発」実践のヒント:AI主導のイノベーションに向けた4つの戦略

急速に変化する顧客ニーズに応えるような適切な製品を継続的に提供するためには、より多くのアプリを生み出す必要があるが、そのための開発者が不足している。そこで注目されているのが、生成AIやローコード開発プラットフォームだ。

製品資料 ServiceNow Japan合同会社

ローコードによるアプリ開発と高度な自動化で成功を収めるためのポイントとは?

あらゆる組織は、従業員と消費者の双方に良質なエクスペリエンスを提供する義務を負っている。アプリ開発と高度な自動化は、この目的を達成するための有効策の1つだが、それぞれを適切に実装できなければ、むしろリスク要因ともなり得る。

From Informa TechTarget

いまさら聞けない「仮想デスクトップ」と「VDI」の違いとは

いまさら聞けない「仮想デスクトップ」と「VDI」の違いとは
遠隔のクライアント端末から、サーバにあるデスクトップ環境を利用できる仕組みである仮想デスクトップ(仮想PC画面)は便利だが、仕組みが複雑だ。仮想デスクトップの仕組みを基礎から確認しよう。

ITmedia マーケティング新着記事

news023.png

「パーソナライゼーション」&「A/Bテスト」ツール売れ筋TOP5(2025年5月)
今週は、パーソナライゼーション製品と「A/Bテスト」ツールの国内売れ筋各TOP5を紹介し...

news025.png

「マーケティングオートメーション」 国内売れ筋TOP10(2025年5月)
今週は、マーケティングオートメーション(MA)ツールの売れ筋TOP10を紹介します。

news014.png

「サイト内検索」&「ライブチャット」売れ筋TOP5(2025年4月)
今週は、サイト内検索ツールとライブチャットの国内売れ筋TOP5をそれぞれ紹介します。