Что Делать и Где
Клиентская среда (браузер) является передним краем работы приложения. В этой среде, к примеру, Вы отображаете HTML-страницы в окне и обслуживаете истории сессий HTML-страниц, отображаемых в браузере в течение сессии. Объекты этой среды, следовательно, обязаны иметь возможность манипулировать страницами, окнами и историей.
По контрасту, в серверной среде Вы работаете с ресурсами сервера. Например, Вы можете установить соединение с реляционной базой данных, распределить информацию между пользователями приложения или манипулировать файловой системой сервера. Объекты этой среды обязаны иметь возможность манипулировать реляционной БД и файловой системой сервера.
Кроме того, HTML-страница не отображается на сервере. Она запрашивается на сервере для отображения на клиенте. Запрошенная страница может содержать клиентский JavaScript. Если запрошенная страница является частью приложения JavaScript, сервер может генерировать эту страницу "на лету".
При разработке приложения JavaScript помните о разнице между клиентской и серверной платформами. Различия показаны в следующей таблице.
Серверы обычно (хотя и не всегда) являются высокопроизводительными рабочими станциями с быстрыми процессорами и возможностью хранения больших объемов информации. |
Клиенты часто (хотя и не всегда) являются настольными системами с маломощными процессорами и относительно небольшим объемом хранимых данных. | ||
Серверы могут быть перегружены при одновременном доступе тысяч клиентов. |
Клиенты часто - машины одного пользователя, поэтому можно передать часть нагрузки процессинга клиенту. | ||
Предварительная обработка данных на клиенте также может уменьшить требования к пропускной способности сети, если клиентское приложение может компоновать данные. |
Обычно имеются разные пути распределения приложения между сервером и клиентом. Некоторые задачи могут выполняться только на клиенте или только на сервере; другие могут выполняться на любом из них. Хотя нет какого-то определённого способа определить, что и где делать, Вы может следовать следующим общим правилам:
Основное правило - использовать клиентский процессинг (тэг SCRIPT) для следующих задач:
Проверка ввода пользователя; то есть проверка верности введённых в форму значений
Запрос подтверждения пользователя и отображение диалоговых окон или информационных боксов
Выполнение агрегатных расчётов (таких как суммирование или вычисление среднего числа) или иной процессинг данных, запрошенных на сервере
"Обусловливание" (условная обработка) HTML- Выполнение других функций, не требующих информации с сервера
- Обслуживание серий клиентских запросов
Работа с данными, распределёнными по нескольким клиентам или приложениям
Доступ к БД или файлам на сервере- Вызов внешних библиотек на сервере
- Динамическая специализация Java-аплетов; например, визуализация данных через использование Java-аплета
Использовать серверный процессинг (тэг SERVER) для следующих задач:
Служба JavaScript Session Management Service предоставляет объекты для сохранения информации, а клиентский JavaScript преходящ. Клиентские объекты существуют, пока пользователь имеет доступ к странице. Серверы могут объединять информацию от многих клиентов и многих приложений и могут сохранять большие объёмы данных в базе данных. Важно помнить обо всех этих характеристиках при распределении функциональности между клиентом и сервером.