EAI/ETL技術者のブログ

  • クラウドサービスとのデータ連携を学ぶ
2019.11.13

いまさら聞けない「WebAPIとは?」 -基礎・利用方法・API連携を解説します

WebAPIとは?

【目次】
 ▶WebAPIとは
 ▶WebAPIの代表例
 ▶WebAPIを利用するメリット
 ▶WebAPIの種類-RESTとSOAPの違いとは?
 ▶「誰でもわかるWebAPIの使い方」資料をプレゼント!

WebAPIとは

WebAPIとは、Web上でAPIのやり取りを可能にしたものです。

まず「API」について考察してみましょう。
APIとは、「Application Programming Interface」の頭文字をとったものです。
直訳すると「プログラムからアプリケーションを操作するための仕組み」でしょうか。

普段ブラウザから見ているアプリケーション(画面)は「表玄関」であり、基本的には、人が画面上から操作することを想定して作られています。それに対して、APIは「裏口」です。
裏口だと聞こえが悪いので、「勝手口」と言った方が良いかもしれませんね。

隣の席の同僚から「いまどきの家に勝手口なんてあるの?」と突っ込まれましたが、我が家にはありますのでスルーします。

おまけで英語での表現も紹介します。

勝手口:back entrance
裏口:back door

やはり勝手口の方が良さそうですね。

「基本的には」と書いたのは、最近はRPAなど、従来人が作業していたものを
ソフトウェア型のロボットが代替して自動化する仕組みが急速に普及しているためです。

さて、勝手口と聞いて、どういった使い方を思い浮かべますか?

「もしも勝手口が無かったら、毎回玄関から、家の裏にあるゴミ箱まで回るのかぁ。なんだか面倒くさそうだな・・」 と連想したのは私だけでしょうか。

Googleで「勝手口」を検索してみたら、これから家を建てる方が「勝手口は必要なのか?」という質問を投げかけて、「ぜったい要る!」「ぜったい要らない!」という激しい論戦になっていました。

なんとなく「無くても良さそう」という雰囲気を感じました。これも一つの時代の流れでしょうか。

それはさておき、APIの必要性について考えてみましょう。

我々がアプリケーションから登録したデータは、そのシステムで処理されるだけでなく、他のシステムにも連携されているケースが増えてきました。

名刺管理システムに名刺データを取り込んだら、顧客管理用のデータベースにも連携されていると思いますが、これもAPI経由のデータ連携ですね。

このような背景から、製品やサービスを選ぶときに、アプリケーションの本来の機能と同じように、APIの充実度が重要視されるようになりました。

WebAPIの代表例

WebAPIのもっとも身近な例は、Amazonや楽天での買い物かもしれません。

オンラインで買い物をする際に「Amazon最安値」という表示を見たことはないですか?
こういった表示は、Amazonとは関係ない個人のWebサイトで公開されていたりします。

この「最安値」のデータは、Amazonが提供するWebAPI経由で取得されています。
他にも、Amazonで買い物をしていると表示される「おススメ」や「ベストセラー」のデータもWebAPI経由でアクセスされているものなのです。調べてみると、日本語の丁寧な開発者ガイドもありました。

身近なものとしては、NHKが番組情報を提供している「番組表API(※)」なんてものもあります。

WebAPIの企業ユースに話を戻すと、最近ではクラウドサービス(インターネット経由で提供されるITサービス)の利用が急速に進み、業務システムの大半がクラウドサービスという企業も多くなりました。

総務省の調査によると、メールやファイル保管サービスのほか、基幹システムでの利用も年々増えてきているそうです。(弊社でも同様です)

主にインフラとして圧倒的な存在感のAmazon Web Service(AWS)、アプリケーションではKintoneや、Salesforce.comなどが有名ですね。

このようにクラウドサービスの利用が進むと、外部のクラウド上に保有しているデータと、社内にあるオンプレミスのシステムとの連携が必要になります。

WebAPIのイメージ

WebAPIを利用するメリット

WebAPIを利用するメリットは以下の通りです。

・自システムにない新しいサービスを追加できる
WebAPIを使用することで、自システムにはない既存のアプリや機能を利用したり、外部のデータを連携できたりします。自システムでは実装が難しい機能や収集の難しいデータも手間なく簡単に追加できるのがWebAPIを利用する1つ目のメリットです。

また、近年利用頻度が高まっているクラウドサービスの多くは、WebAPIを提供しているため、自システム(オンプレミス)とクラウドサービスを連携することができます。それにより、多様なサービスやデータを使用できるようになります。

・開発の手間や時間を抑えられる
前述の通り、WebAPIを使用することで、既存の機能を利用できるため、一から機能を開発するよりも開発スピードや生産性を大幅に向上できます。新機能に対して、少ない時間で対応できるため、今後発生する利用者の新しいニーズにもリアルタイムで対応できます。

・業務効率化につながる
WebAPIを使用することで複数のシステムへ同時にデータを連携することも可能です。それにより、複数のシステムへ一つ一つ手作業で入力するよりも「短時間で」「正確に」データを登録することができます。

WebAPIの種類-RESTとSOAPの違いとは?

WebAPIには種類がありますがその中でも主流のWebAPIが「REST」と「SOAP」の二つとなります。これらはデータ送受信時のルールのことでHTTPリクエストを送りその結果を受け取るという点では共通しております。

ここではこれらの違いについて簡単にご紹介します。

・REST
HTTPリクエストを送る際、「GET」や「POST」等のメソッドを利用してリクエストを送ります。レスポンスはXMLやJSONのデータ形式で受け取ります。
・SOAP
HTTPのリクエストを送る際もレスポンスを受け取る際もXMLのデータを扱います。

上記の通り、リクエストの送り方やレスポンスの受け取り方、データ形式等が異なります。
それぞれの違いについてご説明させていただきましたが、現在主流のWebAPIは「REST」となります。理由としては以下のような点が挙げられます。
・[GET][POST][DELETE]といったメソッドを利用してリクエストができる簡易さ。
・XMLデータだけでなく、JSONという形式のデータも扱うことができるという点。

「誰でもわかるWebAPIの使い方」資料をプレゼント!

「WebAPIとは一体なに?」という疑問にお答えするための資料を作りました。
弊社では、EAIツール「DataSpider」の販売・サポートを通じて、企業内のデータ連携の課題を解決するためのお手伝いをしています。
その現場で、「WebAPI」に関するご質問が増えていることから作成した資料です。

「WebAPIって何?」「RESTとSOAPって何が違うんだっけ?」
という基礎的な知識を求めている方に、特におススメです!

※参考:NHK番組表API


執筆者情報

小林 良平(Ryohei Kobayashi)
東日本技術本部 情報基盤事業部

1999年アシストに新卒入社以来、販売管理システムの開発/保守業務、ワークフロー製品のプリセールス/フィールドサポートなどを担当。DataSpiderの立ち上げから携わり、現在はデータインテグレーション系製品全般の主管に従事。

執筆者

関連している記事

  • クラウドサービスとのデータ連携を学ぶ
2023.06.16

Salesforce導入が決まった!Salesforceと既存システムとの連携はどうする?

Salesforceとその他周辺システムの連携について記載した記事です。

  • クラウドサービスとのデータ連携を学ぶ
2023.03.10

AWSをもっと活用していきたい!AWSと他システム・サービスとの連携で活用加速!

AWSと他システム・サービスとの連携についてご紹介いたします。

  • クラウドサービスとのデータ連携を学ぶ
2022.03.30

AWS導入における周辺システムとの連携方法~考えられる課題と解決策~

この記事ではAWSのサービスと既存システムや他のクラウドサービスとの連携はどう行うのか?連携を行う際に考えられる課題と解決策を紹介しています。

ページの先頭へ戻る