 |
 |
|
 |
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Darren New wrote:
> Orchid XP v8 wrote:
>> Amazon appears to be talking about SOAP.
>
> SOAP, conceptually, is pretty simple. You take the arguments to the
> procedure and wrap them up in XML. You put the function you're calling
> into the headers. You post the message (with appropriate crypto
> signatures if necessary) to the appropriate URL. You get back from the
> web server your answer, probably again wrapped up in XML.
So... you issue a command, and you receive a reply? And these are both
formatted as XML?
Is the reply necessarily immediate?
If I'm understanding this correctly, that means that you can make Amazon
start or stop a virtual server by sending a lump of XML to it over HTTP.
Is that about right?
--
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Orchid XP v8 wrote:
> So... you issue a command, and you receive a reply? And these are both
> formatted as XML?
Yes. Think of it like a procedure call between machines.
> Is the reply necessarily immediate?
In theory, no. In practice, yes.
> If I'm understanding this correctly, that means that you can make Amazon
> start or stop a virtual server by sending a lump of XML to it over HTTP.
> Is that about right?
Exactly. I have a library to do just that, only it uses the REST interface
(which isn't really REST) to do so.
Also, http://console.aws.amazon.com/ lets you do it all from a web browser,
or so they just announced. I haven't tried it.
--
Darren New, San Diego CA, USA (PST)
Why is there a chainsaw in DOOM?
There aren't any trees on Mars.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Darren New wrote:
>> Is the reply necessarily immediate?
> In theory, no. In practice, yes.
And by "immediate" I mean "returned over the same TCP connection the request
went over."
SOAP designers will tell you how wonderful and flexible it all is. SOAP
users don't do any of that because nobody has bothered to do any libraries
to support SOAP over SMTP and things like that.
--
Darren New, San Diego CA, USA (PST)
Why is there a chainsaw in DOOM?
There aren't any trees on Mars.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
>> So... you issue a command, and you receive a reply? And these are both
>> formatted as XML?
>
> Yes. Think of it like a procedure call between machines.
So it's a way of issuing server commands without needing a human to
press the button?
>> Is the reply necessarily immediate?
>
> In theory, no. In practice, yes.
Rather like the way HTTP responses are supposed to be "immediate"?
(I.e., the browser hangs if it isn't.)
> Exactly. I have a library to do just that, only it uses the REST
> interface (which isn't really REST) to do so.
What's REST then?
> Also, http://console.aws.amazon.com/ lets you do it all from a web
> browser, or so they just announced. I haven't tried it.
Yes, I noticed that. Currently only EC2 though. (?)
--
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Orchid XP v8 wrote:
>> Yes. Think of it like a procedure call between machines.
>
> So it's a way of issuing server commands without needing a human to
> press the button?
Think of it like a procedure call between machines. :-) I don't know what
"button" you're talking about. "Buttons" are UI features. SOAP is a
programming library mechanism. SOAP is a mechanism where you can write
something like
X = floob("Hello", 23)
and get back some data structure in X that was generated when "floob" and
"Hello" and "23" were passed to some server somewhere. It doesn't matter
whether that function call is invoked by pushing a button, a timer, a CLI, etc.
> Rather like the way HTTP responses are supposed to be "immediate"?
> (I.e., the browser hangs if it isn't.)
Yes.
>> Exactly. I have a library to do just that, only it uses the REST
>> interface (which isn't really REST) to do so.
>
> What's REST then?
Representational State Transfer. A set of rules that almost nobody who
claims to use REST actually follows. But most everyone who calls their
interfaces "REST" but which aren't means "just like SOAP, only without the
ability to automate stub creation." That is, you send us an XML request,
and we return an XML answer, but you have to write all the code to parse out
the results from the answer as a special case for each such service.
>> Also, http://console.aws.amazon.com/ lets you do it all from a web
>> browser, or so they just announced. I haven't tried it.
>
> Yes, I noticed that. Currently only EC2 though. (?)
As I said, I haven't looked. The "s3fox" extension gives you access to
Amazon S3 with a decent UI from firefox.
--
Darren New, San Diego CA, USA (PST)
Why is there a chainsaw in DOOM?
There aren't any trees on Mars.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
> Think of it like a procedure call between machines. :-)
Normally prorams can't call functions in other programs. (Unless you
count the operatin system.) And certainly not in programs runnin on
another machine.
I guess that's what this technology brings to the table. (Whatever the
technology is actually called...)
OOC, is there some better way rather than tunnelling over HTTP? Surely
somebody has already come up with sane designs for this?
>> What's REST then?
>
> Representational State Transfer. A set of rules that almost nobody who
> claims to use REST actually follows.
Sounds delightful.
--
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Orchid XP v8 <voi### [at] dev null> wrote:
> > Think of it like a procedure call between machines. :-)
> Normally prorams can't call functions in other programs. (Unless you
> count the operatin system.) And certainly not in programs runnin on
> another machine.
In many object-oriented languages, such as for example objective-C,
dynamic binding is done with a messaging system. In other words, when
you want to call the member function of an object (even if you don't
know the exact type of that object, but only have an abstract handle
to it), what happens internally is that a "message" is sent at runtime
to that object, and the object can accept it (in practice by the object's
type implementing the proper member function) or not. In practice this is
very much like a member function call (except that you don't necessarily
need to know that the object supports that function call).
It's perfectly possible to send these messages between procedures, and
I assume even if these procedures are running in different computers. So
basically it ends up being one program calling the member function of an
object in another program (possibly running on a different computer).
Here's some documentation about remote messaging in objective-C:
http://tinyurl.com/9339sk
--
- Warp
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Orchid XP v8 wrote:
> I guess that's what this technology brings to the table. (Whatever the
> technology is actually called...)
Exactly. The general term is "remote procedure call", or "RPC".
> OOC, is there some better way rather than tunnelling over HTTP? Surely
> somebody has already come up with sane designs for this?
Yes, and yes. And, to answer your next question, yes.
>>> What's REST then?
>>
>> Representational State Transfer. A set of rules that almost nobody
>> who claims to use REST actually follows.
>
> Sounds delightful.
To be a little less obtuse, it's a few guiding principles that make it
possible to cache stuff and supposedly figure out interfaces on your own.
Such principles include using a URL to identify every resource, and to have
the body of resources include URLs to refer to other URLs; but the REST
moniker requires much more to work "properly", including (for example)
storing no "state" at the server. In other words, HTML over HTTP, "done
right" in some important senses, so that you can cache the results properly
and etc.
People then take anything that encapsulates the request over HTTP in a way
that assigns different URLs to resources to be "REST". That's a tiny and
fairly useless part of it.
SOAP can't be "REST" because the URL identifies only the server and the
function name and arguments go in the body of the request.
--
Darren New, San Diego CA, USA (PST)
Why is there a chainsaw in DOOM?
There aren't any trees on Mars.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
>> And I'm also wondering just how much all this stuff actually *costs*...
>
> CPU hours are a bit expensive, but comparable to renting a shared server
> somewhere else (except you get a "dedicated" server). The rest is really
> cheap. Hit aws.amazon.com for details.
Well now... It seems that even if you store some absurd amount of data
like 1GB (think how many years that would take to upload...) it costs
less than 50p/month. Which is nothing. (I currently pay £5/month.)
On the other hand, 30 days of instance time on EC2 is almost 80$.
Exchange rates vary, but this compares wildly unfavourably with my
current hosts' demands of £15/month.
The verdict: S3 is very, very cheap. EC2 is absurdly expensive. (If
you're a company, the reliability guarantees and lack of initial outlay
could make sense. But for an individual, it's a no-brainer: don't do it!)
For about £200 you could *buy* a half-decent PC. If you leave it running
for 1 year, it will have cost you [slightly more than] £200. If you run
EC2 for 1 year, it will cost 964.15$, which I would suggest is slightly
more than £200, whatever the exchange rate is.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Invisible wrote:
> Well now... It seems that even if you store some absurd amount of data
> like 1GB (think how many years that would take to upload...) it costs
> less than 50p/month. Which is nothing. (I currently pay £5/month.)
Yep. I think my last bill was seventeen cents.
> On the other hand, 30 days of instance time on EC2 is almost 80$.
> Exchange rates vary, but this compares wildly unfavourably with my
> current hosts' demands of £15/month.
Is that for a machine where you can install your own OS and such? Or is t
hat
for just a web host, where you're (for example) sharing an Apache server
with others?
> The verdict: S3 is very, very cheap. EC2 is absurdly expensive. (If
> you're a company, the reliability guarantees and lack of initial outlay
> could make sense. But for an individual, it's a no-brainer: don't do it
!)
It's also designed for you to rent it briefly, not for a long time. I.e.,
if
your needs aren't "elastic", it might not make sense. If you need six
machines today, three tomorrow, and one next week, it makes more sense. I
f
you want to rent a machine for three hours to do a render, it makes a lot
of
sense.
> For about £200 you could *buy* a half-decent PC. If you leave it r
unning
> for 1 year, it will have cost you [slightly more than] £200.
Well, you would need the connectivity too, which I understand is pretty
expensive where you are. :-)
--
Darren New, San Diego CA, USA (PST)
Why is there a chainsaw in DOOM?
There aren't any trees on Mars.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|
 |