© 2009 Research In Motion Limited Advanced Java Application Development for the BlackBerry Smartphone Trainer name Date.

Slides:



Advertisements
Similar presentations
Reinventing using REST. Anything addressable by a URI is called a resource GET, PUT, POST, DELETE WebDAV (MOVE, LOCK)
Advertisements

Hypertext Transfer PROTOCOL ----HTTP Sen Wang CSE5232 Network Programming.
touchdevelop vs. apps with Visual Studio
CCNA – Network Fundamentals
V0.1 Inclusive and Accessible Application Design June 21, 2012.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Network Services Networking for Home and Small Businesses – Chapter 6.
Introduction to BlackBerry Push API Pratik Sapra, Mobile Application Development Specialist.
Introduction to push technology © 2009 Research In Motion Limited.
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.
© 2009 Research In Motion Limited Advanced Java Application Development for the BlackBerry Smartphone Trainer name Date.
UDP - User Datagram Protocol UDP – User Datagram Protocol Author : Nir Shafrir Reference The TCP/IP Guide - ( Version Version.
Hypertext Transfer Protocol Kyle Roth Mark Hoover.
V0.01 © 2009 Research In Motion Limited Introduction to Java Application Development for the BlackBerry Smartphone Trainer name Date.
© 2009 Research In Motion Limited Methods of application development for mobile devices.
V0.01 © 2009 Research In Motion Limited Introduction to Java Application Development for the BlackBerry Smartphone Trainer name Date.
Understanding Networks. Objectives Compare client and network operating systems Learn about local area network technologies, including Ethernet, Token.
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.
© 2004, Robert K. Moniot Chapter 1 Introduction to Computers and the Internet.
V0.01 © 2009 Research In Motion Limited Push technology for Java applications Trainer name Date.
1 Generic SMS Gateway for AtLink Enterprise Voice Integration Instructor: Dr. Kwok-Bun Yue, Ph.D Mentor: Mr. Dilhar De Silva Team #6: Dang Nguyen Huy Do.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Application Layer Functionality and Protocols Network Fundamentals – Chapter.
Form Handling, Validation and Functions. Form Handling Forms are a graphical user interfaces (GUIs) that enables the interaction between users and servers.
Chapter 1 Internet & Web Basics Key Concepts Copyright © 2013 Terry Ann Morris, Ed.D. 1.
V0.1 BlackBerry HTML5/WebWorks Applications for the BlackBerry ® PlayBook™ Tablet BlackBerry Academic Program Module 1 - Overview.
© 2009 Research In Motion Limited Advanced Java Application Development for the BlackBerry Smartphone Trainer name Date.
INTRODUCTION TO WEB DATABASE PROGRAMMING
IT 210 The Internet & World Wide Web introduction.
Computer Networks  Network - A system of computers interconnected in order to share information.  Data transmission - consists of sending and receiving.
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.
Databases and the Internet. Lecture Objectives Databases and the Internet Characteristics and Benefits of Internet Server-Side vs. Client-Side Special.
FTP (File Transfer Protocol) & Telnet
Introduction to BlackBerry Smartphone Web Development —Introduction to Browser Push Trainer name Date V1.00 © 2009 Research In Motion Limited.
© 2009 Research In Motion Limited Advanced Java Application Development for the BlackBerry Smartphone Trainer name Date.
V0.1 BlackBerry HTML5/WebWorks Applications for the BlackBerry ® PlayBook™ Tablet BlackBerry Academic Program Module 5 - Writing HTML5/WebWorks API Extensions.
Networks QUME 185 Introduction to Computer Applications.
© 2009 Research In Motion Limited Advanced Java Application Development for the BlackBerry Smartphone Trainer name Date.
CIS 1310 – HTML & CSS 1 Introduction to the Internet.
© 2009 Research In Motion Limited Advanced Java Application Development for the BlackBerry Smartphone Trainer name Date.
1 Web Development & Design Foundations with XHTML Chapter 1 Key Concepts.
TCP/IP Transport and Application (Topic 6)
Type presentation name here in slide master © 2007 SDL. Company Confidential. Forward-looking information is based upon multiple assumptions and uncertainties.
1. I NTRODUCTION TO N ETWORKS Network programming is surprisingly easy in Java ◦ Most of the classes relevant to network programming are in the java.net.
1 Welcome to CSC 301 Web Programming Charles Frank.
ECEN “Internet Protocols and Modeling”, Spring 2012 Course Materials: Papers, Reference Texts: Bertsekas/Gallager, Stuber, Stallings, etc Class.
Appendix E: Overview of HTTP ©SoftMoore ConsultingSlide 1.
1 WWW. 2 World Wide Web Major application protocol used on the Internet Simple interface Two concepts –Point –Click.
Web Technologies Lecture 8 Server side web. Client Side vs. Server Side Web Client-side code executes on the end-user's computer, usually within a web.
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.
Type presentation name here in slide master © 2007 SDL. Company Confidential. Forward-looking information is based upon multiple assumptions and uncertainties.
1 The World Wide Web Architectural Overview Static Web Documents Dynamic Web Documents HTTP – The HyperText Transfer Protocol Performance Enhancements.
Server-side http General form of http response/request GET request method POST request method Responses Servlet support.
1 Chapter 22 World Wide Web (HTTP) Chapter 22 World Wide Web (HTTP) Mi-Jung Choi Dept. of Computer Science and Engineering
1 Network Communications A Brief Introduction. 2 Network Communications.
Antony Edwin Keane Inc Ltd
12. DISTRIBUTED WEB-BASED SYSTEMS Nov SUSMITHA KOTA KRANTHI KOYA LIANG YI.
Web Development & Design Foundations with XHTML Chapter 1 Key Concepts 1.
The Echo Server Problem. Contents  Basic Networking Concepts  The Echo Server Problem.
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
Chapter 9: Transport Layer
Network Infrastructure Services Supporting WAP Clients
Instructor Materials Chapter 9: Transport Layer
Computer Networks Protocols
Network programming Lecture 1 Prepared by: Dr. Osama Mokhtar.
Presentation transcript:

© 2009 Research In Motion Limited Advanced Java Application Development for the BlackBerry Smartphone Trainer name Date

© 2009 Research In Motion Limited Agenda In this course, you will cover the following topics: –Introduction to advanced mobile application development for the BlackBerry ® smartphone –Application control for mobile devices –Optimization for mobile application development –Advanced BlackBerry user interface –Introduction to multimedia application development for the BlackBerry smartphone –Understanding push technology

© 2009 Research In Motion Limited Agenda In this course, you will cover the following topics: –Understanding client/server push –Introduction to developing Bluetooth ® applications for mobile devices –Developing secure applications

Advanced Java Application Development for the BlackBerry Smartphone Objectives –Explain client/server push and describe the benefits of push –Explain how to write a basic client-side push application –Explain how to write a basic server-side push application –Describe and use the various features of push reliability © 2009 Research In Motion Limited

Explain client/server push

© 2009 Research In Motion Limited Client/server push –Client/server push applications send data from a server-side application to a custom client application on the BlackBerry smartphone. –Requires a custom client application –Provides more control than browser push applications

© 2009 Research In Motion Limited Client/server push –Two applications are involved in client/server push: A server-side push application A client-side listener

© 2009 Research In Motion Limited Writing a basic client-side push application –A client-side push application requires a listening thread –Applications send and receive data on a separate thread –Basic client-side push application: Verify that the client BlackBerry smartphone is in a wireless coverage area Open an input stream Close the stream connection notifier

Overview of the PAP push format © 2009 Research In Motion Limited

Overview of the PAP push format –Server-side applications can use the PAP push format to send three types of requests: Push request Status-query request Cancellation request –All three requests are sent as an HTTP POST to the BlackBerry MDS Connection Service PAPPush Access Protocol HTTPHyper-text transfer protocol MDSmobile data system

© 2009 Research In Motion Limited Overview of the PAP push format Constructing a PAP control entity –A PAP control entity is an XML document which contains the control information that is required by the Push Access Protocol –It must be the first entity in a push request –All PAP control entities have three common document elements XMLExtensible markup language

Overview of the RIM push format © 2009 Research In Motion Limited

Overview of the RIM push format –Server-side applications can use the RIM push format to send both the data and delivery parameters to the BlackBerry MDS Connection Service in a single byte stream –The request is sent as an HTTP POST request using the following format: POST : /push? DESTINATION= &PORT= & REQUESTURI= XMLExtensible markup language

© 2009 Research In Motion Limited Overview of the RIM push format –HTTP headers for the RIM push format –Receiving a RIM push format result notification –Response codes for the RIM push format XMLExtensible markup language

Writing a basic server-side push application –To write a basic server-side push application, complete the following steps: 1.For PAP push, specify the push parameters. (For RIM push, the parameters are specified as part of the Push web address.) 2.Connect to the BlackBerry MDS Connection Service 3.Define the properties for the HTTP POST request. 4.Write data to the server connection. 5.Read the server response. 6.Close the server connection. © 2009 Research In Motion Limited

Creating a push request © 2009 Research In Motion Limited

Creating a push request –A push request is made up of the data to be pushed and a set of delivery parameters –Both the PAP push and RIM push formats support the following features: Reliable push requests Deliver-Before time stamp Deliver-After time stamp © 2009 Research In Motion Limited

Creating a push request –In addition, the PAP push service implementation supports the following features: Push cancellation Push status query © 2009 Research In Motion Limited

Creating a push request Pushing data to multiple BlackBerry smartphone users –Submit a single push request for multiple BlackBerry smartphone users –Two methods to send to multiple addresses are: By specifying multiple addresses or BlackBerry smartphone PINs in the push request By specifying a BlackBerry user group (which specifies multiple recipients using a single address) in the push request © 2009 Research In Motion Limited

Creating a push request Pushing data to multiple recipient addresses –Pushing data to multiple recipient addresses rather than a BlackBerry user group allows you to do the following for individual recipients: Cancel Query Receive result notifications © 2009 Research In Motion Limited

Creating a push request Pushing data to multiple recipient addresses –Can result in large push requests which might cause issues, such as URL limitations –To push data to multiple recipient addresses: For PAP push include an element for each intended recipient For RIM push include a separate destination parameter for each intended recipient © 2009 Research In Motion Limited

Creating a push request Pushing data to a BlackBerry user group –BlackBerry user groups are administered on the server and represent multiple recipients using a single address –The group is seen as a single entity which limits flexibility of a push application © 2009 Research In Motion Limited

Creating a push request Pushing data to a BlackBerry user group –To push data to a group: PAP push include a single element RIM push include a single DESTINATION parameter © 2009 Research In Motion Limited

Creating a push request Using push request reliability –To receive notifications on a push request, specify the reliability level and a notification URL –If a custom client is receiving the pushed data the port must be registered on the BlackBerry MDS Connection Service –If the pushed data is sent to the BlackBerry Browser the port is already registered © 2009 Research In Motion Limited

Creating a push request Using push request reliability –Only BlackBerry Device Software versions 3.8 or later support application reliable push requests –Application-reliable push requests that do not require registration, develop your application so it sends an HTTP request –To specify a reliable push request: PAP push include the element RIM push include the x-Rim-Push-Reliability header © 2009 Research In Motion Limited

Creating a push request Using push request reliability –Levels of reliability Transport Application Application - preferred © 2009 Research In Motion Limited

Creating a push request Receiving push result notifications –application-level or transport-level reliability push requests require a valid notification URL –The BlackBerry MDS Connection Service sends all result notifications to the notification URL as an HTTP POST © 2009 Research In Motion Limited

Creating a push request Specifying time restrictions for push delivery –Define a delivery period for delivering the pushed data Deliver-after date and time Deliver-by date and time © 2009 Research In Motion Limited

Creating a push request Querying the status of push requests –Query the status of the push request for one or more recipients –Zero recipients returns a status for all the recipients, specify one or more to return limited results –Groups only return a status for the entire group –Can result in unnecessary network traffic © 2009 Research In Motion Limited

Creating a push request Cancelling a pending push request –Cancelation requests are possible using PAP push format –Zero recipients returns a status for all the recipients, specify one or more to return limited results –Groups only return a status for the entire group –If the request is still pending cancelation is possible, recall of sent data is not possible © 2009 Research In Motion Limited

Summary © 2009 Research In Motion Limited

Summary –Client/server push applications send data from a server-side application to a custom client application. –A client-side push application requires a listening thread and sends and receives data on a separate thread. –You can use any programming language that can establish an HTTP connection to create a server- side push application. © 2009 Research In Motion Limited

Summary –A push request can require a server-side application to be notified when pushed data arrives © 2009 Research In Motion Limited

Legal Disclaimer The following trademarks and/or registered trademarks of Research In Motion are referred to in this presentation: –BlackBerry® The following BlackBerry products are referred to in this presentation: –BlackBerry® Enterprise Server © 2009 Research In Motion Limited

Legal Disclaimer © 2009 Research In Motion Limited. All rights reserved. BlackBerry®, RIM®, Research In Motion®, SurePress™ SureType® and related trademarks, names and logos are the property of Research In Motion Limited and are registered and/or used in the U.S. and countries around the world. All other trademarks are the property of their respective owners. This documentation is provided "AS IS" and without condition, endorsement, guarantee, representation or warranty, or liability of any kind by Research In Motion Limited and its affiliated companies, all of which are expressly disclaimed to the maximum extent permitted by applicable law in your jurisdiction.