So backend and frontend must have a wholly compatible type system? Even good old WSDL only got 90% of the way there. Keep going with fancier approaches and you end up looking at CORBA and its ilk.
Yeah they should be capable of having a compatible type system. So if you change a field name on backend, frontend won't compile unless you fix it there too.