Jan Algermissen wrote:
> On Friday, January 19, 2007, at 09:04AM, "Gregg Wonderly" <[EMAIL PROTECTED] 
> <mailto:gergg%40cox.net>> wrote:
>  >Jan Algermissen wrote:
>  >> The difference is that HTTP is an application interface. It is the
>  >> interface of the user's application.
>  >
>  >RMI/JERI is an application interface. The application uses this paradigm for
>  >remote data transfer via the parameters of the "invoke" operation.
> 
> So you'd never put another layer of semantics on top of that then? What 
> does invoke mean?

I'm not sure what your looking for here.  HTTP POST and RMI/JERI INVOKE have 
the 
exact same capabilities.  You can send some content, it is acted on by the 
application on the other end, and you get something back.  The semantics on top 
of either of those operations are defined by the actions of the service that 
the 
content is processed by.

With HTTP POST, I could transfer the same data as RMI/JERI INVOKE.  The 
additional operations of HTTP are just extensions of this.  Sure there is a 
specification that says GET can only GET and HEAD only returns the header and 
DELETE deletes data etc.  But, that description is just a mapping onto a server 
based API such as that a Java Servlet can use.  It's a convenience that 
provides 
a layer of API which can be useful.

The Java Servlet interface definition shows that there is a mapping of the HTTP 
protocol onto a language API (and the same thing exists in other languages).  
So 
while you consider it an application interface, I consider it an invocation 
layer which has specific semantics limiting its use to the programming model 
that is outlined in the HTTP/REST specs.  Nothing more.  There is no specific 
action that the HTTP protocol performs without an application receiving the 
invocations on the associated resources.

>  >> When you buy a book at Amazon, the application interface you are using
>  >> is HTTP.
>  >
>  >The application's interface is exported as an HTTP endpoint.
> 
> No, HTTP is the application interface semantics. There is no application 
> that is mapped or whatever to HTTP (set aside any backend stuff of course).
> 
> Is this really impossible to get across?

If I have a library of software which communicates with devices over the 
internet using the MODBUS protocol, and I want to provide a web page which 
allows you to enter some numbers into a form, and then submit that data to the 
remote device, I can export such a capability with a Java Servlet that would 
provide an HTTP endpoint for this library.  If in the initialization of the 
servlet I also exported a JERI SSL endpoint with a standard JERI invocation 
layer factory and registered that with a ServiceRegistrar instance, I will have 
provided two different ways to access the same code.

"The application's interface is exported as an HTTP endpoint." and a JERI 
endpoint.

Gregg Wonderly

Reply via email to