I wonder what backend platform Opa is using for communication with the browsers.
My guess would be Node.js.
Opa has his own application server. No extra application is needed.
We have our own scheduler handling both networks events and client computations (we use cooperative threads). We wrote a protocol specific language and built an http server with it.
Have a look at the compiler source code (check appruntime/
and libnet/
for scheduler and networks libs) :
https://github.com/MLstate/opalang