On Mon, Dec 24, 2012 at 7:15 PM, Carlo E. Prelz <[email protected]> wrote: > Subject: Re: Advice for simple client/server application > Date: Tue 25 Dec 12 02:20:48AM +0900
> The amount of increased understanding is directly proportional to the > amount of suffering involved ;-) :-) > My personal experience of inter-process-communications is that of: > > 4) reading a bit about CoRBA and being disgusted about that > committee-smacking stuff (I still have a book somewhere: anybody > wants to buy it?) > 4 and 5 (as well as a myriad of other more or less successful > solutions that I was spared), on the other hand, are object-oriented > inter-process communications. > > CoRBA pretended to be language-independent, and an awkward crock was > the result. Sorry, I have to intervene here: CORBA does not deserve such a bad reputation. It *is* language independent which naturally introduces some level of complexity. But, for example, IIOP is pretty well done since it especially allows for small message sizes - much smaller than what is needed for a WebService SOAP request and response. For WAN communication this is an advantage. > DRb, on the other hand, is Ruby-only (and made in Japan > ;-), so it is clean and straightforward. Well, to be fair it was written against a different set of requirements. Especially the fact that no support for different programming languages was needed made things significantly easier. Plus, of course, the elegance of Ruby helped a lot in making DRb easy to use and blend seamlessly with local functionality. > I do not have tutorials to suggest, since I generally learn by > doing. But the nutshell is simple: from a process running here on my > PC I can invoke the methods of an object instantiated by a process > running in a toaster plugged to the internet in Waikaki, New Zealand, > in a transparent way. I'd *love* to see a picture of that toaster. :-) > It is *almost* as if the two processes were the > same. The scope of the *almost* will only become clear to you with > experience. Basically the central question for distributed applications is: which data is stored where and what do I need to transfer between processes. Since remote method calls are much more expensive than in process method calls people typically focus on reducing the number or frequency of remote calls at the expense of more data being sent with a single invocation. Kind regards robert -- remember.guy do |as, often| as.you_can - without end http://blog.rubybestpractices.com/ -- You received this message because you are subscribed to the Google Groups ruby-talk-google group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at https://groups.google.com/d/forum/ruby-talk-google?hl=en
