we might be abit digressing... progress is a legacy database and programming language, that's far from cutting edge, that's just the reality and it's nothing new.
the way i see it is that - ui's should definitely use web technologies i.e. javascript/html/css regardless if it's a java, python, c# etc. application. there's no advantages, only disadvantages to using fat clients these days.
in my opinion there's no need for middleware whether it's node.js, php etc. the entire ui can be done in javascript making calls to an appserver running the business logic and there's plenty of good javascript libraries/frameworks (that was my approach when i wrote breadjs that will be open sourced soon). middleware configurations will die out eventually, i think.
in regards to a server, unlike clients i don't think servers should run on $5 dollar hardware (although i bet you can probably build a cool cluster project with raspberry pi) and for servers, unix/linux and windows is pretty adequate.