2022年6月30日
APIとは何で、API構築の成功のためのガイドラインとは何でしょうか。アプリケーション・プログラミング・インターフェース(API)は、外部アプリケーションがプラットフォーム、オペレーティング・システム、アプリケーション、サービスの機能やデータにアクセスし、やりとりできるようにするプログラミング機能、ツール、プロトコルのセットです。効果的なAPIは、より大きなデータ共有とコラボレーションの道を切り開き、さまざまなソフトウェアが互いに通信してビジネス機能を提供できるエコシステムを構築します。APIは、最新のアプリケーションやクラウドネイティブなマイクロサービスベースのアーキテクチャの中核となるコンポーネントです。APIは、異なるサービスが相互に通信し、最新のエクスペリエンスを提供するための主要なチャネルを作り出します。
成功するAPIを設計、開発、配布するには、さまざまなベストプラクティスの活用が必要です。これらのベストプラクティスを順守することで、開発者やアプリケーションによるセキュアなアクセスと容易な利用が保証されます。ベストプラクティスとしては、以下が挙げられます。
APIの構築は、ソースとそのソースとインターフェースする外部アプリケーションの両方に関する特定の要因により大きく異なります。API開発プロセスを計画する際に確認すべき事項を以下に示します。
目標は何か
このようなプロジェクトは、常に全体像、つまり目標の定義と理解が最適なスタート地点となります。APIの目的はこのプロジェクトの指針です。APIを通じてやり取りされる情報とはどのようなものでしょうか。それはどのように使用または表示されるのでしょうか。考慮すべき他の要素には、アプリケーションのターゲット・オーディエンスとそのニーズを理解することが含まれます。
制限は何か。
プロジェクト目標の裏側には、プロジェクトの制限があります。開発に実用的な視点を取り入れることは必要なステップであり、自社のリソースとスケジュールの制限についてよく理解しておく必要があります。考慮すべきその他の要素:セキュリティに関する懸念、ハードウェア・リソースへの影響、スケーラビリティが懸念される場合のパフォーマンス要求など、技術的な制限事項を考慮する必要があります。
自社のアーキテクチャとは
最初からAPIを設計する場合、開発者には数多くの出発点の選択肢があります。Python、Java、JavaScript、C#、その他の言語はすべてAPIを開発する上で有効な選択肢です。設計上の考慮事項に組み込むその他の要素には、ユーザビリティ、スケーラビリティ(リソースニ・ーズへの対応)、セキュリティなどがあります。APIはアプリケーション間の架け橋として機能するため、最後の要素は特に重要です。そのためには、双方のデータが適切に保護されている必要があります。またセキュリティの脆弱性を持つ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 BlueprintまたはSwaggerのいずれかにアクセスし、APIを設計することができます。また、APIは最初から構築することも、テンプレートから構築することもでき、開発プロセスを加速することができます。
OCIのAPI開発プロセスについて詳しく見ていきましょう。この例では、OCIコンソールを使用してAPIリソース(オプションで、アップロードされたAPI説明ファイルから作成されたAPI説明付き)を作成します。無料のOCIアカウントにサインアップして、手順を実行します。
オラクルのクラウドベースAPIソリューションを使用しているAPI開発の詳細については、オラクルAPI開発者ガイド(PDF)をご覧ください。
APIの徹底的なテストは、スムーズな立ち上げと継続的な運用を保証するための重要なステップです。ビジネス・ニーズを満たすAPIの導入を支援するために、従うべき効果的なAPIのベストプラクティスを抜粋してご紹介します。
APIの構築とテストの準備はできていますか。Oracle Cloud Infrastructure API管理サービスを無料でお試しいただき、完全なAPIライフサイクル管理ソリューションをご体験ください。