From: Mark Watson Date: 2005-12-29T04:32:54+09:00 Subject: new project: Ruby Message System (RMS) I have relied on guarenteed delivery asynchronous messaging to build large scale systems for 20 years. I was surprised when I could not find something simular to Java's JMS for Ruby so I decided to build my own and release the server under a GPL license and the client libraries under a LGPL license. When I have code to release it will be in the usual place (www.markwatson.com/opensource). If I am reinventing the wheel, please let me know! I only plan on implementing what I need, but maybe when there is a public code base other people might contribute. This project is in the planning stage right now. Here are some rough notes: 1. unlike Java JMS, there is currently no planned support for publish and subscribe 2. the primary data structure of RMS is a shared collection of named message queues 3. there is currently no planned support for security: it is anticipated that enterprise applications will use RMS behind a firewall. very limited security will be provided by an optional configuration file that specifies allowed IPs for clients. 4. operations supported: create_queue(name) delete_queue(name) send_message(queue, message) register_listener(queue, a_listener) note: a_listener object must be able to respond to the message: receive_message(message) 5. sent messages are persisted using a database or a flat file and must be serializable 6. once a message is delivered to all registered listeners for a queue the message is deleted from persistent store 7. eventually, I would like to support transparent interoperability with ActiveMQ via stump so Ruby code could interoperate with systems written in different languages that use ActiveMQ. I would appreciate any suggestions, ideas, etc. Thanks, Mark