I never saw any reply about this response to Anne's rebutal of my "invoke" 
arguments.  Did it not show up on the list, or did it just get left hanging?

Gregg Wonderly

Anne Thomas Manes wrote:
 > Gregg,
 >
 > "invoke" is not a uniform interface because it doesn't work unless you also 
supply a method name to invoke. And in RMI, the method names are not uniform. 
They are getXXX and setXXX for each of the public attributes in the object, 
plus 
any other operations that the developer chooses to expose.


The method name, including the associated object id, is the resource, not the 
operation.  Invoke is the operation.

 > In REST, you also have the equivalent of "invoke", but the methods that you 
can invoke are always uniform. In the case of HTTP, they are GET, PUT, POST, 
DELETE.


I think about it in terms of the data passed.  With HTTP, you open a port, with 
a particular transport.  You send an operation string of the form
<OPER> <RESOURCE>.  You then follow that up with headers for http 1.1 and 
later, 
a blank line, and then any associated content, which is specific to the type of 
operation you are invoking.  You then might wait for a reply depending on what 
type of operation you invoked.

With RMI, the client end point object opens a port using a configured 
transport. 
The operation is uniformly and always "invoke".  The resource is indicated by 
sending the object id and method name, and the associated content, the 
parameters to the call, are sent.  You always wait for a reply, and operations 
continue.

This is how I see it anyway.

Gregg Wonderly

Reply via email to