dotgnu-general
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[DotGNU]Re: Virtual Machine in the abstract


From: Stephen Compall
Subject: [DotGNU]Re: Virtual Machine in the abstract
Date: Wed, 04 Dec 2002 16:27:09 -0600
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.3a) Gecko/20021128

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Peter Minten wrote:
> So to run a Ruby webservice you tell SEE to run the ruby executable
> and tell that to interpret the script? I like the idea, it's simple,
> it's elegant and it's very compatible with existing code.

Well, mostly like that.  If you are talking about *starting* the
service, that is, making it available to be accessed through an
interface stub, then that is fairly accurate.  When the service is
accessed (i.e. started by a user of the service), then the script (in
this case), which is already running, receives a connect request from
seedaemons.  It accepts, and maybe now a simple request is sent, to
which the service replies.

The SEE webservice connection protocol (which extends across multiple
network transport styles) does not depend on a specific VM or
language.  So while each language will at minimum need the facilities
with which to write code to handle this protocol, this can be easily
library-ized.

For example, say that part of the connection protocol consists of
opening a file (FIFO), reading all the data until EOF, then writing
your response on another file (and closing it to send EOF).  Your
language will need the facilities with which to open and close files.

If the comm protocol turns out to involve SVR4 message passing, then
your language will need to either deal with that, or invoke the C code
that can.

Of course, you might then turn the [relatively simple] code to handle
this communication into a library, thus taking away one extra step for
new webservice developers.  Here is where library interface comes into
play, as *that* can be different for each language/VM, because SEE
doesn't care how you do the comm that it requires, as long as you do
it!

Let me stress once more: the VMs don't know they're playing the role
of DotGNU execution VMs!  They don't need to; to have the portable
webservice code know is enough.

I'll explain how this fits into IL-attribute-based webservices in a
moment, in another thread.

- --
Stephen Compall
Also known as S11001001
DotGNU `Contributor' -- http://dotgnu.org

Sometimes I think that perhaps one of the best things I could do with
my life is: find a gigantic pile of proprietary software that was a
trade secret, and start handing out copies on a street corner so it
wouldn't be a trade secret any more, and perhaps that would be a much
more efficient way for me to give people new free software than
actually writing it myself; but everyone is too cowardly to even take
it.
        -- RMS, Lecture at KTH (Sweden), 30 October 1986

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (GNU/Linux)

iD8DBQE97oBd2AceYinZ4EgRAhirAJ4mFCAP1S0DayBUxDuU3G90FTVSxACfcVl8
fHTPCB4RBEyl1d8WR3m0x8k=
=x6mm
-----END PGP SIGNATURE-----



reply via email to

[Prev in Thread] Current Thread [Next in Thread]