SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

特集記事

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

  • X ポスト
  • このエントリーをはてなブックマークに追加

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

  • X ポスト
  • このエントリーをはてなブックマークに追加

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のような業界標準ができていないという困難を生んでいます。

次のページ
APIがもたらす拡張されたデータ連携の価値

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
特集記事連載記事一覧

もっと読む

この記事の著者

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

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

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/9760 2016/11/14 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング