IBM®
本文へジャンプ
    Japan [変更]    ご利用条件
 
 
検索範囲検索:    
    ホーム    製品    サービス & ソリューション    サポート & ダウンロード    マイアカウント    
skip to main content

developerWorks Japan  >  Web development | Open source | Linux  >

作って学ぶ、今どきのWebサービス: 第1回 何はなくともCPANを知ろう

developerWorks
ページオプション

JavaScript を要するドキュメントオプションは表示されません


レベル: 初級

伊藤 直也, ITmedia

2007年 3月 30日

最近のWebかいわいでは、Webアプリケーション同士が連携してどんどん面白いサービスが生まれています。しかし、Web上のサービスは手元にソフトウェアも何も残らないので、どうしても雲をつかむような分かりにくさがあります。そこで本連載では、Webサービスを実際に利用/作成しながら、そういった「今どき」のテクノロジーを学んでみたいと思います。

今どきのWebプログラミング、教えます

この連載では今どきのWebプログラミングを解説していきます。Webプログラミングというと一見難しそうに思えますが、ライブラリが豊富な最近のスクリプト言語を使えば、かなり簡単に高機能なWebサービスが実現できます。本稿では、特にライブラリが充実しているPerlを使うので、各種Webサービスの開発も「実は結構手軽で簡単なもんだ」と理解していただけるかと思います。

今回から数回はその足がかりとして、Perlのライブラリ群CPAN * を使ったHTTPクライアントの作成、およびXML処理などについて解説していきます。




上に戻る


PerlでWebサービス!

Webサービス、という単語には主に2つの意味合いがあります。1つは「Web上のサービス」の意味。GoogleやYahoo!など、検索やニュースといった各種サービスを提供するサイトのことです。Webサービスを作る、というとなんだか開発のにおいがしますね。

もう1つは、XML Webサービス。インターネット上に配置された、プラットフォーム非依存のWebアプリケーションそれぞれが持つ機能を、XMLで組み合わせて新しいサービスを作る……何だかかっこいい響きですね。と、同時に何となく難しそうな印象も受けてしまいます。

そんな2つの意味を持つWebサービスですが、本連載ではその両者とも作ることにチャレンジしていきます。

さて、どちらのWebサービスを作るにしても、その手段を考えるに当たってまず思い当たるのは、どのプログラミング言語を選択するか、です。

Java、C#、PHP、Rubyいろいろありますね。でも、わたしは迷わずPerlを選択します。なぜならそこにPerlがあるから……では理由になりませんね。

ライトウェイトからヘビーウェイトまで幅広く対応できるから

Perlはご存じのとおりスクリプト言語で、ちょっとしたツールを作ったりするのには非常に高い生産性を発揮します。ほかの言語で十数行必要な処理が1行で書けてしまうなんてこともざらにあります。

わたしが働く会社 では月間3億ページビュー以上あるWebサービスをPerlで構築していたりします。Perlは数行のツールから億単位のトラフィックをさばくアプリケーションまで、幅広く対応できる言語です。

CPANがあるから

もう1つは、CPANの存在です。CPANのおかげでPerlプログラミングはとっても楽々です。

結構いろいろなものがPerlで作られている

最近よく耳にするWebサイトを挙げてみてください。Perlで作られているものが、結構あったりしませんか?はてなの各種サービスもそうですし、ブログツールで有名なMovable Type、それから最近流行のソーシャルネットワーキングサービスmixi、後、Amazon.comもPerlで作られている個所が結構あると聞いています。スケーラビリティを確保しつつスピーディーに開発していくのに、Perlは向いているんですね。




上に戻る


何はなくともCPAN

今どきのPerlプログラミングを体感する、そんなときに欠かせないのは CPAN の存在です。CPANは「Comprehensive Perl Archive Network」の略で、一言でいうと「Perlモジュール集積所」です (図1)


図1. Perlモジュール集積所CPAN
図1. Perlモジュール集積所CPAN

CPANには世界中のPerlプログラマー(Perlハッカーたち)の日々のHackの成果物が収められています。そこには、Perlハッカーなら誰でもモジュールを登録できますし、誰でもダウンロードして使えます。モジュールの検索 * や、ドキュメントの閲覧サービスも整備されています。モジュールのインストールも、後に説明するCPANシェルによって非常に簡単かつ効率的に行えます。

どんなモジュールがあるのか

CPANに登録されているモジュール(ライブラリ)にはどんなものがあるのでしょう?実は何でもありますが、例えば 表1 のようなものも、CPANからインストールして使えます *


表1. CPANに登録されているモジュールの例

拡大図

このように、特定の目的に特化したものからアプリケーションの基礎となるフレームワークまで、ありとあらゆるライブラリがCPANに登録されています。Perlで何かしたいときに、CPANを探せばだいたいのものが見つかります。日付処理などの、よくあるけど面倒な処理をいちいち書かなくても良くなったり、それこそXML Webサービスを簡単に扱うようにしたライブラリなど多種多様なものがあり、一度使い出すとやめられません。

C#やJava、Ruby、PHPなど、ほかの言語でもクラスライブラリやモジュールを使ってプログラミングをするのが当たり前の昨今ですが、ことPerlにおいてはそれらライブラリを充実させようというコミュニティーの動きが非常に活発で、CPANはほかの言語の開発者からも一目置かれる存在になっています。

CPANモジュールをインストールしてみよう

本連載ではこれから、さまざまなCPANモジュールを使っていきますので、ここでCPANモジュールのインストール方法を紹介しておきます。

CPANモジュールのインストールには、シェルのコマンドラインから利用できるCPANシェルを使うのが便利です。CPANシェルはroot権限で次のコマンドを実行して起動します。

# perl -MCPAN -e shell

すると、

cpan shell -- CPAN exploration and modules
installation (v1.7601)
ReadLine support enabled
cpan>

といったプロンプトが表示されます。このプロンプトで対話的にモジュールのインストールが進められるようになっています。例えばXML::RSSをインストールするには、

cpan> install XML::RSS

を実行します。すると、CPANシェルがCPANのミラーサイトからソースをダウンロードして展開、必要ならコンパイル、テスト、ライブラリディレクトリにインストールといった一連の作業をまとめて実行します。

インストール以外にも、 表2 のように便利なコマンドがあります。より詳しい使い方はヘルプを参照してください。


表2. CPANのコマンド

拡大図




上に戻る


次回は

CPANモジュールのインストールも終わりましたので、次回は手始めに、PerlにおけるWebプログラミングの要ともいえるLWP(Lib WWW Perl)を用いた、HTTPコンテンツをPerlでHackする手法を解説していきます。




上に戻る


このページで出てきた専門用語

CPAN
「しーぱん」と読みます(まれに「くぱん」と読む人もいるようです)。
モジュールの検索
search.cpan.org から検索することが可能です。
例えば表1のようなものもCPANからインストールして使うことができます
うち幾つかは、Perlの標準モジュールとしてPerlの配布パッケージに含まれています。


参考文献



著者について

伊藤直也,ITmedia




記事の評価


サイト改善のため、ご意見をお寄せください。こちらのフォームからお願いいたします。



はいいいえわからない
 


 


12345
不充分・不完全である大変素晴らしい
 


この記事を共有する

はてなブックマーク はてなブックマーク livedoorクリップ livedoorクリップ del.icio.us del.icio.us Buzzurl(バザール) Buzzurl(バザール) Choix! Choix!
Saafブックマーク Saafブックマーク FC2ブックマーク FC2ブックマーク MM/memo MM/memo ニフティクリップ ニフティクリップ Yahoo!ブックマーク Yahoo!ブックマーク
CZブックマーク CZブックマーク newsing newsing




上に戻る


    日本IBMについて プライバシー お問い合わせ