Oskie RPC is a simple RPC library and protocol for Ruby. Main features:
Network agnostic: You provide it with input and receive output using whatever transport mechanism you prefer. Typically this will be a TCP/IP connection.
Simple protocol: Though it has been developed for Ruby, the network protocol is extremely simple and should work well with any language that supports JSON encoded strings.
Easily modifiable: It was designed from the ground up to be modified both in code and in terms of protocol. Prefer Message Pack over JSON? Want to add compression? All of these and more are easy to accomplish.
Messages and Requests: Both messages (fire-and-forget) and requests (receive return values) are supported. This covers the most common forms of communication over a TCP/IP socket.
Bi-directional: Both ends of a network connection are on equal footing once a connection is established. This gives you great flexibility in designing your application.
Thread safe: Ruby threading has improved greatly over the last few years and is especially useful with JRuby.