[REBOL] Re: Rugby for Artists => was Re: Re: Medium+ Scale Developments
From: petr:krenzelok:trz:cz at: 13-Jan-2002 23:36
Don Cox wrote:
>On 13-Jan-02, Brett Handley wrote:
>>Say you have a script with some functions defined and the main
>>execution code. Rugby allows you to split that script up to run across
>>more than one Rebol process (usually on different machines). You could
>>put all the functions in one script and place that on a server machine
>>for example. Then your remaining script can call the functions that
>>now live on the other machine.
>But isn't this incredibly slow compared to running the function locally
hmm, it depends upon the speed of connection, but folks measured
something like 150 - 350 echo calls per second. Not all that slow imo.
But look, while someone is talking about distributed apps, Rugby is
really so easy to use, that you even't don't understand why is it called
- it is pretty natural.
Maybe you just want to ask, why should you use Rugby? OK, - you can use
Rugby in Webserver + database scenario. You have webserver,e .g. Apache
with Fast-cgi Rebol proces running. Apache receives some request, it
sends it to Rebol fast-cgi process, and you want to perform some
database query. But your database lays somewhere inside your company, on
a different machine, where you just installed Rugby server, and exposed
some functions for others to use, e.g. 'query-db.
Then all you need on your web-machine is:
do get-rugby-service tcp://remote-machine-ip:port,
or you can even use secured connection. It imports function stubs onto
your machine, so you can call Rugby exposed functions by they names as
if they were on your local (in our example Web-server) machine. You
simply don't care where the function code is, and what machine is it
performing on. You just call it, and get the result ...
uhm, maybe a bad example :-)
>>Your program code appears to have just called a function and received
>>a result. That's the cool bit.
>I would expect a noticeable pause each time.
Maybe ... but you just use the stuff upon the purpose, right? ;-) I hope
you just don't expect to call pixel change function located on the
remote machine and then complain the stuff is slow ;-) The best example
is really a database stuff - pass a query to the db, and receive the