Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 11

SynapseIndia Mobile

Apps Tools for


Java Platform
The goal of the Mobile Tools for Java project is to extend existing Eclipse
frameworks to support mobile device Java application development.
MTJ will enable developers to develop, debug and deploy mobile Java
applications to emulators and real devices.
Scope of the doc:
Focus on 1st release (+ potential future features)

Contents

Eclipse High-Level
Architecture
Java Runtime Environments
MTJ Ecosystem
MTJ high-level layers
MTJ Development by
Milestone
Device fragmentation
Pre-processing
Automated & manual testing
Build management

17.02.2006

Wizards
Runtime Launch
Debugging
Code Editor
Deployment
Device Management
Signing and Obfuscation
Localization
Application Flow
GUI Editor
Backup slides
2

Eclipse High-level Architecture


Ecosystem
Vertical Industry Initiatives

Enterprise
Domain

Internet
Domain

Desktop
Domain

Embedded
Domain

Mobile
Domain

Data
Management

Modeling
Tools

Embedded &
Mobile Tools

Web Tools

Service
Oriented
Architecture

Java Dev.
Tools

C/C++ Dev.
Tools

Test and
Performance

Business
Intelligence &
Reporting

System
Management

Horizontal
Technologies

Technology
Enablers

Frameworks
Modeling Frameworks

Graphical Frameworks

UI Frameworks

Workspace

Project Model

Update

Runtime

Workbench

SWT

17.02.2006

Multi-language
support

Tools
Platform

Rich Client Platform

Java Runtime Environments


Legend

Enterprise

Desktop

High-end
devices

Low-end
devices

Smart
Cards

Java JRE
runtime
dependencies

Optional
packages
Optional
packages

Optional
packages
Personal
profile

J2EE

J2SE

J&C and MTJ


runtime
scope
Not used Java
runtime

Optional
packages

Foundation
profile

MIDP

CDC

CLDC

Java
Card

KVM

Card VM

Java Virtual Machine

Java Micro Edition (J2ME)


The MTJ projects focus in Mobile runtimes is in the J2ME area.

17.02.2006

MTJ Ecosystem
Eclipse

Download /
Update sites

Eclipse

U
E
I

Vendor X SDK

API
JavaDocs

MTJ
API

API

JavaDocs

Sun / IBM
(tooling runtime

Vendor Y SDK

JRE 5.0 / J9 )
A List of
JVMS

X
U
E
I

Vendor X
(for SDK download)

JavaDocs
API

Tooling Runtimes
JRE 1.4 .. 5.0, J9
Operating Systems: Win32,
Linux, MAC.

Vendor Y
(for SDK download)

API

Real Device

JavaDocs

MTJ context

17.02.2006

Generic SDK

Different
vendor
products
based
on Eclipse
MTJ

MTJ high-level layers


Mobile IDE Components
Device
Platform
Provider

Device
Description
Provider

Obfuscation
Provider

Packaging
Provider

Signing
Provider

Device
Platform
Provider

GUI Builder
Provider

Preprocessing
Provider

Build
Provider

Deployment
Provider

Ant Provider

Mobile IDE Extensibility Framework Layer

Runtime
Management

Build
Management

Deployment
Management

Device
Management

GUI Builder
Management

Security
Management
Eclipse Tool Services

Visual
Editor

Web Tools
Project

GEF

Data Tools

Multimedia
Tools

Multilanguage
support

Graphical
Modeling
Framework

BIRT

Testing &
Profiling
Tools

Workflow
Toolbox
Eclipse Modeling Framework

EMF
OSGI

SWT

Workbench

Eclipse Platform

JDT

Operating Systems: Win32, Linux, MAC

17.02.2006

MTJ Development by Milestone


Create
Application

Code
Packaging

Build

Create
Class

Create
Project

Deployment

Symbian
templates

Project

Provider Components
Build
Obfuscation
providers

Audio
converter

Flow Editor

Code Editor

Signing
provider

Custom
Components

LCDUI
Editor

J2ME
project
builders

Deployment
providers

Localization

eSWT
Editor

Preprocessing

JAD Editor

1st Iteration
nd

Iteration

Xx
Editor

Snippets

1st Release

Device

Debugging

Help

Future design

Antenna
provider

Device

IDE Extensible Framework Layer


Device
Management
Framework

Legend

Packaging

Desktop

Game Editor
Other

J2ME
Nature

Create UI

Runtime launch
Desktop

GUI builders

Mobile RAD / IDE

Wizards

Mobile SDK
Emulator

Build Framework

Deployment
Framework

Runtime
Management
Framework

GUI Builder
Framework

Security
Management
Framework

Eclipse Platform

17.02.2006

Device fragmentation

Different characteristics of devices must be taken into account


Physical device characteristics, e.g. display resolution,-size and
buttons, processing power and memory
Quirks in the OS, API and Java virtual machine implementations
Variation comes also from APIs supported by each device
Flavours of Symbian (S60, S80, S90) and other mobile OS versions
J2ME profiles and configurations CLDC 1.0/1.1 and MIDP 1.0/2.0
Optional APIs for Bluetooth, 3D, Multimedia, Web Services, etc.
Proprietary APIs from device manufacturers and operators
In addition, there are other operator and market requirements
Localisation, branding, billing, etc.
New devices and APIs are introduced frequently
Varying
devices

17.02.2006

Differing
assets

Operator
requirements

Huge amount of
configurations

Device fragmentation, Mobile value chain


Application
Developers

Content
aggregators and
Distributor

End-user /
consumer

Network operators

Infrastructure
providers

Legend

Information exchange
Cash flow exchange

17.02.2006

Retail

Device
manufactures

This diagram represents the major players


in the wireless industry. Application- and
Content providers have partnered with
Network operators to design and develop
Java solutions for consumers. Content
aggregators license content from its
creators and format it to be used with
specific devices and networks.
Content distributors create the revenue by
providing the distribution channels.
Network operators (carriers) and
Infrastructure providers control the wireless
network and own the customer information.
Device manufactures drive the technical
innovation through the new hardware.
The application developers and content
aggregators needs most tools against the
device fragmentation.

Device fragmentation, pre-processing

Definition: Pre-processing changes the source code before it is compiled.


It allows conditional compilation and inclusion of one source file into
another and is helpful when trying to maintain a single source for several
devices, each having its own bugs, add-on APIs, etc. and it enables
device optimization.
The Eclipse JDT could add support for pre-processing, alternative could
be e.g. J2ME Polish, which can be integrated to Eclipse (licensing must be
checked) or re-implementing the similar functionality.
One key feature is the device description database, that helps to create
tasks or actions against similar devices. The device description database
enables that developers can identify and group devices with an keyword,
Can be seen as one definition
that can be used e.g. in pre-processing.
1

Device
i/f

Device Platform
1..n

17.02.2006

Emulator

Real

Device

Device

10

Runtime Platform
Definition

Fragmentation
Definition

Application Flow

The Application Flow creates kind a action diagram, where the visible and
invisible actions are drawn on a graphical editor. The AF-editor enables
that developer can design e.g. mobile application UI flow.

17.02.2006

11

You might also like