[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [riena-dev] Remote EventAdmin Service
|
Hi Eugen,
Riena Remote Services work like the very common Webservice pattern.
They use Hessian as the protocol (a binary protocol) but use HTTP as
transport so pretty much act like an Axis, CXF service stack. That
means that they dont keep an connection between client and server once
a call is finished. Since the clients are typically behind firewalls,
routers and so on and dont have a public IP address that can be called
a server can not call a client, only the client calls the server.
Depending on the nature of the event of course you could add something
to the transport layer to add events in the return envelope if you
have such an event but you have to wait for the client to call the
server again. The second problem is that Riena encourages to use the
stateless webservice model (thats no obligation but it scales much
better). So if you have 5 or 10 servers to deal with your hundreds and
thousands of clients each call could get to any server instance. So
you have make sure you have the event at your hand at that server when
the client calls.
If all this makes no sense (I am sorry I am doing this way too long
and went over push notification many many times) let me know and I can
maybe explain more details.
What could work BTW is the model that Apple is currently following
with its push notification. The client keeps a connected line (a web
service call) to one server instance). The call will wait for a longer
time (say 5 minutes). If you like to send an event to a client you
have to send that event to the server that keeps a line to all the
clients and this server will let the call return with a value
indicating the event.
If the 5 minutes expire the call returns with null and a new one is
started. This 5 minute (not sure if it has to be 5 minutes) mechanism
because if the software never closes the line, the lower IP layer
eventually will.
This mechanism is BTW also used by ActiveSync from Microsoft Exchange.
Hope this helps.
christian campo
Am 13.06.2009 um 12:54 schrieb Eugen Reiswich:
Hi folks,
I try to figure out how an OSGi EventAdmin Service could be realized
remote with Riena? I basically need to propagate server side events to
all clients. If it's not possible, how can I realize a client/server
observer pattern with Riena?
Regards,
Eugen
_______________________________________________
riena-dev mailing list
riena-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/riena-dev