What is the difference between the RMI Service Exporter and the HttpInvoker?
I know that the RMI uses RMI as underlying communication technology and the invoker standard http post. Any other differences worth noting?
RMI is a standard Java technology, portable in principle. You can easily interact with other Java applications.
Spring HTTP invoker is a proprietary technology. They, just like RMI, use Java serialization, but use standard HTTP protocol as the underlying network layer. On one hand this is less portable as you are limited to other Spring applications. On the other hand using standard HTTP protocol might be viewed as more portable, compared to binary RMI protocol.
RMI if you need portability across Java applications
HTTP invoker if you need transparent network transport, working nicely with firewalls, etc.
SOAP/REST web services if your API should work across different platforms/clients and it needs to work using standard HTTP protocol
Thrift or protobuf if you need efficient and portable binary protocol