<div dir="ltr"><div>Thanks David. Really good question. </div><div><br></div>I ignored mobile implementation in demo as most of the work for this was done on server side.<div>I'm using different more extended use cases to drive SDK work.</div><div><br>For mobile application there were couple manual steps:<br></div><div><br></div><div>1) Generate mobile configuration using mobile-client (not mobile specific)</div><div>2) Drop configuration including URL into application (not mobile specific)</div><div>3) Extract URL from configuration.</div><div>4) Use AFNetworking framework (IOS) to make network request.</div><div><br>I did not implemented that on Android platform, but flow should be the same. <br>After obtaining URL/configuration to service users can make any API calls.</div><div>The only complexity will come with authentication - for example when using keycloak, but that will require additional effort.<br></div><div><br></div><div>IMHO At this point it's better to rely on sync service for initial SDK service as it has non trivial client implementation (business logic etc.)<br>It's also clear that Sync will be used with some modified form. </div><div>For SDK investigations we are focused on extending step 3 and 4 into core of our library.</div><div>Once that is done we can simply integrate two most important SDK's: Sync and Push.<br><br>Main goals are:</div><div><br></div><div>- Investigate/implement android core library that will create map of services from provided json/plist file. </div><div>- Integrate existing SDK sync and push</div><div>- Try to extract network into core (using aerogear-android-pipe from push server)</div><div><br></div><div>In the mean time we are working on SDK proposal and top level API (using annotations)</div><div>BOM style dependency management that will improve user experience and reduce versioning hell on Android platform.</div><div><br></div><div>After doing that we can drive this forward and run sync behind keycloak which should show us how we can provide authentication.</div><div>We may also extend mobile-cli to provide more service specific information that is needed. </div><div><br>I think that clearly summarizing entire SDK initiative at this moment. </div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Jan 10, 2018 at 12:37 PM, David Martin <span dir="ltr"><<a href="mailto:davmarti@redhat.com" target="_blank">davmarti@redhat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Very nice Wojciech.<div><br></div><div>I'd love to see/hear more about how it works from the Mobile App, if that piece is working.</div><div>Did you populate stats using the App, or by just curling an endpoint? (Maybe you said and I missed that)</div><div><br></div><div><br></div></div><div class="gmail_extra"><div><div class="h5"><br><div class="gmail_quote">On 10 January 2018 at 12:22, Wojciech Trocki <span dir="ltr"><<a href="mailto:wtrocki@redhat.com" target="_blank">wtrocki@redhat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Forwarding to internal list as AeroGear list seems to be having problems with mail delivery.<span><div><br><div class="gmail_quote">---------- Forwarded message ----------<br>From: <b class="gmail_sendername">Wojciech Trocki</b> <span dir="ltr"><<a href="mailto:wtrocki@redhat.com" target="_blank">wtrocki@redhat.com</a>></span><br>Date: Tue, Jan 9, 2018 at 7:55 PM<br>Subject: Mobile Statistics using Grafana, Prometheus running on OpenShift<br>To: AeroGear Developer Mailing List <<a href="mailto:aerogear-dev@lists.jboss.org" target="_blank">aerogear-dev@lists.jboss.org</a>><br><br><br><div dir="ltr"><div>Hi everyone</div><div><br>I have been working today on investigation for enabling mobile application statistics on top of OpenShift.</div><div>The main target was to enable mobile clients (using our SDK) to send statistics payload to server.</div><div>For this purpose we were sending back mobile.next() SDK version from different mobile clients and visualizing that data Grafana.</div><div><br></div><div><div><b>Demo: </b></div><div><b><br></b></div><a href="https://www.youtube.com/watch?v=zC95jJr1kcc" target="_blank">https://www.youtube.com/watch?<wbr>v=zC95jJr1kcc</a></div><div></div><div><br></div><div><b>Where is the value? </b></div><div><b><br></b>Grafana, can be used to showcase various statistics that mobile developers will need without extended development effort.</div><div><br></div><div><b>How we can extend this:</b></div><div><b><br></b></div><div>- Investigate different ways to store data in Prometheus (using labels etc.)</div><div>- Integrate with Keycloak to showcase SDK capabilities and permissions.</div><div>- Golang implementation for service</div><div><br></div><div>Regards</div><span class="m_6245439398804348527m_6378947771407932494m_-2729729303323359759m_2881332518413468863HOEnZb"><font color="#888888">-- <br><div class="m_6245439398804348527m_6378947771407932494m_-2729729303323359759m_2881332518413468863m_4348444656270229467gmail_signature"><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div style="font-size:12.8px"><p style="color:rgb(0,0,0);font-family:overpass,sans-serif;font-weight:bold;margin:0px;padding:0px;font-size:14px;text-transform:uppercase"><span>WOJCIECH</span> <span>TROCKI</span></p><p style="font-family:overpass,sans-serif;margin:0px;font-size:10px;color:rgb(153,153,153)"><a href="https://www.redhat.com/" style="color:rgb(0,136,206);margin:0px;text-decoration:none" target="_blank">Red Hat <span>Mobile</span></a></p><p style="font-family:overpass,sans-serif;margin:0px 0px 6px;font-size:10px;color:rgb(153,153,153)"><span>IM: <span>wtrocki</span></span></p><table border="0" style="color:rgb(0,0,0);font-family:overpass,sans-serif;font-size:medium"><tbody><tr><td width="100px"><a href="https://red.ht/sig" target="_blank"><img src="https://www.redhat.com/files/brand/email/sig-redhat.png" width="90" height="auto"></a></td></tr></tbody></table></div></div></div></div></div></div></div></div></div>
</font></span></div>
</div><div class="m_6245439398804348527m_6378947771407932494m_-2729729303323359759m_2881332518413468863gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><br></div></div></div></div></div></div></div>
</div></span></div>
</blockquote></div><br><br clear="all"><div><br></div></div></div><span class="HOEnZb"><font color="#888888">-- <br><div class="m_6245439398804348527gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr">David Martin<div>Red Hat Mobile</div><div>Twitter: <span style="font-size:12.8px">@irldavem</span></div><div><span style="font-size:12.8px">IRC: @irldavem (#aerogear)</span></div></div></div></div></div></div></div>
</font></span></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 dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div style="font-size:12.8px"><p style="color:rgb(0,0,0);font-family:overpass,sans-serif;font-weight:bold;margin:0px;padding:0px;font-size:14px;text-transform:uppercase"><span>WOJCIECH</span> <span>TROCKI</span></p><p style="font-family:overpass,sans-serif;margin:0px;font-size:10px;color:rgb(153,153,153)"><a href="https://www.redhat.com/" style="color:rgb(0,136,206);margin:0px;text-decoration:none" target="_blank">Red Hat <span>Mobile</span></a></p><p style="font-family:overpass,sans-serif;margin:0px 0px 6px;font-size:10px;color:rgb(153,153,153)"><span>IM: <span>wtrocki</span></span></p><table border="0" style="color:rgb(0,0,0);font-family:overpass,sans-serif;font-size:medium"><tbody><tr><td width="100px"><a href="https://red.ht/sig" target="_blank"><img src="https://www.redhat.com/files/brand/email/sig-redhat.png" width="90" height="auto"></a></td></tr></tbody></table></div></div></div></div></div></div></div></div></div>
</div>