Обратите внимание, что браузер в этом случае выступает в роли платформы, а именно виртуальной машины для выполнения кода JavaScript. К сожалению, с этой функцией браузеры справляются не идеально - все-таки изначально они были предназначены для простого визуального отображения HTML-страниц. Быстродействие JavaScript оставляет желать лучшего, нет поддержки многопоточности, по соображениям безопасности веб-приложения не могут полноценно работать с файлами на локальном диске.
Компания Google попыталась изменить ситуацию, выпустив Google Chrome - этот браузер позиционируется прежде всего как оболочка для запуска веб-приложений. Имея быстрый движок JavaScript и возможность создавать ярлыки для запуска веб-приложений, Chrome предлагает неплохой вариант для работы с SaaS (кстати, эта статья была целиком написана при помощи Google Documents и Chrome). Google также продвигает интересную технологию Gears, которая позволяет продолжать работу с веб-приложениями даже в случае временного отсутствия связи с Интернетом.
Некоторые вендоры выбирают другие технологии для создания клиентской части своих приложений. Из них наиболее интересны Adobe AIR и Microsoft Silverlight.
Обсудив варианты создания клиентской части SaaS-приложений, обратим внимание на не менее важный компонент - серверную часть. Часто выбор серверной платформы определяется исключительно вкусами вендора. Это может быть PHP, Java, .NET. При этом каждый разработчик должен решить для себя следующие вопросы:
Как обеспечить масштабируемость сервиса? (Желательно иметь возможность просто установить еще один сервер, когда существующие компьютеры перестают справляться с нагрузкой.)
Как наладить резервное копирование данных пользователей и где эти данные хранить?
Как справляться с физическими поломками серверов? (В идеальном случае пользователи не должны их замечать.)
Как обеспечить и поддерживать постоянное интернет-соединение для всех своих серверов?
Около двух лет назад появились сервисы, предлагающие готовое решение для этих задач. Их назвали PaaS (Platform as a Service). Фактически PaaS - это типичный продукт SaaS, предназначенный для самих вендоров SaaS. Нередко PaaS называют еще одним модным термином - cloud computing (вычисления в облаке). Под облаком здесь подразумевается Интернет, из которого волшебным (для пользователей) образом появляются результаты вычислений - сервисы.
На практике использование PaaS выглядит так: вендор покупает необходимое количество виртуальных серверов и дискового пространства и платит за использованные гигабайты и серверное время (вспоминается полузабытый термин "машинное время"). При увеличении нагрузки можно купить дополнительные серверы. Если нагрузка вырастает только в рабочие часы - можно использовать большее количество серверов только с 9:00 до 18:00.