[aerogear-dev] AeroGear WebPush Java Client

Matthias Wessendorf matzew at apache.org
Wed Mar 16 16:52:44 EDT 2016


Having this client allows us a better integration of WebPush into UPS, at
some point (I need to check the javaagent for WildFly's bootclasspath
anyways for my PoC on APNs' HTTP/2 APIs, like [1]).

However, I was wondering how 'up-to-date' our server actually is, regarding
the spec



[1] http://undertow.io/blog/2015/03/26/HTTP2-In-Wildfly.html

On Wed, Mar 16, 2016 at 10:34 AM, Idel Pivnitskiy <idel.pivnitskiy at gmail.com
> wrote:

> will this replace the java client [1] we currently have? Or will can we
>> extend it?
>
>
> Think that it will replace SimplePush in the future.
>
> wanna have it included in the aerogear organization ?
>
>
> it would be great :)
>
> Best regards,
> Idel Pivnitskiy
> --
> Twitter: @idelpivnitskiy <https://twitter.com/idelpivnitskiy>
> GitHub: @idelpivnitskiy <https://github.com/idelpivnitskiy>
>
> On Wed, Mar 16, 2016 at 10:46 AM, Matthias Wessendorf <matzew at apache.org>
> wrote:
>
>> awesome!
>>
>> wanna have it included in the aerogear organization ?
>>
>> On Tue, Mar 15, 2016 at 9:17 PM, Idel Pivnitskiy <
>> idel.pivnitskiy at gmail.com> wrote:
>>
>>> What's new in WebPush Java Client:
>>>
>>>    - Updated to the latest aerogear-parent
>>>    - Updated Jetty http2-client to the latest version
>>>    - Clean up pom.xml
>>>    - Subscription and PushMessage objects became to be Serializable
>>>    - Refactoring and little improvements
>>>    - Added documentation to all public classes and methods - the most
>>>    valuable improvement :)
>>>
>>> For more information, see [1].
>>>
>>> Tests will be coming soon...
>>>
>>> [1]
>>> https://github.com/idelpivnitskiy/aerogear-webpush-java-client/commits/master
>>>
>>> Best regards,
>>> Idel Pivnitskiy
>>> --
>>> Twitter: @idelpivnitskiy <https://twitter.com/idelpivnitskiy>
>>> GitHub: @idelpivnitskiy <https://github.com/idelpivnitskiy>
>>>
>>> On Wed, Aug 19, 2015 at 7:30 AM, Idel Pivnitskiy <
>>> idel.pivnitskiy at gmail.com> wrote:
>>>
>>>> Hi all!
>>>>
>>>> I've just implemented a lightweight java client for receiving push
>>>> messages from AeroGear WebPush Server [1]. It is easy to use and fully
>>>> async!
>>>>
>>>> A few words about decision to use Jetty as a HTTP/2 client:
>>>>
>>>> Currently there are only 3 Java libraries, which implement client side
>>>> of HTTP/2 protocol [2]: Netty, Jetty and OkHttp. I tried all of them:
>>>>
>>>>    - First of all I tried to use OkHttp. This is a lightweight http
>>>>    client for Android and other Java apps. But currently this library supports
>>>>    HTTP/2 protocol only via old HTTP/1.1 API. It works well for simple
>>>>    request-response, but its client API does not allow to use HTTP/2 features,
>>>>    like Server Push Frames. I looked at GRPC [3], because Googlers use OkHttp
>>>>    for HTTP/2 transport. But they don't use public API, they use only inner
>>>>    classes to handle frames and built their own logic atop this classes. It
>>>>    would be too complicated for our purposes.
>>>>    - Secondary, I tried to refactor our WebPush console to a client
>>>>    library. But this way is complicated too. netty-codec-http2 does not
>>>>    provide a client API, it is only codec, low level protocol implementation.
>>>>    - Now I use jetty-http2-client. It is easy to configure and use,
>>>>    fast and async. Jetty provides a user friendly API to handle HTTP/2 streams
>>>>    and get PUSH_PROMISE frames.
>>>>
>>>> For more information, look at my commit history.
>>>> In the future, if there will be more lightweight alternatives than
>>>> Jetty (for example, new version of OkHttp or Java 9 API), I will rewrite
>>>> the transport layer of my library.
>>>>
>>>> Here is an example, how to use my library [4].
>>>>
>>>> [1] https://github.com/idelpivnitskiy/aerogear-webpush-java-client
>>>> [2] https://github.com/http2/http2-spec/wiki/Implementations
>>>> [3] https://github.com/grpc/grpc-java/tree/master/okhttp
>>>> [4]
>>>> https://github.com/idelpivnitskiy/aerogear-webpush-java-client/blob/master/src/example/java/org/jboss/aerogear/webpush/Example.java
>>>>
>>>> Best regards,
>>>> Idel Pivnitskiy
>>>> --
>>>> E-mail: Idel.Pivnitskiy at gmail.com
>>>> Twitter: @idelpivnitskiy <https://twitter.com/idelpivnitskiy>
>>>> GitHub: @idelpivnitskiy <https://github.com/idelpivnitskiy>
>>>>
>>>
>>>
>>> _______________________________________________
>>> aerogear-dev mailing list
>>> aerogear-dev at lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/aerogear-dev
>>>
>>
>>
>>
>> --
>> Matthias Wessendorf
>>
>> blog: http://matthiaswessendorf.wordpress.com/
>> sessions: http://www.slideshare.net/mwessendorf
>> twitter: http://twitter.com/mwessendorf
>>
>> _______________________________________________
>> aerogear-dev mailing list
>> aerogear-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/aerogear-dev
>>
>
>
> _______________________________________________
> aerogear-dev mailing list
> aerogear-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/aerogear-dev
>



-- 
Matthias Wessendorf

blog: http://matthiaswessendorf.wordpress.com/
sessions: http://www.slideshare.net/mwessendorf
twitter: http://twitter.com/mwessendorf
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/aerogear-dev/attachments/20160316/b2d0e7d2/attachment-0001.html 


More information about the aerogear-dev mailing list