departmentという変数を作成し、文字列「Sales」を割り当てます。
Dreamweaver 以降では、ユーザーインターフェイスが簡素化されています。 そのため、この記事で説明されているオプションの一部が Dreamweaver 以降には存在しない場合があります。 詳しくは、こちらの記事を参照してください。
Web アプリケーションについて
web アプリケーションとは、部分的または完全に未確定のコンテンツを含むページで構成された web サイトです。ページの最終的なコンテンツは、訪問者が web サーバーにページをリクエストした時にのみ決定されます。ページの最終的なコンテンツは、訪問者のアクションに基づいてリクエストごとに変化するため、この種のページは動的ページと呼ばれます。
web アプリケーションは、さまざまな課題や問題に対処するために構築されます。このセクションでは、web アプリケーションの一般的な使用方法について説明し、簡単な例を示します。
Web アプリケーションの一般的な用途
Webアプリケーションには、サイト訪問者と開発者の両方にとって多くの用途があります。以下はその例です:
コンテンツが豊富な web サイトで、訪問者が情報を迅速かつ簡単に見つけられるようにします。
この種の web アプリケーションは、訪問者が必要に応じてコンテンツを検索、整理、ナビゲートする機能を提供します。例として、会社のイントラネット、Microsoft MSDN(www.msdn.microsoft.com)、および Amazon.com(www.amazon.com)があります。
サイトビジターから提供されるデータを収集、保存、および分析する
以前は、HTML フォームに入力されたデータは、処理のために従業員への電子メールメッセージまたは CGI アプリケーションとして送信されていました。Web アプリケーションは、フォームデータを直接データベースに保存し、そのデータを抽出して分析用の Web ベースのレポートを作成することもできます。例として、オンラインバンキングページ、ストアのチェックアウトページ、サーベイ、ユーザーフィードバックフォームなどがあります。
頻繁に変更されるコンテンツを含む Web サイトを更新する
web アプリケーションにより、web デザイナーはサイトの HTML を継続的に更新する必要がなくなります。ニュース編集者などのコンテンツプロバイダーがwebアプリケーションにコンテンツを提供し、webアプリケーションがサイトを自動的に更新します。例として、Economist(www.economist.com)および CNN(www.cnn.com)があります。
Web アプリケーションの例
Janet は、1000 人の従業員を擁する中規模会社のイントラネットと Internet サイトの維持管理を担当するプロフェッショナルな web デザイナーであり、長年の Dreamweaver ユーザーです。ある日、人事部の Chris が問題を抱えて彼女のところにやってきました。HR は従業員フィットネスプログラムを管理しており、従業員がウォーキング、サイクリング、ランニングで 1 マイル移動するごとにポイントを与えています。各従業員は月間マイル数の合計を Chris に電子メールでレポートする必要があります。月末に、Chris はすべての電子メールメッセージを収集し、ポイント合計に応じて従業員に少額の現金賞品を授与します。
Chris にとって問題なのは、フィットネスプログラムがうまく行きすぎているということです。 現在、非常に多くの従業員が参加しているため、Chris は月末にメールが殺到しています。Chris は Janet に web ベースのソリューションが存在するかどうか尋ねます。
Janet は以下のタスクを実行するイントラネットベースの web アプリケーションを提案します:
従業員がシンプルな HTML フォームを使用して web ページでマイル数を入力できるようにする
社員の走行マイル数をデータベースに格納する
走行マイルのデータに基づいたフィットネスポイントを計算する
毎月の進捗を従業員にトラッキングさせる
月末に Chris がワンクリックでポイント合計にアクセスできるようにする
Janet は、Dreamweaver を使用して昼食時間前にアプリケーションを動作させます。Dreamweaver には、この種のアプリケーションを迅速かつ簡単に作成するために必要なツールが揃っています。
Web アプリケーションのしくみ
Web アプリケーションは、静的および動的な Web ページのコレクションです。静的 web ページとは、サイト訪問者がリクエストしたときに変更されないページのことです。web サーバーは、ページを変更することなく、リクエストしたブラウザーに送信します。対照的に、動的 web ページは、リクエストしたブラウザーに送信される前にサーバーによって変更されます。ページの変化する性質により、動的と呼ばれています。
例えば、フィットネス結果を表示するページをデザインし、特定の情報(従業員名や結果など)は、特定の従業員がページをリクエストしたときに決定されるようにすることができます。
次のセクションでは、Webアプリケーションがどのように機能するかについて詳しく説明します。
静的 Web ページの処理
静的 web サイトは、web サーバーを実行しているコンピューター上でホストされる、関連する HTML ページとファイルのセットで構成されています。
web サーバーは、ブラウザーからのリクエストに応答して web ページを提供するソフトウェアです。ページリクエストは、訪問者が web ページ上のリンクをクリックしたり、ブラウザーでブックマークを選択したり、ブラウザーのアドレステキストボックスに URL を入力したりすることで生成されます。
静的 web ページの最終的な内容は、ページデザイナーによって決定され、ページがリクエストされても変更されません。以下に例を示します:
<html>
<head>
<title>Trio Motors Information Page</title>
</head>
<body>
<h1>About Trio Motors</h1>
<p>Trio Motorsは大手自動車メーカーです。</p>
</body>
</html>
ページの HTML コードの各行は、ページがサーバーに配置される前に、デザイナーによって記述されます。HTML がサーバー上に配置された後は変更されないため、この種のページは静的ページと呼ばれます。
厳密に言うと、静的ページは必ずしも常に「静的」なわけではありません。 例えば、ロールオーバーイメージや Flash コンテンツ(SWF ファイル)を使用すると、静的なページに動きを与えることができます。 ただし、本マニュアルでは、変更されずにブラウザーに送信されるページを「静的ページ」と呼びます。
web サーバーが静的ページのリクエストを受信すると、サーバーはリクエストを読み取り、ページを見つけて、次の例に示すように、リクエストしたブラウザーに送信します:
A. Web ブラウザーが静的ページを要求します。 B. Web サーバーがページを検索します。 C. Web サーバーが要求元ブラウザーにページを返します。
web アプリケーションの場合、訪問者がページをリクエストした時点で、コードの特定の行が未確定です。これらの行は、ページがブラウザーに送信される前に、何らかのメカニズムによって決定される必要があります。メカニズムについては、次のセクションで説明します。
動的ページの処理
Webサーバーが静的Webページのリクエストを受信すると、サーバーはページを直接リクエスト元のブラウザーに送信します。ただし、web サーバーが動的ページのリクエストを受信した場合は、異なる動作をします。サーバーはページを、ページの完成を担当する特別なソフトウェアに渡します。この特別なソフトウェアをアプリケーションサーバーと呼びます。
アプリケーションサーバーはページ上のコードを読み込み、コード内の指示に従ってページを完成させ、その後、ページからコードを削除します。その結果、静的ページがアプリケーションサーバーから web サーバーに戻され、web サーバーがそのページをリクエスト元のブラウザーに送信します。ページが到着したときにブラウザーが受け取るのは、純粋な HTML のみです。以下は、処理の図です。
A. Web ブラウザーが動的ページを要求します。 B. Web サーバーがページを検索してアプリケーションサーバーに渡します。 C. アプリケーションサーバーは、ページから命令をスキャンしてページを完成させます。 D. アプリケーションサーバーが完成したページを Web サーバーに返します。 E. Web サーバーが完成したページを要求元ブラウザーに返します。
データベースへのアクセス
アプリケーションサーバーを使用すると、データベースなどのサーバーサイドリソースを操作できます。例えば、動的ページは、アプリケーションサーバーにデータベースからデータを抽出して、ページの HTML に挿入するよう指示する場合があります。詳しくは、www.adobe.com/go/learn_dw_dbguide_jp を参照してください。
データベースを使用してコンテンツを保存することで、web サイトのデザインと、サイトユーザーに表示したいコンテンツを分離できます。すべてのページに対して個別の HTML ファイルを作成する代わりに、提供したい情報の種類ごとに、ページまたはテンプレートを 1 つ作成するだけで済みます。その後、コンテンツをデータベースにアップロードし、ユーザーリクエストに応じて web サイトがそのコンテンツを取得できます。また、単一の引用元で情報を更新し、各ページを手動で編集することなく、web サイト全体にその変更を反映することもできます。Adobe Dreamweaver を使用して、データベースからデータを挿入、更新、または削除するための web フォームを設計できます。
データベースからデータを抽出する指示を database query と呼びます。クエリは、SQL(Structured Query Language)と呼ばれるデータベース言語で表現された検索条件で構成されます。SQL クエリは、ページのサーバーサイドスクリプトまたはタグに記述されます。
アプリケーションサーバーは、データベースの独自形式によってデータが判読不可能になるため、データベースと直接通信することはできません。これは、Microsoft Word 文書を Notepad や BBEdit で開いた場合に判読不可能になるのと同様です。アプリケーションサーバーは、データベースドライバーという仲介役を通じてのみデータベースと通信できます。データベースドライバーは、アプリケーションサーバーとデータベース間の通訳として機能するソフトウェアです。
ドライバーが通信を確立すると、データベースに対してクエリが実行され、レコードセットが作成されます。recordsetは、データベース内の1つまたは複数のテーブルから抽出されたデータのセットです。レコードセットはアプリケーションサーバーに返され、アプリケーションサーバーはそのデータを使用してページを完成させます。
以下は、SQL で記述された簡単なデータベースクエリーです。
SELECT lastname, firstname, fitpoints
FROM employees
このステートメントは3列のレコードセットを作成し、データベース内のすべての従業員の姓、名、フィットネスポイントを含む行を格納します。詳しくは、www.adobe.com/go/learn_dw_sqlprimer_jp を参照してください。
次の例は、データベースにクエリを実行してブラウザーにデータを返すプロセスを示しています。
A. Web ブラウザーが動的ページを要求します。 B. Web サーバーがページを検索してアプリケーションサーバーに渡します。 C. アプリケーションサーバーがページをスキャンして命令を検索します。 D. アプリケーションサーバーがクエリーをデータベースドライバーに送信します。 E. ドライバーがデータベースに対するクエリーを実行します。 F. レコードセットがドライバーに返されます。 G. ドライバーがレコードセットをアプリケーションサーバーに渡します。 H. アプリケーションサーバーがデータをページに挿入し、そのページを Web サーバーに渡します。 I. Web サーバーが完成したページを要求元ブラウザーに返します。
web アプリケーションでは、適切なデータベースドライバがサーバーにインストールされている限り、ほぼどのようなデータベースでも使用できます。
小規模で低コストなアプリケーションを作成する予定の場合は、Microsoft Accessで作成されたもののようなファイルベースのデータベースを使用できます。堅牢で業務に重要なアプリケーションを作成する予定の場合は、Microsoft SQL Server、Oracle 9i、MySQLで作成されたもののようなサーバーベースのデータベースを使用できます。
データベースが web サーバーとは別のシステムにある場合、web アプリケーションが迅速かつ効率的に動作できるよう、2つのシステム間に高速接続があることを確認してください。
動的ページのオーサリング
動的ページをオーサリングするには、HTML を記述し、サーバーサイドのスクリプトまたはタグを HTML に追加して、ページを動的にします。 完成したコードを表示すると、ページの HTML の中に言語が埋め込まれています。 したがって、これらの言語は HTML 埋め込み型のプログラミング言語と呼ばれます。 次の基本的な例では、CFML(ColdFusion Markup Language)を使用しています。
注意:CFMLサポートはDreamweaverから削除されました。
<html>
<head>
<title>Trio Motors Information Page</title>
</head>
<body>
<h1>About Trio Motors</h1>
<p>Trio Motors is a leading automobile manufacturer.</p>
<!--- embedded instructions start here --->
<cfset department="Sales">
<cfoutput>
<p>#department#ページにアクセスしてください。</p>
</cfoutput>
<!--- embedded instructions end here --->
</body>
</html>
このページの埋め込み命令は次のアクションを実行します:
変数の値「Sales」をHTMLコードに挿入します。
アプリケーションサーバーは次のページを web サーバーに返します:
<html>
<head>
<title>Trio Motors 情報ページ</title>
</head>
<body>
<h1>Trio Motors について</h1>
<p>Trio Motors は大手自動車メーカーです。</p>
<p>弊社のセールスページもぜひご覧ください。</p>
</body>
</html>
web サーバーはページをリクエストしたブラウザーに送信し、ブラウザーは次のように表示します:
Trio Motors について
Trio Motors は大手自動車メーカーです。
セールスページを必ずご覧ください。
サーバーで利用可能なサーバーテクノロジーによって、使用するスクリプトまたはタグベースの言語を選択します。Dreamweaver でサポートされるサーバーテクノロジーで人気の言語は次のとおりです:
|
サーバーテクノロジ |
言語 |
|
ColdFusion |
CFML(ColdFusion Markup Language) |
|
ASP(Active Server Pages) |
VBScript[VBScript] JavaScript |
|
PHP |
PHP |
Dreamweaver では、ページが動作するために必要なサーバーサイドスクリプトやタグを作成できます。また、Dreamweaver のコーディング環境で手動で記述することもできます。
Web アプリケーションの用語
このセクションでは、web アプリケーションに関してよく使用される用語を定義します。
アプリケーションサーバー
サーバーサイドスクリプトやタグを含む web ページの処理を web サーバーがおこなうために役立つソフトウェア。そのようなページがサーバーからリクエストされると、web サーバーはページをブラウザーに送信する前に、処理のためにアプリケーションサーバーにページを渡します。詳しくは、web アプリケーションの動作方法 を参照してください。
一般的なアプリケーションサーバーには、ColdFusion と PHP があります。
データベース
テーブルに保存されたデータのコレクション。テーブルの各行は 1 つのレコードを構成し、各列はレコード内のフィールドを構成します。次の例を参照してください:
データベースドライバー
web アプリケーションとデータベースの間でインタープリターとして動作するソフトウェア。データベース内のデータは、独自の形式で保存されます。データベースドライバーを使用すると、web アプリケーションは、そうでなければ解読不可能なデータを読み取り、操作することができます。
データベース管理システム
(DBMS、またはデータベースシステム)データベースの作成と操作に使用されるソフトウェア。Microsoft Access、Oracle 9i、MySQL などが一般的なデータベースシステムです。
データベースクエリー
データベースからレコードセットを抽出する操作。 クエリは、SQL と呼ばれるデータベース言語で表現された検索条件で構成されます。例えば、クエリでは、特定の列または特定のレコードのみをレコードセットに含めるように指定できます。
動的ページ
ブラウザーに送信される前に、アプリケーションサーバーによってカスタマイズされた web ページ。
レコードセット
次の例のように、データベース内の1つ以上のテーブルから抽出されたデータのセット
リレーショナルデータベース
複数のテーブルを含み、テーブル間でデータを共有するデータベース。DepartmentID 列を 2 つのテーブルで共有しているため、次のデータベースはリレーショナルです。
サーバーテクノロジ
アプリケーションサーバーが実行時に動的ページを修正するために使用するテクノロジー。
Dreamweaver 開発環境では、以下のサーバーテクノロジーをサポートしています:
Adobe® ColdFusion®
Microsoft Active Server Pages(ASP)
PHP:Hypertext Preprocessor(PHP)
また、Dreamweaver のコーディング環境を使用して、上記にリストされていない他のサーバーテクノロジー用のページを開発することもできます。
静的ページ
ブラウザーに送信される前に、アプリケーションサーバーによって修正されない web ページ。詳しくは、静的 web ページの処理を参照してください。
Web アプリケーション
部分的または完全に未確定のコンテンツを持つページを含む web サイト。これらのページの最終的なコンテンツは、訪問者が web サーバーにページを要求した時にのみ決定されます。ページの最終的なコンテンツは、訪問者の操作に基づいてリクエストごとに変わるため、この種のページは動的ページと呼ばれます。
Web サーバー
web ブラウザーからの要求に応答して web ページを送信するソフトウェア。ページ要求は、訪問者がブラウザーの web ページ上のリンクをクリック、ブラウザーでブックマークを選択、またはブラウザーのアドレステキストボックスに URL を入力したときに生成されます。
一般的な web サーバーには、Microsoft Internet Information Server(IIS)や Apache HTTP Server があります。