Где правильно выполнять бизнес-логику веб-приложения?
Если я вас правильно понял, то во втором варианте промежуточные данные лучше хранить в куках. Например создать объект со свойствами вычислений, и перекодировать его в json строку и засунуть её в куку. когда приходит запрос от клиента, то достаем куку, делаем вычисления, и результат опять в json -> кука.
расчеты производить на сервере, но на node.js, связь с клиентом через websocket
как вариант запихать все в flash, опять зависит от секретности алгоритма