このWikiは、OSDNの管理グループが運営しています。
OSDNを利用している開発者の方に、月ごとにインタビューを行っています。
DeNA のケータイ向けサービス「モバオク」「ポケットアフィリエイト」「モバゲータウン」などで利用されているケータイ向けウェブアプリケーションフレームワークをオープンソース化したものです。
Perl のウェブアプリケーションフレームワークで、ケータイ向けサービスに共通的に必要される処理 (絵文字変換、キャリア/端末の判別、端末の認証、3キャリア共通テンプレートエンジン)が簡単かつ高速に行えるという特徴があります。
このフレームワークはDeNA(および関連子会社)のモバオク、ポケットアフィリエイト、モバゲータウン、モバコレ などで長く利用されてきたものをオープンソース化したものです。
作者の川崎によると、自社サービスを開発する際、思いついたことをすぐに機能として投入したかったので、既存のフレームワークではなく、完全に自分が把握できて自由にいじりやすい独自フレームワークを作ることにした、という話でした。
正直、楽しく開発してきたので苦労した点はないと聞いています。
かわりに「工夫した点は?」と聞いたところ、
という回答でした。
DeNAのサービスではPerl、MySQL、Apache、FastCGI、Sennaなどのオープンソースソフトウェアを長く利用してきました。これらのソフトウェアの作者や貢献されている方に敬意を表します。DeNAとしても利用するだけでなく、何か貢献できないかと考えていたのですが、まずは我々が開発したフレームワークをオープンソース化してみようと考えました。
このフレームワークはケータイ向けのサービスを開発する際、とかく面倒な点をうまく吸収してくれますので、比較的簡単にケータイ向けサイトを作れるのではないかと思っています。ですので、MobaSiF のおかげでケータイサイトが増えてきたという状態になれば、本当にうれしいです。正直そこまでいくのかまだわかりませんが。
あとは細かい話ですが、DeNAで働くエンジニアが家に帰って個人所有のPCやサーバなどの上でサービスを作ってみたいなと思ったとき、会社で使い慣れたフレームワークを使いたくても、これまではルール上、持ち出すことができませんでした。今回オープンソース化したことで、家でも慣れ親しんだMobaSiFを使ってものづくりを楽しむことができるという面もあります。この点は、社内のエンジニアからも好評です。
おかげさまでいろいろなニュースサイトや、ブログで取り上げていただきました。とはいえ、オープンソース化自体初めてなので、この反響がどれくらいのものなのかは自分たちでもよくわからないでいます。実際はもうちょっと時間をかけて様子を見て、話を聞いたりしていかないとわからないのかなと思っています。
DeNA社内にはいくつかのサービスがありますが、実はフレームワーク部分だけを共通でソース管理しているわけではありません。フレームワークの構造自体、フレームワークとアプリケーションロジックをあまり厳密に分けておらず、サービスとして必要な処理をフレームワークに入れた方がいいと判断したら、各サービス勝手にフレームワークに手を入れるということをしてきました。この方が、各サービスで機動性と柔軟性を持って開発を進めることができるので。
そういう経緯があるので、オープンソース版とは独立して社内各サービスで利用しているものについてはそれぞれ開発が進んでいくと思います。サービスに依存しない機能は今後もオープンソース版に取り入れていけたらと考えています。
ウェブアプリケーションフレームワークですので、もちろんウェブアプリケーション開発者ですが、中でもケータイ向けサービスを作ろうとしている人がターゲットになると思います。また言語としてPerlを前提にしていますので、ある程度Perlに慣れた方がターゲットかもしれないですが、逆にMobaSiFを使うためにPerlを使い始めるという人がいたらそれはそれでうれしいです。
あとは、モバゲータウンなどDeNAのケータイサービスのシステムがどのようなコード、フレームワークで動いているのかに興味を持たれる方もターゲットになるかと思います。
MobaSiFのフレームワーク自体ではないのですが、近いうちにケータイ向け高速メール配信ソフトウェア(MTA = Mail Transfer Agent 的なもの)を関連ツールとして公開したいと考えています。日本のケータイキャリアの数は現状限られていますし、メールを受け取ってくれるキャリアのメールサーバの数も限られているので、送信側のサーバを増やせば高速にメールを配信できるというものではありません。また、あまり短時間に大量にメールを送りすぎると受信拒否されることもあります。かといってゆっくり送っていたら、必要なタイミングまでに多くのユーザにメールを送り届けることができません。そういった制約の中で、程よく高速にメールを送るためのソフトウェアです。
他に、NTTドコモ端末でHTTPSを利用したページで端末認証(iモードID取得)できない場合の代替機能なども必要ですし、先ほど述べた各サービスで取り込んだ機能を順次反映することなども考えられますが、その辺はマイペースでぼちぼち取り組んでいこうと思っています。
なんといっても、モバオクやモバゲータウン(会員数1053万人、月間ページビュー156億) などの大規模実サービスで長く利用されてきた実績です。
あとは、シンプルで把握しやすくて、アプリケーションが書きやすいフレームワークであることです。我々は多機能であることより、シンプルでわかりやすく、処理が軽いことの方が重要だと考えていますので。
2003年から開発しているので、当時のケータイをサポートできるように作ったところから始めてここまで来ています。ある程度古いケータイ端末のサポートはあきらめて、現在主に利用されているケータイにターゲットを絞れば、もっとシンプルな処理にできるのになぁとは思っています。具体的に言うと、ページと絵文字のエンコーディングをUTF-8に統一してしまうなどです。必要となるDBの容量も若干増えますが、だいたいのサービスの場合それほど気にしなくてもいい問題だと思いますし。
(まんまですが)ケータイサービス開発・運用エンジニアです。
MobaSiF開発者の川崎は、CentOS 4.xのサーバをMobaSiFの開発に使っています。Samba を使ってサーバ上のディレクトリを手元のPC(Windows XP)にマウントし、秀丸エディタを使ってソースやドキュメントを書いています。SSH接続するためのターミナルにはPuttyを使っています。
動作確認にはケータイの実機ももちろん使いますが、PC上にProxomitronというHTTPヘッダを変更できるプロクシソフトウェアを走らせUser-Agentをケータイのものに変更できるようにし、Internet Explorer 6からこのプロクシ経由でサーバに接続して行うことも多いです。
今のところ公開リポジトリなどは用意していないので、パッチなどmobasif at dena.jp というメールアドレスに送っていただければうれしいです。そして何より、バグなど発見されましたら、ご連絡いただきたいです。
サイトにいろいろ機能もあるようですが、今のところあまり使いこなせていないこともあって、あまり要望らしい要望はありません。
とりあえず、手っ取り早くソースを公開するのに便利で助かっています。また、OSI承認ライセンス 日本語参考訳もライセンスを検討する際にとても参考になりました。どうもありがとうございます。
(取材日:2008年6月2日)
今月のプロジェクトに戻る
[PageInfo]
LastUpdate: 2008-06-13 13:31:20, ModifiedBy: morihide
[License]
GNU Free Documentation License
[Permissions]
view:all, edit:members, delete/config:members