Introduction to BlackBerry Development using Java ME Presented by: Sean Fenton Technical Channel Manager RIM (Research in Motion )
2 Introduction to BlackBerry MDS BlackBerry Mobile Data System (BlackBerry MDS ) Simplifies the development, deployment and management of wireless applications for the enterprise Leverages the core strengths of BlackBerry to mobilize additional business processes and applications Security & Encryption Management Push Designed for Wireless! Offers a choice of standards-based development options
BlackBerry Application Platform 3 Java ME Flexibility BlackBerry MDS Studio Browser Ease of Development
BlackBerry Application Platform 4 Enterprise Information Systems Web and Application Servers BlackBerry Enterprise Server with BlackBerry MDS Services BlackBerry MDS device software HTTP(S ) Java EE &.NET Web Services Web Servers Corporate Application Servers MDS Connection Service MDS Services Integration Provisioning Management Optimization Transcoding Access Control Push Connectivity Encryption BlackBerry MDS Runtime BlackBerry Browser BlackBerry JVM
BlackBerry Application Platform 5 From an application perspective Enterprise Information Systems Web and Application Servers TCP / HTTP(S) BlackBerry MDS device software SOAP HTML, WML, SVG XML, Custom BlackBerry MDS provides End-to-End Security Managed Wireless Connectivity Standard Protocol Interfaces Device & Network Independent Push BlackBerry MDS Studio Application Mobile Web Application Java Application like a permanent VPN!
Custom Java Applications 6
Custom BlackBerry Java Applications 7 Client on the device is a custom Java Application BlackBerry is a pure Java device Supports Java ME as well as many BlackBerry APIs Secure code-signing infrastructure Use the BlackBerry Java Development Environment (JDE) to build, test and optimize applications BlackBerry JDE includes a robust set of debugging, profiling and optimization tools JDE 4.1 Component package enables BlackBerry Java development via third-party IDE s s.a. NetBeans, Eclipse
Custom BlackBerry Java Applications 8 Java APIs for BlackBerry enable you to develop rich custom client applications that provide Customizable user interface Local data storage on the device Event listening and system interfaces Secure wireless transport via HTTP Advanced Java API capabilities include Integration with BlackBerry Email, PIM and Phone applications Always-on background threads to listen for push data Communication with Bluetooth -enabled peripherals Location-based services and audio playback
Custom BlackBerry Java Applications 9 Sample Java call-reporting application 1. Launch Application 2. List of Customers 3. Create New Call Report 4. Enter Details & Submit HTTP Java EE/.NET ODBC/SQL BlackBerry Enterprise Server with BlackBerry MDS Connection Service Web/App Server Data Store http://mywebserver/bb/callreport HTTP Interface (Receive Data) App Logic & User Management Connector Interface (ODBC, Java EE,.NET)
Custom Enterprise Applications Rich-Client Using BlackBerry JDE 10 Custom Rich-Client Solutions with BlackBerry JDE: Java Servlets HTTP/XML.NET Apps Custom Java Application Wireless Internet BlackBerry Enterprise Server Application Server Custom HTTP Apps Enterprise Applications Benefits: Rich-client application Maximum flexibility and customization Java ME applications may be portable to other devices Considerations: May require new tools and expertise (Java ME) Requires dedicated development / testing team Back-end integration and reliable data management Examples (Connect To): Java Beans and Servlets Microsoft.NET Apps Other Server-Side Apps Supporting HTTP/XML
Task Server Application Design 11
Task Server Application Design (Real Life Example) 12 Requirements Allows a mobile worker to review their tasks wirelessly Must keep the user up-to-date and informed as new tasks created Requires functionality when the handheld is out of coverage Connects into existing Task Management Server via HTTP
13 Application Design Task Server Application Example: Task Server Application Components HTTP(S) Client Application Client Application BlackBerry Enterprise Server with BlackBerry MDS Task Manager Server Developed in Java using Java ME and Enhanced BlackBerry APIs Able to persistently store data Able to receive PUSH data from the server (using HTTP) Able to parse incoming Data Application reliability mode to accept input Existing Task Management System
Application Design Task Server Application 14 Example: Task Server Application Components HTTP(S) Client Application BlackBerry Enterprise Server with BlackBerry MDS Task Manager Server Existing Task Management System MDS Gateway (No Development Required) Acts as an IP Proxy, Allowing the Application to use standard HTTP for communication Allows the Server to send Server Initiated PUSH messages to the application on the handheld
Application Design Task Server Application 15 Example: Task Server Application Components HTTP(S) Client Application BlackBerry Enterprise Server with BlackBerry MDS Task Manager Server Existing Task Management System Server Application Connects into Existing Task Management System Manages Users Performs PUSH Based on changes to the Task Data Reliable Delivery posts the ACK to application URL Manages the PUSH acknowledgement
Application Design Task Server Application 16 Example: Task Server Application Components HTTP(S) Client Application BlackBerry Enterprise Server with BlackBerry MDS Task Manager Server Existing Task Management System Existing System (No Development Required) Holds the Users Task Information Provides the Existing System
Customized Applications - Device Policy 17 Assign Device Policies to users or groups Control users ability to discover install and remove MDS Studio Applications Allow or deny unsigned applications Control whether applications can access device data Configure storage capacity for application messages
Customized Applications Control via Software Configuration Tool 18 Used to control applications Deployment Access Prevent unwanted applications Control Application Access to APIs Phone Addressbook Etc
Introduction to developing for GPS & Bluetooth 19
BlackBerry and Bluetooth Compatibility 20 Bluetooth is key to Research In Motion s (RIM) peripheral strategy.blackberry devices support the following profiles: Handset Profile (Voice) Hands Free Profile (Voice) Serial Port Profile (Data)
Bluetooth 3 rd Party Peripheral Overview 21 Bluetooth support vastly increased number of peripherals available for the BlackBerry Driver development required for usage of peripheral through APIs: Connector.open (similar to JSR 82 interface) net.rim.device.api.bluetooth APIs Device Software Profiles Development APIs v3.8 to v4.1 SPP Required net.rim.device.api.bl uetooth Connector.open
Bluetooth Barcode Scanners 22 Provide wireless data capture solutions for mobile workers Seamless integration with the BlackBerry device Small, durable handheld units Leverage BlackBerry device for access to UPC database
What is GPS? 23 Global Positioning System - a series of 24 geosynchronous satellites that continually transmit position information Enabling technology for a variety of Location Based Services and applications Navigation and Directions Tracking Reporting GPS Satellites
GPS Fix Types 24 Three types of GPS fixes Cellsite Uses cellular towers to attempt to provide triangulated GPS information Least Accurate Information with fastest first fix time Assisted Leverages network access to narrow down possible GPS satellite locations Accurate GPS information in a short amount of time (10 sec) Requires carrier network support Autonomous (Stand Alone) Communicates directly with GPS satellites to provide most accurate fixes Longest time to first fix of all types (~ 2 min)
GPS APIs: BlackBerry Support 25 BlackBerry supports JSR 179: Location API for Java ME TM Supported on iden (BlackBerry 7100i and BlackBerry 7520 ) Bluetooth GPS Peripheral Support
GPS APIs: JSR 179 Overview 26 javax.microedition.location package Criteria: The criteria used for the selection of the location provider is defined by the values in this class. LocationProvider: This is the starting point for applications using this API and represents a source of the location information. Location: The Location class represents the standard set of basic location information. LocationListener The LocationListener represents a listener that receives events associated with a particular LocationProvider. ProximityListener: This interface represents a listener to events associated with detecting proximity to some registered coordinates.
GPS APIs: Opportunities & Sample Use-Cases 27 Enterprise: Fleet Tracking (Transportation) Field Service Employee and Job Tracking Navigational Assistance Consumer: Traffic Information Driving Directions Enhanced 411 Directory/Information Personal Location and Directions Location-Based Content Services
Summary 28 Customers that have deployed a BlackBerry Enterprise Server can take advantage of MDS for application access BlackBerry is open platform that supports Java ME as well as many BlackBerry APIs The BlackBerry JDE is FREE for download and available to help build, test and optimize applications Advanced BlackBerry Java API s include the capabilities to Integrate email, pim and phone applications in addition to Location Based Services and Bluetooth. Customers that have a BES can take advantage of controlling application access
Thank You 29