Катализатором всплеска интереса к трёхуровневой архитектуре является Интернет-коммерция. Мы снова говорим о тонком клиенте. Однако подразумеваем уже не алфавитно-цифровой терминал.
Электронная коммерция требует более фундаментальной поддержки, чем возможность выполнения скриптов на стороне сервера. Нужны поддержка транзакций, устойчивость к сбоям и способность справляться с массированной загрузкой. Интернет серверу иногда приходится обрабатывать сотни обращений в секунду, и уже это не в тестовых задачах, а в реальной жизни.
Каждое подсоединение отнимает на сервере баз данных от нескольких десятков (не так страшно) до нескольких сотен (это уже гораздо хуже). К тому же традиционная клиент-сервер схема чувствительна к потере соединения. Выход - оставить прикладной процесс рядом с сервером данных, чтобы иметь устойчивое соединение с последним и удерживать контекст транзакции. А клиент в этом случае используется только как экран. Знакомая картина, не правда ли? Ещё одним выходом могли бы стать очереди, но ведь они только передают запросы, а кто их будет обрабатывать? Опять необходим агент на стороне сервера.
Итак, всё, кроме визуализации, выносится на сторону сервера. Плюс стандартные требования экономии ресурсов, а ещё - поддержки любимых языков программирования.
С языками программирования отдельная история. Некоторое время тому назад в различных интегрированных оболочках, например Visual Basic, PowerBuilder и VisualAge for Smalltalk стали появляться возможности создания трёхуровневых приложений. Зачем это надо - толком никто не знал, поэтому отношение не только у разработчиков, но и у производителей было, как к забаве. На мониторы транзакций они походили только с точки зрения архитектуры, но не реализации - ни о масштабируемости, ни об устойчивости к сбоям речи не шло. На уровне рабочей группы это можно было использовать, но не более. Но безусловно полезным моментом было то, что отрабатывалась идея: как в визуальной среде создавать и отлаживать компоненты, которые могут выполняться удалённо.
То, что мы наблюдаем сейчас, можно было бы охарактеризовать следующим образом. Преследуются те же цели и задачи, что и при использовании мониторов транзакций. Новизна, во-первых, в учёте отраслевых стандартов (де-юре и де-факто), во-вторых - в поддержке со стороны распространённых сейчас средств разработки и принятого стиля разработки. И прежде, чем перейти к продуктам, поговорим о стандартах.
Назад | Содержание | Вперед