in reply to lightweight SOAP for local applications
You can design your modules to interact with SOAP and without!
I made some modules to make some actions and added wrappers Client and Server.
On development time you test your modules with a single script, if now you don't need SOAP, it's ok! At future when needs to implement SOAP lowest changes are needs...
* You don't really need login/test/auth, but I think it's good for security.
**SOAP::Lite design permit you to use remote modules similar local modules (with some restrictions, see doc for autodispatch)