API(Application Programming Interface)とは

Michael Chen |シニア・ライター| 2025年2月24日

「API」とは、アプリケーション・プログラミング・インターフェースの頭文字をとった用語です。APIはアプリケーション間の橋渡し役として機能し、アプリケーション間の通信やデータの共有を可能にします。たとえば、マーケティングチームが複数のソーシャルメディアアカウントを管理するためのダッシュボードは、各SNSプラットフォームと接続し、必要なデータを取得・表示するためにAPIを利用しています。

一般的なインターネットユーザーも、意識しないまま日常的にAPIの恩恵を受けています。たとえば、天気予報サイトの公開データを商用アプリに連携して嵐の接近を通知したり、開発者がGoogle Maps APIを利用して地図や位置情報サービスを自社サイトに埋め込んだりするのがその例です。小売業者は、顧客との財務取引をセキュアに処理するために、PayPalやStripeなどのAPIを搭載した決済ゲートウェイを使用しています。

APIとは

API(アプリケーション・プログラミング・インターフェース)とは、アプリケーションがデータを交換し、アクションを実行し、文書化された方法でやりとりできるようにするルールとプロトコルのセットです。たとえば天気予報の更新のようなリクエストが行われると、APIはリクエストを処理し、必要なアクションを実行し、通常 JSON やXMLで定義されているような標準的な形式でレスポンスを返します。

主なポイント

  • APIはソフトウェア同士の仲介役であり、どのようにデータや機能をリクエスト・受信するかを定義します。
  • 「API」とは、アプリケーション・プログラミング・インターフェースの頭文字をとった用語です。
  • APIは、クラウド・サービスとオンプレミス・ソフトウェアとのデータの統合および共有を可能にすることで、クラウド・サービスの利用実現において重要な役割を果たします。

APIの説明

アプリケーションは受信リクエストを管理するサーバー・アプリケーションのAPIゲートウェイにリクエストを送信します。APIがないと、ユーザーが天気をチェックしたり、ソーシャルメディア・サイトのコメントに返信したりするたびに、あるアプリケーションからデータを手動でエクスポートし、準備して変換し、別のアプリケーションに手動でインポートする必要がありました。

シンプルに言えば、交換プロセスには以下の3つの関係者が関係しています。

  • クライアント:リクエストする側
  • サーバー:リクエストを履行する側
  • API: 十分にドキュメント化され、予測可能な方法で両者を連携させる仲介者

レストランの例で考えてみましょう。もしお客がキッチンに押しかけて、自分の料理を直接注文しようとしたら、大混乱になります。このシナリオでは、APIは、キッチン(サーバー・アプリケーション)が提供できるすべての料理(サービス)が記載されたメニュー(ドキュメント)を提供し、そこにはお客(クライアント)がどんな情報を、どのような形式で出せばよいかが明確に記載されています。

APIはウェイターのような存在で、注文を正確かつ標準化された方法で伝え、結果を確実に受け取って届けてくれるのです。

APIの仕組み

APIは、ソフトウェア・コンポーネントがやりとりする方法を指定することで、開発者が最初からすべてを構築することなく、異なるシステムを統合し、データや機能を共有することを可能にし、時間とリソースを削減します。APIは通常、コミュニケーションに使用する必要がある方法とプロトコル、および交換可能なデータ形式を定義します。

APIは、以下のような詳細を提供することで、アプリケーションがやりとりする方法を定義します。

  • エンドポイント: データやリクエストの送信先を定義する特定のURL。
  • 方法: データを取得するGET、データを送信するPOST、データを更新するPUT、データを削除するDELETEなどの指示。
  • パラメータ: 気象データの場所やソーシャルメディアのログイン認証情報など、リクエストに必要な特定の詳細。
  • レスポンス: JSONやXMLなど、アプリケーションから送り返されるデータの形式。

データを要求するクライアント・アプリケーションの開発者は、APIコールを行うためのコードを記述します。このコードは以下を指定します。

  • APIエンドポイントのURL
  • HTTPメソッド
  • 必要なパラメータ

アプリケーションは受信リクエストを管理するサーバー・アプリケーションのAPIゲートウェイにリクエストを送信します。APIゲートウェイは、ターゲット・アプリケーション内の適切なサービスにリクエストをルーティングします。サービスはリクエストを処理し、データを取得するか、別の希望されたアクションを実行します。

ターゲット・サービスはその後、API定義に従ってレスポンス・データを準備し、APIゲートウェイを通じてリクエスト元のアプリケーションに送り返し、アプリケーションはデータを受信して解析し、期待される結果をエンド・ユーザーに提供します。

APIが重要な理由

APIは、開発者が他のアプリケーションやサービスのデータや機能にアクセスするための標準化された方法を提供するため、企業はわざわざ従来の仕組みを作り直す必要がなくなります。これは時間の短縮とコスト削減につながります。また、標準化は、既存システムの運用を中断することなく、新しい機能やサービスをモジュール式の追加を実現することで、イノベーションとスケーラビリティの両方を促進します。

ビジネス・レベルでは、APIは、ソフトウェアが他のソフトウェアと直接やりとりできるようにすることで、企業が反復的なタスクやプロセスの自動化を可能にするという点で非常に重要です。ほとんどのビジネスが、従業員をより高度な業務に振り向けるために自動化に取り組んでいることを考えると、APIが手動ワークロードを削減し、運用効率を向上さ せられることは、重要なメリットです。クラウド・サービスの利用を増やそうとしている組織も、APIを大いに活用しています。

APIのコンポーネント

APIのコンポーネントは、異なるソフトウェア・システムが通信し、データや機能を交換できるようにするために連携します。APIをソフトウェアにうまく統合するには、これらのコンポーネントを理解することが不可欠です。APIのコンポーネントには次のようなものがあります。

  • API仕様は、APIが何を行い、どのようにAPIとやりとりするかを構造的に記述したものを提供します。
  • APIデザイナーは、開発者がAPIを作成できるように支援するユーティリティーです。APIデザイナーは、開発環境のプラグインのようにシンプルなものから、非常に専門的なツールのようなものになる可能性があります。目標は、APIの検証とフォーマットのルールを組み込み、時間とわずらわしさを軽減することです。
  • APIポータルでは、開発者が公開されているAPIを見つけ、共有し、APIが役立つのか、どのように使用することができるのかを理解するために仕様を熟読します。パブリックAPIのポータルは、多くの場合、法的条件などの補足資料のウェブサイト内に組み込まれています。
  • APIバックエンドは、APIコールをクライアントのアクションに変換するソフトウェアです。
  • APIゲートウェイはAPIのURLを提供し、そのAPIの使用を管理するルールを適用し、APIコールを適切なバックエンドに導きます。通常、ゲートウェイはAPIの仕様と適用すべきルールの詳細の両方を認識しています。ルールは、認定資格と認可、証明書管理、レート制限とスロットリング、ペイロード検査と検証、ヘッダーまたはペイロードコンテンツに基づくインテリジェント・ルーティングなどを扱うことがあります。

APIには、レート制限、エラー処理、開発者向けのドキュメントが含まれることもあります。しっかりした API を書くには、アーキテクチャのスタイルから設計ツールに至るまで、一連の意思決定が必要であり、クラウド ネイティブな将来を見据える組織にとって不可欠なスキルです。

APIのメリット

APIを使用することで、開発者はスマートフォンのアプリケーションとソーシャルメディア・ウェブサイト、あるいは給与計算システムとビジネス・バンク・アカウントなど、分散したアプリケーションを連携させることができます。APIは、小規模で個別の連携したサービスから便利なアプリケーションを構築できるため、堅牢性とスケーラビリティの面でメリットがあります。

1つのサービスが壊れても、アプリケーションの大部分は継続できます。さらに、次のようなメリットもあります。

  • アジリティ: APIにより、開発者は解決する必要のある問題ごとに最適なテクノロジーを選択できます。
  • 開発を高速化 APIは、開発者が最初からすべてを構築するのではなく、既存の機能にプラグインできるようにします。
  • イノベーション APIは、開発者が新しいサービスを見出したり、多額の投資をせずに試用できるようにすることで、コラボレーションと実験を促進します。
  • 制御の強化。 APIには厳格な認証制御を組み込むことができ、アプリケーションがアクセスできるデータやアクションを詳細に制限できます。
  • スケーラビリティ。 APIは、タスクを他のサービスにアウトソーシングすることで、アプリケーションが要求の増加に対応できるようにします。たとえば、小規模小売業者は独自の支払い処理システムを維持するのではなく、StripeやPayPalなどの支払いAPIを利用することができます。これにより、複雑な作業が軽減されます。これで営業担当者は、支払い処理を専門家に任せ、顧客からの信頼を高めつつ、コア・ビジネスの拡大に集中することができます。

APIの課題

APIには利点がある一方で、APIコールを使用するアプリケーションを設計する際や、独自のAPIを構築する際に考慮すべき、複雑さ、コスト、セキュリティに関する課題があります。複数のAPIを利用するソフトウェアは、特にAPIプロバイダーが頻繁に更新や変更を行う場合、管理とメンテナンスが困難になる可能性があります。

取り組むべき具体的な課題は次のとおりです。

  • APIの選択。 膨大な数のAPIが利用可能なため、最適なAPIの選択は困難な作業です。実際、完璧なAPIは存在しない可能性があり、複数のソースからデータや機能を寄せ集める必要がある場合があります。
  • コスト。 多くのAPIは無料で使用できますが、呼び出しや機能の制限には注意が必要です。アプリケーションや利用者によっては、特定の機能や容量に対して有料のサブスクリプションが必要な場合があります。支払いは定額制ですか、それとも使用料制でしょうか。API接続を維持するための継続的なコストも、アーキテクチャ設計の決定に反映させる必要があります。

    相当数のAPIを使用している場合、または少数のAPIで大きなボリュームがある場合は、コストを抑制するために、API使用プランをお探しください。
  • 統合の複雑さ。 適切なAPIを見つけたとしても、それをアプリケーションに統合するのは複雑な作業になる可能性があります。異なるプロバイダーのAPIは、プロトコル、データフォーマット、認証メカニズムが異なる場合があります。そのギャップを埋めるには、かなりの開発努力が必要な場合があります。
  • パフォーマンス。 APIのパフォーマンス(またはそれ以外)は、アプリケーションを使用する人にフラストレーションを与える可能性があります。APIは応答時間を遅くし、データ処理を停滞させるレイテンシを発生させる可能性があります。従業員や顧客が非難する対象はAPIプロバイダーではないことに注意が必要です。非難されるのはアプリケーションに表示された貴社企業名です。
  • セキュリティ: APIを簡単に見つけられるようにすると、悪用されるリスクが高まるため、企業はセキュリティに気を配る必要があります。幸い、適切なツールを使えば、セキュアなAPIの作成は簡単です。APIキー、トークン、その他の認証情報などの認証メカニズムは、許可されたアプリケーションのみがシステムにアクセスできるようにします。また、必ずAPIのデータの暗号化基準をビューします。さらに、適切に設計されたAPIは、そのバックエンドの実装方法を隠蔽するため、チームはクライアントに悪影響を及ぼすことなく変更を加えることができます。
  • ベンダー・ロックイン アプリケーションにとって重要な機能を、特定のAPIプロバイダーに大きく依存していると、そのエコシステムに縛られることになる可能性があります。将来的にAPIプロバイダーを変更したい場合、それは費用がかかり、大変な業務になる可能性があります。
  • バージョン管理の問題。 多くのソフトウェアと同様に、APIも静的なものではありません。APIは新しい機能を追加したり、セキュリティや技術的な変更に対応するために進化しています。新しいバージョンはアプリケーションを混乱させるコード変更を導入する可能性があります。また、たとえ不具合がなかったとしても、使用中の異なるAPIバージョンと統合の記録を保持することは、大きな負担となる可能性があります。

関連して、すべてのAPI開発者が、開発者がAPIを使用し統合するために不可欠な明確で包括的なドキュメントを提供しているわけではありません。そのため、プロバイダーパートナーを慎重に選択してください。

APIのよくあるミス

APIの開発を検討している人にとって、特に仕様の選択と要求の厳しさについては、いくつかの問題があります。優れたAPI設計の信条は、バックエンドの導入方法の変更からコンシューマを抽象化し保護することです。APIの設計は元となるデータ・ストレージを直接反映するため、たとえば内部データ構造が変更された場合、APIが影響を受け、APIクライアントが中断する可能性があります。

その他の避けるべきミスは次のとおりです。

不十分なドキュメント。 APIを成功させるには、明確で詳細なドキュメントが必須です。たとえば日付を記述する場合、書式を明確にする必要があります。ヨーロッパでは通常、日付は日、月、年の順で表記されますが、北米では月、日、年の順です。このような詳細を明確にしておかないと、データ品質に問題が生じる可能性があり、最悪の場合、APIがアプリケーションを破壊することになります。

本番データ量を考慮しない。 APIの開発中、テストでは比較的小さなデータセットが使用されます。本番環境では、データ量ははるかに大きくなることが多く、その結果、APIコールは1回のリクエストで大量のデータの通信を試みることになります。これにより、クライアントとバックエンド間のネットワークに応じて、様々な問題が発生する可能性があります。最悪の場合、リクエストはAPIバックエンドに過剰な要求を出し、APIコールが失敗する結果になる場合があります。

APIゲートウェイのポリシーを設定する際にもミスが生じる可能性があります。 これらのエラーには通常、十分なセキュリティーが提供されないため、悪意のある攻撃者はデータを変更したり不適切にアクセスしたり、ネットワークを攻撃する方法としてAPIを使用したりする可能性があります。これらの種類の問題はOWASP Foundationによって分析および収集されており、最も一般的なミスは「上位10 APIのセキュリティ・リスク」リストで報告されます。

APIゲートウェイとAPIバックエンドの役割の混同もよくあるミスです。どちらの機能もAPIを受信すると処理する必要があり、2つの要素は容易に混同されます。しかし、ゲートウェイの仕事はリクエストを選別し、迅速に適切な場所にルーティングすることです。APIバックエンドはビジネス・ロジックを提供するため、各リクエストの処理に時間がかかります。

APIコールとAPIバックエンドの関係は1対1ではないことを念頭に置く必要があります。

APIの種類

APIには主に4つの種類があります。どれを選ぶかはユースケースに応じ、決定します。モデルを決定する前に、アプリケーションの近い将来と長期的な計画を考慮します。別のAPIに入れ替えることは可能ですが、コストと複雑さが増します。

  • パブリックAPIは、クライアント・アプリケーションからサーバーのデータやその他のサービスにアクセスするため、誰もが使用することができます。パブリックAPIの一般的な使用方法には、トラフィックや気象データの取得、そしてサードパーティー・ログイン・プロセスの管理などがあります。パブリックAPIは通常、あらゆるアプリケーションでサービスを利用できるようにすることを目的としています。このアクセスは、現在の時刻を取得するといった簡単な操作から、気象レーダー画像の取得や、A地点からB地点までの詳細な経路リストの取得といった複雑な操作まで、さまざまなものがあります。パブリックAPIは広く使用される傾向があるため、アプリケーションの機能を破壊しないよう、絶対に必要な場合を除き、変更しないよう厳重な注意が払われます。
  • プライベートAPIは内部使用のみを目的として開発され、広く公開されていません。通常、プライベートAPIにより、ベンダーのアプリケーションはそのベンダーのサーバーと通信することができます。たとえば、携帯電話の銀行アプリケーションは、プライベートAPIを使用して、特定の銀行の独自のサービスにアクセスしています。
  • パートナーAPIは、特定の組織間で使用するために開発されています。APIの詳細は、限られたパートナー・セットに公開されます。たとえば、クラウド・データベース・プラットフォームは、一定数の分析プロバイダーと提携することに合意する場合があります。これにより、パートナーのAPIがデータベースと分析プラットフォームを効率的に連携するようになります。
  • コンポジットAPIは特定の機能のために連結され、パブリックAPI、プライベートAPI、パートナーAPIの組み合わせになる可能性があります。パブリックAPIとプライベートAPIを使用する連結されたAPIの例として、天気アプリとフィットネス・トラッカー・アプリの統合があります。天気アプリの公開APIは、温度や湿度などのデータをフィットネス・トラッカー・アプリに提供します。そのプライベートAPIは、所有者のペースと移動距離のデータを取得し、環境要因と組み合わせて消費カロリーを計算します。

APIの例

ほとんどの人たちがよく知るものは、天気や位置情報などの消費者向けAPIです。しかし、クラウド・サービスからデータベース、堅牢な業務アプリケーションまで、企業が機能を活用することを可能にする高度なAPIが存在します。

たとえば、オラクルはサービス全体にわたり、さまざまなAPIを提供しています。Oracle Cloud Infrastructure(OCI)を使用する企業は、サブネット、セキュリティ・リスト、ルート・テーブルの作成、構成、管理など、仮想ネットワークのプログラムによる管理にAPIを活用できます。コンピュートAPIにより、管理者はOCIのコンピュート・インスタンスの起動、停止、再起動、および構成を行うことができます。その他のAPIは、ITチームをオブジェクト・ストレージやアイデンティティ およびアクセス管理機能と連携させます。

革新的なスタートアップもAPIを使用しています。例えば、Inworld.aiは、オンラインロールプレイングゲーム向けにAI駆動型のバーチャルキャラクターを提供しています。APIを使用することで、開発者はプレイヤーと現実的で没入感のある方法で相互作用する非プレイヤーキャラクター(NPC)を作成できます。APIは、ゲームデザイナーがキャラクターの属性、性格、行動を指定できるようにし、これによりNPCをカスタマイズしてゲームに深みと多様性をもたらすことができます。バーチャルキャラクターは、テキストや音声の入力を理解し、APIを介して応答することができます。

ドミノ・ピザがAPIを活用して音声アシスタントと連携し、顧客がデバイスに触れることなくピザを注文できる仕組みから、ウーバーがAPIを利用してリアルタイムデータに接続し、需要と交通状況に応じて配車料金を動的に調整する仕組みまで、この技術は現在、真のイノベーションを推進しています。

APIのユースケース

一般の人にとって、ソーシャルメディアの統合や支払い処理を可能にするAPIは馴染み深いものとなるでしょう。多くのウェブサイトやアプリケーションがAPIを使用して、コンテンツの共有のような一般的なソーシャルメディア機能を実現している一方、Eコマース・プラットフォームはAPIを使用して、StripeやPayPalのような決済ゲートウェイと連携しています。

しかし、APIが私たちの日常生活を便利にする方法はそれだけではありません。これらのサービスは、地図APIを利用して顧客の自宅や目的地の位置を特定するライドシェアリングやフードデリバリーサービスを提供するアプリが利用するジオロケーション機能を可能にします。

ビジネス面でのAPIユースケースには、チームが財務やカスタマーサービス部門で使用するアプリケーションなど、クラウド・リソースとのやりとりを可能にすることが含まれます。APIはまた、IoTデバイスとそのコントロール・システム間の通信とデータ交換を支えるものでもあります。

照明や温度が自動的に調整されるスマートオフィスにもAPIが活用されています。

APIプロトコル

APIを開発者に公開するためのプロトコル(アーキテクチャ・スタイル)は複数あります。これらのアプローチは、開発者がAPIのセットがどのように機能するかを予測し、自社のプログラムからAPIにアクセスする際の一般的なメカニズムを理解できるようにします。

一般的なアーキテクチャ・スタイルは次のとおりです。

  • 表現状態転送(REST)
    これは、Web上のリソースおよびサービスにアクセスするための最も一般的なアーキテクチャです。多くの環境では、クライアントはサーバーとの相対的な状態を変化させる処理を行います。たとえば、銀行の残高を確認したい場合、認証されていない状態から認証された状態に移行する必要があります。そして、サーバーとクライアントは、一度認証が完了すると、その状態を維持します。一方、REST API はステートレスです。開発者がREST APIを使って銀行の残高を確認することを望む場合、リクエストにはリクエストを行うユーザーを認証するための十分 な情報が含まれる必要があります。リクエストの処理が完了すると、状態情報は保持されません。ユーザーがまた別の類似したリクエストを行うことを望む場合は、リクエストと一緒に認証情報を再度提供する必要があります。REST APIの利点の1つは、サーバーがクライアントの状態を追跡する必要がなく、サーバーのアーキテクチャを大幅に簡素化できることです。
  • リモート・プロシージャ・コール(RPCs)
    従来のアプリケーションでは、プロシージャ・コールは、ファンクション・コールと呼ばれることもあり、アプリケーションが実行されているコンピューターのデバイスやサービスにアクセスするために使用されます。ファイルを開いたり読み込んだり、コンピュータのディスプレイや他のデバイスに書き込んだりすることは、プロシージャ呼び出しを通じて処理される機能です。このように、オペレーティング・システムはアプリケーションとコンピューターの実際のハードウェアの間に抽象化レイヤーを提供します。アプリケーション・プログラマはコンピューターのディスプレイについて何も知る必要はなく、ただプロシージャ・コールを使用します。同じように、プロシージャ・コールにより、アプリケーションはネットワーク上のリソースを使用することができます。ユーザーのファイルがローカル・コンピューターではなく、ネットワーク・サーバー上にある場合があります。この場合、リモート・プロシージャ・コールが有効になります。多くの場合、アプリケーションには使用すべきリソースがローカルかリモートか区別できません。オペレーティング・システムがそれを判断し、適切なステップを踏んでリクエストを処理します。オペレーティング・システムがそれを判断し、適切なステップを踏んでリクエストを処理します。

    オペレーティング・システム・コールは、RPCの一種に過ぎません。他の種類を開発することで、ほぼ何でも行うことが可能です。たとえば、企業は、従業員の勤務時間を追跡するために独自のアプリケーションを作成できます。開発者は、基本的なネットワーキング機能を使用して、モバイル・アプリが中央サーバーにチェックインまたはチェックアウトを報告できるようにするプロシージャを作成することができます。さまざまなライブラリがこの開発を容易にしますが、RESTのような標準アーキテクチャを使用していると、他の開発者がRPCの仕組みを理解しやすくなるため、役立つことがあります。
  • シンプル・オブジェクト・アクセス・プロトコル (SOAP)
    RESTと同様に、SOAPはインターネット上のサービスにアクセスする方法を提供します。リクエストのフォーマット方法を定義するためにXMLを使用し、さまざまなトランスポート・プロトコルで実行することができるため、ベンダーにとらわれずに使用できます。SOAPはHTTPがトランスポート層として機能し、Webサービスへのアクセスに最もよく使用されています。アプリケーションで製品の説明が必要な場合、適切なXMLドキュメントを作成し、その製品に関する情報を持つWebサーバーに送信します。Webサーバーは、要求された製品情報を含む独自のXMLドキュメントを送り返します。SOAPはオブジェクトの取得を目的としているため、アクションはGET、POST、PUT、DELETEに限られ、プロトコルの動詞構造は非常にシンプルです。

API統合

API統合はアプリケーションを連携させ、データや機能の交換を可能にします。統合を、オープンな双方向のコミュニケーションを可能にする電話回線のようなものと考えてみてください。

API統合には、次の3つの要素が関わります。

API自体に、アプリケーションの通信方法を定義するルールや仕様が備わっています。APIは、やりとりできるデータ、そのフォーマット、トリガーされるアクションを定義します。

サーバー・アプリケーションは、APIを介してその機能またはデータを公開します。たとえば、クラウド・サービスは、ITチームが新しいインスタンスを迅速に立ち上げたり、ユーザー数を増やしたりできるようにします。

クライアント・アプリケーションはAPIを使用して、サーバー・アプリケーションにデータや機能をリクエストします。たとえばライドシェアのアプリケーションは、天気予報サービスのAPIを使用して、雨天時や特定の気温のしきい値を上回ったり下回ったりした場合に料金を調整します。

実際のプロセスにはいくつかのステップがあり、最初にクライアント・アプリケーションの開発者が適切なAPIを選択します。クライアントはAPIキーやトークン、その他の認証情報を使用して目的のAPIを認証し、特定のデータやアクションにアクセスするための認可を取得します。その後、サーバーのAPIにリクエスト(コール)を行い、必要な特定のデータやアクションをリクエストします。

サービング・アプリケーションはリクエストを処理し、許可された場合、アクションを実行するか、データを取得し、JSONやXMLなどの構造化された形式で、APIを介してクライアントに送り返します。

APIとデジタル・トランスフォーメーション

APIとデジタル・トランスフォーメーションの本質はクラウド活用にあり、その中核を担うのがAPIです。APIはクラウドネイティブなアーキテクチャにおいて不可欠な存在です。APIは、クラウド内のサービスやシステムの統合を実現し、レガシー・アプリケーションを新しいクラウドサービスと連携させることで、業務を中断させることなく、デジタルな未来へと段階的に移行できるようにします。APIにより、企業は市場の変化やチャンスに迅速に対応することができます。たとえば、決済ゲートウェイ、SNS連携、分析ツールなどの最新サービスをアプリケーションに直接組み込むことも可能です。

もう1つの変革的な、API主導のテクノロジーは、最新のアプリケーション開発に対するアーキテクチャ・アプローチの1つで、独立したサービスや機能を好むマイクロサービス・アプリケーションです。Iマイクロサービス・アーキテクチャでは、アプリケーションは単一のタスクを効率的に実行する、内包されたビルディング・ブロックに分割されます。マイクロサービス・アプリケーションはAPIを使用して他のアプリケーションやサービスと通信します。アプリケーションは数個のマイクロサービスから構成されることもあれば、数百、数千の可動部分から構成されることもあります。マイクロサービスベースのアプリケーションは、個々の要素が独立しているため、より迅速に拡張できます。これにより、レガシー・ソフトウェア開発で使用されている単一構造のアーキテクチャによって妨げられる可能性のあるデジタル・トランスフォーメーションへの取り組みに必要なアジリティと柔軟性を提供します。

マイクロサービスを活用するクラウドネイティブな企業は、迅速に移行して新しい機会を捉え、自動化を導入することができます。APIはその戦略を支えています。

オラクルが支援できること

Oracle Cloud Infrastructure(OCI)は、APIのライフサイクルを管理する包括的なサービス・セットを提供しています。あらかじめ組み込まれたツールにより、開発者チームはコラボレーションしながら、APIのプロトタイプの作成やテスト、検証を簡単に行うことができます。Oracle Cloud Infrastructure API Gatewayは、APIおよびSOAベースのシステムに対して統合、高速化、ガバナンス、およびセキュリティの機能を提供し、チームがWeb APIをセキュアに管理および配信できるようにします。さらに、利用プランとサブスクリプションにより、APIオペレータはAPIを監視して収益化することもできます。

開発チームがAPIの仕組みを理解すれば、顧客や従業員が毎日使用するアプリケーションやサービスの多くを強化する、隠れたつながりに関するインサイトが得られます。今や開発者は、最初からすべてを構築するのではなく、APIを通じて公開されたデータおよび機能を利用することで、より迅速に、より適切に、より少ないコストでアプリケーションを構築することができます。

財務アプリケーションは、APIの主要かつ要求の厳しいユースケースです。CIOは、CFOが従業員と顧客の両方を満足させるシステムを提供できるように支援します。主要な財務プロセスの効率化を支援するその他の方法を紹介します。

APIに関するFAQ

APIの4つの種類を教えてください。

APIには4つの種類があります。公開API(誰でも使用可能です)、プライベートAPI(組織内で開発されたもの)、パートナーAPI(関連する組織のソフトウェア間で動作するように開発されたもの)、および複合API(複数の種類のAPIを組み合わせて使用するもの)です。

実際のAPIの例を教えてください。

パブリックAPIプロバイダーの好例としては、研究データ、画像、イベント追跡情報を共有するAPIを提供しているNASAが挙げられます。これらのAPIにより、開発者はMars Roverの更新情報やNASAが追跡した火山噴火などの自然現象の詳細など、特定のNASAのデータを取得し、自社アプリケーションの統合することができます。たとえば、ある天気予報アプリでは「火星からのライブ映像」という特集セクションを設け、NASAのAPIから取得した探査機の最新データをユーザーに提供することも可能です。

APIの作成は簡単ですか。

APIの作成は、特に経験豊富な開発者にとっては簡単なプロセスである場合があります。 APIはほとんどすべてのプログラミング言語でコーディングでき、RESTのような既存のアーキテクチャでは、操作のための確立されたガイドラインが提供されます。API開発を学ぶシンプルな方法は、公開されているオープンソースのAPIをリバースエンジニアリングして、APIの設計者がどのようにAPIを作成したかを確認することです。

REST APIを簡単に説明してください。

RESTは RESTfulと呼ばれることもあり、「representational state transfer」の略で、Webサービスを開発するために使用される標準プロトコルです。RESTは、さまざまなアプリケーションがスケーラブルかつ効率的な方法でインターネットを介して通信できるようにするためのルールとガイドラインのセットを提供します。RESTは、通常GET、PUT、POST、DELETEといったリクエストを、HTML、XLT、Python、JSON、PHP、またはプレーンテキストを使用して、クライアントとサーバー間のステートフルな関係構築を介さずに、アプリケーションがHTTP経由で行う方法を定義しています。