« EC仮移転 | メイン | 飛びルーミア製作中 »

2007年01月19日

Ajaxでサーバ負荷を大幅軽減? [DOM]

最近 Ajax というものを知って、かなり感動を覚えた。最近言葉だけは随分と聞いていたが、あまり興味を持っておらずそれが何か確認していなかったのだ。しかしひょんなことから Wikipedia の Ajax の項目を開き、驚愕した。

これこそまさに私が求めていた技術ではないか。

Ajax とは要するに、JavaScript を介してサーバとの通信を行う技術のことである。当初はデータ形式として XML が取り入れられていたためそのような名前が付いたが、最近では XML 以外でやり取りする方法も出てきている。詳しい解説は専門の記事に譲るとして、一体今までのものと何が違うかと言うと、何らかのアクションをするたびに毎回ページの書き換えを行う必要な無いのである。

今までの方法からすると、HTMLフォーム上の submit ボタンを押すとクエリパラメータと共に CGI 等が呼び出され、その 結果としてその CGI が吐き出す HTML を画面に書き出す。というのが一般的だった。毎回画面情報をサーバから出力しなければならず、システムが膨大になるほど、またクリック回数が増えるほど負荷が膨らみ、画面更新に伴うユーザレスポンスも低下した。

しかし Ajax を使うと、毎回画面情報を全て吐き出す必要は無い。必要なクエリ文字列と共にバックグラウンドで JavaScript から CGI 等を呼び出し、返ってきたわずかなデータを再度 JavaScript で受け取ることが出来る。あとは DOM で新たなノードとしてデータを出力するなり、更新するなり、自由自在だ。要するにデータの MVC で言うところの View 部分はほぼ全てクライアントサイドでやってしまおうと言う考え方だ。サーバ側の手間が大いに省け、ユーザレスポンスも大幅に改善する。まるで Window アプリケーションであるかのように Web ブラウザ上で操作が出来ると言うわけだ。それこそ Web アプリケーションの種類によっては、最初の一回だけ CGI から画面を書き出すだけで、あとは JavaScript で全て画面処理を行うことも不可能ではない。

長いこと趣味で Web アプリケーションを作ってきたが、最大のネックとなるのはそこだったのだ。より使いやすくしようとすればするほど一回あたりの出力情報が肥大化し、1回あたりの処理量が莫大になってしまうのだ。しかもそれらのほとんどは冗長でつまらなく、以前とわずかな部分しか変わっていない。

ECの合成倉庫を触ったことがある人は、1つのアイテムを出庫するたびに、毎回全ての倉庫データを読み込んでいたことにきっと気付かれただろう。しかし実際に変わっているのは、その出庫したアイテムわずか一つなのだ。

Ajax を使えば、アイテムを出庫するというデータベース処理のみをサーバサイドで行うだけで、あとの画面処理は全てクライアントサイドで行ってしまう。大げさに画面処理の全てと言っても、それはほんの一作業かそこらにしか過ぎない。倉庫側のアイテムを一個削り、ただそれを装備欄に加えるだけなのだ。なんという手間の短縮であろう!

しかし同時に多くの問題点も生ずる。まずは閲覧環境の問題。比較的最新のWebブラウザ(IE6~,Moz1~)でなくては動作せず、しかもJavaScriptが有効でなければならない。世界の3%程度の人には我慢してもらわないといけないわけだ。もちろん適切に代替手段を作ることは不可能ではない。しかし事実、それは開発工程を倍の長さにするに等しい。Projectが大規模になるにつれ、それらの人々を無視せざるを得なくなってくる。

操作の際に、かなりのクライアント・リソースを消費することも考慮に入れなくてはならない。一昔前のマシンなら、悲鳴をあげてしまう可能性もあるだろう。しかし考えてみれば、それは今までサーバが一様に請け負っていた仕事なのだ。少しはプレイヤー側に負担してもらうのも致し方あるまい。これまで何度も過負荷でサーバを追い出されてきた身なのだ。

さらにはセキュリティ的側面。Viewに関するロジックをまるごとクライアント・コンピュータに投げ出すので、そこでどのようなハックがなされようと、されるがままなのだ。受け取るデータは充分にサーバで検証して、不正データをはじき出さねばなるまい。人が送ろうが、マクロが送ろうが、結局はどちらもプレーンなテキストデータだからだ。

しかしこれらの点を踏まえた上でもなお、Ajax は素敵な技術だ。今までも Flash 等を使えば出来ない事もなかったが、これは新たなソフトウェアと導入せずとも大半のマシンで動かすことの出来る。そしてなにより、私自身新しい技術を学ぶためのコストを最小限で済ませることが出来る。これで負荷問題で一時頓挫していたカードゲームの開発も再開できるってものだ。

しかし、ついにいわゆる "Web2.0" が私の周りにも影響を及ぼし始めたんだなぁ・・・。しばらくは無関係かと思っていたけれども。

投稿者 : 13:43 | コメント (33)

コメント

Your article ねこトトラ: Ajaxでサーバ負荷を大幅軽減? appears to be very good. I think this is among the most vital information for me. I was looking at this blog site and I'm impressed. I can't wait to read far more from you because this is really a terrific web site. I will bookmark your weblog and check again here frequently.

投稿者 meg43tr44gi joe : 2011年10月02日 03:50

An additional issue is that video games are normally serious anyway with the most important focus on finding out rather than amusement. Although, there's an entertainment factor to keep children engaged, every game is generally designed to develop a specific group of skills or program, such as mathmatical or research. Thanks for your publication ねこトトラ: Ajaxでサーバ負荷を大幅軽減?.

投稿者 bhj4333tylf7 mae : 2011年10月02日 08:22

Hi, Thank you for this amazing blog post! I will bookmark ねこトトラ: Ajaxでサーバ負荷を大幅軽減?. Kind regards.

投稿者 text spy : 2011年10月07日 22:37

I have really learned result-oriented things by your blog site ねこトトラ: Ajaxでサーバ負荷を大幅軽減?. One other thing I'd like to say is always that newer computer os's usually allow more memory to be used, but they likewise demand more ram simply to perform. If an individual's computer can't handle much more memory and also the newest software program requires that ram increase, it might be the time to shop for a new Laptop or computer.

投稿者 Courier Insurance UK : 2011年10月09日 00:16

Hey, Thanks a lot for that fantastic article! I have to bookmark ねこトトラ: Ajaxでサーバ負荷を大幅軽減?. Kind regards.

投稿者 pursevalley : 2011年10月10日 11:08

I like article ねこトトラ: Ajaxでサーバ負荷を大幅軽減?. Thanks for sharing your ideas. I'd also like to convey that video games have been at any time evolving. Better technology and innovative developments have made it simpler to create sensible and interactive games. These kinds of entertainment games were not that sensible when the real concept was first of all being tried out. Just like other styles of technological innovation, video games as well have had to progress by means of many ages. This itself is testimony on the fast growth and development of video games.

投稿者 cheap courier insurance : 2011年10月11日 06:53

Back Links can be one talent which will certainly allow anyone in more than one way when it comes down to obtaining more interest from your current target audience and also publicity on a higher level. A major aspect which decides your current Seo success, aside from the actual content is your current link building and its quality. However the great point is, these two may work together to give you the ranks you need. In other terms, by using Back Links , you’ll end up being capable to create efficient content that draws in natural website link companions which tend to be appropriate and targeted in their own way. By building backlinks naturally, you’ll absolutely possess an advantage over the competitors and the general Seo process will become easier.

投稿者 edu backlinks : 2011年10月15日 15:57

After reading ねこトトラ: Ajaxでサーバ負荷を大幅軽減? I decided to post a nice note for author. Keep up the good work, I want to read soon similar articles. Also your site loads up fast!

投稿者 dermal fillers mill hill : 2011年10月15日 23:15

Things i have seen in terms of computer memory is that there are requirements such as SDRAM, DDR and many others, that must go with the specs of the motherboard. If the personal computer's motherboard is rather current while there are no main system issues, replacing the storage space literally normally requires under sixty minutes. It's among the easiest personal computer upgrade techniques one can visualize. Thanks for expressing your ideas in ねこトトラ: Ajaxでサーバ負荷を大幅軽減?.

投稿者 Steamboat Springs : 2011年10月20日 22:02

It is somehow great when you read an article that is not only informative but fun. I will bookmark ねこトトラ: Ajaxでサーバ負荷を大幅軽減?. I have been looking for information about this subject matter for days and yours is the best I have found. I trully liked your article.

投稿者 Play Free Games : 2011年10月20日 22:59

I have really learned new things through your website ねこトトラ: Ajaxでサーバ負荷を大幅軽減?. I’ll bookmark your blog and check again here frequently. Thanks for the points you have provided in ねこトトラ: Ajaxでサーバ負荷を大幅軽減?.

投稿者 credit card consolidate : 2011年10月23日 22:52

I've learned result-oriented things by means of your blog site ねこトトラ: Ajaxでサーバ負荷を大幅軽減?. One other thing I'd like to say is that often newer laptop or computer os's are likely to allow extra memory to get used, but they in addition demand more memory simply to perform. If your computer is not able to handle extra memory as well as the newest computer software requires that memory increase, it can be the time to shop for a new Personal computer.

投稿者 florida resorts : 2011年10月23日 23:36

I have seen loads of useful items on your site ねこトトラ: Ajaxでサーバ負荷を大幅軽減? about personal computers. However, I've got the judgment that lap tops are still not quite powerful enough to be a option if you frequently do things that require lots of power, such as video modifying. But for world-wide-web surfing, microsoft word processing, and many other prevalent computer work they are perfectly, provided you do not mind small screen size. Thanks for sharing your thinking.

投稿者 mesothelioma lawyer help : 2011年10月25日 08:18

You are a very clever individual!

投稿者 Shayne Sherman : 2011年10月31日 22:31

I've learned new things by your weblog ねこトトラ: Ajaxでサーバ負荷を大幅軽減?. I will bookmark your weblog and check again here regularly. Thanks for the guidelines you have shared in ねこトトラ: Ajaxでサーバ負荷を大幅軽減?.

投稿者 All these things : 2011年11月02日 04:06

An newsworthy language is worth observe. I conceive that you should pen statesman on this issue, it mightiness not be a inhibition matter but generally group are not enough to talk on such topics. To the next. Cheers like your ねこトトラ: Ajaxでサーバ負荷を大幅軽減?.

投稿者 liberty reserve : 2011年11月02日 08:54

Hi there, Thank you just for this wonderful post! I must bookmark ねこトトラ: Ajaxでサーバ負荷を大幅軽減?. Best wishes.

投稿者 Best tiling advice : 2011年11月08日 05:58

This article ねこトトラ: Ajaxでサーバ負荷を大幅軽減? appears to be great. I think this is among the most significant information for me. I was checking this blog and I am impressed. I can not wait to read far more from you because this is really a great site. I’ll bookmark your blog and check again here frequently.

投稿者 personal loan : 2011年11月08日 06:31

I simply want to tell you that I am all new to blogging and actually liked this web-site. Most likely I’m likely to bookmark your site . You amazingly have exceptional stories. With thanks for revealing your web page.

投稿者 Wayne Longworth : 2011年11月08日 17:41

A few things i have observed in terms of computer memory is always that there are requirements such as SDRAM, DDR or anything else, that must fit the specific features of the mother board. If the computer's motherboard is reasonably current while there are no computer OS issues, updating the storage space literally will take under a couple of hours. It's one of several easiest laptop upgrade procedures one can envision. Thanks for giving your ideas in ねこトトラ: Ajaxでサーバ負荷を大幅軽減?.

投稿者 mystery shoppers : 2011年11月09日 18:29

There are actually plenty of particulars like that to take into consideration. That is a nice level to deliver up. I offer the ideas above as general inspiration however clearly there are questions just like the one you deliver up where the most important thing will be working in sincere good faith. I don?t know if finest practices have emerged around things like that, but I am sure that your job is clearly recognized as a fair game. Both boys and girls really feel the impression of just a second’s pleasure, for the rest of their lives.

投稿者 Ofelia : 2011年11月11日 00:54

Magnificent goods from you, man. ねこトトラ: Ajaxでサーバ負荷を大幅軽減? I have understand your stuff previous to and you are just extremely excellent. I really like what you've acquired here, certainly like what you are saying and the way in which you say it. You make it enjoyable and you still take care of to keep it sensible. I can not wait to read much more from you. This is actually a tremendous ねこトトラ: Ajaxでサーバ負荷を大幅軽減? informations.

投稿者 Android Apps : 2011年11月16日 02:17

I got what you specify, thanks for swing up. Woh I am happy to uncovering this website finished google. Thanks For Share ねこトトラ: Ajaxでサーバ負荷を大幅軽減?.

投稿者 Android Apps : 2011年11月16日 04:53

In case you like to try playing games online, I might possess the answer. Online world is a large database, consider that. For instance you may begin to seek free games online. The main strategy is to search various combinations of words, according to what you belive would be a great game. In most cases you will discover the perfect game online for you. Additionally examine ねこトトラ: Ajaxでサーバ負荷を大幅軽減?, that has many important keywords.

投稿者 online marketing : 2011年11月17日 05:12

We love your current blog site ねこトトラ: Ajaxでサーバ負荷を大幅軽減?. Thank you just for this specific remarkable post! I am going to bookmark your website and also check out again right here often.

投稿者 business online : 2011年11月17日 21:27

Hey, Thanks a lot for this brilliant posting! I have to bookmark ねこトトラ: Ajaxでサーバ負荷を大幅軽減?. Many thanks.

投稿者 SEO Company South Woodham Ferrers : 2011年11月18日 11:10

We like your weblog ねこトトラ: Ajaxでサーバ負荷を大幅軽減?. Thanks a lot for this particular great article! I will bookmark your weblog and additionally check out again right here frequently.

投稿者 broker business loans : 2011年11月19日 22:07

I got what you intend, thanks for putting up. Woh I am gladsome to find this website through google. Thanks For Share ねこトトラ: Ajaxでサーバ負荷を大幅軽減?.

投稿者 App For Android : 2011年11月23日 03:09

I have seen plenty of useful items on your web-site ねこトトラ: Ajaxでサーバ負荷を大幅軽減? about pcs. Even so, I have got the feeling that mobile computers continue to be just about strong adequately to be a good option in case you frequently do things that need lots of energy, just like movie modifying. However for website surfing, word producing, and most other frequent computer work they are all right, assuming you never mind the display dimension. Many thanks sharing your opinions.

投稿者 improve your vision : 2011年11月23日 07:59

Your short post ねこトトラ: Ajaxでサーバ負荷を大幅軽減? is very pretty. I think this really is one of the most vital information to me. I have been checking out this unique website and I'm fascinated. I just can't wait to read a lot more from you because this is actually a wonderful website. I will book mark your weblog and also verify again here frequently.

投稿者 flooring Pittsburgh : 2011年11月29日 13:50

Truly valuable content. I've discovered your blog by Aol and I am really happy about the details you show within your blog posts. Btw your websites design is quite damaged with the MyIE2 browser. Will be truly fantastic if you ever can correct that. Anyway maintain in the good work!

投稿者 extraction thimble : 2011年12月20日 11:21

I used to be just seeking this info for a while. Immediately after six hours of constant Googleing, at last I acquired it on your site. I wonder what's the Google's issue that doesn't rank this type of insightful web sites closer to the major. Usually the top rated websites are full of rubbish

投稿者 canadian goose jakker : 2011年12月21日 20:52

Aw, this was a really nice post. In idea I would like to put in writing like this additionally – taking time and actual effort to make a very good article… but what can I say… I procrastinate alot and by no means seem to get something done.

投稿者 solar power : 2011年12月23日 10:52

コメントしてください




保存しますか?

(書式を変更するような一部のHTMLタグを使うことができます)