API

「API」

データ活用やDX成功に必要な考え方を、各種キーワードの解説で理解できる用語解説集です。
今回はこれからのクラウド活用やデータ活用でその鍵となる「API」について解説をします。

APIとは

API(エーピーアイ)とは、Application Programming Interfaceを略した言葉です。アプリケーションやOS、クラウドサービス、ミドルウェアなど、様々なソフトウェアの機能(や状態)を外部から利用できるよう用意されたインタフェースのことを言います。
APIの言葉そのものは抽象的なものであるため、具体的には様々な状況をそのように呼ぶことができる。昨今では、Web API などのクラウドサービスを外部から呼び出して利用するような話題で使われることが多くなっています。

「API」はちょっと解りにくい

人が直接利用するものではない

APIは人が直接使うものではないので直観的に解りにくいところがあります。通常の利用で、画面上で見て分かるような機能ではなく、プログラミングをしない人にとっては直接見えないITシステムの裏方の機能になります。

  • GUIなど:そのソフトウェアを人が利用するためのインタフェース
  • そのソフトウェアをアプリケーション(プログラム)が利用するためのインタフェース

人にとっては、「画面にビジュアルな表示がなされ、マウスとキーボードで操作できて、それで電子メールを送受信できる」みたいな方が解りやすくて親切ですが、同じ機能を外部のプログラムから呼び出して利用したい場合には、人向けとは別のインタフェースが必要になります。

「そういう仕組み一般」のこと

APIは「そういう仕組み一般のこと」をそう呼ぶものです。また、普段ITを利用するときにも、直接見えないだけでAPIはその後ろでとても活躍しています。

Windowsアプリを利用しているとき、そのアプリは「WindowsのAPI」を経由してWindowsの機能を呼び出して、例えば画面を描画したりファイルを読み書きしたりキーボードやマウスの操作を読み取ったりしています。同じようにAndroidアプリもAndroidの様々なAPIを利用して動作します。OSだけではなくプログラミング言語でもAPIがあり、例えばJavaでプログラミングをする際には、様々なライブラリの機能をJavaのAPI経由で呼び出して利用します。

普段、ごく普通にITを使っているときにも、その裏方ではこのように「APIでの呼び出し」が利用され、それぞれ別に作られたソフトウェアを一緒に活躍させています。

昨今では「クラウドサービスの機能を外部から利用する手段」がAPIとして提供されるようになっています。Web(インターネット)経由で呼び出すAPIであることから「Web API」などと呼ばれたりします。例えばkintoneの機能を外部のアプリケーションから利用したいときには「kintoneのAPI」経由で呼び出して利用します。クラウドとその外側のITシステムを一緒に活躍させることができます。

特定の「技術的な方式」のことではない

APIとは「そういう仕組み一般のこと」で、どのような技術で実現されているかにはよりません。

クラウドサービスの呼び出しでは、昨今では「REST API」が使われることが多くなっています。REST APIは、通常のWeb閲覧と同じ通信手段(httpsなど)を使い、JSONなどのWeb技術に由来を持つデータ形式を用いるAPIです。しかしREST APIだけがAPIではなく、XMLを用いたAPIも広く使われていたことがあり、ファイル連携で利用するAPI、メールの添付ファイルでデータの受け渡しをするAPIなどもありえます。

外部へ「公式に提供されている」インタフェース

APIは、「所定の手順で外部から利用できる」ことを「外部に対して表明したもの」でもあります。

例えば、アプリケーションの内部で利用されているデータベースに直接アクセスしてデータを読み取ることや、RPAで画面経由の操作をすることもできますが、そのような使い方は「製品として保証している使い方」ではありません。APIは、アプリケーション側が「その手順で利用してほしい」ことを表明しているところが違います。

APIはどのように役に立つか

ITを連携できる、自動化できる

APIを活用すると、様々なソフトウェアやクラウドサービスを組み合わせて利用することができます。外部からITを自動化することもできます。また、公式に提供されているインタフェースなので、例えばRPAを使って後付けで自動化するような方式に対して、安定してきちんと動作することが期待できます。

「プラットフォーム」を提供できる

また、APIを提供すれば、それを基盤とした第三者の活動が可能になり、自社が提供するソフトウェアやサービスをプラットフォームとして利用してもらうことが期待できます。例えばAWSでは、API経由でさまざまなサービスが提供されていて、それらサービス群をプラットフォームとして様々なアプリケーションが開発されています。

分業ができる

APIの活用で留意すべきこと

以下は、クラウドサービスなどをAPIで呼び出して連携するような状況を想定しています。

APIを呼び出して活用できる手段が必要

APIの活用はとても大きな可能性がありますが、ユーザが直接使うために作られたものではありません。プログラミングなどAPIを呼び出して活用できる手段や人材が必要になります。内製できるエンジニアを確保するか、あるいはノーコードでAPIを呼び出せるツール(「EAI」「ETL」「iPaaS」など)の導入が必要になります

必要なAPIが提供されていると限らない

利用したい機能がAPIとして提供されていない場合があります。そもそもサービス自体でAPIが提供されていないこともあります。例えばExcelの読み書きを行いたいことは一般的に多いと思いますし、業務システムではメインフレームなど旧システムとの連携が必要になる場合もあるなど、別の手段も併せて必要になることがあります。

APIの利用自体が難しいことが結構ある

全てのAPIは使いやすく解りやすく作られているわけではありません。技術ドキュメントの理解が難しい、API自体が難しいなど、開発作業自体が大変なことがあります。

現実的なAPIの活用では、APIの使い方を説明した技術ドキュメントを読みこみ、利用方法を理解して処理を作りこむ作業が必要になることがあります。簡易な連携ツールを用いた場合、そのような作りこみを実現する能力がなく詰んでしまうことがあります。

さらには、APIのバージョンアップへの対応(仕様や動作が変わることもある)が継続的に必要になることもあります。

APIを活用してビジネス的に有意義なことをする

APIでできることできないこと、APIで効率的に処理できることとできないこと(処理時間がかかりすぎるなど)を踏まえた上で、さらにはビジネス的に実現が望まれることを理解し、成果が出ることをうまく見つけて実現する必要があります。

「つなぐ」技術でAPIを活用しよう

日本を代表するEAI製品であり、データ連携をノーコードで実現できる「DataSpider」では、これらAPI活用にまつわる上記のような問題を以下のように解決することができます。

ノーコードで開発できる、エンジニアの内製手段としても活用できる

DataSpiderなら、ノーコードでAPIを呼び出して活用することができます。また、本格的な作りこみの能力もあるので、エンジニアの内製手段としても活用できます。

API以外での連携手段がある

アイコンを配置するだけでExcelファイルに連携できる、メインフレームとの連携機能などもあるなど、多種多様の連携先への接続能力があります。

作りこみ能力と、専用接続アダプタの両方がある

プログラミング言語での本格的な開発と遜色のない高度な作りこみ能力があります。また、そのような作りこみが不要ですぐに便利に利用できる「専用接続アダプタ」も備えており、自分で作りこむ使い方も、例えばkintoneアダプタを利用すれば、kintoneのAPIを理解して自分で開発しなくても「GUI上でアイコンを配置して設定するだけ」でAPIでの連携を活用できます。

試行錯誤して作りこむ能力がある

ITシステムで実現すべきニーズは、なかなか事前に分析して理解しきれるものではなく、実業務で利用しながら解ったことや気がついたことがどうしても多く出てくるものです。ノーコードで連携を作れるので、利用しながら現場主導で開発を続け、より望ましいIT利活用を実現してゆくことができます。

関係するキーワード(さらに理解するために)

  • EAI
    • システム間をデータ連携して「つなぐ」考え方で、様々なデータやシステムを自在につなぐ手段です。IT利活用をうまく進める考え方として、クラウド時代になるずっと前から、活躍してきた考え方です。
  • ETL
    • 昨今盛んに取り組まれているデータ活用の取り組みでは、データの分析作業そのものではなく、オンプレミスからクラウドまで、あちこちに散在するデータを集めてくる作業や前処理が実作業の大半を占めます。そのような処理を効率的に実現する手段です。
  • iPaaS
    • 様々なクラウドを外部のシステムやデータと、GUI上での操作だけで「つなぐ」クラウドサービスのことをiPaaSと呼びます。
  • REST API
  • JSON
  • ファイル連携
    • ファイルを経由することで、呼び出し元と呼び出し先の依存関係を減らす手段としても使うことができます。
  • クラウド連携
    • クラウドを外部のシステムや他のクラウドサービスと連携させて利用すること。クラウドサービスの導入や活用をうまく進めるために、クラウドそのものの導入や活用と並んで重要なことが多いのがクラウド連携の実現です。
  • Excel連携
    • 現実のIT活用でどうしても無視できない存在がExcel。Excelを外部のITとうまく連携させることで、Excelの良さを生かしたままスムーズにIT活用を進められることがあります。
  • ノーコード/ローコード

DataSpiderの評価版・無料オンラインセミナー

当社が提供している「DataSpider」は、APIの活用でも活躍している、自社で開発している日本を代表するEAI製品になります。

通常のプログラミングのようにコードを書くこと無くGUIだけ(ノーコード)で開発でき、「高い開発生産性」「業務の基盤(プロフェッショナルユース)を担えるだけの本格的な性能」「業務の現場が自分で使える使いやすさ(プログラマではなくても十分に使える)」を備えています。
データ活用のみならず、クラウド活用などの様々なIT利活用の成功を妨げている「バラバラになったシステムやデータをつなぐ」問題をスムーズに解決することができます。

無料体験版や、無償で実際使ってみることができるオンラインセミナーも開催しておりますので、ぜひ一度お試しいただけますと幸いです。

用語集 コラム一覧

英数字・記号

あ行

か行

さ行

た行

な行

は行

ま行

や行

ら行

わ行

» データ活用コラム一覧

おすすめコンテンツ

関連コンテンツ

コラム一覧に戻る