2022年6月30日
APIとは、およびAPIを正常に構築するためのガイドラインは何ですか?アプリケーション・プログラミング・インタフェース(API)は、外部アプリケーションがプラットフォーム、オペレーティング・システム、アプリケーションまたはサービスの機能またはデータにアクセスして操作できるようにする一連のプログラミング機能、ツールおよびプロトコルです。効果的なAPIは、データの共有とコラボレーションを強化し、さまざまなソフトウェアが相互に通信してビジネス機能を提供できるエコシステムを構築します。APIは、最新のアプリケーションとクラウドネイティブのマイクロサービスベースのアーキテクチャのコア・コンポーネントであり、さまざまなサービスが相互に通信し、最新のエクスペリエンスを提供するための主要なチャネルを作成します。
正常なAPIの設計、開発および配布には、様々なベスト・プラクティスを活用する必要があります。これらのベストプラクティスに従うことで、このプロセスは、同様に開発者やアプリケーションによる安全なアクセスと使いやすさを保証します。これらのベスト・プラクティスには次のものがあります。
APIの構築は、主にデータの提供元と、それと連携する外部アプリケーションの要件や特性に大きく依存します。API開発プロセスを計画する際に考慮すべき点をいくつか次に示します。
目標は何ですか?
どのタイプのプロジェクトでも、目標を定義し、理解することから始めるのが得策です。APIの目的は、このプロジェクトの指針となるものです。APIを介してどのような情報が交換されますか。どのように使用または提示されますか?考慮するその他の要素には、アプリケーションのターゲット・オーディエンスとそのニーズの理解が含まれます。
どのような制限がありますか。
プロジェクトの目標の側面は、プロジェクトの制限です。開発に実践的な視点を取り入れることは不可欠なステップです。そのため、自社のリソースとスケジュールの制約を十分に理解しておく必要があります。考慮すべきもう1つの要素: セキュリティ上の懸念、ハードウェア・リソースへの影響、パフォーマンス要求などの技術的な制限は、スケーラビリティが懸念されます。
アーキテクチャは何ですか。
APIをゼロから設計する場合、開発者は多くの出発点を選択できます。Python、Java、JavaScript、C#などの言語はすべて、APIを開発するための選択肢です。設計上の考慮事項に組み込むその他の要因には、ユーザビリティ、スケーラビリティ(リソースのニーズと結合)、セキュリティなどがあります。APIはアプリケーション間のブリッジとして機能するため、この最後の1つは特に重要です。そのためには、双方のデータが適切に保護されている必要があります。セキュリティの脆弱性があるAPIは、コード・インジェクションやデータ・エクスポージャなどの悪用に対してオープンです。
これらの大まかな質問により、ガイドラインを定義でき、開発者はAPIをゼロから構築するプロセスを深く掘り下げることができます。
APIを設計する際の重要な決定事項の1つは、アプリケーションがWebサービスにアクセスする方法です。単純なソフトウェア・アーキテクチャ・スタイル・オブジェクト・アクセス・プロトコル(SOAP)と表現状態転送(REST)は、どちらもAPIを設計するための有効な手段です。どちらにも長所と短所があり、どちらが最適かはプロジェクトの状況や利用する場面の文脈によって異なります。一般的に、WebサービスはSOAPまたはRESTのいずれかをサポートするため、APIのWebサービスの決定は、目標に対してSOAPまたはRESTのどちらが適切に機能するかによって定義される場合があります。
SOAPとは
SOAPは、Microsoftが設計したXMLベースのプロトコルです。一連のルールに基づいて構築されたSOAPは、多数の拡張(WS-coordinationおよびWS-security)、自動化および組込みのエラー処理をサポートしたメッセージングで標準を作成します。SOAPは分散環境で最適に動作しますが、XML構造への依存により、コードが非常に複雑になる可能性があります。
RESTとは
RESTは、ポイントツーポイント・レベルで動作するSOAPのよりシンプルで軽量な代替手段として開発されました。RESTは、効率的なスケーラビリティのために特別に構築されたソフトウェア・アーキテクチャ・スタイルとして、柔軟性を提供しながら処理を最小限に抑える一連の標準化された制約を提供します。RESTの高速レスポンスにより、JSONやCSVなど、アプリケーションで使用される様々な出力メッセージ形式でのレイテンシが最小化されます。
APIにRESTまたはSOAPを使用しますか。
アプリケーションに最適な標準はどれですか。それはお客様のニーズによって異なります。共有メディアやデータベース問合せからの出力など、アプリケーションが単純なユーザー対応メッセージを有効にしているほとんどの場合、REST APIが理想的です。SOAPは学習曲線と使用曲線が急峻ですが、この内在する複雑さが、セキュアな支払いなど、より複雑なトランザクションを処理する能力を可能にしています。
APIを構築する際の具体的な手順や方法は、開発チームが選択するツールによって異なります。Oracle Cloud Infrastructure(OCI)のAPIソリューションでは、OpenAPI仕様に基づいて迅速なプロトタイピングと検証を可能にする完全なツールキットを使用して、APIを簡単に設計および開発できます。OCIを使用すると、ユーザーはAPIブループリントまたはSwaggerにアクセスしてAPIを設計できます。さらに、APIを最初から構築することも、テンプレートから構築して開発プロセスを加速することもできます。
OCIのAPI開発プロセスについて詳しく見ていきましょう。この例では、OCIコンソールを使用して、APIリソース(オプションで、アップロードされたAPI記述ファイルから作成されたAPI記述を使用して)を作成します。無料のOCIアカウントにサインアップして、手順に従ってください。
OracleのクラウドベースのAPIソリューションを使用したAPI開発の詳細は、Oracle API開発者ガイド(PDF)を参照してください。
APIの徹底的なテストは、スムーズな開始と継続的な運用を確保するための重要なステップです。ビジネス・ニーズを満たすAPIのデプロイを支援するために、従うべき効果的なAPIベスト・プラクティスの短いリストを次に示します。
APIの構築やテストの準備はできていますか?Oracle Cloud InfrastructureのAPI管理サービスを無料で試して、APIライフサイクル全体を管理できるソリューションをぜひ体験してみてください。