アットマーク・アイティ @IT@IT自分戦略研究所QA@ITイベントカレンダー+ログ
 @IT > Webアプリケーション(Apache/Perl)統合開発環境の開発
 
@IT[FYI] 企画:アットマーク・アイティ 営業企画局
制作:アットマーク・アイティ 編集局

掲載内容有効期限:2005年9月30日

 
Webアプリケーション(Apache/Perl)
統合開発環境の開発

Webアプリケーションを開発する際の開発用サーバと運用サーバを統合し、効率的な統合開発環境の構築を目指す


「Webアプリケーションの開発をどうするかという問題に取り組んだユニークな応募です。アプリケーションサーバを使ってWebアプリケーションの開発を行っている大手ベンダーとは別の形で、もっと多くの人が簡単に開発を行えるというニーズは小さくないとは思います。商売としては厳しい分野だとは思いますが、なるべくオープンソース寄りの切り口でそうしたニーズを満たせるものとして採択しました」(酒井裕司PM)

  Webアプリの品質が低下する理由

 株式会社モビラス代表取締役の奥一穂氏と、共同開発者である同社の北條裕明氏が応募した「Webアプリケーション(Apache/Perl)統合開発環境の開発」は、開発専用サーバをわざわざ設置しなくとも、運用サーバだけで開発も運用も行えるという非常に利便性の高い統合開発環境を目指したプロジェクトである。

 通常、ApacheとPerlを用いてWebアプリケーションを開発する場合は、開発用のサーバと運用のためのサーバをそれぞれ用意。開発サーバでコーディングを行い、デバッグし、完成したプログラムを運用サーバにコピーしてデプロイするという手順が採られる。だが奥氏は、こうした手法について、「ライフサイクル全体としての効率が悪く、結果として品質が低くなってしまう」と指摘する。

株式会社モビラス代表取締役 奥一穂氏

 具体的な問題点について、奥氏と北條氏は次のように説明する。「まず第1に、この方法では開発サーバを作ってそれを維持しなければならないという負担が大きいことがあります。大きなプロジェクトでは問題はないかもしれませんが、小さなプロジェクトでは、開発を請け負った会社の側には大きな負担になってしまう。第2に、開発サーバを複数のプロジェクトで共用すると、運用サーバと環境が異なってしまうなどの問題が生じ、結果として開発サーバでは動いたのに、運用サーバでは動かないというトラブルが起きることが少なくありません。第3に、運用中のアプリケーションをアップグレードする際は運用サーバ上で手作業の修正をしていくため、そのたびにサービス停止のアナウンスを行い、そして実際に停止させてコードを適用するという作業を行わなければならず、非常に手間が掛かります」

  開発/運用サーバの統合で効率がアップ

 今回の応募プロジェクトは、こうした問題を抜本的に解決する方策として考え出された。統合開発環境は、次のような機能が実装されることになっている。

編集機能
CGIの編集をWebベースで行うことができる。これによって専用クライアントを開発する必要がなく、ローエンドの開発現場では思い切ったコストの削減になると期待されている。さらに後述するバージョン管理機能やデバッグ機能とも連動し、操作を統一した統合的なユーザーインターフェイスを実現する。
 
バージョン管理機能
1台のサーバに、運用版のコンテンツと開発版のコンテンツを共存させてしまう機能だ。バージョン管理モジュールはApacheの中に組み込まれ、外部からアクセスがあった際、CookieやIPアドレスなどで、そのアクセスが運用版に対するものなのか、開発版に対するものかを振り分ける。一般ユーザーからのアクセスは、そのまま運用版コンテンツに誘導される。開発者からのアクセスは一度、認証モジュールを経て、Webベースで開発版コンテンツの編集が行える統合開発環境へと接続される。コーディングが完了してデバッグも済めば、GUIの画面からコミットボタンを押すことによって瞬時にデプロイされる仕組みになっている。この間、サーバを停止させる必要は一切ない。
 
デバッグ機能
CGIをWebベースでデバッグすることを可能にする。GUIの画面からステップ実行を行ったり、ブレークポイントを設定するなど、通常のCGIデバッグで必要な作業はすべて実施することができる。

 実装言語として、サーバ側はPerl、クライアント側はJava、そしてApacheに組み込むバージョン管理モジュールはCで記述されている。

 この3つの機能を実現することで、開発・メンテナンス効率は劇的に改善されるのではないかと奥氏らは考えている。特に期待されているのは、細かい修正を頻繁に施さなければならないWebアプリケーションの運用現場での利用だ。「極端な例でいえば、ちょっとしたセキュリティホールやバグなどをつぶしたいが、開発を委託した業者はすでに存在しないといったケース。じゃあどうすればいいか? と考えると、通常は新たに開発者に委託し、まず開発環境をセットアップし、プログラムをコピーして……という手順を踏まなければならないのです。大変な手間とコストがかかる作業です」と奥氏は話す。

 しかしこの統合開発環境があれば、新しい開発者にユーザーIDとパスワードを渡すだけで済む。開発者はユーザーIDを使って統合開発環境にログインし、CGIを書き直し、運営者に電子メールなどで連絡すればいい。運営者側は開発版のCGIの修正が行われていることを確認し、コミットボタンを押せば、すぐに修正版をデプロイできるわけだ。「従来の手法であれば、1カ月以上も掛かるような仕事が、1日や数時間というオーダーに減らすことができる」(奥氏)というのである。これは極端なケースにしても、コンテンツプロバイダなど運用後の細かい修正が何度も必要な場合には、この統合開発環境が強みを発揮する可能性は極めて高いといえるだろう。

  開発のきっかけは自社ポータルの開発

 奥氏らがこの統合開発環境プロジェクトを始めるきっかけとなったのは、自社のポータルサイトを構築するときに開発で不便を感じたことだったという。奥氏と北條氏はもともと、Palm向けのWebブラウザとして有名な「Xiino」を開発・販売していた株式会社イリンクスのメンバーだった。だが同社のビジネスが行き詰まったことから、奥氏らは新たに株式会社モビラスを設立。Xiinoのライセンスの供与を受けて販売を継続し、同時にPtoP関連のソフト開発も開始した。

奥氏と同じモビラスでプロジェクトの共同開発者を務める北條裕明氏

 それが現在、ベータ版のリリースまでこぎつけている同社のハイブリッドPtoPサービス「Edio」である。Edioには、ブロードバンド環境に接続されている音楽再生端末であれば、どこにいても自宅のPCの中に入っている音楽を聴くことができる「Edio ミュージックサービス」と、携帯電話で撮影した写真をインターネット経由で自宅のPCに転送できる「Edio フォトサービス」、自宅にあるTVチューナー付きPCを通して外出先のPCからテレビを視聴できる「Edio TV サービス」の3つの機能がある。いずれもハイブリッドPtoPを使ったサービスで、ユーザーは一度、同社のポータルにアクセスして認証を行わなければならない。

 「そこで本腰を入れてポータルサイトの制作を開始したのですが、実際に開発作業を進めてみると、従来の開発環境は非常に不便だということがよく分かりました。そこで自分たちにとって使い勝手のいい統合開発環境を作ってみようと思ったのです」と奥氏は話す。ローエンドの統合開発環境としてはZopeなどが有名だが、特定の言語やフレームワークに制限されず、WebサーバをベースにHTMLやCGIを統合的に管理するような機能を実現しているものはほとんどない。「WebアプリケーションはJavaなどを使ってハイエンド・システム向けに行われているケースが大半。ApacheやPerlを使ったWebアプリケーション開発のツールはビジネスにはなりにくい。だから今まではセグメントとしてぽっかりと空いていたのだと思います」と奥氏は指摘する。

 そうなると酒井PMも本稿の冒頭で指摘しているように、ビジネスにはなりにくいという危惧もある。だが奥氏は、「だからこそオープンソースで開発を進め、使えるツールとしてブラッシュアップして行ければと思っています。商品としてこの製品でビジネス展開するよりも、あくまで使いやすいツールとして利用していくことでコストが下がり、生産性が上がっていき、そしてその結果、会社としても利益が上がっていけばいいかなと考えています」と話す。そして北條氏も「いろんな方に使っていただければありがたいし、それによって会社や個人のバリューアップにつながればさらに嬉しい。そしてモビラス自体の知名度が上がり、開発を進めているEdioなどにも注目が集まればと思います」と話すのである。

[関連リンク]
株式会社モビラス

「オープンソースによる開発実験プロジェクト」トップページに戻る
 


期間限定!特設掲示板
「オープンソースによる開発実験プロジェクト」に関連したご意見、ご質問などを自由に投稿・閲覧できます。
各プロジェクト担当者との意見交換も可能です。ぜひご活用ください。<2005年8月末まで>
[an error occurred while processing this directive]

各プロジェクトの技術詳細
確率モデルに基づくCDN を応用した障害耐性サーバーの開発
逆PROXY型Webサーバ拡張システム
共用著作物を利用したコンテンツ作成システムのためのフレームワークの開発
Webアプリケーション統合開発環境の開発
XAAフレームワークの拡張
効率的な情報アクセスを可能にするブラウザの開発

開発の進捗情報
2005年8月更新 New!
 開発者まとめアンケートと酒井PMの「総評」


2005年6月更新
 開発者中間アンケート「こんなはずじゃなかった」


2005年5月更新
 奥一穂氏が未踏「スーパークリエータ」に
認定

2005年4月更新
  開発者に素朴な質問

2005年3月更新
  プロジェクト終了を迎えた開発者に聞く

2005年2月更新
  開発者アンケート「開発のロードマップは?」

2005年1月更新
  開発者アンケート「オープンソースの思い」

2004年12月更新
  第2回採択プロジェクトの技術紹介

2004年11月更新
  ラストスパートをかける各開発プロジェクト

2004年10月更新
  開発者アンケート「醍醐味、辛いときは?」

2004年9月更新
  開発者「本音」アンケート

未踏プロジェクト関連リンク
未踏ソフトウェア創造事業

情報処理推進機構(IPA)


2004年第2回公募の最新情報

2004年第2回公募の結果

2004年第2回公募の概要

2004年第1回公募の最新情報

2004年第1回公募の結果

未踏ソフトFAQ

@ITの未踏/IPA関連記事
IPA調査で判明、「外部委託で組み込みソフトの品質低下」

組み込み版スキル標準で開発者の仕事はどうなる?

IPAがスーパークリエータを認定、「末恐ろしさを秘めている」

ITSS Ver.2はユーザー本位? IPAが2006年3月に公表へ

オープンソースを評価する「共通言語」、IPAが新手法を公開

IPAの脆弱性届け出制度、初年度の成果は

IPAの合意でマレーシア人技術者が急増する?

「組み込み版ITSS」策定でエンジニアが大移動?

IPAの新組織「SEC」で“日の丸ソフト”の夜は明けるか

IPAが新センター設立、組み込みソフトの品質向上を目指す

「井の中の蛙」、新日鉄ソリューションズ会長が国内SIerに喝!

脆弱性情報はIPAに届け出、ベンダ調整の新ルール策定へ

世界を相手に戦う技術、IPAが発掘・育成

ITコーディネータからスーパークリエータが一堂に


</comment> <tr> <td bgcolor="#EEEEEE"><font size="2"><a href="javascript:KeepIt();"> <img src="/club/keepoint/images/ico_kpt.gif" alt="kee&lt;p&gt;oint保存" border="0" align="absmiddle" width="24" height="18">kee&lt;p&gt;ointで保存</a></font></td> </tr> <comment>

 
@ITトップ@IT Special インデックス会議室利用規約プライバシーポリシーサイトマップ