広がるWeb APIの活用

─マッシュアップの幅広い可能性─

藤井 章博
客員研究官

1.マッシュアップとはなにか

1-1 マッシュアップの登場

 現在、GoogleやAmazonなど大手の商用サイトは、自社の提供する情報サービス、例えばGoogleマップのような地図データベースの情報、Web API(Application Programming Interface)という形式で利用者に提供している。利用者は、そのような情報をブログなどの自分自身の情報提供サイト上で、ほかの情報と組み合わせて利用することができる。さらに、独自のアプリケーションを比較的容易に開発し、付加価値のある新しい情報サービスを提供できるようになっている18)

 このようなWeb APIを組み合わせるソフトウエア開発の技法を「マッシュアップ(mashup)」と呼ぶ。5、6)ここ数年その利用がIT分野の話題となっている。その背景には、SNS(Social NetWork Service)などのブログを活用するサイトでGoogleマップなど大手プロバイダーの提供するWeb APIの個人利用が急速にひろまったことが挙げられる8、16)

 「マッシュアップ」は、元来は音楽の世界でディスクジョッキーが複数の録音を上手に繋げて一つの楽曲のようにしたり、既存の曲に別の曲を重ねて新たな楽曲を創造したりするテクニックを指した用語である。これが転じて、情報技術の世界では、複数のアプリケーションを組み合わせる行為をこのように呼んでいる。

 この言葉は、Yahooがユーザ向けマッシュアップ用ツールであるPipesを2007年に発表したことを契機に、ソフトウエア開発の分野で注目を集めている。現在、個人ユーザのWeb APIの利用拡大を背景にして、マッシュアップによるデータ連携機能を利用してビジネスアプリケーションを構築する動きが着実に進行している。

 特に、この技法を企業における情報システムやビジネスアプリケーションに適用させることを「エンタープライズ・マッシュアップ」と呼ぶ場合がある。こうしたデータ連携の登場よって、ソフトウエア開発およびソフトウエアに基づくサービス提供の形態は今後大きく変化し、利用者の側からも新しいビジネスアプリケーションが多数登場してくる可能性がある。なぜならば、マッシュアップを用いることで、利用者は特に高度なソフトウエア開発の知識がなくとも、Web上で利用できる既存のソフトウエア部品を組み合わせることによって、利用者自身にとって便利な機能を短期間に容易に開発し、公開することができるようになったからである18)

1-2 マッシュアップの例

 こうした可能性を語るわかりやすい例として、ネット上で宅配ピザの店を開設するという話を紹介する2)。ピザ窯のある小さなピザ店があるとしよう。その店は、味の評判はいいが、家族だけでやっているので配達ができない。FAX等の手段で時間を指定して注文してもらえれば、その時間に合わせて、おいしいピザを焼くことはできる。しかし、配達はできない。

 一方、別の人物が、インターネット上で仮想のピザ店を開くことを着想する。仮想ピザ店を開設するために必要な機能は、「ピザの注文を受けて指定された時刻にピザを焼くこと」に加えて、「宅配サービス」、「決済サービス」などである。宅配や決済のサービスは、宅配事業者や金融業者によって提供されている。したがって、「ネット上で客の注文を受け付けること」「ピザ窯を持つ店にピザを発注すること」「宅配業者に出来上がりの時間にピックアップを依頼すること」「注文主に配送されること」「決済を行うこと」はインターネットを介したデータの「要求」と「応答」の形式だけで実現できる。もちろん、「応答」の背後には、具体的にピザを焼くという作業が行われる必要がある。そこで、この部分は、前述の評判は良いけれど配達できないピザ店に実際のサービスを依頼する。

 彼はこれらの「要求」と「応答」を組み合わせた新しいサイトをオープンすることにより、従来のピザ店に「遠くまで配達できる」という付加価値をつけた、新しいネット上のピザ店を経営することができる。すなわち、新たに開設されるネット上の仮想ピザ店は、データの連携を操作するだけで、より広い範囲に住む人々に既存のピザ店のおいしいピザを販売することができることになる。このようなサービスの提供方法を模式的に表現したのが、図表1である。

 以前のインターネットの利用では、これら複数の「要求」と「応答」を、ユーザが手順を追って行う必要があった。ところが、後述するWeb API(Application Programming Interface)を利用すれば、この手順は、コンピュータソフトが自動的に実行してくれるようになる。このように異なる主体が提供する情報サービス(その背景にはそれぞれの提供する実際のサービスが控えている)の基となるデータの連携をコンピュータのプログラムのみで実施する技術がWeb APIを利用したデータ連携である。本稿では、これ以後、「マッシュアップ」を、このようにWeb APIを利用したデータ連携により何らかの情報サービスを提供するという意味で用いる。

go to top

2.Web APIによるデータ連携

2-1 インターネット上でのWeb APIの公開

 マッシュアップで提供されるサービスは、概ね情報資源と対応するWeb APIから構成される。まず、利用環境の大前提として、インターネットを介してWebにより情報の授受が行える一般的な情報処理環境を想定している。これらの要素技術を順に説明する。

 情報資源とは、データベースに蓄積されたコンテンツやデータである。Web APIによって提供される情報サービスの中身情報コンテンツやデータ、または何らかの情報処理アプリケーション機能(例えば情報検索など)がこれにあたる。これらの資源はインターネットを介して提供されることを前提としている。例えば、大規模な地図の画像データがこれに対応する。

 Web APIとは、こうした情報資源をネットワークを介して利用するためのインタフェース機能を提供するものである。その情報は、基本的には、XML(eXtensible Markup Language)と呼ばれる言語によって記述されている。この表現形式を用いることで、処理に必要な入出力をネットワーク上で流通できるテキスト形式の文字で扱い、タグと呼ばれる機能で情報資源の源となるデータの構造を表現する。情報の流通は、こうした枠組みにより柔軟に実現できる。図表1の例では、仮想的なピザ店をマッシュアップによって実現した。図表2にこの例における、ピザの予約時に利用されるXML文書例を表している。一定の書式で『ピザの種別』『配達時間』『注文主の氏名』『住所』等が記載されている。XMLでは、これらの項目は、〈PizzaName〉などのタグで指定されている。XMLによって、情報流通を行うためには、こうしたタグの意味を共通に規定する文書として、「XMLスキーマ」と呼ばれる文書を別に用意し共有しなければならない。

 仮想的なピザ店から、『ピザの種別』と『配達時間』すなわちピザを焼くタイミングは窯を持つ現実のピザ店に伝えられ、宅配業者には『配達時間』『住所』が伝えられる。XMLスキーマによって定義された一連のタグによって構造化された価格や配送先などの情報は、それぞれ必要な別のWeb APIに引き渡される。これらのWeb APIは、インターネットに接続された別のコンピュータの異なるプログラムに情報を送る。それらが、タグに囲まれた情報を解析し、配送や決済処理など必要な処理を実行する。このとき、複数の企業体(この場合は、ピザを焼く店、宅配業者、決済業者)が、この例で語るようなサービス連携を行うためには、仮想的なピザ店実現のためのXMLスキーマを共同で運用する必要がある。

2-2 マッシュアップツールと開発事例

 複数のWeb APIを利用してマッシュアップを行う場合、複数のWeb APIを組み合わせるソフトウエア開発環境が必要である。

 例えば、Googleは、「Google Web Toolkit」と呼ばれる開発環境を一般の利用者に提供している。こうした開発環境としては、Pipes(Yahoo! Inc.)、Mashup Center(IBM Corp.)、RoofTop(SAP AG)などが存在する。日本国内では、(株)NTTデータが提供するIntramartが同様の機能を提供している10)。これらの開発環境は、グラフィカルな操作画面を備え、Web APIなどを介して提供される情報資源の組み合わせを容易としている。

 図表3は、筆者らがこうしたツールを利用して試験的に作成したWebサイトの例である。独自に各地の海岸線における潮汐情報を計算し、そのデータをWeb APIを通じて公開するとともに、Googleマップが提供する地図情報のデータとマッシュアップを行っている。このサイトでは、地図サービスの情報と別のプロバイダーが提供する天気予報の情報もマッシュアップして表示している。このサイトは、Googleの提供するクラウドコンピューティング環境であるGoogle App Engine上で公開している。

 そのほかの類似事例としては、実際に起こっている環境問題の記事やコメントを収集するAPIと、その地域の地図情報を獲得するAPIを組み合わせて、環境問題に関する情報提供を行うサイトもある。また、地図情報と気象データを組み合わせて独自の地域気象情報サービスを提供したり、経路検索の結果を表示する情報提供機能と旅行代理店の提供する宿泊施設の情報を組み合わせて、ビジネスマンの出張を支援するサイトなど、多くの興味深い事例が登場している。

 大学の情報関連学部で習得するレベルのプログラミングの経験があれば、こうしたツールを利用してマッシュアップを行い、新しいサービスを公開することはさほど困難なことではない。このことは、すでに多くの人々がユーザレベルでニーズに即したシステムを比較的に容易に構築し、公開できるということを意味している6)

2-3 Web API発展の背景

 「マッシュアップ」のような技法が登場したのは、インターネットを介したWeb上でのAPIによるデータ連携という方法が、技術的に成熟してきた結果である。そこで、マッシュアップが登場するまでのソフトウエア工学の歴史的進展を、データやアプリケーションの連携という観点から簡単に振り返る。

2-3-1 分散オブジェクト指向技術の寄与

 マッシュアップを支える重要な要素技術の一つがWeb APIの進展である。この技術の成熟には、「分散オブジェクト指向技術」と呼ばれるソフトウエア工学技術の進化が寄与している。まず「オブジェクト指向」というソフトウエアの設計開発技法が1960年代に提唱され、それによって、ソフトウエアの部品化という考え方が定着した。さらに、このオブジェクト指向に加えて、ネットワーク上での利用を意図した言語が提唱された。1980年代に登場したJava言語はその代表である。1990年代に入ると、インターネットを利用した情報公開方法が急速に発達普及し、ネットワークを介して情報資源を共有するインターネットが一般社会に登場する。「ネットワークを意識したソフトウエアの部品化」という考え方に基づいて、「分散オブジェクト指向」というソフトウエア開発の技法が提唱された。1989年には、オブジェクト指向技術を標準化して普及を進めるため、OMG(Object Management Group)と呼ばれる世界規模の業界団体が設立され、分散オブジェクトを相互利用するための環境としてCORBA(Common Object Request Broker Architecture)と呼ばれる仕様の策定をおこなった。CORBAは、ネットワーク上に分散するソフトウエアの部品を結合してソフトウエアを開発するという設計技法である。

 このように、ソフトウエアの部品化という考え方およびネットワークを介在させたソフトウエアという二つの基本的な概念は、1990年代に確立したと言える。

2-3-2 Webサービス関連技術の寄与

 「分散オブジェクト指向技術」は、その概念が登場したときには、大変大きな期待を集めていた。しかし、開発工程の複雑さ、コンピュータの処理速度の問題などから1990年代には一般的に幅広く利用されるには至らなかった。その最大の理由は、CORBAではオブジェクト同士の通信のために、独自の通信手段を実装しなければならないという問題があった。

 これに対して、インターネットの世界で幅広く利用されている通信方式を利用しようという動きが2000年ごろから始まった。W3C(World Wide Web Consortium)と呼ばれる標準化団体によってSOAP(Simple Object Access Protocol)と呼ばれる仕様が策定された。SOAPは、Webを利用する環境における一般的な通信手段であるHTTP(Hypertext Transfer Protocol)を利用しているため、分散オブジェクト間で独自の通信手段を実装する必要がない。SOAPは、W3Cによって、「Webサービス」と呼ばれる技術分野における中核的な仕様として規定された。このWebサービスに関する仕様の体系が発達したことが、Web APIの利用環境を充実させていった。マッシュアップを実現するためには、Web APIの間で相互に情報交換が行われる必要がある。さらに、こうしたWeb APIによるデータ連携では、「Webサービス」で既定されているマシン対マシンの対話による相互運用の機能が必要である。Web API間での情報交換にこのSOAPを採用したことによって、より柔軟な形でソフトウエア同士の連携が図れるようなった。このことが、マッシュアップのような利用形態の促進につながったと言える。すなわち、アプリケーションソフトウエアの部品化とそのネットワークを介した利用、という二つの観点がより成熟し、一般の利用者の手の届くところまで達したと言える。

2-4 マッシュアップと他のWeb2.0関連技術との関係

 本節では、マッシュアップの概念をほかの情報通信分野の技術用語との関係で捉えてみたい。マッシュアップは、Web2.0関連技術の一つとして認識されている。Web2.0とは、2000年代中期以降におけるウェブの新しい利用法である。フリー百科事典「ウィキペディア(Wikipedia)」によると、この「Web2.0」という概念は、次のように説明されている。

 「ティム・オライリーによって提唱された概念。狭義には、旧来は情報の送り手と受け手が固定され送り手から受け手への一方的な流れであった状態が、送り手と受け手が流動化し誰でもがウェブを通して情報を発信できるように変化したWebの利用状態のこと」

 そこで、以下ではSOA、SaaS、WebサービスなどWeb2.0に関連する技術用語と「マッシュアップ」の関係について概説し、マッシュアップを中心とするWeb APIの利用動向を理解するための一助とする。

2-4-1 新しい設計思想におけるマッシュアップの位置づけ

 マッシュアップは、情報システムの構築にて新しい設計思想を実現するための具体的な方策の一つと言える。近年、サービスを共有するための情報システムにおいて、SOA(Service-Oriented Architecture)と呼ばれる設計思想が注目されている。SOAとは、「サービスという単位に基づいたソフトウエアの基本構造」である。ユーザーは、基本的に、ソフトウエアの提供するサービスをWebなどのコンピュータ上のインタフェースを利用して享受する。SOAにおける重要なポイントは、サービスを「利用する」主体が、必ずしも人間である必要はないということである。インターネットを介した異なるコンピュータがWebなどの一般的なインタフェースを介して、ほかのコンピュータのサービスを利用する場合もあり、先に述べた「分散コンピューティング」の形態そのものである。つまり、SOAとは、この分散コンピューティングをサービスという観点から定義している。SOAを実現するためには柔軟なデータ連携は不可欠であり、マッシュアップは、SOAというソフトウエアの設計思想を具体化する技法の一つである。ただし、マッシュアップはSOAを支援する一つの主要な技法と言えるが、必ずしもSOAそのものを意味しているわけではない。

2-4-2 マッシュアップとソフトウエア配布方式との関係

 ソフトウエアシステムを構築する際に、SOAと並んで、「SaaS(SoftWare as a Service)」と呼ばれる考え方も注目されている。これは、従来パッケージソフトなどで提供されてきた機能をインターネットとブラウザを通じ、サービスとして提供する、というソフトウエアの配布方式である。利用者は、ソフトウエアのライセンスを買い取るのではなく、利用高に応じてあるいは月額等の一定期間毎に、料金を支払う。SaaSを採用することの利点は、情報システムを柔軟に構成することができ、時流に応じた変更を俊敏に行えるという点にある。SaaSの考え方は、前節で説明したSOAという設計思想に基づいて、利用者の利便性の観点からソフトウェアを提供する方法と位置づけられる。したがって、企業情報システムの中で特にオフィス用の文書や帳票処理機能をSaaSによって支援するという形態をとり始めた企業が多い。

 Web APIは、SaaSのような環境を実現するための情報資源のインタフェースとして必要不可欠である。逆に言えば、SaaSにもとづいたソフトウエアシステムでは、マッシュアップに利用できるようなWeb APIが充実した環境が構築されるということである。必ずしも、それらはマッシュアップという形で組み合わせる必要はないが、SaaSによるソフトウエア提供という形態が今後世の中に浸透していけば、それに応じてマッシュアップに利用できるような情報サービスの素材が充実していくことになる。すなわち、マッシュアップは、SaaS環境を構築しようとするベンダーや企業内情報システムを提供する情報システム部門が、有効なアプリケーションを生み出すために利用する技法の一つである。

 例えば、現在、経済産業省が主導する形で、J-SaaSというプラットフォームが構築されている。既存あるいは新規のソフトウエアがこの上で利用できる。これまでに提供されているサービスとしては、既存のパッケージが形を変えただけのものがほとんどであるが、今後は積極的なマッシュアップを指向するようなWeb APIの登場も期待されている12)

2-4-3 マッシュアップとWebサービスとの関係

 2-3-2でも述べたが、Web APIとして、情報サービスを提供するという形態は、「Webサービス」と呼ばれる技術体系の中で規格化され成熟してきた。この体系は、米国ボストン市に本拠を置くW3C(World Wide Web Consortium)と呼ばれる団体が標準化を行っている1、9)。Webサービスの体系では、システムの機能は、階層化されて定義されている。そのなかで、特にマッシュアップにとって重要なのは、インターネット上で標準的に利用されているHTTP(Hyper Text Transfer Protocol)を利用して、Web APIの間でXML文書を交換するための標準的な通信プロトコルSOAPを規定している点である。SOAPの登場によってXML文書に関する通信を行う技術が進展したことは、Web APIを利用したデータ連携の技術の進展につながった。

go to top

3.マッシュアップ研究開発の動向

3-1 ビジネス・ソフトウエアにおける開発動向

 ビジネス・ソフトウエアとしてのマッシュアップに関する動向としては、まず、Web APIの利用が一般ユーザに急速に浸透しつつある。提供されるWeb APIの種別も増大し、それらを活用する環境が成熟してきた。よって、すでに実践的なソフトウエア開発の技法として、ある程度の地位を確立している。一方、多くの人に利用されているのは、主に大手のGoogleなどインターネットサービスプロバイダーが提供するWeb APIである。これによって、多くのマッシュアップサイトが利用者によって構築されている。

 こうしたマッシュアップの開発事例として、米国のマッシュアップポータルサイトであるprogrammableWeb.comによる調査結果を示す。同サイトでは、利用者が独自に開発したAPIや既存のAPIを組み合わせたマッシュアップサイトを登録するサイトである。マッシュアップサイトには、ここからリンクが張られている11)。ここに登録されているマッシュアップによって構築され公開されているサービスの数は、2009年初頭に約3600であったものが12月末現在で4500件を超えるまでに増加している。

 図表4は、こうした多くのユーザが開発したマッシュアップ事例の内訳である。どんなWeb APIを利用して構築されているかを調べたものである。多くはGoogleやamazonなどの企業サイトによって公開されているAPIを利用している。Googleマップの利用が約半数を占め、それにflickr、YouTube、amazon、twitterなどが続く。今後、ビジネス分野において、大手以外の提供するWeb APIの利用も拡大するかどうかが、注目される。

 次に、マッシュアップによる具体的なサービスの事例を挙げる。まず、ワンストップの行政サービスの実現を目指し、電子申請システムを統合しようとする開発事例がある。異なる行政機関による申請サービスをマッシュアップによって統合するためのものである13)

 また、機械部品のカタログ情報を提供する例もある。多種多様な機械部品は、その流通段階で膨大な量の商品カタログが主に印刷物として製作されている。製品情報の提供がWeb APIで行えれば、用途の異なる様々なカタログを共通の商品データベースから参照できる16)。そのほか、日本語で利用できるサイトでも様々なサービスが登場している17)

3-2 マッシュアップに関する研究開発

3-2-1 国際学会の発表例

 マッシュアップに関する研究開発の報告は、2005年頃から始まった。例えば最近の関連する国際学会発表の例としては、文献19)、20)などで、マッシュアップを利用して柔軟にビジネスソフトを構築する際の設計思想が論じられている。

 また、マッシュアップを支援するソフトウエア開発ツール等の研究例もある。例えば、文献21)は、多くのWeb APIが活用できる環境を想定し、営業部門の要員などプログラミングスキルの高くないビジネスパーソンがマッシュアップによってアプリケーションを構成する場合のコンピュータによる開発支援システムに関して論じている。

3-2-2 日本国内の研究開発事例

 日本国内における関連する研究事例をいくつか紹介する。マッシュアップの開発には、オブジェクト指向というソフトウエア開発の技法に加えて、「アスペクト指向」という観点を導入することが、生産性を高めるのに有効であるとされており、そのような視点を導入した開発環境の提案などがされている14)

 また、マッシュアップは、プログラミングのスキルが高くなくても、自分に必要な機能を構築できる点に特長がある。現時点では、実際のサービスの開発のためには、マッシュアップによるソフトウエア構築に必要とされる専門的知識と開発用のツールを使いこなさなければならない。このため、より簡潔なマッシュアップ開発技法の開発や、マッシュアップに際してコーディングが簡潔になるようなモジュール化の技法の提案などが行われている15)

3-2-3 EUの研究プロジェクト

 欧州における研究開発の事例も紹介する。「SecSE(Service Centric Software Engineering)」は、2004年から2008年まで4年間実施されたEUの研究プロジェクトであり、サービスを中心にアプリケーションを開発し、利用するための有効な方法やツールなどを開発することを目的として実施された。本プロジェクトは、全体で1520万ユーロ(約19億8千万円)の規模であり、その内920万ユーロ(約12億円)は、欧州委員会からの支出に拠っている2)

 また、2008年3月からは、FP7のもとで、FASTと呼ばれる後継プロジェクトが実施されており、2011年3月末まで実施される。その予算規模は、全体では550万ユーロ(約7億2千万円)で、内350万ユーロはFP7からの資金である22)

 ここに挙げた欧州のプロジェクトは、単なるWeb APIの活用というばかりではなく、より広範囲に、複数企業のサービス連携を目指すプラットフォームを構築するという試みである。今後のソフトウエア開発の方向性を「サービス」という観点で捉えて、ソフトウエア開発に必要なよりよい技法の開発を目指しており、ソフトウエアの「マッシュアップ」が含まれている。

go to top

4.エンタープライズ・マッシュアップに関する今後の動向

4-1 マッシュアップの有効領域

 マッシュアップは、特に企業情報システムにおける柔軟な情報サービスの構築という観点から期待されており、「エンタープライズ・マッシュアップ」という用語で語られている。以下では、Webマッシュアップの可能性を、特に企業情報システムの観点から考察する。

 企業における情報システムの観点から、マッシュアップの有効性は次のように説明される。情報提供サービスに関するニーズを図表5のように表現する。横軸に、必要な情報サービスの候補を羅列し、縦軸にそれぞれのサービスに対する潜在的な利用を取る。そのような情報サービスのニーズは、指数関数で近似できるような、長い尾を持つ。実際には、そのような潜在的ニーズは計測しにくいため、連続的な曲線が描けるわけではないので、図表5は、あくまで概念図である。

 一般に、企業組織においてシステムとして提供される情報サービスは、利用者数が多く、利用頻度の高いものとなる。これは、図では最も左側の領域にあたる。一方、マッシュアップによって新たな情報サービスを提供する機能を構築することは、図の真ん中の領域における情報サービスの潜在的ニーズに対応できる可能性があると言われている。Web APIとマッシュアップに代表される昨今のWeb技術は、組織内の情報サービス提供への対応の範囲を、比較的に安価に拡大する可能性を持っていると考えられる。

4-2 企業情報システムにおけるサービスの供給と提供

 図表6は、企業情報システムにおけるマッシュアップ利用の可能性を、サービスの供給と提供という観点から、4つの領域に分けたものである。以下では、文献6)で述べられている内容を参考に、マッシュアップの企業内での利用の可能性について考察する。

領域1:外部サービスの社外(顧客)への提供

既存のサービスがSaaS基盤などを通じてWeb API等によって提供されている状況を前提にして、企業が、何らかの付加価値のある情報を付加して外部に提供するという事業の領域である。

領域2:内部サービスの社外への提供

ある企業内で有効な情報サービスを外部に提供する場合。インターネットを利用した関連企業への情報公開など試みはすでに実践的に行われている。具体的には、例えば自社取扱商品の在庫情報の外部取引先企業への提供などが考えられる。今後、こうした情報提供がマッシュアップ可能なWeb APIとして提供される場合が増える可能性がある。

領域3:内部サービスの社内への提供

例えば、自社製品に関する技術情報を営業部門の人員に効率的に伝えるようなシステムの場合を指す。実際に、エンタープライズ・マッシュアップを標榜する新興の情報ベンダーは、すでにそのようなシステムの提案を始めている。

領域4:外部サービスの社内への提供

利用できるWeb APIなどの外部資源が豊富に提供されるような環境が実現されるとすれば、企業内の情報サービスを充実させるために、Web API等の形式で提供されるような外部資源の活用が進む。

 これらの分類の中で、特に領域1、と領域4の利用が拡大する可能性があると言われている。このようなニーズが高まっている背景には次のような要因がある。まず、企業内の既存のITリソースを柔軟に有効活用したいというニーズは高い。企業は、さまざまな目的でRDB(リレーショナルデータベース)などに情報を蓄積している。具体的には、顧客情報・製品情報・売買履歴などである。こうした情報は、Web APIによって内部からのアクセスが容易であり、マッシュアップなどによって新しい情報活用の可能性がある。

 一方、インターネット上に公開される情報サービスを、企業内で利用するという形態も、今後はより拡大するであろうと予測される。インターネット上には、企業活動にとっても魅力的なサービスが存在する。それらを積極的に取り込みたいというニーズは高いからである。また、個人・部門別に蓄積されている情報が、他者にとっても有意義なものであれば、それらを幅広い利用者に向けて提供するという活用の道も開けてくる。企業情報システムの運用によって提供される情報サービスのほかに、業務の遂行には企業内の個人や一部門内で限定的に利用されるデータベースも存在する。それらの存在を公開することで、社内における新たな活用の可能性がある。

 データ連携にしても、サービス連携にしても、当然のことながら、連携のためには一定のルールが必要となる。Web APIを利用する場合は、目的とする対象領域のXMLスキーマを、連携する関係者で、共通に規定し運用する必要がある。

go to top

5.まとめ

 本稿では、Web APIの活用の広がりを紹介し、それらを組み合わせるマッシュアップと呼ばれる技法を説明し、昨今のソフトウエア工学の先進的な動向の一面を述べた。

 現在、Web2.0やクラウドコンピューティングと総称される情報システムの利用形態が進展しており、ソフトウエア開発の分野では、SOAやSaaSと呼ばれる情報システムの設計思想が普及しつつある。そのような環境において、インターネットを介したデータやサービスの連携が、柔軟に行えるということは重要である。マッシュアップとは、Web APIを介してこれを実現する技術である。この用語そのものは、一時的な注目を集めるIT分野のキーワードに過ぎないかもしれない。背景には、Webを介して異なる組織が有するデータを有効に連携させるための枠組みが成熟してきたという経緯がある。このことは、今後、企業情報システムの開発・運用に関して一つの新しい潮流になると考えられ、ソフトウエア技術の動向を注目するに値する。今後、マッシュアップのような技法がビジネス分野で活用されるようになると、短期間で廉価に新しい機能が提供できるという特長が、特に中小企業における経営効率化に有効であると考えられる6、18)

 データの連携が何らかの付加価値を生み出すためには、価値のあるデータが蓄積されて、かつ、それがWeb APIなどの形式で利用できることが必要となる。そこで、マッシュアップによる新しいサービスの創出の振興施策としては、個別のビジネス領域において、データの蓄積を促すことがまず必要である。確かにデータベースの構築は、これまで多種多様な目的で実施されてきた。さらに、これを新しいサービスに結びつけるためには、再利用できる形で公開し、幅広い利用を促すことが求められる。

 さらに、特定のビジネス領域においてデータの連携が有効に機能するためには、その領域で共通に利用する「連携のルール」が必要となる。マッシュアップを利用するという状況では、これは、XMLスキーマの定義である。例えば、ある分野の製品の流通においてEDI(Electronic Data Interchange)を実施するためには、その製品に関して、各社で共同に利用することのできるXMLスキーマの開発が必要となる。そこで、利用拡大には、公開情報に関する規制緩和などの施策に加えて、業界団体などのデータ連携およびサービス連携の試みに対する支援策などが有効であろう。その際、スキーマの開発や利用の過程がオープンであるという前提がこの分野の技術革新にとって重要である。

go to top





1) W3C:http://WWW.W3c.org/

2) SecSE:Service Centric System Engineering、http://WWW.secse-project.eu/

3) 製造業XML推進協議会:http://WWW.mstc.or.jp/mfgx/index.html

4) 電子商取引推進協議会ECOM:http://WWW.ecom.or.jp/

5) 青木利晴編著、“Webサービスコンピューティング”、電子情報通信学会(2005)

6) 松本正雄編著、“Webサービス時代の経営情報技術”、電子情報通信学会(2009)

7) 米持幸寿、“サービス指向アーキテクチャ”、日経BP(2005年5月)

8) SE編集部、“API&マッシュアップメソッド”、翔泳社(2007年6月)

9) 藤井章博、“ユビキタスネット社会のコンテキストアウェアネス技術研究の動向と課題”、科学技術動向(2007年8月)、文部科学省科学技術政策研究所

10) Meriji de Jonge et al、“eServices for Hospital Equipment”、Service-Oriented Computing-ICSOC2007、Springer、LNCS 4749、2007

11) http://WWW.programmableWeb.com/

12) 経済産業省「SaaSむけSLAガイドライン」(平成20年1月)

http://WWW.meti.go.jp/press/20080121004/03_guide_line_set.pdf

13) 福井宏紀、岩田彰、若山公威、鈴木春洋、「マッシュアップ技術を用いた官民連携統合電子申請システムの提案」、情報処理学会研究報告CSEC、2007. 2007-DPS-130、2007-CSEC-36

14) 幸城祐樹、三村治朗、上田賀一.「アスペクト指向を用いたマッシュアップ構築支援システムの開発」、情報処理学会研究報告SE、2008. 2008-SE-159

15) 森雅生、中藤哲也、廣川佐千男.「マッシュアップ・リソースとマッシュアップ・グルー」、情報処理学会、WebDB Forum 2008、2A-1

16) 加藤貴之、佐久間勇樹、関戸亮介、いわさきゆうだい、「Web API 実践リファレンスブック」、毎日コミュニケーションズ、2007年5月

17) 藤井章博、「機械部品流通EAI向けAPIプラットフォーム」、情報処理学会研究報告、EIP44-3、2009年6月

18) 米国ハーバード大学法学部事例研究資料、「Mashups Interoperability and eInnovation」http://cyber.laW.harvard.edu/interop

19) Till Janner et. al. “Patterns for Enterprise Mashups in B2B Collaborations to foster LightWeight Composition and End User Development”, IEee International Conf. on Web Service, 2009

20) Alessandro Bozzon et. al“A Conceptual Modeling Approach to Business Service Mashup Development”, IEee International Conf. on Web Service, 2009

21) Hazem Elmeleegy et.al. “MashupAdvisor:A Recommendation Tool for Mashup Developmet” IEEE International Conf. on Web Service, 2009

22) FASTプロジェクトWebサイト http://fast.morfeo-project.eu/

23) 日本IBM、“エンタープライズ・マッシュアップ”、http://www-06.ibm.com/jp/provision/no59/pdf/59_article4.pdf



go to index