Architecture advice for my grand ambition


#1

. . . 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