Introduction to push technology © 2009 Research In Motion Limited.

Slides:



Advertisements
Similar presentations
WEB DESIGN TABLES, PAGE LAYOUT AND FORMS. Page Layout Page Layout is an important part of web design Why do you think your page layout is important?
Advertisements

CCNA – Network Fundamentals
Introduction to BlackBerry Push API Pratik Sapra, Mobile Application Development Specialist.
V1.00 © 2009 Research In Motion Limited Introduction to BlackBerry Smartphone Web Development—The BlackBerry Infrastructure Trainer name Date.
UNDERSTANDING JAVA APIS FOR MOBILE DEVICES v0.01.
Lesson 7: Business, , & Personal Information Management
© 2009 Research In Motion Limited Advanced Java Application Development for the BlackBerry Smartphone Trainer name Date.
Hypertext Transfer Protocol Kyle Roth Mark Hoover.
The Application Layer Chapter 7. Electronic Mail Architecture and Services The User Agent Message Formats Message Transfer Final Delivery.
© 2009 Research In Motion Limited Methods of application development for mobile devices.
Chapter 6: Distributed Applications Business Data Communications, 5e.
Introduction to Web Database Processing
V0.01 © 2009 Research In Motion Limited Introduction to Java Application Development for the BlackBerry Smartphone Trainer name Date.
V0.01 © 2009 Research In Motion Limited Introduction to Java Application Development for the BlackBerry Smartphone Trainer name Date.
V0.01 © 2009 Research In Motion Limited Understanding Java APIs for Mobile Devices Trainer name Date.
V1.00 © 2009 Research In Motion Limited Introduction to Mobile Device Web Development Trainer name Date.
© 2009 Research In Motion Limited Introduction to GPS and Wi-Fi technology on BlackBerry smartphones.
V0.01 © 2009 Research In Motion Limited Push technology for Java applications Trainer name Date.
Chapter 30 Electronic Mail Representation & Transfer
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Application Layer Functionality and Protocols Network Fundamentals – Chapter.
Architecture of SMTP, POP, IMAP, MIME.
Web Development & Design Foundations with XHTML Chapter 9 Key Concepts.
Form Handling, Validation and Functions. Form Handling Forms are a graphical user interfaces (GUIs) that enables the interaction between users and servers.
Name Title Microsoft Corporation Push Notification Introduction and Platform Interaction.
Chapter 9 Collecting Data with Forms. A form on a web page consists of form objects such as text boxes or radio buttons into which users type information.
Managing Client Access
Module 4 Managing Client Access. Module Overview Configuring the Client Access Server Role Configuring Client Access Services for Outlook Clients Configuring.
1 Web Developer & Design Foundations with XHTML Chapter 6 Key Concepts.
INTRODUCTION TO WEB DATABASE PROGRAMMING
Computer Concepts 2014 Chapter 7 The Web and .
Simple Web Services. Internet Basics The Internet is based on a communication protocol named TCP (Transmission Control Protocol) TCP allows programs running.
Copyright © cs-tutorial.com. Introduction to Web Development In 1990 and 1991,Tim Berners-Lee created the World Wide Web at the European Laboratory for.
Comp2513 Forms and CGI Server Applications Daniel L. Silver, Ph.D.
Computer Networking From LANs to WANs: Hardware, Software, and Security Chapter 12 Electronic Mail.
Introduction to BlackBerry Smartphone Web Development —Introduction to Browser Push Trainer name Date V1.00 © 2009 Research In Motion Limited.
27.1 Chapter 27 WWW and HTTP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
1 Chapter 2 & Chapter 4 §Browsers. 2 Terms §Software §Program §Application.
Implementing ISA Server Publishing. Introduction What Are Web Publishing Rules? ISA Server uses Web publishing rules to make Web sites on protected networks.
XP New Perspectives on Browser and Basics Tutorial 1 1 Browser and Basics Tutorial 1.
World Wide Web Hypertext model Use of hypertext in World Wide Web (WWW) WWW client-server model Use of TCP/IP protocols in WWW.
CSCI 6962: Server-side Design and Programming Web Services.
9 Chapter Nine Compiled Web Server Programs. 9 Chapter Objectives Learn about Common Gateway Interface (CGI) Create CGI programs that generate dynamic.
© 2009 Research In Motion Limited Advanced Java Application Development for the BlackBerry Smartphone Trainer name Date.
Lecture 15 Introduction to Web Services Web Service Applications.
Chapter 8 Cookies And Security JavaScript, Third Edition.
JavaScript, Fourth Edition Chapter 5 Validating Form Data with JavaScript.
Computer Emergency Notification System (CENS)
Web Client-Server Server Client Hypertext link TCP port 80.
1 MSCS 237 Overview of web technologies (A specific type of distributed systems)
Jsp (Java Server Page) Is a server side program.
© 2009 Research In Motion Limited Advanced Java Application Development for the BlackBerry Smartphone Trainer name Date.
1 WWW. 2 World Wide Web Major application protocol used on the Internet Simple interface Two concepts –Point –Click.
Operating Systems Lesson 12. HTTP vs HTML HTML: hypertext markup language ◦ Definitions of tags that are added to Web documents to control their appearance.
Kemal Baykal Rasim Ismayilov
Module: Software Engineering of Web Applications Chapter 2: Technologies 1.
27.1 Chapter 27 WWW and HTTP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
ICM – API Server & Forms Gary Ratcliffe.
Internet Applications (Cont’d) Basic Internet Applications – World Wide Web (WWW) Browser Architecture Static Documents Dynamic Documents Active Documents.
8 Chapter Eight Server-side Scripts. 8 Chapter Objectives Create dynamic Web pages that retrieve and display database data using Active Server Pages Process.
ASP-2-1 SERVER AND CLIENT SIDE SCRITPING Colorado Technical University IT420 Tim Peterson.
1 Chapter 22 World Wide Web (HTTP) Chapter 22 World Wide Web (HTTP) Mi-Jung Choi Dept. of Computer Science and Engineering
Simple Web Services. Internet Basics The Internet is based on a communication protocol named TCP (Transmission Control Protocol) TCP allows programs running.
BLACKBERRY TECHNOLOGY PRESENTED BY SHAIK TABREZ (09J01A1225 )
CIW LESSON 7 PART A. INTRODUCTION TO BUSINESS ELECTRONIC MAIL The use of has given rise to the term ______________________, which is a slang term.
Modified from slides provided by Joseph Sant & Ann Cadger.
Antony Edwin Keane Inc Ltd
1 Chapter 1 INTRODUCTION TO WEB. 2 Objectives In this chapter, you will: Become familiar with the architecture of the World Wide Web Learn about communication.
Web fundamentals: Clients, Servers, and Communication
Servlets.
Chapter 6: Distributed Applications
Presentation transcript:

Introduction to push technology © 2009 Research In Motion Limited

Agenda This course covers the following topics: –Introduction to developing applications for mobile devices –Methods of application development for mobile devices –Introduction to GPS and Wi-Fi® technology on BlackBerry® smartphones

© 2009 Research In Motion Limited Agenda –Introduction to push technology –Data structures and memory management on mobile devices –User interface design for mobile devices –BlackBerry themes and animated graphics –Security considerations for developing applications for mobile devices

© 2009 Research In Motion Limited Introduction to push technology Objectives: –Define push technology and describe the benefits of push technology. –Describe how a server-side push application works. –Provide an example of how a server-side push works on a BlackBerry smartphone.

Push technology © 2009 Research In Motion Limited

Push technology –Push applications send web content or other data to specific BlackBerry smartphones. –The push application automatically delivers the information as soon as it becomes available.

© 2009 Research In Motion Limited Push technology Benefits: –Immediacy –Efficiency –Reduced latency –Longer battery life –Shorter learning curve

Push applications for the BlackBerry Enterprise Server © 2009 Research In Motion Limited

Push applications for the BlackBerry Enterprise Server Two applications are required: –Server-side push application Submits the push request –Client-side listener application Listens for incoming push messages

© 2009 Research In Motion Limited Push applications for the BlackBerry Enterprise Server Client/server push applications: –Consist of a custom client BlackBerry smartphone application and a server-side application that pushes content to the client BlackBerry smartphone –Provide more control and flexibility

Push applications for the BlackBerry Enterprise Server Advantages –Store data on the BlackBerry smartphone –Make network connections based on the information that comes in –Integrate the data with BlackBerry applications such as a calendar

© 2009 Research In Motion Limited Push applications for the BlackBerry Enterprise Server Server-side push applications: –Make requests to the BlackBerry MDS Connection Service to push data to specified BlackBerry smartphone users –Generate and send HTTP POST requests to the BlackBerry MDS Connection Service and use either the PAP push format or RIM push format to specify the delivery parameters –Push data to individual users based on either their addresses or their BlackBerry smartphone PINs, or to groups of users created and maintained on the BlackBerry® Enterprise Server HTTPHypertext Transfer Protocol PAPPush Access Protocol PIN personal identification number RIMResearch in Motion

© 2009 Research In Motion Limited Push applications for the BlackBerry Enterprise Server Supported push formats send an HTTP POST request to the BlackBerry MDS Connection Service. –PAP push format The request contains a MIME multipart message that includes two components: an XML-based PAP control entity that defines the delivery parameters, and the data to be pushed. MIMEMultipurpose Internet Mail Extensions XMLExtensible Markup Language

© 2009 Research In Motion Limited Push applications for the BlackBerry Enterprise Server RIM push format –The pushed content is sent as a byte stream. –The destination port is specified within the URL of the pushed content. –The destination users and other delivery parameters are specified in HTTP headers included with the request. URLUniform Resource Locator

© 2009 Research In Motion Limited Push applications for the BlackBerry Enterprise Server Client-side listener applications: –Custom listener application Must create both the custom client-side application that receives the pushed data and the server-side application that makes the push request –Configure the push listener to start up automatically Application automatically starts when you perform a hard reset on the BlackBerry smartphone or when the application is first installed Applications can have multiple entry points

© 2009 Research In Motion Limited Push applications for the BlackBerry Enterprise Server Create an autostart application with multiple entry points using the BlackBerry® JDE Plug-in for Eclipse® or the BlackBerry® Java® Development Environment: 1. Create a background listener application, which starts a listener thread. 2. In the application properties, select the System module. 3. Select the Auto-run on startup option. 4. Code the main method to start the listener thread.

Push applications for the BlackBerry Enterprise Server 5. Create a project that has just an application icon, and then choose the Alternate CLDC Application Entry Point project type. 6. Set the Alternate entry point to the main application. 7. In the Argument Passed to field, enter descriptive text. 8. Modify the source code and combine the two startup sections.

© 2009 Research In Motion Limited Push applications for the BlackBerry Enterprise Server The BlackBerry® Browser: –Contains a built-in listening thread on the BlackBerry smartphone –Listens on port 7874 –Pushes web content or other browser-supported data –Stores pushed content in a dedicated cache

Web signals and BlackBerry Push API © 2009 Research In Motion Limited

Web signals and BlackBerry Push API Web signals and the BlackBerry Push API: –Two push options for non-Enterprise or BIS-connected BlackBerry smartphone users –Can push data to any network connected BlackBerry smartphone, even if the BlackBerry smartphone is not managed by an organization’s BlackBerry Enterprise Server. APIapplication programming interface

© 2009 Research In Motion Limited Web signals and BlackBerry Push API Web signals: –Near real-time content updates push data directly to the BlackBerry smartphone. –Third-party content providers can add timely and relevant updates to their application portfolios.

© 2009 Research In Motion Limited Web signals and BlackBerry Push API BlackBerry Push API: –Lets you build push capability into Java® based consumer applications –The pushed data is directed to the BlackBerry smartphone PIN number rather than the phone number

Push application design considerations © 2009 Research In Motion Limited

Push application design considerations When developing push applications, consider: –The type of information that users in your organization need pushed to them and how often you must push that information –Having users subscribe to the push information that they require

Components of a push request © 2009 Research In Motion Limited

Components of a push request PAP push and RIM push formats support the following: –Reliable push requests –Deliver before time stamp –Deliver after time stamp The PAP push service implementation also supports: –Push cancellation –Push status query

© 2009 Research In Motion Limited Components of a push request Push request reliability: –Specify that you want the BlackBerry smartphone to return a result notification when the pushed data is successfully delivered. –If you do not specify a reliability level for your push method, the BlackBerry MDS Connection Service does not provide the push originator with any notification regarding the outcome of the push request. –You must also specify a notification URL to which the BlackBerry MDS Connection Service sends result notifications.

© 2009 Research In Motion Limited Components of a push request To specify a reliable push request: –Using the PAP push format Include the element in the element of the control entity –Using the RIM push format Include the X-Rim-Push-Reliability header in the request.

© 2009 Research In Motion Limited Components of a push request There are three levels of reliability: –Transport –Application –Application-preferred

© 2009 Research In Motion Limited Components of a push request Transport level: –The BlackBerry smartphone Sends an acknowledgment notification when the pushed data reaches the BlackBerry smartphone Does not attempt to verify that the data was received by the client-side application

© 2009 Research In Motion Limited Components of a push request Application level: –BlackBerry smartphone Sends an acknowledgment notification when the pushed data reaches the client-side application Sends the acknowledgment to the BlackBerry MDS Connection Service, which forwards it on to the notification URL provided in the push request –Notes You must register the listen port number on the BlackBerry smartphone with the BlackBerry MDS Connection Service before you can make application-reliable push requests. If you are pushing data to the BlackBerry Browser, the port is preregistered.

© 2009 Research In Motion Limited Components of a push request Application preferred level: –Only the RIM push format supports the application preferred reliability level. –If the BlackBerry smartphone supports application- level reliability it sends an acknowledgment notification when the pushed data reaches the client-side application. –If the BlackBerry smartphone does not support application-level reliability, it sends an acknowledgment notification when the pushed data reaches the BlackBerry smartphone.

© 2009 Research In Motion Limited Components of a push request Application preferred level: –Register the listen port number –Not available with the PAP push format

© 2009 Research In Motion Limited Components of a push request Time restrictions for push delivery: –Define an expiry time during which pushed data must be delivered to the recipient BlackBerry smartphones –Set two time stamps to specify time restrictions Deliver before time stamp Deliver after time stamp

© 2009 Research In Motion Limited Components of a push request To specify time restrictions for push delivery using the PAP push format: –Define one or both of the deliver-after- timestamp and the deliver-after- timestamp attribute for the element of the control entity. To specify time restrictions for push delivery using the RIM push format: –X-Rim-Push-Deliver-Before and X-Rim- Push-Deliver-After header in the request.

PAP push format © 2009 Research In Motion Limited

PAP push format Send three types of requests: –Push request Pushes data to the specified recipients –Status query request Queries the status of a push request for one or more specified recipients –Cancellation request Cancels a push request for one or more specified recipients

© 2009 Research In Motion Limited PAP push format The PAP push format: –Sends the request as an HTTP POST request to the BlackBerry MDS Connection Service –Use the format: POST : /pap If the BlackBerry MDS Connection Service is configured to support secure connections, you can use the HTTPS protocol.

© 2009 Research In Motion Limited PAP push format Create a PAP push request: 1.Send an HTTP POST request. 2.To push content to multiple recipients using PAP, add multiple address tags to the POST request. 3.To push content to a group using PAP, in the recipient addresses part of the push submission, prefix the group name with the $character. Example: an address element used to push to a group named IT using PAP:

RIM push format © 2009 Research In Motion Limited

RIM push format Send the request as an HTTP POST request to the BlackBerry MDS Connection Service: POST : /push? DESTINATION= &PORT= &REQUESTURI=

© 2009 Research In Motion Limited RIM push format To push content to: –One or multiple users, send an HTTP POST request server listen port/push?DESTINATION= –Multiple recipients, include multiple DESTINATION parameters in the query string &REQUESTURI=/ –A group, prefix the group name with the $character

© 2009 Research In Motion Limited