システムを連携させる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.
開発と運用を一体化するというDevOpsにセキュリティを組み込んだDevSecOps。この手法を活用して、セキュアかつレジリエントなアプリケーションを開発するためにはどうすればよいのか。実践的な5つのベストプラクティスを紹介する。
DX推進のため、レガシーシステムの刷新を検討する企業は多いが、当時の担当者が退職している、ドキュメントがないなどの理由から難航するケースが後を絶たない。そこで注目される解決策が、生成AIを活用したリバースエンジニアリングだ。
ソフトウェアテストは生成AIと相性の良い領域の1つだ。脆弱性の洗い出しやテスト設計・実行の自動化など、さまざまな工程で改善が期待できる。ただ、問題となるのが、その推進役となるAI人材の不在だ。どのように人材育成すればよいのか。
コンテナイメージのファイルサイズ削減は、コンテナの軽量化・高速化をもたらし、クラウドコストの最適化に貢献する。削減を実現する鍵となるのが、ベースイメージの選定にある。本資料では、主要なベースイメージの特徴を解説する。
掲示板に1日数万件の投稿があり、不適切コメントが見逃されるなどの課題があったある企業。この現状を打破すべく導入されたのが、大手クラウドベンダーが提供する生成AIの基盤モデル活用サービスだ。その効果や、運用の秘訣を紹介する。
なぜ、「kintone」が大企業の「Fit to Standard」に効果的なのか (2025/3/7)
ノーコードは、負の遺産であるアナログ業務をなくせるのか (2024/11/12)
手間もコストもかかるGUIのテストはどうすれば自動化できるのか (2024/6/4)
「システム内製化」が失敗しがちなのはなぜ? “従来のやり方”では駄目な理由 (2024/5/15)
金融機関のモダナイゼーション 最適解に導くには (2024/3/29)
いまさら聞けない「仮想デスクトップ」と「VDI」の違いとは
遠隔のクライアント端末から、サーバにあるデスクトップ環境を利用できる仕組みである仮想デスクトップ(仮想PC画面)は便利だが、仕組みが複雑だ。仮想デスクトップの仕組みを基礎から確認しよう。
「サイト内検索」&「ライブチャット」売れ筋TOP5(2025年5月)
今週は、サイト内検索ツールとライブチャットの国内売れ筋TOP5をそれぞれ紹介します。
「ECプラットフォーム」売れ筋TOP10(2025年5月)
今週は、ECプラットフォーム製品(ECサイト構築ツール)の国内売れ筋TOP10を紹介します。
「パーソナライゼーション」&「A/Bテスト」ツール売れ筋TOP5(2025年5月)
今週は、パーソナライゼーション製品と「A/Bテスト」ツールの国内売れ筋各TOP5を紹介し...