Webシステムは、サーバーサイドとクライアントサイドの役割分担によって成り立っています。
Webにおけるクライアントサイドとは、Webブラウザーのことで、サーバーに対してリクエスト(要求)を送信したり、サーバーから受け取ったHTMLを表示したりします。対するサーバーサイドは、クライアントサイドからの要求に基づいてデータを加工したり、保存したりする役割を担っています。
サーバーサイド技術の具体例
単純にHTMLを表示するだけのWebサイト(静的HTML)であれば、サーバーサイドはクライアントサイドの要求に基づいてHTMLやCSSなどを送信するだけですが、Webシステムではほとんどの場合、何らかのサーバーサイド技術を利用して作られています。
サーバーサイド技術とは、サーバー上で動くPHPやPerlなどのプログラムや、データベースのことです。たとえば、宿泊予約サイトでは、ユーザーが入力した日付情報をサーバーに送信すると、サーバーサイド技術であるデータベースから空室情報を検索して結果を返したり、ユーザーが入力した情報をデータベースに格納して予約情報として保存したりしています。
サーバーサイド技術は、検索エンジン、CMS、ブログ、掲示板、ショッピングカート、SNSなど、さまざまなWebシステムやWebサービスで使われています。
サーバーサイド技術を選択するポイント
ここまでの説明を聞くと、「プログラムはサーバーサイドで動かすもの」と思うかもしれませんが、ページの表示内容を部分的に書き換えるような簡単な処理であれば、JavaScriptやFlashなどのクライアントサイド技術だけで実現できます。
サーバーサイド技術を使うのは、入力されたデータをデータベースなどに保存して加工したり、保存したデータを取り出してメールで自動送信したり、といった、クライアントサイドだけでは実現できない処理がある場合です。
どのようなサーバーサイド技術を使えるかは、サーバー環境に大きく依存します。安価な共有レンタルサーバーでは、データベースが使えないことや、使用できるプログラミング言語が少ないこともあります。
実際の案件では、クライアント(顧客)から、「既存のサーバー環境を使用して欲しい」と指示されるケースはよくありますが、リリース直前になってから動作しないことが判明してもすでに手遅れです。スケジュール通りにシステムを納品・公開するためにも、リリースを予定しているサーバー環境で、必要なサーバーサイド技術が利用できるか、事前に確認しておきましょう。
著者:水野良昭
JWDA(一般社団法人日本ウェブデザイナーズ協会)理事。1968年東京都生まれ。商社7年勤務後、シリコンバレーに渡米。帰国後、自治体WEBサイトを構築。その後ISPにてグループウェアASP商品化。第13回 KSPベンチャー・ビジネススクール 準優秀賞受賞。同ビジネスプランにて、オンラインデスクトップ株式会社を設立。