データ活用・データ連携のお役立ちコラム
データ活用・データ連携のお役立ちコラム
Web APIとは、httpやhttpsなどWeb技術を用いて実現されるAPIの一類型です。APIは、あるプログラムの機能や機能の一部を、別のプログラムから利用できるようにする仕組みのことです。私たちはすでに、さまざまなビジネスシーン、生活シーンでその恩恵にあずかっています。一体、Web APIとはどのようなものなのでしょうか。そして、具体的なメリットはどのような点にあるのでしょうか。本コラムでは、Web APIの基礎知識や実際の活用例、利用する際の留意点について解説していきます。
Web APIとは、Web上で提供されるアプリケーションプログラミングインターフェース(Application Programming Interface、API)を意味します。このAPIには、異なるアプリケーションの間でデータやプログラムの機能をサービスとして活用できるよう規約や手順が定義されています。これにより、システムエンジニアは既存のサービスを利用しながら、目的のアプリケーションを開発することができます。ただし、これは組織の壁を超えてデータやプログラムを使う仕組みということもできるため、Web APIを提供する際も、Web APIを利用する際も、セキュリティには十分配慮しなければなりません。ビジネスに適用する際には、ユーザー認証や暗号化のプロセスを加えるなどして、通信の安全性確保に努めることが重要です。
Web APIはすでに、さまざまなビジネスシーン、生活シーンで活用されています。以下に、その代表例を挙げます。
アプリケーションに何か専門性のある機能を組みこみたいときに、Web APIを利用すると開発がスムーズに進められます。地図のWeb APIを用いれば、そのアプリケーションで地図を表示したり、ユーザーがそこで情報を検索したりできるようになります。一方、翻訳のWeb APIを活用すれば、アプリケーション上でテキスト翻訳の機能を提供することが可能になります。ほかに、天気予報、交通情報、ニュースなどでもWeb API利用が考えられます。
ソーシャルメディアプラットフォームとの連携にもWeb APIは利用されています。何かのサイトにログインするとき、「Googleアカウントでログイン」「Appleでログイン」というボタンを見ることはないでしょうか。このボタンを押すと、そのサイトの運営側にGoogleやAppleで所有しているユーザーのプロフィール情報を取得して、ユーザーを受け入れることができるとともに、そのユーザーに合わせたコンテンツを提供できます。ます。ユーザーとしてもいちいち個人情報を入力しなくて済むため、顧客体験が向上します。
システム間でデータを共有する際に、Web APIを活用することができます。たとえば、営業支援システムと顧客管理システムの間で顧客情報を共有したい場合、顧客管理システムのWeb APIを利用して、営業支援システムに顧客情報を送ることができます。また、オンプレミスの商品情報管理システムをECサイトで活用したい場合なども、商品情報管理システム側がWeb APIを提供すれば、ECサイトに商品情報を反映させることが可能です。
Web APIを利用することで、企業は自社のシステムに新しいサービスや機能を容易に統合できるようになります。これはつまり、市場の変化に迅速に対応できるようになり、競争力が向上することを意味します。また、顧客に対して新しく、役立つソリューションを提供できるという点でも有用です。企業内においても、恒常的な人材不足の中、開発の手間とコストを削減してリソースの有効活用が可能になります。具体的なメリットとしては「自社のシステムに新しいサービスを追加できる」「開発にかかる時間・手間を削減できる」「業務の効率化になる」の3点が挙げられます。
外部のサービスやデータソースとWeb APIで連携することで、自社のシステムに新たな要素を追加できるようになります。それも、開発の手間やコストをかけることなく、容易に機能拡張が行えます。これにより、自社のシステムの魅力はさらに増し、顧客により高い付加価値を提供できるというわけです。Web APIの活用は、市場変化に柔軟に対応可能という点で大きなメリットがあり、継続的にビジネスを成長させていくのに大いに役立ちます。
自社のシステムを開発する担当者にとって、一番ありがたいのはこのメリットでしょう。Web APIを利用すれば、自分たちですべての機能を作りこむ必要がなくなり、自社のシステムの固有要件だけに専念することができます。開発にかかる時間・手間が削減可能であるとともに、開発コストも削減することができます。さらに、有用なデータが手元の画面だけで把握できたり、同じデータを何度も入力したりしなくてもすむようになるため、ユーザーも時間や手間を減らすことができます。
Web APIは、異なるシステム間の連携(API連携)を容易に実現できるため、プロセスの自動化を進めることができます。たとえば、新しい社員が入社した際、社員情報を人事管理システムに入力したら、それを契機にその社員の業務システムアカウントを発行し、デスクや椅子、PC、スマートフォン、社員証といった備品を発注し、用意するといったことができるようになります。こうしたことにより、企業は業務の効率を大きく向上可能になり、労働生産性を高めるのにも貢献します。
テクノロジー的には、Web APIを実現するにはいくつかの方法があります。それぞれに異なる特徴があり、適した用途というのがあります。以下に、主なWeb APIとそれぞれの特徴について解説します。
RESTful APIは、Representational State Transfer(REST)アーキテクチャの制約に従って設計されたAPIで、HTTPプロトコルを使用して通信します。HTTPメソッドには、GET、POST、PUT、DELETEの4つがあり、それぞれに異なる操作が定義されています。リソースはURIで表現されます。URIは、リソースの識別子であり、HTTPメソッドと組み合わせて、リソースの操作を行うことができます。このように、HTTPメソッドやURI、HTTPステータスコードなどの既存の規格を採用しているため、拡張性の高さが大きな特徴です。異なるベンダーのAPIであってもRESTful APIを採用していれば、互換性高く利用することができます。HTTPプロトコルを採用しているため、SSL/TLSなどの暗号化技術を使用してデータのやり取りを保護することができます。
SOAP APIはXMLベースのメッセージングプロトコルを使用します。これは、厳格で強力なプロトコルで、トランザクション管理が必要なユースケースに適しています。ただし、RESTに比べると記述が冗長になりがちなところがあります。こちらも、WS-Securityなどのセキュリティプロトコルを使用して、データのやり取りを保護することができます。
ここまで見てきたように、大きなメリットを持つWeb APIですが、インターネット上で公開されているという特性を持つために、セキュリティ上のリスクがあることも確かです。そのため、Web APIを安全に使用するWeb APIを公開する側、Web APIを利用する側とその立場の相違に関わらず以下の点について考慮しましょう。
Web APIを利用するユーザーやアプリケーションが適切な権限を持っているか、そのつど認証・認可するプロセスを備えるのが賢明です。
Web APIを行う際、暗号化を施すことでデータの漏えいを防ぎます。具体的には、データそのものを暗号化する対策と、SSL/TLSなどの暗号化技術を使用した通信の暗号化対策があります。
特定のIPアドレスからのアクセスを許可・拒否したり、一定時間内のリクエスト数を制限したりして、アクセスをコントロールします。APIトークンといって、API利用時に一時的なトークンを発行してこれでアクセスを制限する方法もあります。これを使えば有効期限が切れたアクセスを拒否することができます。
不正な入力が行われるリスクがあるため、入力データを検証するプロセスを設定します。
Web API利用時、アクセスログやエラーログを取得する設定にしておくことで、不正アクセスの兆候を検知できるようになります。セキュリティインシデントの事後対応のためにもログの保管は有用です。ログの保存期間は各種法令やガイドラインにより、期限が定められています。
セキュリティホールがどこに潜んでいるかわからないため、既存の対策は定期的に見直しをかける必要があります。また、自社のシステムに関連した脆弱性情報をこまめにチェックするとともに、ソフトウェア開発元から提供されるセキュリティパッチは、事情の許すかぎり迅速に適用します。
データ・アプリケーションのフラッグシップ製品 ACMS Apexは、Web API連携機能を搭載しているエンタープライズ・データ連携プラットフォームです。
サービスとしてAPIを公開する機能とODataやREST、SOAPを用いて公開されているAPIを利用する2つの機能を提供しています。これらを利用することにより、Web APIを公開するさまざまな外部サービスや データソースなどとの連携が容易に実現できます。
Web APIは、外部のサービスを利用しながら、自社のシステムの付加価値を向上できるという点で有用な連携技術です。これを活用することによって、市場の変化に迅速に対応できるようになり、企業競争力も向上します。しかし、その一方で、インターネット上に公開されているデータやプログラムを使うことになるため、セキュリティには配慮しなければなりません。Web APIを安全に活用するには、信頼できるテクノロジー提供元を選び、二人三脚で取り組みを進めていくことが重要です。
メインフレームからオープン環境への国民健康保険システム移行
PC1台で数千万件のデータ変換を13時間で可能としたRACCOON
数TBに上るメインフレームデータのオープン移行
16時間でデータ変換を完了したRACCOON
EDIシステムの刷新をきっかけに
ACMS Apex + RACCOONで、グループ全体のデータ連携基盤を実現
基幹システム製品のクラウド化で求められたデータ移行工程の見直し
RACCOONで精査が必要なデータを簡単かつ高品質に移す体制を確立
めざしたのは4通販サイトへのデータ提供の自動化
RACCOON導入で情報の精度・スピードが一気に向上
基幹EDIインフラをAS/400からAWSへ
ACMS Apex、RACCOONが短期開発に貢献