Шаблоны архитектуры корпоративных приложений Мартина Фаулера - хорошее начало.
Пример кода на Java и .Net, но шаблоны выходят за пределы любого конкретного языка программирования. В нем рассматриваются такие темы, как, как реализовать сеансы на стороне сервера, шаблоны, используемые для создания инфраструктуры Model-View-Controller, шаблоны, используемые для создания инфраструктуры реляционного сопоставления объектов, и немного о том, как связать все это вместе.
Несколько других парадигм вошли в драку с момента ее написания, которые не рассматриваются, такие как внедрение зависимостей. Там нет покрытия баз данных NoSql и когда их использовать. В нем также отсутствует освещение более ретро-тем, таких как CGI, и более старых фреймворков / языков, которые использовали этот стандарт (например, веб-приложения, написанные в Small talk). Книга также предшествует широкому распространению таких фреймворков, как Rails. Транзакции обрабатываются адекватно, но покрытие не является полным, обращаясь к читателю к «Принципам обработки транзакций» Бернштейна и Новичка для получения более подробной информации.
Возможно, стоит дополнить чтение PEAA хорошим пониманием сокетов Unix и того, как это связано с возможностями многопоточности и разделяемой памяти, предлагаемыми языком, на котором вы программируете свое веб-приложение. Функции параллелизма выполнения Временная среда, в которой развернуто ваше приложение, будет влиять на то, как вы обрабатываете запросы и выполняете сеансы на стороне сервера. Если вам нужно напомнить себе о сокетах, прочитайте главу 12 «Иллюстрированной сети» Горальского. Если вы действительно хотите отвлечься, прочтите главы о работе с сетями и многопоточности в «Компьютерные системы: взгляд программиста» Брайанта и О'Халларона, хотя это может быть излишним. Просто знайте возможности параллелизма выбранного вами языка программирования и как он взаимодействует с сетевым уровнем.
Необходимо хорошее понимание протокола HTTP. Это заложит прочную основу для изучения других важных стандартов, основанных на HTTP, таких как REST и AJAX. Для более подробной информации о HTTP есть «HTTP: Полное руководство» Гурли и Тотти. Также есть W3C. Для ознакомления с REST взгляните на
http://www.infoq.com/articles/rest-introduction
Для полного обзора кистей HTTP и сокетов взгляните на Википедию.
Что касается удобства использования, я бы порекомендовал следующие две книги с книжной полки Pragmatic:
http://pragprog.com/titles/bhgwad/web-design-for-developers
http://pragprog.com/titles/jsaccess/design-accessible-web-sites
Наконец, в отношении безопасности хорошим началом может стать «24 смертных греха безопасности программного обеспечения» Говарда, ЛеБлана и Виеги. Часть 1 посвящена веб-приложениям, а часть 4 - безопасности сети в целом. Часть 3, посвященная криптографии, также хороша, если вы генерируете токены «запомнить меня», хранящиеся в cookie, чтобы пользователю не приходилось входить в систему каждый раз, когда они используют ваше приложение.
Мне неизвестна какая-либо одна «кулинарная книга», которая предоставит решение для каждой проблемы, с которой вы, вероятно, столкнетесь при разработке веб-приложения, но если вы прочитаете все вышеперечисленное, вы будете в достаточно хорошем положении.