Presenting a Technical Paper

Download Report

Transcript Presenting a Technical Paper

Presenting a Technical Paper
Outline









Wireless Development – Introduction
Wireless Issues & Considerations
Wireless Tools & Technologies
J2ME
BREW
BREW based Java
Summary
Conclusion
Q&A
Introduction
 Today wired & wireless world are converging. Internet & mobile
wireless is also converging. The distinction between the wireless,
wire line and the Internet service providers is beginning to blur.
And the glue certainly is "mobile wireless".
 Mobile wireless has exploded in popularity because of the fact
that it simplifies and revolutionizes communication, provides
instant connectivity anytime & anywhere & the ability to provide
high-speed data services to the mobile user.
 Number of mobile wireless development tools are growing
continuously & many of the past development tools have been
modified to target mobile devices.
Why we didn't all get mobile
phones five years ago?
 Have you ever wondered why we didn't all get mobile phones
five years ago when they were widely promised?
 Two key reasons:
1. Industry needs a "standard" protocol for downloading
executable applications to mobile phones. For network
operators, such a protocol must include a method for securing
premium revenues and a method to certify the quality of
applications in order to protect network operator from liability.
2. Application execution environment & programming
language. Such an environment needs to be flexible enough to
allow useful applications on a variety of mobile device designs,
yet protect the device against malicious programs (viruses).
Wireless Development - Issues and
Consideration
 Wireless architectures are often complex because of device
limitations & network constraints. Applications &
implementation environments are complex, & filled with lowlevel programming concepts. Hence developers has to deal with
issues & considerations as discussed here:
 Bandwidth
 Coverage
 Standards
 Security
Wireless Development – Tools
& Technologies
 Languages & Tools
cHTML, WML, Borland C/C++, MS Visual Studio .NET,
Embedded Visual Studio, CodeWarrior for Palm OS.
 Operating Systems
Embedded LINUX, Windows CE, Palm OS, Windows CE 2002,
Windows CE 2003.
 Standards & Protocols
GSM, GPRS, WAP, BlueTooth, SAT (SIM Toolkit), SS7, SMPP,
USSD.
 Hardware
Mobile Devices, Smart Phones, Palm, Pocket PC.
J2ME & BREW for Wireless
Development
 Sun Micro System's Java 2 Micro Edition CLDC (Connected
Limited Device Configuration)/MIDP (Mobile Information
Device Profile) environment (J2ME) & QUALCOMM's BREW
client are two popular wireless platforms that offer a method for
executing software applications on a mobile device.
 Sun stepped in aggressively with J2ME to provide a true
application execution environment for mobile devices with
constrained memory, processing power, & battery life.
 However, J2ME is primarily designed to solve the technological
problems of an application execution environment & does not
inherently provide a business model for operators to secure
premium revenues.
Contd …..
 Qualcomm has also entered the market with Binary Runtime
Environment for Wireless (BREW). BREW encompasses both
an application execution environment based on C++ & a
business model for certifying, downloading, and charging for
premium content.
 The model calls for Qualcomm to guarantee the quality of
applications with unique encrypted certification codes.
 Thus, BREW and J2ME are more complementary than
competitive, but that hasn't prevented conflicts between the
wireless data platforms.
J2ME Architecture
 J2ME uses configurations
& profiles to customize
the JRE.
 As a complete JRE,
J2ME is comprised of a
configuration, which
determines the JVM
used, and a profile, which
defines the application by
adding domain-specific
classes.
What are the J2ME
Configurations?
 J2ME configuration defines basic run-time environment as a set
of core classes and a specific JVM that run on specific types of
devices. Sun provides two types of J2ME configurations:
1. CLDC for small devices and
2. CDC for larger devices.
Connected Limited Device
Configuration (CLDC)
 Created by Java Community Process.
 Portable, minimum-footprint Java building block for small,
resource-constrained devices, as defined on Sun’s Web Site.
 Outlines the most basic set of core libraries to be used within an
industry-defined profile & Java virtual machine features required
for each implementation of J2ME on highly constrained devices.
 CLDC targets devices with slow network connections, limited
power (often battery operated), 128 KB or more of non-volatile
memory, and 32 KB or more of volatile memory.
CLDC requirements
 Full Java language support (except for floating pointer support,
finalization, and error handling).
 Full JVM support.
 CLDC’s Security.
 Limited internationalization support.
 Inherited classes: all classes not specific to CLDC must be
subsets of J2SE 1.3 classes.
 Specific CLDC Classes are in javax.microedition package and
sub packages.
CLDC API





The CLDC API is really just a subset of the J2SE.
java.lang - core run-time & core data type classes, helper classes.
java.io – input classes & output classes.
java.util – collection classes & other classes.
javax.microedition.io
The only class defined in this package is the Connector class, a
factory class that contains methods to create Connection objects,
or input and output streams.
Connection objects are created when a class name is identified
dynamically. A class name is identified based on the platform
name, as well as the protocol of the requested connection.
Connected Device
Configuration (CDC)
 CDC has been defined as a stripped-down version of J2SE with
CLDC classes added to it.
 Built upon CLDC, & hence, applications developed for CLDC
devices also run on CDC devices.
 CDC, also developed by the Java Community Process.
 Provides a standardized, portable, full-featured Java 2 virtual
machine building block for consumer electronic & embedded
devices, such as smart phones, two-way pagers, PDAs, home
appliances, point-of-sale terminals, & car navigation systems.
What are J2ME Profiles?
 A J2ME profile defines the type of devices supported.
 Mobile Information Device Profile (MIDP) defines classes for
cellular phones.
 Adds domain-specific classes to the J2ME configuration to
define uses for similar devices.
 Profiles are built on top of configurations. Because profiles are
specific to the size of the device (amount of memory) on which
an application runs, certain profiles are associated with certain
configurations.
 Two profiles have been defined for J2ME and are built upon
CLDC: KJava and MIDP. Both KJava and MIDP are associated
with CLDC and smaller devices.
Profile 1: KJava
 Sun's proprietary profile and contains the KJava API.
 Built on top of the CLDC configuration.
 KJava virtual machine, KVM, accepts same byte codes & class
file format as the classic J2SE virtual machine.
 Contains a Sun-specific API that runs on the Palm OS.
 KJava API has a great deal in common with the J2SE Abstract
Windowing Toolkit (AWT).
 Since it is not a standard J2ME package, its main package is
com.sun.kjava.
Profile 2: Mobile Information
Device Profile (MIDP)
 Common, industry-standard profile for mobile devices that is not
dependent on a specific vendor.
 Developed for mobile devices such as cellular phones & pagers.
 Built upon CLDC & provides a standard run-time environment
that allows new applications (services) to be deployed dynamically
on end-user devices.
 MIDP Packages Three Core CLDC Packages:- java.lang, java.io, java.util.
 MIDP-specific Packages:javax.microedition.io, javax.microedition.lcdui,
javax.microedition.midlet, javax.microedition.rms
The alternative: Binary Runtime
Environment for Wireless (BREW)
 Application execution platform that runs at the firmware level
(CDMA chipset) & specially targets wireless applications that can
be downloaded & executed on mobile devices.
 BREW runtime environment is available free of cost to CDMA
device manufacturers sporting Qualcomm processors.
 Similar to JVM, except that it is not designed to provide
portability from one device to another.
 Since BREW runtime platform runs at chipset level, enables it to
leverage the communication & multimedia capabilities of mobile
devices more than J2ME.
BREW Distribution System
(BDS) Overview
 Basically a wireless data service delivery & billing environment.
 Enables network operators to rapidly deploy wireless data services
to subscribers via mobile devices.
 Recently released BDS 2002 includes features that enable
distribution & payments for BREW extensions such as virtual
machines, browsers, & other interpreters like XHTML, HTML, &
JavaScript.
BDS Components
 Unified Application Manager (UAM) - Provides virtual
marketplace for application acquisition, wherein application
developers offer their wireless applications to operators.
 Application Download Server (ADS) - Load-balanced farm
that consists of a collection of small, stateless servers used to
deliver applications to subscribers securely over the air.
 Transaction Manager (TXN) - combines phone events from
the ADS with business data from the UAM to create mediated
usage records.
 BREW Billing Services - BREW Billing Services produce
invoices to operators for fees due to application developers.
Key Steps in BDS Process Flow
 Steps involved in the BREW lifecycle
How BDS Works
 Application distribution flow in terms of various BDS components
BREW Based Java
 Possible to run J2ME applications on BREW due to the
implementation J2ME virtual machine over BREW.
 BREW conceptually acts as a layer below the JVM which enables
developers to develop Java applications that can be downloaded
and executed on BREW-enabled devices using BDS.
 No concrete evaluation about performance of J2ME running on
top of BREW is available.
 Certainly needs extra processing requirements because of another
layer (BREW) in the execution of J2ME applications.
Summary







Wireless Development Necessity
Issues & Considerations
Wireless Development Tool & Technologies
J2ME Architectural Overview
BREW
BDS Overview, components, how it works.
BREW based Java
CONCLUSION
 BREW & J2ME are more complementary than competitive.
 Present developers with exciting opportunities for taking
advantage of the convergence of wireless & the Internet.
 J2ME enables developers to write applications that can run
unaltered on different devices. J2ME therefore targets general
consumer & embedded devices.
 BREW, on the other hand, targets wireless devices exclusively
(specifically CDMA phones). As a result, it's more versatile when
it comes to wireless phones but lacks portability.
 J2ME if properly integrated with other existing Java technologies
such as J2EE, JMS, RMI & Jini will enable Java developers to take
full advantage of Java in the wireless world.
 J2ME supported cellular phone carriers:- AT&T, T-Mobile, and
Sprint. BREW supported cellular phone carriers:- Verizon.