Born out of frustration of various Java WS frameworks, the HttpRmi library is just 18Kb and contains service stub for hosting services in a Servlet 2.4 container and dynamic proxy for the client. It relies on simple transparent Java serialization between a HttpServlet and an UrlConnection, thanks to Java 1.3's dynamic proxies. Strictly speaking, it has nothing to do with RMI and the java.rmi.Remote interface, but it behaves very similar except it adds support for progress monitoring and cancellation.