[
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