文系営業が解説するIT用語|WEB APIとは

Uni_Blog

Unifinityは、業務用のアプリケーションを簡単に開発できるツールです。
アプリケーション上で入力されたインプットデータは、なんらかの形でアウトプットする必要がありますが、
アプリとデータベースのつなぎ目として利用されるのが【API】です。

弊社は、サービスとしてDBサーバーを提供していないため、
使用しているクラウドサービスや、既存のDBなど、顧客に合わせてバックエンドサービスを自由に選んで連携できることも、
大きな特徴となっています。

わたしは、文系学部出身のペーペー営業なので、営業先でこの手の質問をされたときは、
「サーバーサイドとの通信は、RESTのAPIのみとなっています」
「GET、POST、PUT、DELETEを用意しています」
「XMLかJSON形式でやりとりできます」
と、とりあえずそれっぽいこと(笑)を言っていました。

が、せっかくIT業界にいるからにはこれくらい説明できるようになりたい!と思い
備忘録もかねてせっせとブログを書いています。

■ソフトウェアについて

APIの話をする前に、まずソフトウェアの話を理解しなければいけません。

ソフトウェアは、コンピュータの構成要素の1つで、
基本ソフトウェア、ミドルウェア、応用ソフトウェアにわけることができます。

画像①.png

基本ソフトウェアは、コンピュータを動作させるための基本機能を提供するソフトウェアで、
WindowsやMacOSなどのOSは基本ソフトウェアになります。
その基本ソフトウェアの上で動くのが、応用ソフトウェアです。アプリケーションとも言います。

ミドルウェアは、応用と基本の中間に位置し、多くの応用ソフトウェアが共通に利用する
専門的な機能を提供するソフトウェアです。
ミドルウェアがどういう役割を果たすのかについてはこちらの記事が分かりやすいです。

■APIってなに?

API(Application Program Interface)とは、その名の通り、「アプリケーションをプログラミングするためのインターフェース」
という意味です。(ルー大柴風)

インターフェースは、「何かと何かをつなぐもの」という意味を持つそうなので、
APIは「アプリケーション」と「プログラム」をつなぐもの、という意味になります。
つまり、APIを利用することで、異なるソフトウェアやサービス間で、情報や機能を共有することが可能になるということです。

現在のAPIはWEBによる通信で多く利用されているため、「Web API」と呼ばれています。
APIを公開しているサービスも増えてきており、GoogleやAmazon、TwitterやLineなどもAPIを用意しています。
参考:個人でも使える!おすすめAPI一覧(https://qiita.com/mikan3rd/items/ba4737023f08bb2ca161)

■プロトコル

ネットワークで通信をするのに必要な、どのような経路や信号を使うか、どのような手順で通信するかなどの約束事をプロトコルといいます。
インターネットで使用されているTCP/IPというプロトコルが業界標準として使用されており、
Webページを送受信するプロトコルは、HTTPまたはHTTPSと呼ばれます。

送受信されるデータの形式はAPIによって異なりますが、
XMLやHTML、JSON、各種画像ファイル形式などが使われることが多いようです。

WebブラウザからWebサーバに対するリクエストには種類(メソッド)がありますが、
基本的には「GET」と「POST」が使われることが多いみたいです。
(Unifinityは、GET、POST、PUT、DELETEを用意しています。)
HTTP通信については、下記記事が詳しいです。
初心者に優しい記事
これみてたらエンジニア気分になれる記事

■APIまとめ

  • APIとは、アプリとOSをつなぐインターフェース
  • WEB APIが主流になっている
  • HTTPまたはHTTPSプロトコルで通信する
  • 特定のHTTPメソッドでアクセスができる
  • HTTPレスポンスのヘッダやボディの表現が規則的

また一つ賢くなれたぞ~!
ということで、おしまい。