Как правильно реализовать веб приложение целиком на ajax?
Ну всё верно представляете, дальше гуглите single page apps.
С бэкендом всё примерно как вы расписали, на фронтенде понадобится заточенный под разработку SPA джаваскрипт-фреймворк (Ember, Angular, Backbone, React + Flux). Ну то есть можно и свой велосипед написать, но смысла нет.
Ну если говорить о самом простом методе реализации Real-time приложения, то тут можно обойтись обычными пулингами по таменгу типа setInterval(my_ajax_function(), 1000);
Но в идеале это делается через WebSockets. Посмотрите в сторону таких библиотек как Pusher или Socket.io