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

Reply via email to