関する最新の情報をお知らせする、国立国会図書館のサイトです。Interface)を公開している。図書館界においても、OCLCが検索用API(1)や、メタデータ間のクロスウォーク(CA1552参照)を行うことのできるAPI(2)を公開するなど、その動きが少しずつ広まっている。一方で、APIがどのようなものであり、何が便利なのかについては、日本の図書館界ではまだあまり知られていないのではないかと思われる。APIの公開の意義について考察する。APIとはそもそもAPIとは、あるプログラムやソフト(以下、単にプログラムという)が別のプログラムの機能を呼び出して使うためのインタフェースのことを指す。このAPIの役割を図に表したのが図1である。APIの役割あるプログラムAが、別のプログラムであるプログラムBの機能を使いたいとする。AはBのAPIを通じて、あらかじめ決められた手順で要求をすると(1:図中では丸囲み数字)、Bはその要求に対応して処理をする(2:図中では丸囲み数字)。Bはその結果を、APIを通じて、あらかじめ決まった形式でAへ返す(3:図中では丸囲み数字)。このように、それぞれのプログラムの間で仕事を依頼するために決まっている「手続き」がAPIである。APIを使えば、自分のプログラムに備わっていない機能を、自前で開発しなくても簡単に実現できる。逆に言えば、APIがない場合には、自前でその機能を開発しなければならない。そのため、文字を入力したり、その入力した文字を画面に表示したりするといった、多くの人が共通で利用すると考えられる機能については、OS等が様々なAPIを提供し、簡単に利用できるようになっている。これはインターネットを通じてウェブ上で展開しているサービスの機能を利用できる(図1の1、3のやり取りをインターネットを通じて行う)APIである。APIと呼ばれる種類のものである。APIへ表示させたい書籍のISBN等を渡すと(1:図中では丸囲み数字)、Amazon側で該当の書籍の情報を準備し(2:図中では丸囲み数字)、またインターネットを通じてXML形式でその書籍の情報(例えば書誌、カスタマーレビュー、表紙画像のURL、関連商品の情報等)を返してくれる(3:図中では丸囲み数字)、というように使うことができる。APIは、インターネットを通じて他システムの機能が容易に利用できること、その機能の多くが実サービスで使われており実用的であること、無料で公開されているものが多いこと、といった理由から、広く使われている。大きなメリットは、自分が必要とする機能を提供してくれるAPIが公開されていれば、同じ機能を重複して開発する必要がなく、開発にかかるコストを抑えることができるという点である。APIを通じてOpenID(4)のようなサービスを利用することによって、高度なユーザ認証機能を簡単に自分のシステムに実装することができる。個人では持ちえないようなデータを使うことができる点も大きなメリットである。衛星写真はもちろん、全世界の詳細な地図データを個人的に持っている人はほとんどいないと思われる。Maps(CA1607参照)のサービスを使うことによって、このようなデータをあたかも自分のシステムにあるかのように使うことができる。API提供する側にとってもメリットはある。自らが提供するサービスの利用者の増加が挙げられる。APIを使って構築された別のサービス経由の利用者が増えるためである。APIを使って作られた他のサービスの出来が良ければ、自らのウェブサイトの訪問者が減ることもあるかもしれない。自らのウェブサイトの利用者と、他のサービスを経由した利用者とを合わせれば、総体としては、利用が増えることが期待できよう。APIを使って構築された別のサービスからヒントを得て、自らのサービスをより豊かにするよう改良をすることもできるだろう。APIというサービスに積極的に関わることのできる手段を使うことによって、より良い(場合によっては本家のサービスよりもずっと良い)ユーザインタフェースを公開するケースもある。APIを組み合わせる「マッシュアップ」といった手法で、思いもよらぬ新しいサービスとして昇華することもある。これらを通じて、自分たちのサービスの使われ方、足りない部分を知ることができるのである。API公開の事例として、PORTAを紹介したい。国立国会図書館(NDL)では、日本国内の各機関が提供しているデジタル情報の保管庫「デジタルアーカイブ」にアクセスする総合的なポータルサイトとして、PORTAを提供している(E706参照)。2008年11月現在、NDLが提供しているものも含め29のデジタルアーカイブが、検索対象となっている。APIを実装している。外部システム等からPORTAに対して出された検索リクエストに対し、(1)検索対象のデジタルアーカイブの検索結果を提供する検索用API(E777参照)と、(2)同様のリクエストに対しメタデータを提供するハーベスト用APIである。(1)は2008年3月末からすでに提供を開始しており、(2)は2008年内に提供を開始する予定である。表1、表2はそれぞれ、検索用API、ハーベスト用APIがサポートしているプロトコルである。APIを通じてアクセスできるというわけではない。各プロトコルの仕様および利用できるデジタルアーカイブの詳細については「外部提供インタフェース仕様書」(5)をご覧いただきたい。(5)を元に筆者が作成。ハーベスト用APIのプロトコル出典:2008年11月時点で予定されている内容を元に筆者が作成。PORTAの活用事例PORTAの外部提供インタフェースの利用に際しては基本的には利用申請の必要はない(営利目的での利用の場合は利用申請をいただき、利用可否について判断させていただいている)が、利用状況を把握し、今後の運用に活かすため、目的等を教えていただくようお願いをしている。公開から半年経った2008年11月末現在で10件の連絡をいただいている。傾向としてはOpenSearch、OpenURL(CA1482参照)の利用申請が多い。PORTAへのリンク(OpenURL形式)を提供している(6)。電子書籍の検索エンジンを提供しているhon.jp(7)では、その携帯電話版サービスにおいて、GPSから取得した利用者の位置情報と、OpenSearchでPORTAから取得したISBNを使って、利用者がいる付近の書店の在庫情報を検索し、紙の書籍の販売へと誘導するようなサービスも行っている。対象とした検索用のリンク(OpenURL形式)を掲載している例がある(8)。APIのメリットをもう一度振り返ってみたい。APIを利用する側のメリットとして、開発コストの低減、外部データの利活用という点を挙げた。APIのひとつと言えるのではないだろうか。APIを提供する側のメリットとしては、利用者の増加、サービス改良のヒントといった点を挙げた。これも、図2に見るようにPORTAウェブサイトの利用が減ることなく、外部提供インタフェース公開後はその利用分が単純に上乗せとなっている。活用事例で紹介したように、様々な形で利用が行われている。API公開には以下の2つの大きな意味があると考えられる。APIの提供によって、PORTAでコンテンツを提供する機関と利用者との間の「取引コスト」を低減できたことである。PORTAを提供しているNDLは、PORTAにコンテンツ(個々のデジタルアーカイブ)を提供している各機関に成り代わる形で、各コンテンツにアクセスできるAPIを提供している。APIを利用するだけで、各機関のコンテンツを利用することができる。APIを利用して、他機関と連携することも可能になっている(9)。PORTAが名前の由来のとおり、コンテンツの提供者と利用者、またコンテンツの提供者同士を結ぶ「入り口」、「門」の役割を果たしていると言えよう。APIの公開によるデータ利活用促進の先例となったことである。APIを公開する際の参考例の1つとして見ていただけよう。APIを通じてそれらと連携できる。利用者によるマッシュアップも可能となる。APIに関する情報を提供していきたいと考えている。APIの公開は義務ではない。関連情報(レファレンス協同データベース)各地の図書館等の被災情報等について(外部リンク)saveMLAKTwitterでの情報提供を行っています。目次をRSSで配信しています。