[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Newsgroup Home]
|
[news.eclipse.technology.riena] Re: Release 1.0.0.M1
|
Hi Christian,
Congrats to the team on the M1.
I have some technical questions about the getting started examples and
about Riena in general.
1) In your getting started under "Accessing the remote OSGi Service" you
have:
pingPongReg = rsf.createAndRegisterProxy(IPingPong.class, url, protocol);
And in the plugin
org.eclipse.riena.communication.sample.pingpong.client.config (which
seems to be the source):
pingPongReg = rsf.createAndRegisterProxy(serviceInterface, url,
protocol, "de.compeople.pingpong.config");
1) What is this fourth parameter?
2) A thought: wouldn't it be a cleaner/simpler/less error prone to have
the 'createAndRegisterProxy' call combine the url and protocol Strings
into some sort of 'IEndpoint' object that includes both info about the
wire protocol (e.g. http), and info about the service publisher-level
protocol (hessian in this case)?
One possibility for doing this would be to create a new ECF namespace
extension (i.e. a 'riena' namespace), which would allow you to do things
like uniqueness checking on construction, create your own factory for
your type of IEndpoint, etc.
3) What if the client doesn't have this endpoint information in advance?
I assume that that's where any discovery mechanisms come in, correct?
I don't know anything/much about Hessian, but
4) I assume that the actual http request/response is made at service
invocation time, correct?
5) Does it have any connection caching/etc to improve performance?
6) What about multiple simultaneous thread access to a given service
method? How is this handled?
7) If someone wanted to replace hessian with a connection-oriented
middleware (e.g. JMS, private protocol, etc), would they be able to do
this without modifying riena itself?
8) Are there any ways to specify timeouts associated with remote
invocations (other than setting the JRE-wide http connect and read
timeouts)?
OK, I see that some of the real remote service invocation action is in
HessianProxy.invoke/3. This seems to be where the actual connection is
created, the parameters marshalled, the http request/response handled,
and a result returned.
I think it will be straightforward to create an Riena-based provider for
the ECF remote services API...I'll be starting on this soon.
Hopefully some more questions as we go.
Thanks,
Scott