Introduction to BlackBerry Push API Pratik Sapra, Mobile Application Development Specialist Introduction To BlackBerry Push API • • • • Overview Architecture Security Requesting Access Overview – BlackBerry Push API • Provides a transport infrastructure for Server to Device pushed data • Primary focus on consumer applications – – – – – Alerts Replace polling to improve performance & reduce costs Poke-Pull model Event driven systems Near real-time notifications Can be used for enterprise deployments – Cross company applications – Enterprises without a BlackBerry Enterprise Server Overview – Benefits • • • • • Provides information immediately Optimizes network efficiency Preserves the battery life Reduces complexity for developers Improves developer margins Architecture • Pushes are initiated on the Server – Server side application is required – Server to Server interface for the Push Initiator – BlackBerry Infrastructure is the middleware • Sends data to a specified port on the Device – Client side Java application required to receive the push • Uses PAP 2.2 Standard push protocols – OMA-WAP-TS-PAP-V2_2-20071002-C • Requests are HTTP XML requests • Supported requests: – Submit Push – Cancel Push – Query for Status • Response: – Result notification Architecture – Components Three major components: • The server-side push service • A client-side application • BlackBerry Infrastructure Architecture – Push Request Workflow 1. Server sends PAP Push which contains a list of specified devices 2. BlackBerry Infrastructure sends response to Server and queues request 3. BlackBerry Infrastructure pushes data to specified devices 4. Each device sends ACK to BlackBerry Infrastructure 5. BlackBerry Infrastructure sends notification to Server 6. Server sends Read notification to BlackBerry Infrastructure 1 Push Request 2 3 Response Push Initiator 5 6 Push BlackBerry Infrastructure Mobile Client 4 Security • BlackBerry Infrastructure Authentication – Push Initiator is authenticated to the BlackBerry Infrastructure – Push Initiator can only push to its mobile application • 1:1 relationship between Push Initiator and mobile application – Push Initiator can only push to devices registered for their application – Each push request is authenticated to BlackBerry Infrastructure – Unique listening port for each application • BlackBerry Infrastructure does not encrypt data – Expects that payload data will already be encrypted by Push Initiator • Content Provider Authentication – Mobile application should be authenticated to the Push Initiator Requesting Access • Register at www.blackberry.com/pushapi • Sample code provided on registration approval • Content Provider tests the push service – Given access to the evaluation infrastructure • Research In Motion validates the Content Provider’s client and server-side applications – Ensuring development guidelines are met • Service is moved into production – Once all requirements are met • Only available to ISV Alliance Partners – To become an ISV Alliance partner visit www.blackberry.com/allianceapplication • Contact for service costs