BlackBerry Mobile Data System

BlackBerry Mobile Data System
Version 4.1
Technical Overview
© 2006 Research In Motion Limited. All rights reserved.
BlackBerry Mobile Data System
BlackBerry Mobile Data System............................................................................................................................. 3
Application development flexibility .................................................................................................................. 3
Centralized application management .............................................................................................................. 3
Lower cost of ownership ..................................................................................................................................... 3
BlackBerry MDS Application runtime environment ....................................................................................... 4
Mobilizing enterprise systems................................................................................................................................ 5
Application development and management features ................................................................................... 5
Application models and development environments .................................................................................... 7
Choosing a development environment............................................................................................................. 8
Making web content accessible wirelessly with the BlackBerry Browser ...................................................... 8
BlackBerry Browser features..............................................................................................................................9
Pushing content to the BlackBerry Browser...................................................................................................10
Optimizing web content for wireless browsing ..............................................................................................11
Creating BlackBerry MDS Studio Applications ...................................................................................................11
Development tools and functional framework................................................................................................11
BlackBerry MDS Studio application features.................................................................................................12
Creating BlackBerry MDS Java applications ......................................................................................................15
Java development tools......................................................................................................................................15
BlackBerry MDS Java application features.....................................................................................................15
Getting started with BlackBerry MDS .................................................................................................................18
Information resources ....................................................................................................................................... 19
© 2006 Research In Motion Limited. All rights reserved.
BlackBerry Mobile Data System
BlackBerry Mobile Data System
This document describes how to extend the BlackBerry Enterprise Solution™ using the BlackBerry Mobile Data
System™ (BlackBerry MDS™) to provide a mobile workforce with access to a wide range of corporate data and
Unless otherwise stated, the information in this document applies to the following product versions:
BlackBerry® Device Software, version 4.1 or later
BlackBerry Enterprise Server™ with BlackBerry MDS Services, version 4.1 or later
BlackBerry Java Development Environment, version 4.1 or later
BlackBerry MDS Studio™, version 4.1 or later
Plazmic Content Developer’s Kit™ for BlackBerry, version 4.1 or later
Application development flexibility
The BlackBerry MDS is an application development framework that provides tools to build and deploy
applications for the BlackBerry Enterprise Solution. The BlackBerry MDS provides multiple development options
and developer tools, and it uses standards-based mechanisms and protocols to simplify integration with existing
applications and systems. Corporate and third-party application developers can also take advantage of a range
of development support services and programs.
Centralized application management
The BlackBerry MDS enables system administrators to deploy and manage applications using familiar BlackBerry
Enterprise Server administration tools and to install, deploy, upgrade, and remove applications wirelessly.
Lower cost of ownership
The BlackBerry MDS lowers the total cost of ownership by
making sure that technologies and systems are reusable
reducing development time and complexity
optimizing wireless data transmissions for increased performance and lower operating costs
providing centralized, wireless application management
© 2006 Research In Motion Limited. All rights reserved.
BlackBerry Mobile Data System
BlackBerry MDS Application runtime environment
Runtime environment
BlackBerry MDS application runtime environment components
Application and
content servers
and databases
Applications and content reside on servers behind the corporate firewall. The BlackBerry
MDS Services manage connections between the application and content servers and
BlackBerry devices.
protocol and
content types
The BlackBerry MDS Services communicate with application servers and content servers
using the following protocols:
Enterprise Server
with BlackBerry
MDS Services
Custom data/HTTP
On the BlackBerry Enterprise Server, the BlackBerry MDS Services are designed to extend
enterprise systems to BlackBerry devices. The BlackBerry MDS Services encompass the
following services:
The BlackBerry MDS Connection Service provides TCP-and HTTP-based connectivity
between mobile applications on BlackBerry devices and enterprise applications that
reside behind the firewall.
The BlackBerry MDS Application Integration Service supports web services and other
standard mechanisms for integrating mobile applications with enterprise
applications. The application integration service also manages transmitting
application data messages between BlackBerry MDS Studio applications and backend systems.
The BlackBerry MDS Provisioning Service controls which applications users can
download to BlackBerry devices and manages installating wireless applications on
BlackBerry devices.
The BlackBerry MDS Data Optimization Service transforms existing server-side
content and data into a format that is optimized for efficient wireless transmission
and for use on mobile devices.
The BlackBerry MDS Administration and Management Service manages policies,
© 2006 Research In Motion Limited. All rights reserved.
BlackBerry Mobile Data System
such as application availability to users and services availability to applications. It
also centralizes application lifecycle management.
The BlackBerry MDS uses the following device software to run BlackBerry MDS
Applications on the device:
BlackBerry Mobile
Data System
device software
The BlackBerry MDS Runtime™ provides runtime services for applications that are
developed with BlackBerry MDS Studio. Users must download the BlackBerry MDS
Runtime to use BlackBerry MDS Studio applications on their BlackBerry devices. To
download the BlackBerry MDS Runtime, visit
The BlackBerry Java Virtual Machine™ (BlackBerry JVM) provides a secure
environment on BlackBerry devices for running custom Java™ applications that are
created with the BlackBerry Java Development Environment (JDE).
The BlackBerry Browser enables access to web-based applications and supports
Internet standards, such as HTML, Wireless Markup Language (WML), Common
Gateway Interface (CGI), Microsoft® Active Server Pages (ASP), and JavaServer
Pages™ (JSP). The BlackBerry Browser is included with the BlackBerry Enterprise
Solution and runs on top of the BlackBerry JVM.
Mobilizing enterprise systems
The BlackBerry MDS Services simplify wireless application development by making the complexities of wireless
networking transparent to application developers. The connection service provides the connection between the
corporate environment and BlackBerry devices on multiple wireless networks; BlackBerry devices appear as
clients on the corporate LAN.
Wireless extensibility of corporate data
The connection service supports standard protocols, such as HTTP, to provide access to existing web and
application servers. Application developers can use standard enterprise programming, such as Microsoft .NET
and Java Platform, Enterprise Edition (Java EE), to enable both push-based and pull-based access to a wide range
of corporate systems and databases, while using existing back-end architectures.
Application development and management features
The connection service provides access to corporate web and application servers, including
web services, using standard protocols, such as HTTP, HTTPS, and Simple Object Access
Protocol (SOAP).
Communication between BlackBerry devices and the BlackBerry Enterprise Server in
the corporate network is encrypted using Triple Data Encryption Standard (DES) or
Advanced Encryption Standard (AES). This encrypted communication channel is
available for BlackBerry MDS Browser Applications, BlackBerry MDS Java applications,
and BlackBerry MDS Studio applications.
If the web service has access to a Certificate Authority (CA), messages between
BlackBerry MDS Studio applications and web services also encrypt data using Rivest
Shamir Adleman (RSA) or Digital Signature Algorithm (DSA) keys, which provide twofactor authentication.
© 2006 Research In Motion Limited. All rights reserved.
BlackBerry Mobile Data System
The BlackBerry Enterprise Solution also supports other security standards, including
Transfer Layer Security (TLS), Secure Socket Layer (SSL), Secure Multipurpose Internet
Mail Extensions (S/MIME), IT security policies, code signing, and certificates.
System administrators can also set IT policies to enforce corporate security policies,
such as a minimum password length requirement (see the BlackBerry Enterprise Server
IT Policy Reference Guide for more information on IT policies). Additionally, if a
BlackBerry device is lost or stolen, system administrators can send IT commands
wirelessly to lock the BlackBerry device or to delete user and corporate data from it.
Data push
The architecture that is used for BlackBerry wireless email is available for custom wireless
application data. For Browser and Java application models, server-side applications, written
in a variety of programming languages, retrieve content from a corporate web server, an
application server, or a database. The applications then send HTTP POST or Push Access
Protocol (PAP) requests to the connection service to send the content proactively to specific
BlackBerry device users. BlackBerry MDS Studio applications use web services eventing
(WS-Eventing) to provide similar functionality.
Organizations can choose every component of a mobile wireless environment, including
BlackBerry devices, networks, applications, and vendors, and they can support a diverse
array of corporate data, applications, and legacy systems.
The BlackBerry MDS solution provides connectivity to multiple wireless networks globally
on a common architecture.
System administrators can use centralized tools to track and control BlackBerry devices, to
control network and server access, and to deploy applications to help maintain the integrity
of enterprise systems in a wireless environment.
Pushing content to users
Instead of waiting for users to access data, application developers and system administrators can proactively
send the data that users need. Server-side applications can send automatic updates and alerts when data
changes, without users requesting the new content. For example, corporations can enable sales people to
register for a service that notifies them when they can complete their customers’ orders.
Push services can be used with any of the BlackBerry MDS application models. The BlackBerry Browser includes
a listener for push connections. Application developers can also design BlackBerry MDS Java or BlackBerry MDS
Studio applications that listen silently in the background for push requests.
Server push applications provide several advantages:
Use the network
Applications use the network efficiently because they send data only when it has changed.
BlackBerry device users do not have to retrieve information periodically, and applications do
not have to poll for updates.
Increase user
BlackBerry device users can be productive because they do not have to check for new
information. System administrators can configure applications to send updated content or
alerts immediately and to notify users when content arrives.
availability and
BlackBerry device users can access the most current information. This information can be
cached on the BlackBerry device, so users can retrieve it even when they are outside a
wireless coverage area.
All push application content is compressed and encrypted over the network in the same way as all other
BlackBerry communication, and content can also be encrypted on the BlackBerry device if content protection is
enabled. The BlackBerry Infrastructure manages the connection to the wireless network and verifies that content
is delivered to users as soon as they are in a wireless coverage area.
For examples of browser push services, see “Pushing content to the BlackBerry Browser” on page 10.
© 2006 Research In Motion Limited. All rights reserved.
BlackBerry Mobile Data System
Application models and development environments
Application model
BlackBerry device
Development environment
Browser model:
BlackBerry MDS
BlackBerry Browser
To provide mobile access to intranet content and to create
web-based wireless applications that BlackBerry users can
access through the BlackBerry Browser, use existing web
content development tools. Extend existing web-based
applications wirelessly with little custom development. See
“Making web content accessible wirelessly” on page 8 for
more information.
To learn how to optimize new and existing web applications
for the BlackBerry Browser using standard web development
tools, use the BlackBerry Wireless Handheld Browser Content
Developer Guide.
To create and test vector graphics and animations for
BlackBerry devices, use the tools and simulators that the
Plazmic Content Developer’s Kit for BlackBerry (Plazmic
CDK) provides.
Web service model:
BlackBerry MDS
Studio applications
BlackBerry MDS
To create lightweight applications that provide mobile access to
enterprise web services, use the BlackBerry MDS Studio. The
BlackBerry MDS Studio is a powerful visual application design and
assembly tool that enables application developers to quickly
create rich-client applications that integrate with enterprise web
services using a component-based drag and drop approach.
Application developers can create robust functionality without
Java programming using the BlackBerry MDS Studio. See
“Creating BlackBerry MDS Studio Applications” on page 11 for
more information.
model: BlackBerry
MDS Java
BlackBerry JVM
To create custom Java applications for the BlackBerry device that
provide a sophisticated user interface and navigation, robust data
management, and flexible support for custom data formats, use
the BlackBerry JDE. The BlackBerry JDE provides development
and simulation tools that enable application developers to build
rich-client Java Platform, Micro Edition (Java ME) applications,
which integrate with standard application servers, for BlackBerry
devices. See “Creating BlackBerry MDS Java applications” on
page 15 for more information.
© 2006 Research In Motion Limited. All rights reserved.
BlackBerry Mobile Data System
Choosing a development environment
Development consideration
MDS Browser
requires little development effort
enables developers to use HTML or WML to create the
user interface
simplifies data synchronization and reliability
enables developers to create applications that are
portable to other devices
MDS Studio
with web
MDS Java
provides a robust and customizable user interface
supports complex applications or data structures
requires research and development time
enables developers to create applications that are useful
when the BlackBerry device is turned off or is outside a
wireless coverage area
provides a drag and drop development environment
Regardless of an organization’s development approach, several options are available for developing and
deploying wireless applications. Organizations can develop the applications in-house, use third-party
development platforms and tools, or work with independent software vendors and systems integrators to assist
with application development and integration.
Organizations can also purchase a wide variety of off-the-shelf third-party solutions. See the Enterprise
Solutions Guide for BlackBerry 2005 - 2006 at for information on the thirdparty solutions that are available.
Making web content accessible wirelessly with the BlackBerry Browser
A browser-based, thin-client approach is a straightforward model for wireless applications. System
administrators can make a wide variety of intranet content available to BlackBerry device users through the
BlackBerry Browser without any custom application development. Many existing intranets can be made available
wirelessly without modification, and web developers can use standard web development software to create web
content and server-side scripts.
Web access to corporate networks
The BlackBerry MDS Connection Service provides an encrypted HTTP connection between BlackBerry devices
and the corporate network. Users browse web content using the same encrypted communication channel that is
used for BlackBerry messaging.
© 2006 Research In Motion Limited. All rights reserved.
BlackBerry Mobile Data System
BlackBerry Browser features
The BlackBerry Browser provides features that can accommodate the constraints of mobile devices and wireless
networks to make mobile browsing efficient and user-friendly.
Web content
The BlackBerry Browser supports a wide range of web content, including
Markup: Compact HTML (cHTML), HTML, XHTML Mobile Profile, WML, and SVG
Images: GIF (GIF87a and GIF89 – static only), WBMP, PNG, and JPEG1
Scripts: WMLScript and JavaScript™ (JavaScript 1.3 and earlier; subsets of JavaScript 1.4
and 1.5; and the ECMA-262 ECMAScript Language Specification)
Media: SVG-based interactive media and animations
Browser requests can run in the background, so users can continue to view other web pages
or use other applications while the web page is loading.
Pending or
offline content
If users are outside of a wireless coverage area, they have a number of options for managing
web content requests:
When a web page request cannot be completed, the user can save the pending request
to the Messages screen. The BlackBerry Browser resends the request when the
BlackBerry device is in a wireless coverage area and can notify the user when the page
is available.
Users can define bookmarks for offline use, so they can view cached content without
retrieving it from the server again.
Users can fill out offline forms and have the BlackBerry Browser queue and submit the
forms in sequence when the BlackBerry device is in a wireless coverage area.
Integration with
The BlackBerry Browser integrates with other BlackBerry device applications to provide a
consistent user experience. Users click a URL in an email message to view that web page in
the BlackBerry Browser. The BlackBerry Browser recognizes URLs, email addresses, and
phone numbers in web pages, so users can click a link to open a new web page, compose an
email message, or place a phone call.
optimized for
The optimization service optimizes web content for wireless browsing:
Data security
Image optimization: Depending on BlackBerry device capabilities, the optimization
service converts .jpeg, .gif, .ppm, and .pnm images to .png images, scales images to fit
the BlackBerry device screen dimensions and reduces color depth.
Content filtering: The optimization service processes HTML content to remove
unsupported tags, converts data to a tokenized format, and compresses the data for
efficient delivery over the wireless network.
Page rendering: The optimization service retrieves images while it is processing HTML
or XHTML content. It includes the images with the pages that it sends to the BlackBerry
device for faster browsing.
All web browsing between the BlackBerry device and the corporate network occurs over the
standard encrypted connection through the connection service. The BlackBerry Enterprise
Server provides this data security out-of-the-box, without substantial additional setup.
The browser supports the standard SSL and TLS protocols for additional security, especially
to servers on the Internet. By default, if SSL or TLS is requested, the connection service
creates a proxy SSL connection on behalf of the BlackBerry device to make browsing faster.
Users can choose an end-to-end SSL connection. System administrators can set a policy to
enforce end-to-end SSL.
The BlackBerry Browser supports JPEG images only on BlackBerry devices with color screens. For BlackBerry devices with monochrome
screens, the BlackBerry MDS Data Optimization Service converts JPEG images to PNG format.
© 2006 Research In Motion Limited. All rights reserved.
BlackBerry Mobile Data System
Web access
System administrators control wireless access to resources on the corporate network.
Network authentication: The connection service supports several types of network
authentication, including HTTP Basic Authentication, NT LAN Manager (NTLM), and
Kerberos, so system administrators can control wireless access to web content using
existing network security mechanisms. The connection service also supports
Lightweight Third-Party Authentication (LTPA) if cookie storage is enabled.
Access control: System administrators can assign roles to BlackBerry devices and push
initiators to control their activity through the connection service. Push access control
roles enable system administrators to limit push requests from push initiators to specific
BlackBerry device users. Pull access control roles enable system administrators to
permit or deny access to URLs that are requested by BlackBerry device users.
Pushing content to the BlackBerry Browser
The BlackBerry Browser provides built-in support for various types of push services, which provide different
notification options when the BlackBerry device receives pushed content. Each push service uses the same push
mechanism through the connection service.
Browser messages
Applications can send web pages or alerts to the BlackBerry device so that they appear as browser message in
the BlackBerry device messages list. The browser message includes the content to display or the URL of the page
to fetch when the user requests it. This push method is useful for alerts to important information updates. Users
set notification settings through the BlackBerry device profiles list.
Browser message from a Customer Relationship Management (CRM) system
Browser channels
Applications can push web pages to the BlackBerry device that create or update channels, which appear on the
BlackBerry device Home screen with a custom icon. An updated icon appears when new content is available. This
push service type effectively creates a browser-based application on the BlackBerry device that enables users to
receive updates to certain types of data. A browser channel is an effective way to place a permanent icon on the
Home screen that acts like a browser bookmark to important content.
Browser channel push from a CRM system
Browser cache updates
Applications can push web pages directly to the browser cache. The user receives no indication that the content
is updated, but the next time that the user visits the specified URL, the browser retrieves the updated content
© 2006 Research In Motion Limited. All rights reserved.
BlackBerry Mobile Data System
from the cache. Browser cache updates can provide users with quick access to current data on their BlackBerry
devices, even when they are not in a wireless coverage area.
Optimizing web content for wireless browsing
Web developers can optimize wireless browsing on BlackBerry devices by using simple page layouts that do not
use frames, minimizing the use of scripts and embedded objects, such as applets, and avoiding reliance on
images and colors. Web developers should design web pages to display on the small screens of mobile devices
and them small so that they download quickly over wireless networks.
For server-side coding, web developers can use any language that can communicate with back-end applications
or databases from a web interface, such as JSP, ASP, or Hypertext Preprocessor (PHP). The same back-end
scripts can be used for both wireless device and computer browsers.
Creating BlackBerry MDS Studio Applications
BlackBerry MDS Studio applications combine the light-weight, programmatic simplicity of BlackBerry MDS
Browser applications with the functional sophistication of BlackBerry MDS Java applications. BlackBerry MDS
Studio applications enable BlackBerry device users to access the functionality of remote web services from their
BlackBerry devices. Web services can be located on a server that resides either inside or outside of a corporate
firewall; they are web-accessible application components that provide a set of well-defined operations (for
example, a conversion utility). BlackBerry MDS Studio applications access these web services wirelessly through
HTTP or HTTPS connections and communicate with them using SOAP.
BlackBerry MDS Studio applications use the operations performed by web services. Applications can be designed
to access some or all the operations of a single web service, or they can be designed to access operations from
multiple web services from within a single BlackBerry MDS Studio application.
The web service development model gives application developers design flexibility. BlackBerry MDS Studio
applications also require less coding sophistication than traditional client/server application models because the
web service, the BlackBerry MDS Runtime, and the BlackBerry MDS Services provide most of the complex
programmatic functionality.
The reduced development complexity and the connection service push capabilities enable application developers
to produce applications with the same performance, responsiveness, and user experience of traditional Java
client applications, but in less time, without the need for extensive coding knowledge, and with fewer demands
placed on the processing and memory constraints of the BlackBerry device.
Development tools and functional framework
BlackBerry MDS Studio application development and functional architecture
© 2006 Research In Motion Limited. All rights reserved.
BlackBerry Mobile Data System
BlackBerry MDS Studio application and functional architecture components
MDS Studio
The BlackBerry MDS Studio is a graphical development tool in which application developers
design screen layouts, data elements, and application messages using a visual drag-and-drop
approach. Application developers can connect graphical components using wizards and
editors. Application developers can also connect to enterprise web service applications,
visualize supported operations, and generate a set of messages that they can use to interact
with enterprise data sources. The BlackBerry MDS Studio generates the required code to
transmit messages between BlackBerry MDS Studio applications and web services
Application developers can also use BlackBerry MDS Studio to customize application workflow
logic using JavaScript. When they complete an application’s design, the BlackBerry MDS
Studio automatically generates an Extensible Markup Language (XML) metadata
representation of the application.
registry and
Application developers publish completed applications from the BlackBerry MDS Studio to an
application repository, and system administrators register the applications with the
BlackBerry MDS Services on the BlackBerry Enterprise Server. After the applications are
published and registered, System administrators can make them available to BlackBerry
device users. Organizations can distribute the applications using one of the following
MDS Services
pushing BlackBerry MDS Studio applications to devices from a central console
enabling BlackBerry device users to search the registry through a device-side console
and download applications
The BlackBerry MDS Services manage interactions between corporate applications and
BlackBerry MDS Studio applications on BlackBerry devices:
The connection service provides connectivity between the BlackBerry device application
and the application server.
The application integration service supports web services.
The provisioning service controls which applications users can download to their
BlackBerry devices and manages the installation of BlackBerry MDS Studio applications
on BlackBerry devices.
The administration and management service manages the policies that are associated
with the BlackBerry MDS Studio applications, and it centralizes application lifecycle
The BlackBerry MDS Runtime must be installed on the BlackBerry device before BlackBerry
device users can use BlackBerry MDS Studio applications. The BlackBerry MDS Runtime
provides the set of services necessary to interpret the XML that is produced by BlackBerry
MDS Studio and translate it into screen, data, and message components.
BlackBerry MDS Studio application features
BlackBerry MDS Studio applications do not perform operations themselves; they define what
to do. The programmatic behavior is distributed among multiple external components.
On the application server, one or more web services contain the code to complete the
user tasks that the BlackBerry MDS Studio application provides and to support
operations such as binding, discovery, provisioning, and notification.
On the BlackBerry device, the BlackBerry MDS Runtime provides a generic set of
services such as screen handling, persistent data storage, and messaging for all of the
BlackBerry MDS Studio applications that run on a BlackBerry device.
This distributed processing model has several advantages.
© 2006 Research In Motion Limited. All rights reserved.
BlackBerry Mobile Data System
Applications can use operations offered by existing web services, which reduces the
amount of coding required and the time that is necessary to create functional
It reduces code duplication between applications, which reduces the incremental
memory footprint that is associated with individual applications. It also reduces
complexity for application developers.
Optimized services for common functionality improve the performance and
responsiveness of BlackBerry MDS Studio applications. A common screen-handling
service enables all BlackBerry MDS Studio applications to have a consistent look and
memory usage
BlackBerry MDS Studio applications are designed to be light-weight. Because web services
or the BlackBerry MDS Runtime manage data processing and storage, a BlackBerry MDS
Studio application is essentially an XML definition of the application components and the
cross-component mappings, plus any scripts or image resources.
Reduced CPU
Because the BlackBerry device performs few of the processing duties that are required by the
BlackBerry MDS Studio application, the burden on the BlackBerry device is much lighter than
in a standard client-server application design model.
network traffic
BlackBerry MDS Studio applications are designed to use the limited bandwidth available to
them efficiently. Messages are transmitted between the BlackBerry Enterprise Server and the
web services server using SOAP.
Wireless messages are transmitted between the BlackBerry device and the BlackBerry
Enterprise Server using a compact messaging protocol that is optimized for a wireless
environment. The BlackBerry MDS Runtime and the application integration service contain
the required metadata, which reduces the size of the data that is transmitted wirelessly. The
application integration service manages the mapping between SOAP and the compact
messaging protocol.
The communication model that is used to transmit application messages between the
BlackBerry device and the remote web service is asynchronous. If an outbound message is
generated when the BlackBerry device is outside of a wireless coverage area, the message is
placed in an outbound queue until a wireless network connection is available. When the
message is placed in this queue, the application continues to function, regardless of whether
the message has been sent. Messages are transmitted from the queue in the background as
soon as the network connection is available.
Similarly, BlackBerry MDS Services are designed to queue inbound messages and send them
to the BlackBerry device when a wireless connection is available. The asynchronous
communication model supports applications that are tolerant to sudden or unpredictable
connection loss. Because BlackBerry MDS Studio applications can store and process data
locally, and because BlackBerry MDS Studio application functionality is designed to be
continually available, BlackBerry device users should be able to access enterprise data at
almost any time.
content to
BlackBerry MDS Studio applications use WS-Eventing to send information proactively to the
For push events, an outbound message component is designed to be bound at the time of
design to the subscription web service that is associated with the event. An inbound message
is also designed to be bound to the web service event. At runtime, the application can
subscribe to receive the web service event (for example, through BlackBerry device user input
that results in the outbound subscription message being sent). Web service events cause
inbound messages to be sent to the application.
BlackBerry MDS Studio applications can notify BlackBerry device users of inbound messages
in several ways, including a flashing LED, a tune, or a vibration.
© 2006 Research In Motion Limited. All rights reserved.
BlackBerry Mobile Data System
Application developers can design BlackBerry MDS Studio applications to access data from
the BlackBerry device messages list, calendar, and address book. The device program data is
accessed using special built-in data components that are predefined and available in the
BlackBerry MDS Studio.
Users can also invoke BlackBerry device programs directly from a BlackBerry MDS Studio
application by following embedded links such as email addresses, phone numbers, or URLs.
For example, if a BlackBerry device user types a phone number in a field, the phone number
is designed to become a link that the user can click to open the BlackBerry device phone
BlackBerry MDS Studio application data messages are sent using the data encryption
technologies that are used by the BlackBerry Enterprise Server. Application data can also be
encrypted on the device using the content protection mechanisms that are available on
BlackBerry devices.
See the BlackBerry Enterprise Solution Security Technical Overview for more information on
BlackBerry security features.
In addition to message and data content security, BlackBerry MDS Studio applications
provide the following security-related features:
Deploying and
Application signing: The BlackBerry MDS Studio applications can be signed using the
industry-standard (RSA) security certificate. Access to the BlackBerry MDS Studio
repository is password-protected.
Container-based execution environment: The BlackBerry MDS Runtime is a containerbased execution environment that is designed to prevent unauthorized access to native
APIs on the BlackBerry device. BlackBerry MDS Studio applications are prevented from
accessing other BlackBerry MDS Studio application data, and one BlackBerry MDS
Studio application cannot run or load another.
Secure connectivity to back-end systems: BlackBerry MDS Services support HTTPS for
secure access to back-end web services. When this access is combined with the triple
DES or AES encryption between the BlackBerry Enterprise Server and the BlackBerry
device, a secure end-to-end link from the BlackBerry MDS Studio application to its
related web services results.
System administrators can wirelessly provision, upgrade, and remove BlackBerry MDS Studio
applications using the BlackBerry Manager, which is the administration tool for the
BlackBerry Enterprise Server. They can send a new application to BlackBerry device users or
upgrade an existing application on BlackBerry devices in the field, without physically
handling the BlackBerry devices. System administrators can also view the BlackBerry MDS
Studio applications that are installed on individual BlackBerry devices.
Depending on IT policy settings, BlackBerry device users can use the Control Centre
application, which is part of the BlackBerry MDS Runtime, to search the BlackBerry MDS
Studio application registry for applications (or application upgrades) that are available for
download. Users can select these applications and provision them to their BlackBerry
© 2006 Research In Motion Limited. All rights reserved.
BlackBerry Mobile Data System
Creating BlackBerry MDS Java applications
BlackBerry devices provide a Java ME wireless Java environment that is designed to enable developers to create
sophisticated custom applications within the standard client/server model.
Application developers can create custom Java applications with sophisticated user interfaces for data entry and
searching, multithreading, internationalization, network communication, and local data storage. Applications can
communicate with networks using standard TCP and HTTP connections, regardless of the underlying wireless
network. The BlackBerry MDS Connection Service typically sets up the TCP connection on behalf of the
Application developers can also create custom applications that integrate tightly with core BlackBerry device
programs, such as the messages list, personal information management (PIM) programs, phone, and browser, for
an essentially seamless user experience.
BlackBerry MDS Java application that accesses a CRM system
Java development tools
The BlackBerry Java Development Environment (JDE) includes
graphical integrated development environment (IDE)
BlackBerry device simulator
BlackBerry server simulation tools
CLDC, MIDP, and BlackBerry APIs
sample applications
The IDE includes a full suite of editing and debugging tools that are optimized for developing BlackBerry
applications. In addition, the IDE includes simulation tools that provide a complete Windows type environment,
which is designed to simulate user interfaces and user interaction, network connections, email services, and
wireless data synchronization.
BlackBerry MDS Java application features
Java standards
With BlackBerry Device Software version 4.0 or later, the BlackBerry Java implementation
supports the following Java Specification Requests (JSRs):
JSR 185: Java Technology for the Wireless Industry (JTWI)
JSR 139: Connected Limited Device Configuration (CLDC) version 1.1
JSR 118: Mobile Information Device Profile (MIDP) version 2.0
JSR 75: Portable Digital Assistant Profile (PDAP) – PIM APIs only
JSR 120: Wireless Messaging API (WMA) version 1.1
JSR 135: Mobile Media APIs (MMA) version 1.1 – subset defined in MIDP version 2.0
• JSR 179: Location API for Java ME
BlackBerry Device Software version 4.0 or earlier supports CLDC version 1.0 (JSR 30) and
© 2006 Research In Motion Limited. All rights reserved.
BlackBerry Mobile Data System
MIDP version 1.0 (JSR 37).
User interface
The BlackBerry JDE provides two sets of APIs for creating application user interfaces (UI):
standard MIDP APIs and BlackBerry APIs. The BlackBerry UI APIs are a library of pre-built
user interface components, which provide default layout and behavior that is consistent
with core the BlackBerry programs.
Screen components provide a standard screen layout, a default menu, and standard
behavior when the user presses the Escape button or clicks the trackwheel.
Field components provide standard user interface elements for date selection, radio
buttons, check boxes, lists, text fields and labels, and gauge slider controls.
Layout managers provide the ability to arrange components on a screen in standard
ways, such as horizontally, vertically, or in a left-to-right flow.
The BlackBerry UI APIs also provide flexibility for application developers to create custom
user interfaces with specialized layouts such as tables or grids and custom user interaction.
The BlackBerry Java implementation uses a standard Java event model to receive and
respond to specific types of events. For example, applications can receive and respond to
both user events, such as the user clicking the trackwheel or typing on the keyboard, and
system events, such as global alerts, real-time clock changes, and USB port connections.
Data storage
The BlackBerry JDE provides two sets of APIs to store persistent data across BlackBerry
device resets: standard MIDP APIs and BlackBerry APIs. The BlackBerry Persistence APIs
enable applications to store entire objects in the file system and provide features to
optimize data grouping, searching, and performance and store structures such as hash
tables, ordered arrays, and trees, to provide faster searching.
Application developers can add the capability for users to back up and restore application
databases either wirelessly or through the BlackBerry Desktop Software.
System administrators can set an IT policy to determine whether applications can store data
in persistent storage.
Depending on the environment and the application requirements, BlackBerry devices can
connect to both corporate intranets and the Internet through various gateways, including
the BlackBerry Enterprise Server hosted by the enterprise or a gateway hosted by the
wireless service provider2.
BlackBerry devices are designed to support a wide range of network transport protocols 3,
Access to
TCP, SSL, and TLS sockets
email messages
User Datagram Protocol (UDP) datagrams
Short Message Service (SMS)
Multimedia Messaging Service (MMS) is supported on some BlackBerry devices
Custom applications can access system-wide resources on the BlackBerry device. For
example, applications can
retrieve information on the state of the BlackBerry device radio and current signal level
retrieve BlackBerry device information, such as the battery power level
notify users when an event occurs by generating an audio tone or a vibration
The security features that this document describes might not be available when using network gateways that are hosted by the wireless
service provider.
Each type of network transport depends on the wireless service provider’s specific capabilities. Application developers must work closely
with wireless service providers to determine service availability.
© 2006 Research In Motion Limited. All rights reserved.
BlackBerry Mobile Data System
retrieve statistics on memory use in the BlackBerry JVM
• log events into the persistent file system
System administrators control the resources that specific applications can access.
BlackBerry MDS Java applications can use several advanced BlackBerry Java APIs:
Multilanguage support: An internationalization API provides discrete language
XML parser: An XML API, which is compatible with the Simple API for XML (SAX),
provides integrated XML and Wireless Application Protocol Binary XML (WBXML)
parsing and serialization.
Cryptography: A robust set of APIs provides applications with a range of cryptographic
Content protection: An API encrypts application-specific content on the BlackBerry
Pushing content
to users
BlackBerry MDS Java applications can use HTTP POST or PAP requests to send information
proactively to the BlackBerry device.
The request headers include information about the content to be pushed, the destination
BlackBerry device or user, and the BlackBerry device application for which the data is
intended (such as the BlackBerry Browser or a custom application). The request body
contains the content. When the connection service on the BlackBerry Enterprise Server
receives the HTTP POST message, it initiates the connection to the BlackBerry devices.
Integration with
The BlackBerry JDE provides APIs that enable custom applications to interact with standard
BlackBerry device applications:
Messages: Applications can send and receive email messages through the BlackBerry
Enterprise Server or BlackBerry Internet Service ™.
PIM: Applications can access and store PIM data, including calendar appointments,
address book contacts, and tasks.
Phone: Applications can receive and make phone calls, and read and write phone logs.
Browser: Applications can display web pages using the BlackBerry Browser.
Invocation: Applications can open the address book, calendar, memos list, messages
list, phone, or tasks list.
Menu item: Applications can add custom menu items to BlackBerry applications.
Application control: System administrators can control whether users can install and
run third-party applications, and they can view which applications have been installed
on specific BlackBerry devices.
Access to memory: The BlackBerry Java implementation is designed to inhibit
applications from causing problems accidentally or maliciously in other applications or
on the BlackBerry device. Java applications can write only to BlackBerry device memory
that is allocated specifically for use by the BlackBerry JVM, and they cannot access the
virtual memory or the persistent storage of other applications (unless they are
specifically granted access to do so).
Custom applications can only access persistent storage or user data, or communicate
with other applications, through specific APIs. Research In Motion (RIM) must digitally
sign applications that use certain BlackBerry APIs to provide an audit trail of
applications that use sensitive APIs.
System administrators can install applications on behalf of users, or they can permit users
to install applications themselves. In both cases, system administrators make applications
available wirelessly or through the desktop software.
Wireless: System administrators can mark applications as required for specific users,
and send these applications wirelessly to users for automatic installation. System
© 2006 Research In Motion Limited. All rights reserved.
BlackBerry Mobile Data System
administrators can also maintain a list of approved applications on an intranet site
where users can download them wirelessly using the BlackBerry Browser. Upgrades to
core BlackBerry device programs cannot be performed wirelessly.
To install applications wirelessly, application developers must make two files available:
o an application descriptor (.jad) file
o the .jar or compiled .cod files for the application; in the BlackBerry Browser,
the user selects the .jad file to download the application
Desktop: System administrators can use the standalone BlackBerry Application Loader
to install and provision approved applications for users from a central location. System
administrators can provision multiple BlackBerry devices simultaneously. Users can
also use optional BlackBerry Desktop Software to install applications.
System administrators can control how each application is implemented and used in the
enterprise through the BlackBerry Manager.
System administrators can control the BlackBerry device and network resources that each
custom application can access, including whether an application can
store and access persistent storage on the BlackBerry device
communicate with other applications (interprocess communication)
open various types of wireless connections behind the corporate firewall, outside the
corporate firewall, or both
These application-specific policies enable system administrators to maintain corporate data
security on the BlackBerry device and on the corporate network.
System administrators can also define globally which applications users are permitted to
install. System administrators can prevent users from using third-party applications that
they have already installed on the BlackBerry device, effectively disabling the applications.
Getting started with BlackBerry MDS
Consider your wireless enterprise requirements, as well as your in-house development expertise, and choose the
appropriate application development approach.
If you have little in-house development expertise or need to integrate a common system, consider buying a
third-party solution from an independent software vendor (ISV). Many complete solutions provide both the
BlackBerry device client and the server middleware to deploy a wireless application.
If you need to make web-based content available or you can convert data to a web markup format, consider
using the BlackBerry Browser on the BlackBerry device. By using the browser, you avoid having to do any
custom Java development on the BlackBerry device, and you do not have to provision or manage custom
BlackBerry device applications.
If the browser approach is insufficient, consider creating a custom Java application or BlackBerry MDS
Studio application. One of these application strategies might be an appropriate choice for several reasons:
User interface: Your application requires additional functionality for data entry and navigation.
Data storage: Users require access to data even when they are outside a wireless coverage area.
Local processing: Some data processing must be performed on the BlackBerry device instead of on the
Data management: Users need to add or manage data on the BlackBerry device.
If existing public or private web services offer functionality that you can use, consider creating a BlackBerry
MDS Studio application to make that functionality available on the BlackBerry device.
Whatever strategy you choose, consider adding push services to your application through the connection
service. Push services are a good choice if most of the data originates on the server, and users need to know
when data is added or changed.
© 2006 Research In Motion Limited. All rights reserved.
BlackBerry Mobile Data System
Decide how to integrate your legacy systems and databases. Use standard enterprise programming to
create the middleware that provides access to legacy systems through the connection service, or consider
buying a third-party middleware solution.
Consider the security level that your organization requires, and determine the most appropriate
development approach to make sure that your security concerns are met.
Sign up for the appropriate RIM developer support program. Go to for
Information resources
BlackBerry Enterprise Solution Security Technical
BlackBerry security
Enterprise Solutions Guide for BlackBerry 2005 2006
third-party solutions
BlackBerry Wireless Handheld Browser Content
Developer Guide
creating wireless web content
BlackBerry MDS Studio Getting Started Guide
making web services available on BlackBerry devices
BlackBerry Application Developer Guide
creating custom BlackBerry device applications
integrating enterprise applications
BlackBerry Enterprise Server Feature and Technical
BlackBerry Enterprise Server features
BlackBerry Enterprise Server System
Administration Guide
deploying and managing applications
BlackBerry Enterprise Server IT Policy Reference
IT security policies
IT commands
For BlackBerry technical documentation, go to
© 2006 Research In Motion Limited. All rights reserved.
BlackBerry Mobile Data System
Part number: SWD_MDS(EN)-009.001
© 2006 Research In Motion Limited. All Rights Reserved. The BlackBerry and RIM families of related marks, images and
symbols are the exclusive properties of Research In Motion Limited. RIM, Research In Motion, “Always On, Always
Connected”, the “envelope in motion” symbol, BlackBerry, and BlackBerry Enterprise Server are registered with the U.S.
Patent and Trademark Office and may be pending or registered in other countries.
Java, JavaScript, JavaServer Pages, JVM, and Java Micro Edition are trademarks or registered trademarks of Sun Microsystems,
Inc. in the U.S. or other countries. Microsoft and .NET are registered trademarks of Microsoft Corporation in the United States
and/or other countries, Plazmic Content Developer’s Kit is either the trademark or registered trademark of Plazmic Inc. All
other brands, product names, company names, trademarks and service marks are the properties of their respective owners.
The BlackBerry device and, or associated software are protected by copyright, international treaties, and various patents,
including one or more of the following U.S. patents: 6,278,442; 6,271,605; 6,219,694; 6,075,470; 6,073,318; D445,428;
D433,460; D416,256. Other patents are registered or pending in various countries around the world. Visit for a current list of RIM [as hereinafter defined] patents.
This document is provided “as is” and Research In Motion Limited and its affiliated companies (“RIM”) assume no
responsibility for any typographical, technical, or other inaccuracies in this document. RIM reserves the right to periodically
change information that is contained in this document; however, RIM makes no commitment to provide any such changes,
updates, enhancements, or other additions to this document to you in a timely manner or at all. RIM MAKES NO
This document might contain references to third-party sources of information, hardware or software, products or services and,
or third-party web sites (collectively the “Third-Party Information”). RIM does not control, and is not responsible for, any
Third-Party Information, including, without limitation the content, accuracy, copyright compliance, compatibility,
performance, trustworthiness, legality, decency, links, or any other aspect of Third-Party Information. The inclusion of ThirdParty Information in this document does not imply endorsement by RIM of the Third-Party Information or the third-party in
any way. Installation and use of Third-Party Information with RIM products and services may require one or more patent,
trademark, or copyright licenses in order to avoid infringement of the intellectual property rights of others. Any dealings with
Third-Party Information, including, without limitation, compliance with applicable licenses and terms and conditions, are
solely between you and the third-party. You are solely responsible for determining whether such third-party licenses are
required and are responsible for acquiring any such licenses relating to Third-Party Information. To the extent that such
intellectual property licenses may be required, RIM expressly recommends that you do not install or use Third-Party
Information until all such applicable licenses have been acquired by you or on your behalf. Your use of Third-Party
Information shall be governed by and subject to you agreeing to the terms of the Third-Party Information licenses. Any ThirdParty Information that is provided with RIM products and services is provided “as is.” RIM makes no representation, warranty,
or guarantee whatsoever in relation to the Third-Party Information and RIM assumes no liability whatsoever in relation to the
Third-Party Information even if RIM has been advised of the possibility of such damages or can anticipate such damages.