<div dir="ltr">with the POC for agents done (APNs), I will continue the work, to shrink the &quot;CORE&quot; part of the UPS, using Swarm, JPA, CDI and JAX-RS fractions</div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Feb 6, 2018 at 4:18 PM, Matthias Wessendorf <span dir="ltr">&lt;<a href="mailto:matzew@apache.org" target="_blank">matzew@apache.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">here is the proposal:<div><a href="https://github.com/aerogear/proposals/pull/21" target="_blank">https://github.com/aerogear/<wbr>proposals/pull/21</a><br></div><div><br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Feb 5, 2018 at 8:05 PM, Matthias Wessendorf <span dir="ltr">&lt;<a href="mailto:matzew@apache.org" target="_blank">matzew@apache.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hi, Dave<div><br></div><div>thanks for the feedback</div><div class="gmail_extra"><br><div class="gmail_quote"><span class="m_3255598536759392059gmail-">On Mon, Feb 5, 2018 at 6:16 PM, David Martin <span dir="ltr">&lt;<a href="mailto:davmarti@redhat.com" target="_blank">davmarti@redhat.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">For RHMAP 3/4, the Studio was originally part of a single jar/war<br>
(millicore). It did have a jsp for delivering the index.html (which<br>
wrote a bunch of inline javascript)<br>
<br>
The studio was then decoupled from the war file as a separate war<br>
(fh-studio). However, it still had an index.jsp, but called back to<br>
the &#39;core&#39; to get some of the info needed for that.<br>
<br>
This was eventually refactored into a node.js express app (fh-ngui)<br>
and deployed completely separately. It still made calls back to the<br>
core to get some config/user info.<br>
<br>
The main benefit I found was the UI could be progressed at a faster<br>
pace as the local development tooling could be tailored better. (just<br>
run the UI server &amp; hook up to an existing core somewhere)<br>
However, it introduced overhead with the addition of a new deployable component.<br></blockquote><div><br></div></span><div>that&#39;s also some of the points. We already have the development moved over to a different repo.</div><div>We currently just stick it&#39;s JAR (which might be silly) into the WAR.</div><span class="m_3255598536759392059gmail-"><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
This was all in a pre-containers world, but it was migrated to a<br>
container world (on openshift).<br>
We never went as far as nginx serving static content, but I could see<br>
that as a logical progression.<br>
It would probably mean a smaller footprint overall.<br></blockquote><div><br></div></span><div>cool. It&#39;s something I will include in the proposal (not done any testings).</div><div><br></div><div><br></div><div>Currently I look removing some good parts of the WAR file for the push delivery itself.</div><div><br></div><div>current approach, which I do like so far, is having each &quot;network&quot; run as a java process, that wires the &quot;send bits&quot; (e.g. for iOS) togehter via messaging (kafka).</div><div>Here is a metrics screenshot: </div><div><a href="https://user-images.githubusercontent.com/157646/35808591-9393ec6c-0a86-11e8-9b6f-f138fe0a5691.png" target="_blank">https://user-images.githubuser<wbr>content.com/157646/35808591-<wbr>9393ec6c-0a86-11e8-9b6f-<wbr>f138fe0a5691.png</a><br></div><div><br></div><div>code is located here:</div><div><a href="https://github.com/matzew/aerogear-unifiedpush-server/tree/8d01c771a0a89d1243534adef3a924ad284b3c41/push-agents/apns-agent/src/main/java/org/aerogear/push/apns" target="_blank">https://github.com/matzew/aero<wbr>gear-unifiedpush-server/tree/8<wbr>d01c771a0a89d1243534adef3a924a<wbr>d284b3c41/push-agents/apns-age<wbr>nt/src/main/java/org/aerogear/<wbr>push/apns</a><br></div><div><br></div><div>It&#39;s borrowing some concenpts/code from core UPS. but is really no http server - just a standard Main, which has a kafka consumer, plugged via ENVs.</div><div><br></div><div>I currently deploy to Openshift using the fabric8-maven-plugin (fmp), that generates all all (docker file, k8s/oc yamls).</div><div><br></div><div>I will do the same for FCM.</div><div><br></div><div>Once that all is done, we have no &quot;sending&quot; code in the UPS, and we can move than the UPS itself to WF-Swarm, for a migration to a simpler develipment/deployment model (and perhaps some more modules in the longer run)</div><div><br></div><div>Proposing:</div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial">* fcm-sender.jar (in container)</div><div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial">* apns-sender.jar (in container)</div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial">* UPS move to Swarm</div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial">* UI in nginx </div><br class="m_3255598536759392059gmail-m_3729549625263957037gmail-Apple-interchange-newline"> </div><div><div class="m_3255598536759392059gmail-h5"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div><div class="m_3255598536759392059gmail-m_3729549625263957037gmail-h5"><br>
On 30 January 2018 at 19:40, Matthias Wessendorf &lt;<a href="mailto:matzew@apache.org" target="_blank">matzew@apache.org</a>&gt; wrote:<br>
&gt; Hi,<br>
&gt;<br>
&gt; right now, we have the static resources of the admin ui build to a JAR file<br>
&gt; and a &quot;node tgz&quot;. Currently, in the community, we use the bundled JAR and<br>
&gt; deployed to the UPS WAR file. So far, so good<br>
&gt;<br>
&gt; For our modularization I was thinking at different options:<br>
&gt;<br>
&gt; * WildFly Swarm w/ just static (WAR) resources<br>
&gt; * Node.js/Express app<br>
&gt; * Ngnix container, just serviing the content<br>
&gt;<br>
&gt; I&#39;ve tested 1) I was wondering if we might - for some better resource<br>
&gt; utilization might just go w/ Ngnix, and deploy the static resources of the<br>
&gt; admin UI to there?<br>
&gt;<br>
&gt; How do other think about breaking the UPS down to different technologies and<br>
&gt; aspects?<br>
&gt;<br>
&gt; -Matthias<br>
&gt;<br>
&gt; [1] <a href="https://github.com/aerogear/unifiedpush-admin-ui" rel="noreferrer" target="_blank">https://github.com/aerogear/un<wbr>ifiedpush-admin-ui</a><br>
&gt;<br>
&gt; --<br>
&gt; Matthias Wessendorf<br>
&gt;<br>
&gt; github: <a href="https://github.com/matzew" rel="noreferrer" target="_blank">https://github.com/matzew</a><br>
&gt; twitter: <a href="http://twitter.com/mwessendorf" rel="noreferrer" target="_blank">http://twitter.com/mwessendorf</a><br>
&gt;<br>
</div></div>&gt; --<br>
&gt; You received this message because you are subscribed to the Google Groups<br>
&gt; &quot;Aerogear&quot; group.<br>
&gt; To unsubscribe from this group and stop receiving emails from it, send an<br>
&gt; email to <a href="mailto:aerogear%2Bunsubscribe@googlegroups.com" target="_blank">aerogear+unsubscribe@googlegro<wbr>ups.com</a>.<br>
&gt; To post to this group, send email to <a href="mailto:aerogear@googlegroups.com" target="_blank">aerogear@googlegroups.com</a>.<br>
&gt; To view this discussion on the web visit<br>
&gt; <a href="https://groups.google.com/d/msgid/aerogear/CAAg5f2Qi6Fwj5FPq-VdBEw3Ro_pq4FwqJpPiyGbmj0cEJrfv7Q%40mail.gmail.com" rel="noreferrer" target="_blank">https://groups.google.com/d/ms<wbr>gid/aerogear/CAAg5f2Qi6Fwj5FPq<wbr>-VdBEw3Ro_pq4FwqJpPiyGbmj0cEJr<wbr>fv7Q%40mail.gmail.com</a>.<br>
&gt; For more options, visit <a href="https://groups.google.com/d/optout" rel="noreferrer" target="_blank">https://groups.google.com/d/op<wbr>tout</a>.<br>
<span class="m_3255598536759392059gmail-m_3729549625263957037gmail-HOEnZb"><font color="#888888"><br>
<br>
<br>
--<br>
David Martin<br>
Red Hat Mobile<br>
Twitter: @irldavem<br>
IRC: @irldavem (#aerogear)<br>
<br>
--<br>
You received this message because you are subscribed to the Google Groups &quot;Aerogear&quot; group.<br>
To unsubscribe from this group and stop receiving emails from it, send an email to <a href="mailto:aerogear%2Bunsubscribe@googlegroups.com" target="_blank">aerogear+unsubscribe@googlegro<wbr>ups.com</a>.<br>
To post to this group, send email to <a href="mailto:aerogear@googlegroups.com" target="_blank">aerogear@googlegroups.com</a>.<br>
To view this discussion on the web visit <a href="https://groups.google.com/d/msgid/aerogear/CADvBQ45yhH_-%2BZ2gKsU-agjv2ucngsgUgo66-dQ7MdyoMuDinw%40mail.gmail.com" rel="noreferrer" target="_blank">https://groups.google.com/d/ms<wbr>gid/aerogear/CADvBQ45yhH_-%2BZ<wbr>2gKsU-agjv2ucngsgUgo66-dQ7Mdyo<wbr>MuDinw%40mail.gmail.com</a>.<br>
For more options, visit <a href="https://groups.google.com/d/optout" rel="noreferrer" target="_blank">https://groups.google.com/d/op<wbr>tout</a>.<br>
</font></span></blockquote></div></div></div><div><div class="m_3255598536759392059gmail-h5"><br><br clear="all"><span class="HOEnZb"><font color="#888888"><div><br></div>-- <br><div class="m_3255598536759392059gmail-m_3729549625263957037gmail_signature"><div dir="ltr"><div><div dir="ltr"><div>Matthias Wessendorf <br><br>github: <a href="https://github.com/matzew" target="_blank">https://github.com/mat<wbr>zew</a> <br>twitter: <a href="http://twitter.com/mwessendorf" target="_blank">http://twitter.com/mwessendorf</a></div></div></div></div></div>
</font></span></div></div></div></div><span class="HOEnZb"><font color="#888888">
</font></span></blockquote></div><span class="HOEnZb"><font color="#888888"><br><br clear="all"><div><br></div>-- <br><div class="m_3255598536759392059gmail_signature"><div dir="ltr"><div><div dir="ltr"><div>Matthias Wessendorf <br><br>github: <a href="https://github.com/matzew" target="_blank">https://github.com/<wbr>matzew</a> <br>twitter: <a href="http://twitter.com/mwessendorf" target="_blank">http://twitter.com/mwessendorf</a></div></div></div></div></div>
</font></span></div></div></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div>Matthias Wessendorf <br><br>github: <a href="https://github.com/matzew" target="_blank">https://github.com/matzew</a> <br>twitter: <a href="http://twitter.com/mwessendorf" target="_blank">http://twitter.com/mwessendorf</a></div></div></div></div></div>
</div>