このページの本文へ

前へ 1 2 次へ

マイクロソフトのWeb開発ツールで中身も見た目もクールに第1回

ダメダメWebアプリからの脱却

Webアプリケーションをカイゼンせよ!

2010年05月28日 09時00分更新

文● TECH.ASCII.jp イラスト●野崎昌子

  • この記事をはてなブックマークに追加
  • 本文印刷

アズルトラベルはオンラインでのパックの予約サービスを大手に先駆けて投入した旅行会社。そんな同社のWebサイト開発を手がけているのが、AMWソフトウェアである。担当することになったWeb技術課の二人は見た目や使い勝手などを向上させようと、開発環境の選定を進めているのだが、そこはなかなかうまく行かないようで……。

登場人物

岩崎課長:Web技術課長。今回のWebサイトのリニューアルを統括する。プラグラマーあがりだが、知識がやや古いかも。

坂本:別のシステム会社から転職してきたプログラマーで、技術チームの現場をまとめている。個人でサイトも運営しているため、Web技術に明るい

オープニングトーク

岩崎課長:おーい。ついに先方から正式発注が来たぞ。パック旅行の予約を見せようとしたら、やれ見せたいプランは出てこないだの、やれ画像は拡大するたびにクリックが大変だの、そもそもケータイから使えないだの、お客さんからは散々な言われようだったみたいだよ。

坂本:確かにそうですよね。あそこはもう7年も前に作ったサイトですし、競合とかはもっとリッチなサイト作っていますよ。今どきWebの掲示板に毛が生えた……。

岩崎課長:おい!それをなんとかするのが、うちらの仕事だろ! 

坂本:す、すいません。

岩崎課長:ちゃんと、どういう開発環境で、どういう体制で、どういうWebサイトを作るのか、計画は立てたのか? ここまでネットビジネスが大きくなってくると、社運をかけるプロジェクトといえるんだぞ。個人のサイトみたいに、テキストエディタでスクリプト書くのとは、わけが違うんだぞ。

坂本:そうなんですけど、本格的なサイト構築はなにしろ5年ぶりなので、いろいろWebの動向も変わっていて、もっか勉強中なんです。昔はAJAXやらRIAなんて言葉もなかったし、データベース接続とか、開発環境もずいぶん変わっているみたいなんですよね。どうしよう。

岩崎課長:いずれにしても余裕はないぞ。来週までにはきちんとプロジェクトのプレゼンをやるんだぞ。

坂本:あっ、はい!(もう待ったなしだな……)

 生活のいろんな場面で、Webサービスのお世話になっていることが実感される昨今だ。朝起きて、天気を調べ、電車の運行状況を確認し、ニュースをチェック。SNSでのコメントをチェックしたり、ブログを更新したり、ゲームで暇つぶししたり。その他、旅行の宿や交通機関を予約したり、お買い物ですら、インターネット経由だ。もちろん、グループウェアや交通費精算、経費精算、営業日報などの業務アプリケーションもWeb化されている。こう考えると、Webアプリケーションに触れている時間が本当に長くなったことがわかる。1日中、Webブラウザを開いているといっても過言ではないかもしれない。

 このようにより生活に密着しつつあるWebアプリケーションの開発は、近年大きく変わりつつある。

最新Webアプリケーションの世界はなんだか新しい用語がいっぱいだ!

クライアントはUIのリッチ化が一気に進行

 Webアプリケーションは、クライアントのWebブラウザ側とサーバー側にそれぞれプログラムがあり、処理を分担することになる。クライアント側ではHTMLにJavaScriptなどのスクリプトで処理を記述し、画面を制御したり、データ入力を補助するという役割を負う。

 こうしたクライアント側のユーザーインターフェイスに関しては、そもそもWebページを構成するHTML自体が、画像とテキストを組み合わせた静的なページを前提としていたため、通常のWindowsアプリケーションに比べてはるかに貧弱な操作性しか実現できなかった。そのため、ドラッグ&ドロップができない、画面遷移のためにページをリロードしなければならない、あるいは入力したデータを保持する仕組みが難しいといった課題があったのだ。

 これに対して、従来はActiveX コントロールやJavaアプレットというプログラムをWebブラウザ上で実行する方法がとられていた。しかし、近年はJavaScriptを用いて、サーバーとの通信を非同期に行なうことでWindowsアプリケーションのようなスムースな画面更新を可能にするAJAX(Asynchronous JavaScript + XML)という技術が浸透し、使い勝手は劇的に向上した。マウスをドラッグして、地図の場所を移動したり、スケジュールの日時を指定するという操作感覚は、今までのWebアプリケーションにはなかった鮮烈な印象があった。

高い表現能力を持つマイクロソフトのSilverligh

 こうしたユーザーインターフェイスのリッチ化の流れは1つの大きなうねりとなり、RIA(Rich Internet Application)として結実しつつある。AJAXはもちろん、マイクロソフトのWPF(Windows Presentation Foundation)や、先日バージョン4が正式発表されたSilverlight、アドビ システムズのFlash、Adobe Flex、Adobe AIR、サン・マイクロシステムズのJavaFXなど各社の技術が日々進化を続けている。将来的には公開草案が出ているHTML5も、こうしたリッチインターフェイス化の方向性の1つになるだろう。今、Webアプリケーションを開発する際は、まさにこうしたリッチ化のトレンドを抑えないわけにはいかない。

サーバー側はCGIからの脱却が進む

 一方、サーバー側はWebブラウザからのデータを受け取り、複雑なビジネスロジックと大量なデータ処理を実行するという役割を負う。今までクライアント/サーバー型システムで行なっていたようなさまざまな処理を、Webサーバー上で動作するWebアプリケーションがデータベースと連携することで実現する。

 こうしたサーバー側の仕組みは、Perlなどで書かれたプログラムから直接コンテンツを生成し、HTMLとして出力するCGIが長らく使われていた。1990年代の掲示板のような初期Webアプリケーションの多くはCGIをベースにしており、イントラネット用のグループウェアなども基本はこうした技術を用いている。

 しかし、CGIのアプリケーションは概して処理が重く、開発効率が悪かったこともあり、HTMLにコードを埋め込むASP(Active Server Pages)、JSP(Java Server Pages)、PHPなどの技術が採用されるようになった。

CGIからASP、JSPなどへの移行

(次ページ、フレームワークの存在意義とASP.NETの概要)


 

前へ 1 2 次へ

この特集の記事
ピックアップ