なずきWebAPI裏話

2009/12/14 よろずSEの戯言

  今回は前回の予告どおり、先日開催されたマッシュアップコンテストで提供しました、
なずきAPIの裏話を書こうと思います。

それは第5回マッシュアップコンテスト(以下MA5)が開催されるという情報が入った直後の事でした。私は毎回作品を応募していて、MA2、MA3で連続受賞した関係もあり、社内でマッシュアップ関係となると私に話が振られるという状況です(汗。

私は10月になずき推進に異動したので今回はもう話は来ないだろうから、ゆっくり賞金稼ぎネタでも考えようかなぁと思っていた矢先でした。

「NTTデータとして、なずきWebAPIを提供してくれないか?」

もうマッシュアップコンテストとは個人的に参加するだけだと考えていた上、異動したばかりで、なずきのSDKに関してもあまりよく解っていなかったので困り果てました。

REST形式のレスポンスであればURLパラメータを読み込んでXMLを出力するアプリケーションを作れば良いので、サンプルプログラムを改造してApache上で動作するアプリケーションの制作に取り掛かり、2,3日で何とか形にはなりました。

しかし問題は速度でした。本来クライアント・サーバ型で動作するなずきシステムを、1つのCGIアプリケーションで完結するように無理やり作りこんでしまったので、通常であればサーバが起動する時だけに実行すればよい初期化処理なども、CGIへのリクエスト毎に実行される状態になってしまったため、なずきWebAPIを利用した
アプリケーションを作成された方ならお分かりになると思いますが、1リクエストに対してレスポンス時間が10秒近く掛かるという結果になってしまいました。

ただMA5の開催までにAPIを間に合わせなければならなかったので、クラサバ型でCGIを作り直すということもできず内部で相談しました。

で、「そんなに利用されることは無いだろうし、まぁいっか」という結論になりました。

開催が始まってWebAPIの公開が始まってみると、予想をはるかに超える利用申請がありまして非常に嬉しかった反面、開発期間の関係で速度を犠牲にしてしまった事が残念でなりませんでした。さらにはMA5の最優秀賞がなずきWebAPIを利用してくださったので、なおさら速度に関して改善できなかった事が残念でした。

もっと言うと本来REST形式のデータはUTF-8で返すのが本道なのにSJISで返しているという邪道な事もしていますが、まぁこれは目を瞑るとしても速度の問題は何としても改善したいと考えています。

皆様からご要望があればWebAPI速度改善プロジェクトが立ち上がるかも???
次回はよろずSEの日々を綴ろうかと思います。

Yahoo!ブックマーク  Googleブックマーク  はてなブックマーク  del.icio.us  newsing