システムを連携させるAPIとAPI記述言語が増えるに伴い、SOAPにとってのWSDLのような「APIスキーマ」が必要になってきた。なぜAPIスキーマが必要なのか。
アプリケーション開発プロジェクトにデータベーススキーマの設計を伴うようになったのはいつ頃だったろう。クラウドのAPIにとって、最初のスキーマ方式が意味することとは何だろう。
まずは基本に戻り、データベーススキーマについて考えてみよう。データベーススキーマとは、データベース内のテーブル、フィールド、オブジェクトなどの情報の関係性を定義するメタデータの集まりだ。スキーマはデータベースの定義を容易にするだけでなく、プログラマーがテーブル、ビュー、プロシージャなどを適切に構築するための指針となる。
今度はAPIを考えてみよう。APIとは、ソフトウェア、サービス、プラットフォームなど、全く異なる2つのコンポーネントが要求応答メッセージを通じて相互にやりとりするためのインタフェースだ。データベーススキーマと同じようなスキーマがAPIにあれば、開発者にとってどれほど便利なことだろう。
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を探索可能にするには、コードスニペットと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の数が増え続けている状況で、「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.
多くの企業でオフィスDXが進む一方、現場にはアナログ業務が多く残りDXが進んでいない。現場DXを推進し、オフィスと現場のデータを活用するためにはどうしたらよいか。本資料では、ノーコード開発ツールを活用した解決策を紹介する。
工場や倉庫などの現場では、紙中心の業務が今も多く残っている。だが現場DXを進めようにも、人材や予算の不足、システム選定の難しさが障壁となっているケースは多い。この問題を解消する、モバイルアプリ作成ツールの実力とは?
ビジネスに生成AIを利用するのが当たり前になりつつある中、ローコード開発への活用を模索している組織も少なくない。開発者不足の解消や開発コストの削減など、さまざまな問題を解消するために、生成AIをどう活用すればよいのか。
急速に変化する顧客ニーズに応えるような適切な製品を継続的に提供するためには、より多くのアプリを生み出す必要があるが、そのための開発者が不足している。そこで注目されているのが、生成AIやローコード開発プラットフォームだ。
あらゆる組織は、従業員と消費者の双方に良質なエクスペリエンスを提供する義務を負っている。アプリ開発と高度な自動化は、この目的を達成するための有効策の1つだが、それぞれを適切に実装できなければ、むしろリスク要因ともなり得る。
なぜ、「kintone」が大企業の「Fit to Standard」に効果的なのか (2025/3/7)
ノーコードは、負の遺産であるアナログ業務をなくせるのか (2024/11/12)
手間もコストもかかるGUIのテストはどうすれば自動化できるのか (2024/6/4)
「システム内製化」が失敗しがちなのはなぜ? “従来のやり方”では駄目な理由 (2024/5/15)
金融機関のモダナイゼーション 最適解に導くには (2024/3/29)
いまさら聞けない「仮想デスクトップ」と「VDI」の違いとは
遠隔のクライアント端末から、サーバにあるデスクトップ環境を利用できる仕組みである仮想デスクトップ(仮想PC画面)は便利だが、仕組みが複雑だ。仮想デスクトップの仕組みを基礎から確認しよう。
「パーソナライゼーション」&「A/Bテスト」ツール売れ筋TOP5(2025年5月)
今週は、パーソナライゼーション製品と「A/Bテスト」ツールの国内売れ筋各TOP5を紹介し...
「マーケティングオートメーション」 国内売れ筋TOP10(2025年5月)
今週は、マーケティングオートメーション(MA)ツールの売れ筋TOP10を紹介します。
「サイト内検索」&「ライブチャット」売れ筋TOP5(2025年4月)
今週は、サイト内検索ツールとライブチャットの国内売れ筋TOP5をそれぞれ紹介します。