この連載は、IT業界で働き始めた新人さんたちのために、仕事で頻繁に耳にするけれど意味がわかりにくいIT業界の専門用語を「がってん!」してもらうシリーズです。
柴田克己(しばた・かつみ) ITをメインに取材・執筆するフリーランスジャーナリスト。1970年、長崎県生まれ。95年にIT専門紙「PC WEEK日本版」の編集記者として取材・執筆を開始。その後、インターネット誌やゲーム誌、ビジネス誌の編集に携わり、フリーになる直前には「ZDNet Japan」「CNET Japan」のデスクを務めた経験がある。
既存サービスをうまく使うのが「マッシュアップ」
ウェブ系のサイトやシステム開発で広く使われる「マッシュアップ」。これは、主に不特定多数の人にネットで広く公開されている機能を、自分たちが開発するアプリケーションソフトに組み込む開発手法だ。
例えば、Googleが提供している検索エンジンや「Googleマップ」、Amazonの商品検索・紹介機能。これらの機能を別のシステムと組み合わせることで、機能が豊富で使いやすいアプリケーションソフトをつくることができる。実際に、GoogleやAmazonの機能を利用しているサイトやアプリケーションを見たことがある人も多いだろう。
この言葉が注目を集めたのは、GoogleやAmazonなどのネット企業が、さまざまな機能を無料で公開し始めた2000年代半ばのこと。現在では「マッシュアップ」という言葉自体は、あまり使われなくなったようだが、むしろそれはマッシュアップによるウェブサイト・システム開発が、当時よりも一般的なものになったからだといえるだろう。
マッシュアップを使えば、アプリケーション開発に必要な機能をネットから呼び出して簡単に利用できる。今回の先輩と新入社員との会話に出てきたような、「地図」を使ったアプリケーションを一からつくる場合、膨大なコストと時間が必要になる。しかし、Googleが公開している「Google Maps API」を利用してマッシュアップすれば、地図情報と基本的な表示機能はGoogleマップのものを利用し、開発者はそれをカスタマイズしてアプリケーションを開発できるので、工数を大幅に削減することができる。ちなみに「API」とは、「Application Programming Interface」の略。ソフトウェア間で機能を呼び出したり、データをやり取りしたりするための「決まりごと」で、マッシュアップには、ウェブ上で公開されているAPIを通じて機能を使うことも覚えておこう。
便利に使えるからこそ注意しなければいけない
とても便利なマッシュアップだが、実際の開発に使う場合には考慮すべきことが多い。
まず、アプリケーションのパフォーマンスは、利用する機能のパフォーマンスに大きく依存するという点だ。パフォーマンスの変動が予測しにくく、そもそもサイトがダウンしてしまえば、アプリケーションそのものが利用できなくなるケースも出てくるので、注意が必要だ。
また「サービスの継続性」についても、事前に考慮に入れておく必要がある。利用した機能の提供が、提供する企業の都合で終了してしまうことがある。サービスそのものが終了しなくても、APIの仕様変更は頻繁に行われる。その際は、変更された仕様に沿って、アプリケーションを修正する必要が出てくる。とくに、受託でつくるアプリケーションでマッシュアップを行う際には、そうしたサービス提供側の動向に注意を払う必要がある。
さらに、「利用規約」にも気をつけよう。マッシュアップできる機能・サービスには、無料、有料、特定の条件で無料のものなど、さまざまな種類がある。前出の「Google Maps API」であれば、一般に無料公開されているサイト内での利用は無料だが、「ユーザーが課金してアクセスするサイト上での利用」「企業内やイントラネットでの利用」は有料になるなど、具体的な条件が明記されている。事前によく確認しておこう。また、基本的なルールとして、サービス提供元のサイトに過大な負荷をかけるような使い方は避けなければならない。そうした規約やルールを無視すれば、最悪の場合、提供側からAPIの利用を止められる可能性もある。
使い方を間違えなければ、マッシュアップが多くのユーザーにメリットがあるアプリケーションを開発するために便利な手法であることは事実。興味があれば、どんな企業がどんな機能を提供しているか、そのマッシュアップからどんなアプリケーションが生まれているかについて調べてみてほしい。
Point
●「マッシュアップ」とは、ネットで提供されている便利な機能(ウェブサービス)を組み込んで、独自のアプリケーションを開発する方法を指す。
●実績がある機能をAPIを通じて簡単に利用できるので、メリットも多い。だが、採用にあたってはパフォーマンスやサービスの継続性、仕様変更、利用規約の詳細などを注意深く調べる必要がある。