Designing GUI Using Java With AWT
Download
Report
Transcript Designing GUI Using Java With AWT
Mobile OS and Development Environments
Speaker: Jerry Gao Ph.D.
San Jose State University
email: [email protected]
URL: http://www.engr.sjsu.edu/gaojerry
Topic: Mobile OS and Development Environments
Presentation Outline
- Mobile Operating Systems
- Windows CE
- Palm OS
- Symbian OS
- Java & J2ME
- BREW (Binary Runtime Environment for Wireless) Technology
- Comparison of Different OS systems
- Development Tools
Jerry Gao Ph.D. 3/2004
All Rights Reserved
Topic: Mobile OS and Development Environments
An Overview of Windows CE
What is Windows CE?
•
One of Microsoft’s products.
•
Windows CE OS was designed for Handheld PC devices (between PDAs
and laptops).
•
Windows CE .NET on the current Microsoft OS delivers the most
complete mobile operating system.
•
It focuses on the enterprise market for mobile enterprise systems
Basic functional features:
•
Enable multitasking - allow the user to work on one application which
another is executing in the background.
•
Include many familiar applications, such as PocketWord, PocketExcel,
PocketOutlook, and Pocket Internet Explorer.
•
Built-in multimedia capabilities for both audio and video.
Jerry Gao Ph.D. 3/2004
All Rights Reserved
Topic: Mobile OS and Development Environments
An Overview of Windows CE
History of Windows CE:
•
Back in 1995, Microsoft released the first version of Windows CE. It has
very limited success.
•
In 1998, Microsoft released Windows CE 2.x for the PDA market. It was
confident that it is PalmPilot killer. This proved not to be the case.
•
In 2000, Microsoft released Windows CE 3.0 when the PDA market was
becoming more attractive to enterprises for line-of-business applications.
•
In 2001, Microsoft announced another version of the Windows CE family:
Windows CE.NET 4.0.
–
–
•
This version fits into Microsoft’s overall .NET strategy by allowing developers to
use the full suite of Microsoft tools, including Visual C++ and other updated
Microsoft office products and Internet Explorer.
Windows CE .NET added built-in wireless capabilities, including broad support
for WANS, LANs, and PANs.
In the fall of 2002, Windows CE .NET version 4.1 was released. This
version added support for IPv6 (the latest version of Internet Protocol), as
well as integrated speech recognition.
Jerry Gao Ph.D. 9/2002
All Rights Reserved
Topic: Mobile OS and Development Environments
An Overview of Windows CE
Why did Windows CE3.0 succeed?
•
It comes with many familiar applications, such as PocketWord.
•
It provides a scaled-down version of Win32 application programming
interface (API), allowing developers to quickly refit existing Window
applications for Windows CE 3.0-based devices.
•
Provide enhanced support for real-time functionality made to the OS kernel.
This improves the performance of Windows CE 3.0 dramatically over
Windows CE 2.x.
Jerry Gao Ph.D. 3/2004
All Rights Reserved
Topic: Mobile OS and Development Environments
An Overview of Windows CE
Comparisons of Windows CE versions:
--------------------------------------------------------------------------------------------------Versions Year
Processors
Internet
Wireless
Multimedia
Browser Capability Support
-------------------------------------------------------------------------------------------------CE 2.12
1998
ARM, MIPS
IE 4.0
IrDA
No
ARM, MIPS,
IE 4.0
IrDA
Yes
X-Scale, ARM
I.E. 5.5
Bluetooth
Yes
PowerPC, SHx
x86
CE 3.0
2000
CE .NET 2002
802.11x
Media Sense
OBEX
--------------------------------------------------------------------------------------------------Jerry Gao Ph.D. 9/2002
All Rights Reserved
Topic: Mobile OS and Development Environments
An Overview of Palm OS
What is Palm OS?
•
It is designed by Palm Computer for PDAs.
•
It has been experienced tremendous success in the PDA’s consumer
market.
•
It focuses on the enterprise market for mobile enterprise systems
History of Palm OS:
•
In early 2000 (by IDC, June 2000), Palm established itself as the market
leader in PDAs, capturing nearly 75% of the worldwide mobile OS
market.
•
In the early days of PDA application development, people chose Palm
OS as a deployment platform because it is available and many
employees were familiar with it.
•
Due to the limitation of its early versions, people found that it was
unsuitable for many of application tasks. This causes some problems in
positioning itself at a dominant position in the enterprise market.
Jerry Gao Ph.D. 3/2004
All Rights Reserved
Topic: Mobile OS and Development Environments
An Overview of Palm OS
History of Palm OS: (Continued)
•
Late of 2000, Palm separating the PDA hardware and Palm OS as two
different divisions and started licensing Palm OS to third-party device
manufactures, such as Handspring, IBM, Symbol, and Sony.
•
Palm OS 5.0, 6.0 and Palm i705 released new features for the enterprise
applications.
•
In the fall 2002, Palm introduced two new product families: Tungsten
and Zire.
–
Tungsten – is targeted at the enterprise market, providing powerful solutions
for mobile professionals and enterprise workforces.
–
Zire – is focused on the consumer market, providing affordable options for
individuals to organize their schedules and contacts.
Jerry Gao Ph.D. 3/2004
All Rights Reserved
Topic: Mobile OS and Development Environments
An Overview of Palm OS
Basic functional features:
•
Prior to the release of version 5.0, Palm OS only support single-tasking
•
With version 5.0, Palm OS introduced some multi-tasking capabilities.
•
Provide two kinds of local databases in a flat-file format:
•
•
–
Record database – store and manage application data, such as contact list
–
Resource database – store and manage the application code and user interface
objects.
Meanwhile, Palm OS 5.0 provides some extra features:
–
Move to the ARM series of processors -> increase its performance greatly.
–
Move CMPE-A6d ditional security for encrypting private data
–
New wireless capabilities for earlier access to the Internet and email systems
Palm OS i750 include wireless support for always-on wireless networks,
Bluetooth, and clip-on modems.
Jerry Gao Ph.D. 3/2004
All Rights Reserved
An Overview of Palm OS
Device Applications
Third-Party Applications
Applications
Application ToolBox
System
Libraries
Kernel
Third-Party
Libraries
Palm OS
System Services
Hardware Abstraction Layer
Hardware
Device Hardware
Jerry Gao Ph.D. 9/2002
Third-Party Hardware
All Rights Reserved
Topic: Mobile OS and Development Environments
An Overview of Palm OS
On the technical side, Palm OS has three components:
•
Reference hardware design, consisting of third-party hardware and the
hardware abstraction layer.
•
Palm Os with embedded system and third-party libraries.
•
Application software, featuring the applications included with Palm OS,
such as the HotSync conduit and third-party applications.
Market Lookup:
•
As today, Palm OS is still in its leading position in the PDA marketplace.
•
Even though other mobile operating systems are closing in on its market
lead.
•
As far as the future years, the market will remain split between the Palm OS
and Windows CE in North America and among the Palm OS, Windows CE,
and the Symbian OS in other parts of the world.
Jerry Gao Ph.D. 3/2004
All Rights Reserved
Topic: Mobile OS and Development Environments
An Overview of Symbian OS
What is Symbian OS?
•
Symbian OS is an operating system developed for exclusively for mobile
devices.
•
Symbian OS is designed for 32-bit CPUs based on 190MHZ and
206MHZ StrongARM CPUs with some on ARM9.
•
Symbian OS gained its popularity in the mobile phone sector.
•
It is created by Symbain, which is a joint venture of Nokia, Ericsson,
Motorola, and Matsushita. This partnership was to create a standard
OS for smart phones and PDAs based on Psion’s EPOC OS.
•
Symbian OS is the name assigned to the lastest version of the EPOC os.
Versions prior to 6.0 are called EPOC, while later versions are called
Symbian OS.
Jerry Gao Ph.D. 3/2004
All Rights Reserved
Topic: Mobile OS and Development Environments
An Overview of Symbian OS
Market:
•
Historically, the Symbian OS has been dominant in the European markets,
with little exposure in North America.
•
This started to change in March 2002, with Nokia’s release of the
Communicator 9290 device in North America.
•
As other vendors release Symbian OS devices outside of Europe, making
Symbian OS a potential challenger to both Palm OS and Window CE for the
enterprise application development.
•
Typical deployed devices are:
–
Nokia 9210 (14MB ROM, 8MB (SD-RAM, and 16MB MMC Card, 4096 color
screen, and full keyboard)
–
Sony Ericsson (16MB RAM and 16MB flash, 640x480 digital camera, and a 24million color display with phone keys)
Jerry Gao Ph.D. 3/2004
All Rights Reserved
Topic: Mobile OS and Development Environments
An Overview of Symbian OS
History of Symbian OS:
•
In June 1999, EPOC version 5 started shipping. It contained support for
devices based on a 640x240 screen resolution, with pen and keyboard
capabilities.
•
In 2000, Symbian OS 6.0 was released. Its design goal is to bring together
various forms of communication protocols, such as TCP/IP, WAP, GSM,
Bluethooth, IrDa, as well as serial connections.
•
In 2002, Symbian OS version 7.0 was released. This version is designed for
the unique requirements of advanced 2G, 2.5G, and 3G mobile phones.
Jerry Gao Ph.D. 3/2004
All Rights Reserved
Topic: Mobile OS and Development Environments
An Overview of Symbian OS
Basic Features:
•
Basic operating system features supporting 32-bit CPUs, memory, system
RAM, I/O devices, such as keyboards, disks (memory-card), RS232 and
connection to PC, an infrared port, and bluetooth for wireless transfer of
data between Symbian OS and others, such as PDAs.
•
Supporting communication protocols, TCP/IP, WAP(1.2.1), GSM,
Bluetooth, IrDa and serial connections.
•
Allow C++/Java (Java applets)–based applications to be executed.
•
Full-strength security using HTTPS, WTLS, and SSL.
•
Enhanced multimedia capabilities
•
Over-the-air data synchronization using SyncML
•
Supporting advanced messaging, including NMS< EMS, and SMS
•
Providing a complete suite of application engines for contacts, schedules,
Web browsing and system control
Jerry Gao Ph.D. 3/2004
All Rights Reserved
Topic: Mobile OS and Development Environments
An Overview of Symbian OS
To support a range of different platform models for various mobile devices,
Symbian OS provides the followings:
•
•
•
Two reference designs: Quartz and Crystal
–
Quartz is targeted at PDA-sized devices (320x240 pixels)
–
Crystal is targeted for communicator type devices (640x200 pixels)
Recently Symbian OS 7.0 released two more user interfaces:
–
UIQ provides a customizable pen-based user interface for media-rich mobile
phones. This was designed for the large, touch sensitive color displays found on
2.5G and 3G handsets. It is targeted for screen sizes ranging from 208x320 to
240x320 pixels (PDA standard sizes).
–
The Series 60 platform is designed for mobile phones and smart phones.
Provide a development kit for developers who are building applications.
–
For on-device applications, including EPOC C++ which is an efficient and purely
object-oriented language that provides full access to all of the platform APIs.
–
Java runs on Symbian’s Java runtime and implements PersonalJava 3.0 JVM and
JavaPhone 1.0 profiles.
Jerry Gao Ph.D. 3/2004
All Rights Reserved
Topic: Mobile OS and Development Environments
An Overview of Symbian OS
Basics of Symbian OS (kernel):
•
•
•
Two reference designs: Quartz and Crystal
–
Quartz is targeted at PDA-sized devices (320x240 pixels)
–
Crystal is targeted for communicator type devices (640x200 pixels)
Recently Symbian OS 7.0 released two more user interfaces:
–
UIQ provides a customizable pen-based user interface for media-rich mobile
phones. This was designed for the large, touch sensitive color displays found on
2.5G and 3G handsets. It is targeted for screen sizes ranging from 208x320 to
240x320 pixels (PDA standard sizes).
–
The Series 60 platform is designed for mobile phones and smart phones.
Provide a development kit for developers who are building applications.
–
For on-device applications, including EPOC C++ which is an efficient and purely
object-oriented language that provides full access to all of the platform APIs.
–
Java runs on Symbian’s Java runtime and implements PersonalJava 3.0 JVM and
JavaPhone 1.0 profiles.
Jerry Gao Ph.D. 3/2004
All Rights Reserved
Process Boundaries for Symbian OS
Server
Server
Application
Application
Engine
Engine
Application
Kernel
Jerry Gao Ph.D. 9/2002
All Rights Reserved
Topic: Mobile OS and Development Environments
An Overview of Symbian OS
Basics of Symbian OS:
The Kernel is a core of Symbian OS.
-
Manages the machine’s hardware resources such as system RAM, and
hardware devices.
-
Provides and controls the way all other software components can access
these resources.
-
Uses hardware-supported privilege to gain access to the resources.
–
That is, the CPU will perform certain privileged instructions for only the kernel.
–
It runs other programs – so called user-mode programs without privilege so that
they can only access system resources through the kernel APIs.
The Application is a program with a user interface. Each application runs in a
separate process with its own virtual address space.
Jerry Gao Ph.D. 3/2004
All Rights Reserved
Topic: Mobile OS and Development Environments
An Overview of Symbian OS
Basics of Symbian OS:
A Sever is a program without a user interface.
-
It manages one or more resources.
-
It provides an API so that clients can gain access to its services.
-
A server’s client may be applications or other servers.
-
Each server generally runs in its own process so that the boundary between a
server and its clients is a process boundary.
An Engine is the part of an application that manipulates its data rather than the
part that interacts directly with the user.
Often an application can be divided into an engine part and GUI part.
Jerry Gao Ph.D. 3/2004
All Rights Reserved
Topic: Mobile OS and Development Environments
An Overview of Symbian OS
Symbian OS implements preemptive multitasking so that it can run multiple
applications and servers simultaneously.
The Process is a fundamental unit of protection in Symbian OS.
-
Each process has its own address space.
-
The virtual address used by programs executing in that process are
translated into physical addresses in the machine’s ROM and RAM. The
translation is managed by memory management unit (MMU), so that the
read-only memory is shared.
The Thread is the fundamental unit of execution in Symbian OS. A process may
has one or more threads. Each thread executes independently of the others,
but share the same address space.
Threads are preemptively scheduled by the Symbian OS kernel. The highesttpriority thread that is eligible to run at a given time is run by the kernel. A
thread may have the following status:
run, scheduled, suspended (waiting for events), and resume
Jerry Gao Ph.D. 3/2004
All Rights Reserved
Topic: Mobile OS and Development Environments
An Overview of Symbian OS
DBMS in Symbian OS:
The DBMS in the Symbian OS is significantly more advanced than that in either
the Palm OS or Windows CE.
Rather than using a flat-file database structure, Symbian OS has implemented a
relational DB. This suggests the followings:
-
Multiple DB tables and complex schemas could be defined in a DB
-
A subset of SQL (as well as C++ APIs) can be used for data access.
One of the other nice features of the Symbian OS DBMS is the support for
transactions. When database changes occur within a transaction, all changes
can be undone if something goes wrong during any part of the data
manipulation.
The major limitations of Symbian OS DBMS are:
-
the API is only available in C++, and limiting access to the other supported
programming languages such as Java.
-
Its relational DBMS does not support some common functions, such as joins.
Jerry Gao Ph.D. 3/2004
All Rights Reserved
Topic: Mobile OS and Development Environments
Major Players in Mobile Devices and Technologies
Nokia
Sony Ericsson
Sun Microsystems
Symbian
Motorola
PacketVideo
RealNetworks
Siemens AG
Siemens ICM
4thpass Inc.
AGEA Corporation
Alcatel
Aplix Corporation
Baltimore Technologies
Fujitsu Limited
Hitachi Limited
In Fusio
Logical Mobile Networks
Mitsubishi Electric Corp
Mobile Scope AG
Mobilitec
NEC Corporation
Nextel Communications
Openwave Systems Inc.
Palm
Samsung Electronics
Sharp Labs
Vaultus Inc.
Veloxsoft Inc.
Vadafone Multimedia
Jerry Gao Ph.D. 8/2004
All Rights Reserved