Thx for clarification. It was not just about the server side. They have also nice wrappers on the clientside. ;)<div class="gmail_extra"><br><br><div class="gmail_quote">2012/12/18 Matthias Wessendorf <span dir="ltr">&lt;<a href="mailto:matzew@apache.org" target="_blank">matzew@apache.org</a>&gt;</span><br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On Tue, Dec 18, 2012 at 12:46 PM, Daniel Manzke<br>
&lt;<a href="mailto:daniel.manzke@googlemail.com">daniel.manzke@googlemail.com</a>&gt; wrote:<br>
&gt; nothing to do with your case, but just my two cents. don&#39;t invent another<br>
&gt; library to wrap it up. use atmosphere instead ;)<br>
<br>
</div>well, main focus here is offering client APIs and client functionality.<br>
<br>
On the server side there will be just a light/tiny/thin layer around<br>
an _existing_ WebSocket server. Most-likely JSR 356 implementation.<br>
If Atmosphere comes with an impl of that (I think the want to do<br>
that), it could be used. Or what ever the underlying container uses.<br>
<br>
Similar to our REST &quot;extensions&quot;<br>
<br>
Also, outside of the JavaEE realm, we wanna make sure that things like<br>
Netty (read: protocol servers) can be hooked in as well.<br>
<br>
Don&#39;t worry, nobody is writing yet another WebSocket server here<br>
<br>
Cheers!<br>
Matthias<br>
<br>
[1]<br>
<div class="HOEnZb"><div class="h5"><br>
&gt;<br>
&gt;<br>
&gt; 2012/12/17 Jay Balunas &lt;<a href="mailto:jbalunas@redhat.com">jbalunas@redhat.com</a>&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; On Dec 17, 2012, at 3:08 PM, Matthias Wessendorf wrote:<br>
&gt;&gt;<br>
&gt;&gt; &gt; On Mon, Dec 17, 2012 at 9:04 PM, Jay Balunas &lt;<a href="mailto:jbalunas@redhat.com">jbalunas@redhat.com</a>&gt;<br>
&gt;&gt; &gt; wrote:<br>
&gt;&gt; &gt;&gt; This is similar to what I was thinking as well.<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; There are two main types of push; native &amp; non-native, but I don&#39;t like<br>
&gt;&gt; &gt;&gt; those designations.  It is really more like &quot;live&quot; &amp; &quot;background&quot; push,<br>
&gt;&gt; &gt;&gt; referring to the state of the client.<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; Live push == Application is open, and active on the client.  Push msgs<br>
&gt;&gt; &gt;&gt; are routed to the application via more traditional long/short polling,<br>
&gt;&gt; &gt;&gt; websockets, etc...<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; Background push == Application is closed, and not active on the client.<br>
&gt;&gt; &gt;&gt; Regular live push messages are not possible.  The only way to communicate is<br>
&gt;&gt; &gt;&gt; via APN, GC native messaging (sorry web apps - no love).<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; In an ideal world there would be no difference to the application<br>
&gt;&gt; &gt;&gt; developer using AeroGear API&#39;s (client or server).  The server-side would<br>
&gt;&gt; &gt;&gt; know what clients are available, and the clients would be listening<br>
&gt;&gt; &gt;&gt; automatically.  Sending a message would be agnostic for the server-side.<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; Unfortunately this can not &quot;fully&quot; be the case as background/native<br>
&gt;&gt; &gt;&gt; messages have limitations on the content, client support, and delivery<br>
&gt;&gt; &gt;&gt; mechanisms.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; one option is, to &quot;push / poll&quot;. The client gets a msg on what to<br>
&gt;&gt; &gt; fetch. When back online it performs a &quot;normal&quot; fetch/poll for the data<br>
&gt;&gt; &gt; in question<br>
&gt;&gt;<br>
&gt;&gt; +1 - I&#39;ve seen that sort of thing as an option for native push - its<br>
&gt;&gt; really just a phone call to tell the app it has an email - go read it :-)<br>
&gt;&gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; So I think the best we can do is setup a &quot;smart&quot; message system that<br>
&gt;&gt; &gt;&gt; gets you pretty close with good fallback api&#39;s and checks for what sort of<br>
&gt;&gt; &gt;&gt; messages are possible, or configured.<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; Make sense, or is this just a big ramble? :-)<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; -Jay<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; On Dec 5, 2012, at 2:14 AM, Matthias Wessendorf wrote:<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt; well,<br>
&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt; the idea is to have a wrapper/hook for &quot;push notification&quot; (e.g. APN)<br>
&gt;&gt; &gt;&gt;&gt; in the notifier as well:<br>
&gt;&gt; &gt;&gt;&gt; * receiving &#39;native push&#39; events, when the app is offline (inactive,<br>
&gt;&gt; &gt;&gt;&gt; not watching the tab/window)<br>
&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt; If an app is offline, you simple can&#39;t receive a websocket frame/msg.<br>
&gt;&gt; &gt;&gt;&gt; So push is needed to tell AG that is needs to fetch data for sync etc.<br>
&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt; -Matthias<br>
&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt; On Mon, Dec 3, 2012 at 4:51 PM, Burr Sutter &lt;<a href="mailto:bsutter@redhat.com">bsutter@redhat.com</a>&gt;<br>
&gt;&gt; &gt;&gt;&gt; wrote:<br>
&gt;&gt; &gt;&gt;&gt;&gt; I am concerned about the words &quot;push&quot; and &quot;notifier&quot; as those can<br>
&gt;&gt; &gt;&gt;&gt;&gt; become confused with real &quot;push notifications&quot; which we will have to have a<br>
&gt;&gt; &gt;&gt;&gt;&gt; client API for in the future.<br>
&gt;&gt; &gt;&gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;&gt; On Dec 3, 2012, at 2:46 AM, Matthias Wessendorf wrote:<br>
&gt;&gt; &gt;&gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt; any further comments?<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt; On Thu, Nov 22, 2012 at 9:51 AM, Matthias Wessendorf<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt; &lt;<a href="mailto:matzew@apache.org">matzew@apache.org</a>&gt; wrote:<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt; Hi,<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt; yesterday some folks of the team meet, to talk about WebSocket -<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt; more<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt; generally (HTML5) connectivity.<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt; Here is a write-up from the meeting:<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt; <a href="https://gist.github.com/dd6e3c2da08830776996" target="_blank">https://gist.github.com/dd6e3c2da08830776996</a><br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt; Feedback and comments are welcome - Please use the comment function<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt; on<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt; that gist!<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt; Cheers!<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt; Matthias<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt; --<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt; Matthias Wessendorf<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt; blog: <a href="http://matthiaswessendorf.wordpress.com/" target="_blank">http://matthiaswessendorf.wordpress.com/</a><br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt; sessions: <a href="http://www.slideshare.net/mwessendorf" target="_blank">http://www.slideshare.net/mwessendorf</a><br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt; twitter: <a href="http://twitter.com/mwessendorf" target="_blank">http://twitter.com/mwessendorf</a><br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt; --<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt; Matthias Wessendorf<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt; blog: <a href="http://matthiaswessendorf.wordpress.com/" target="_blank">http://matthiaswessendorf.wordpress.com/</a><br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt; sessions: <a href="http://www.slideshare.net/mwessendorf" target="_blank">http://www.slideshare.net/mwessendorf</a><br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt; twitter: <a href="http://twitter.com/mwessendorf" target="_blank">http://twitter.com/mwessendorf</a><br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt; _______________________________________________<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt; aerogear-dev mailing list<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt; <a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a><br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt; <a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br>
&gt;&gt; &gt;&gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;&gt; _______________________________________________<br>
&gt;&gt; &gt;&gt;&gt;&gt; aerogear-dev mailing list<br>
&gt;&gt; &gt;&gt;&gt;&gt; <a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a><br>
&gt;&gt; &gt;&gt;&gt;&gt; <a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br>
&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt; --<br>
&gt;&gt; &gt;&gt;&gt; Matthias Wessendorf<br>
&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt; blog: <a href="http://matthiaswessendorf.wordpress.com/" target="_blank">http://matthiaswessendorf.wordpress.com/</a><br>
&gt;&gt; &gt;&gt;&gt; sessions: <a href="http://www.slideshare.net/mwessendorf" target="_blank">http://www.slideshare.net/mwessendorf</a><br>
&gt;&gt; &gt;&gt;&gt; twitter: <a href="http://twitter.com/mwessendorf" target="_blank">http://twitter.com/mwessendorf</a><br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; --<br>
&gt;&gt; &gt; Matthias Wessendorf<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; blog: <a href="http://matthiaswessendorf.wordpress.com/" target="_blank">http://matthiaswessendorf.wordpress.com/</a><br>
&gt;&gt; &gt; sessions: <a href="http://www.slideshare.net/mwessendorf" target="_blank">http://www.slideshare.net/mwessendorf</a><br>
&gt;&gt; &gt; twitter: <a href="http://twitter.com/mwessendorf" target="_blank">http://twitter.com/mwessendorf</a><br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; aerogear-dev mailing list<br>
&gt;&gt; <a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a><br>
&gt;&gt; <a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; Viele Grüße/Best Regards<br>
&gt;<br>
&gt; Daniel Manzke<br>
<br>
<br>
<br>
--<br>
Matthias Wessendorf<br>
<br>
blog: <a href="http://matthiaswessendorf.wordpress.com/" target="_blank">http://matthiaswessendorf.wordpress.com/</a><br>
sessions: <a href="http://www.slideshare.net/mwessendorf" target="_blank">http://www.slideshare.net/mwessendorf</a><br>
twitter: <a href="http://twitter.com/mwessendorf" target="_blank">http://twitter.com/mwessendorf</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>Viele Grüße/Best Regards<br><br>Daniel Manzke<br>
</div>