Нужно знать, что такое серверное приложение и зачем его делают. Тогда возникают друие вопросы -- что нужно знать для решения конкретного класса задач.
Пожалуй, одним из общих знаменателей является middleware. Это и СУБД, и обработка транзакций, и пересылка сообщений, и COM / CORBA, и мониторинг, и многое другое. Трудно представить себе сервер без понимания сетей и хотя бы основных сетевых протоколов. Как правило, это паралельная работа многих процессов / задач. И, любая из этих компонент может отсутствовать (а то и все сразу)... Полезно также знать OS сервера, а то были уже прецеденты, когда любители Java напарывались в Windows. Хорошо бы представлять себе XML и стандарты с ним связанные.
А в общем -- лучше начать работать в какой-нибудь группе, делающей серверные приложения. И учиться у старших товарищей. Потому как они (приложения), в основном, большие. А научиться делать большие приложения по книге нельзя.