# Architecture advice for my grand ambition

**URL:** <https://www.ruby-forum.com/t/architecture-advice-for-my-grand-ambition/58717>\
**Category:** Ruby\
**Created:** [April 25, 2006, 8:19am UTC](https://www.ruby-forum.com/t/architecture-advice-for-my-grand-ambition/58717 "2006-04-25T08:19:32Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![russ](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/e36b37/32.png) [@russ](https://www.ruby-forum.com/u/russ)\
**Post date:** [April 25, 2006, 8:19am UTC](https://www.ruby-forum.com/t/architecture-advice-for-my-grand-ambition/58717/1 "2006-04-25T08:19:32Z")

</div>

. . . o.k., well maybe it’s not _that_ ambitious. The plan is to  
merge the rapid GUI-building speed of Runtime’s Revolution with Ruby,  
or at the very least Active Record as an intermediary layer for calls  
to the db for the desktop apps that I write in Revolution. In the  
long run I’d like to perhaps build an “external” that allows  
intermingling of Revolution code (called Transcript) and Ruby. I’ve  
built one production RonR app so I’m not totally clueless about Ruby  
and Active Record but I’m still looking for general architectural  
advice.

Issue #1: How to access Ruby? I can open sockets from Revolution so  
perhaps the simplest option would be to open a socket in rev and then  
have a daemon running on the socket that routes the calls to irb(?)  
and then returns the results. Another option is to embed a Ruby  
interpreter, an option the Pick Axe book describes. But this means a  
funky multi-layer bridge: Revolution\<—\>C code\<—\>Ruby. On the  
other hand would be nice if I could have a configuration file and a  
set of model files as in RonR. I guess I could alternatively set up  
an RonR system and then have it return Ruby output instead of HTML.

Issue #2: Where to to access Ruby? I could set things up so that  
each desktop app makes calls to a locally installed Ruby, or each app  
could make calls to the the same server running ruby. The latter  
seems to make more sense.

Any opinions appreciated.

Cheers,  
russ
