Shoeisha Technology Media

CodeZine(コードジン)

記事種別から探す

Web APIによるデータ連携デザインパターンとツール活用

  • LINEで送る
  • このエントリーをはてなブックマークに追加

 APIエコノミーやマイクロサービスアーキテクチャ、FintechをはじめとするさまざまなX-Techといった言葉が叫ばれるなか、APIマネジメント企業の買収のニュースといった形で「API」というキーワードを聞くことが増えています。本記事では、さまざまなクラウド上のユニークなサービスが出てきている今、APIを使ったデータ連携で何ができるようになるのか、どんな代表的ユースケースがあるのか、そしてユーザー企業やシステムインテグレーターがよりAPIを利用しやすくするためのツール活用について見ていきましょう。

目次

Web APIとは?

 APIとはApplication Programming Interfaceの略であり、「ソフトウェアコンポーネントが互いにやり取りするのに使用するインターフェースの仕様である」と定義されています。最近使われているAPIとは、Web APIの意味で使われていることが多く、Web APIとは「HTTP要求メッセージ群とXMLまたはJSON形式などの応答メッセージの構造定義で構成される」と説明されます(Wikipedia「アプリケーションプログラミングインタフェース」から抜粋)。

 図1のように、人がウェブページを参照する時には、ブラウザのURLから、もしくは、ページ内のリンクをクリックすることでWebサーバーにHTTPリクエストが発行され、HTTPレスポンスとして人が解読可能なHTMLや画像・動画などのハイパーメディアをウェブページとして返します。同様に、アプリケーションからHTTPでリクエストを発行し、WebサーバーがHTTPでJSONもしくはXML形式でアプリケーションが解読可能なフォーマットでデータだけを返すことがWeb APIの仕組みです。

図1 Web APIの仕組み
図1 Web APIの仕組み

 Web APIは私たちの生活のさまざまなところで利用されています。身近な利用例では、いろいろなアプリケーションやウェブサイトに組み込まれているGoogleマップAPIや、ウェブサイト上からFacebookアプリケーションを開かなくても「いいね」や投稿できるFacebook APIなどがあります。

 企業内の業務アプリケーションでも、顧客管理のためのサービスとしてSalesforceやDynamics CRM、スケジューラやメールなどのコラボレーションのためのサービスとしてG Suite(旧Google Apps)やOffice 365をはじめ、誠に多くのSaaSと呼ばれるクラウド上のウェブサービスが普及しています。

 ユーザー(人)がブラウザからSaaSを利用する場合には、図2のようにブラウザに表示されたウェブページをユーザーインターフェース(以下、UI)としてアプリケーション操作(データの入力や参照)を行います。人がUIを通じてアプリケーション操作を行うという点では、社内設置型(オンプレ)のカスタムアプリケーションと方法に変わりはありません。

図2 カスタムアプリとSaaSのUI
図2 カスタムアプリとSaaSのUI
図3 カスタムアプリとSaaSのシステム連携の違い
図3 カスタムアプリとSaaSのシステム連携の違い

 一方、人ではなく他のアプリケーションからSaaSデータを連携利用するためには、図3のWeb APIを使った連携を行う必要があります。設置型のカスタムアプリケーションに他のシステムからアクセスする場合には、アプリケーションのデータベース(Oracle、MySQL、SQL Server、PostgreSQLなどのRDBMS)からCSV形式などのファイルに出力する、もしくは直接データベースにODBC、JDBC、ADO.NETといったデータベース接続の標準規格でアクセスを行うことでデータを連携する方法があります。この場合、主要なRDBMSと標準規格によって多くのツール、エンジニアがデータ連携を簡単に行うことができます。

 一方、SaaSに他システムからアクセスする場合には、SaaS内のデータベースに外部からアクセスすることは当然できません。そのため、Web APIがSaaSを運営するサービス事業者から提供されておりWeb APIを通じてデータ連携を行います。冒頭の「API」というキーワードは、この「SaaS・Webサービスのデータをアプリケーション間で利用するためのWeb API」の利用のことを指しています。Web APIは大変便利な反面、個々のSaaS、Webサービスごとに異なるAPI仕様が発生してしまうこと、JDBC、ODBCのような業界標準ができていないという困難を生んでいます。


  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • 桑島 義行(CData Software Japan合同会社)(クワジマ ヨシユキ)

    CData Software Japan 合同会社 技術担当ディレクター キャリアを通じてデータマネジメント、データアナリティクス・DWH などのデータ活用を専門で扱うデータベースアーキテクト。国内のメーカー系システムインテグレータで15年以上勤務した後、現在は米国本社のデータ連携コンポーネン...

All contents copyright © 2005-2017 Shoeisha Co., Ltd. All rights reserved. ver.1.5