My comments are inline. Other than that - how will the ESB connector for APNS work? Do we send a unique device id and a message to the ESB and ESB handles the tokens on APNS underneath?
Also there is a known misconception about usage of Push Notifications. Push Notification itself will not have data (there is an exception for this) - push notification is a signal for the iOS device to contact a provider to get new data that's available (it's called Send-to-Sync by GCM). I think we need to re-think the whole picture when it comes to Push Notifications. Kudos for the effort ~ On Thu, Mar 27, 2014 at 11:07 AM, Rushmin Fernando <[email protected]> wrote: > Hi, > > I'm going to implement an Apple Push Notification (APN) Connector for WSO2 > ESB. > > Attached is a high level design diagram. > > [1] and [2] are about how APN works. > > The connector will be implemented in two steps > > *Step 1* > *----------* > > This is the basic connector. Users are allowed to configure the connector > with one or more device tokens and other push notification fields such as > alert, badge and sound. > > Usage : This functionality only works fine when the number of devices is > static. When it is dynamic then additional manual effort is needed to edit > the device tokens in the connector configuration. > Shall we make the apns connectivity part in a way that is abstract to the connector? In the EMM product - we use apns (app push & mdm push) - it would better if we can leverage a single component through out the platform. Also the registration process is handled by EMM currently (you can take a look at that codebase as well). > > *Step 2* > *----------* > > Purpose is this step to introduce the self device registration (as > depicted in the attached design diagram) > > *Problems to be solved* > *-----------------------------------* > > 1) There should be a way of adding an entity for each app the that entity > will contain an app id and APN certificates. When the devices send self > registration requests these device tokens too will be persisted in the app > entity. > > *Problem* - *Whats the best way of persisting these info in ESB and is > there any custom schema based forms to capture information like the app id > and certificate info ?* > I believe this is a component that overlaps EMM and ESB. EMM already has a method of storing devices (a device table) we can leverage the same method or implement a similar one. > > > > *APN Client Implementations* > *--------------------------------------------* > > The connector will be able to switch the client implementations. > > Initially it will only support an API client library. > > Candidates for the client library are JavaPNS 2.2 [3] and java-apns [4]. > > > [3] is under GNU Lesser GPL and [4] is under New 3-Clause BSD License and > it provides more clean code [5]. *Is [4] a safe option when it comes to > the license ?* > notnoop/java-apns is safe (I think @Dilshan can add more to this). Also there has been a thread previously on architecture [Apple push strategy]. > > Once the API client lib adapter is written other adapters can be added to > support "push notifications as a service' vendors like Push IO [6] and > Urban Airship [7] > > > > > [1] > https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/CommunicatingWIthAPS.html > > [2] > https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Introduction.html > > [3] https://code.google.com/p/javapns/ > > [4] https://github.com/notnoop/java-apns > > [5] https://github.com/notnoop/java-apns/wiki/Compare-with-Javapns > > [6] http://push.io/ > > [7] http://urbanairship.com/ > > > Thanks > /Rushmin > > -- > Rushmin Fernando > Technical Lead > Mobile : +94772310855 > > _______________________________________________ > Architecture mailing list > [email protected] > https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture > > -- Chan (Dulitha Wijewantha) Software Engineer - Mobile Development WSO2Mobile Lean.Enterprise.Mobileware * ~Email [email protected] <[email protected]>* * ~Mobile +94712112165 <%2B94712112165>* * ~Website dulitha.me <http://dulitha.me>* * ~Twitter @dulitharw <https://twitter.com/dulitharw>* *~SO @chan <http://stackoverflow.com/users/813471/chan>*
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
