On 30/03/07, Gregg Wonderly <[EMAIL PROTECTED]> wrote:
>
>
>
>
>
>
> Steve Jones wrote:
>  > On 30 Mar 2007 01:46:38 -0700, Jan Algermissen <[EMAIL PROTECTED]
>  > <mailto:algermissen1971%40mac.com>> wrote:
>  >  > IWO, do you think in terms of 'business interaction' == method 
> invocation?
>  >
>  > God no.
>
>  So, I'd like to know more about which programming languages don't allow a
>  developer to write a single HTTP operation as a method call in the client.  
> Is
>  there a different programming paradigm used by some languges?

Note the question was "think" not implement.  I don't think in terms
of methods, that is the implementation detail.

>
>  If I wanted to order a pizza in Java, I'd create a URL and open the 
> connection
>  and read the results.  That's about 4 different method invocations.  If I 
> wanted
>  to order a pizza with an RMI call, I'd have the Pizza object at hand, and a
>  reference to the Remote object.  I'd then just invoke the method to place 
> the order.
>
>  Jan, are you suggesting that somehow those two different mechanisms are not
>  capable of the same thing?
>
>  The HTTP pizza order requires a few things be known.
>
>  o  What's the resource

Added to that, how do you add extra toppings to the resource and does
that make it a different resource?

>  o  What data is required in what format
>
>  The RMI pizza order, if it used Jini with just RMI from an existing client,
>  would require:
>
>  o  What restaurants understand the version of the Order interface that my
>      client knows about.
>
>  That is, the two questions needing to be answered for HTTP, are implicitly 
> one
>  question in Jini because I will do the lookup by interface, so I get the
>  resource as a result of that, and because of the method signatures involved,
>  I've stated the type of data that I know how to send.
>
>  If on the other hand, I used something like my Jini desktop client that is
>  ServiceUI aware, I'd lookup the service using attributes instead such as.
>
>  new Entry[] {
>       new FoodService( FoodType.PIZZA ), // Looking for pizza services
>       new UIDescriptor(                  // Want ones that provide a UI
>               MainUI.ROLE,               // Want the main ui, not admin
>               JComponentFactory.TOOLKIT, // Swing compatible
>               null,                      // no specific attributes
>               null                       // no specific factory
>        )
>  }
>
>  Now, I get a GUI that just lets me select some stuff and submit my order.  I
>  have no earthly idea, nor do I need to know, how the order is actually
>  submitted.  Through Jini security, I will have specified some authentication
>  constraints to control how I tell them about who I am (during service 
> access),
>  and I'll have configure policy to control how their softare interacts on my
>  machine with the available resources.
>
>  In this case, the uniformity of the client/server interaction is not a 
> protocol,
>    it is a set of capabilities that is negociated as part of the service
>  discovery, and thus we have some control, if needed, of how those 
> negociations
>  proceed, and when we find something, we know we can use it.
>
>  Gregg Wonderly
>                    

Reply via email to