[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Newsgroup Home]
|
[news.eclipse.technology.riena] Re: Release 1.0.0.M1
|
Scott Lewis schrieb:
Hi Christian,
Christian Campo wrote:
<stuff deleted>
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.
Currently we thought that using strings is the simplest syntax to
create a proxy. We currently want
no dependency to ECF (as discussed earlier) and so no ECF namespace.
OK. Just FYI, this extension point/service will be in p2/Ganymede so
there will be no extra cost in distribution/size, etc.
Not sure about that since Riena apps don't necessarily have the whole IDE in but just
a selected list of bundles. But I keep my eyes open.
What you can do is call createAndRegisterProxy
with a RemoteServiceDescription object. That requires you create the
RSD first, but that is an alternative approach.
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?
We currently don't use discovery that much and assume that a client
nows where the web service endpoint is located that
it wants to call.
OK.
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?
correct
5) Does it have any connection caching/etc to improve performance?
its pretty fast already :-) Hessian uses HttpURLConnection from the
JDK which has some connection reuse.
nothing more than that. we have a productive system that uses Hessian
with 30.000 users and performance in webservices is quite ok.
You might want to also test it with/on clients that have very
slow/unreliable network connections as well.
Our production system where we use Hessian has clients on:
LAN, WLAN, Router, ISDN, DSL (multiple speeds), UMTS, GPRS, Sky-DSL, Cable-modem......
So I thought we covered that area mostly...... :-)
6) What about multiple simultaneous thread access to a given service
method? How is this handled?
it works.:-).....all objects that are call based are local variables,
some are stored in ThreadLocals
Doesn't the ThreadLocal usage make it difficult to non-blocking calls
(i.e. calls based upon transports other than hessian/http)?
The ThreadLocals are within the publisher and factories for hessian. So if you
use another transport than you can choose what you like to use. Also (as discussed
in earlier threads) we prefer synchron calls and placing them in background threads
using the jobs api, rather than making a asychronous call. Riena communication only
does synchron calls since you call a business related method in an interface and expect
the result to be available when the call returns.
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?
should be, havn't tried.....
8) Are there any ways to specify timeouts associated with remote
invocations (other than setting the JRE-wide http connect and read
timeouts)?
not yet.....this is M1 :-)
Understood...just asking :)
OK...thanks!
Scott
christian