Sie sind auf Seite 1von 11

1

Eclipse High-Level Archit


ecture
Java Runtime Environme
nts
MTJ Ecosystem
MTJ high-level layers
MTJ Development by Mil
estone
Device fragmentation
Pre-processing
Automated & manual tes
ting
Build management

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

Ecosystem
Vertical Industry Initiatives

Enterprise
Enterprise
Domain
Domain

Internet
Internet
Domain
Domain

Desktop
Desktop
Domain
Domain

Embedded
Embedded
Domain
Domain

Mobile
Mobile
Domain
Domain

Data
Data
Management
Management

Modeling
Modeling
Tools
Tools

Embedded
Embedded &
&
Mobile
Mobile Tools
Tools

Web
Web Tools
Tools

Service
Service
Oriented
Oriented
Architecture
Architecture

Java
Java Dev.
Dev.
Tools
Tools

C/C++
C/C++ Dev.
Dev.
Tools
Tools

Test
Test and
and
Performance
Performance

Business
Business
Intelligence
Intelligence &
&
Reporting
Reporting

System
System
Management
Management

Modeling
Modeling Frameworks
Frameworks

Graphical
Graphical Frameworks
Frameworks

UI
UI Frameworks
Frameworks

Workspace
Workspace

Project
Project Model
Model

Update
Update

Runtime
Runtime

Workbench
Workbench

SWT
SWT

Horizontal
Technologies

Technology
Enablers

Frameworks

Multi-language
Multi-language
support
support

Tools
Platform

Rich Client Platform

Legend

Enterprise
Optional
packages

J2EE

Desktop

High-end
devices

Optional
packages

J2SE

Low-end
devices

Smart
Cards

J&C and MTJ


runtime
scope

Optional
packages

Not used Java


runtime

Personal
profile

Optional
packages

Foundation
profile

MIDP

CDC

CLDC

Java
Card

KVM
KVM

Card VM

Java
Java Virtual
Virtual Machine
Machine

Java JRE
runtime
dependencies

Java Micro Edition (J2ME)


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

Download
Download //
Update
Update sites
sites
Eclipse
Eclipse

Eclipse
Eclipse

JavaDocs
JavaDocs
API
API

API
API

JavaDocs
JavaDocs

(tooling
(tooling runtime
runtime
JRE
JRE 5.0
5.0 // J9
J9 ))

Vendor Y SDK
A
A List
List of
of
JVMS
JVMS

X
X
U
U
E
E
II

Vendor
Vendor X
X
(for
(for SDK
SDK download)
download)

Vendor
Vendor Y
Y

Vendor X SDK

API
API

MTJ
MTJ
Sun
Sun // IBM
IBM

U
U
E
E
II

Different
Different
vendor
products
products
based
based
on
on Eclipse
MTJ
MTJ

JavaDocs
JavaDocs
API
API

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

(for
(for SDK
SDK download)
download)

API
API

Real
Real Device
Device

JavaDocs
JavaDocs

MTJ context

Generic SDK

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

Runtime
Management

Build
Build
Management
Management

Deployment
Deployment
Management
Management

Device
Management

Mobile IDE Extensibility Framework Layer


Security
GUI
Security
GUI Builder
Builder
Management
Management
Management
Management

Visual
Visual
Editor
Editor

Web
Web Tools
Tools
Project
Project

GEF
GEF

Data
Data Tools
Tools

Multimedia
Multimedia
Tools
Tools

MultiMultilanguage
language
support
support

Graphical
Graphical
Modeling
Modeling
Framework
Framework

BIRT
BIRT

Testing
Testing &
&
Profiling
Profiling
Tools
Tools

Workflow
Workflow
Toolbox
Toolbox
Eclipse Modeling Framework

EMF
EMF
OSGI
OSGI

Eclipse Tool Services

SWT
SWT

Workbench
Workbench

JDT
JDT

Eclipse Platform

Operating Systems: Win32, Linux, MAC

Mobile
Mobile SDK
SDK
Emulator
Emulator

GUI
GUI builders
builders

Mobile
Mobile RAD
RAD // IDE
IDE

Wizards
Wizards

Provider
Provider Components
Components
Build

Create
Create
Application
Application

Code
Code
Packaging
Packaging

Build
Build

Project

Create
Create
Class
Class

Create
Create
Project
Project

Deployment
Deployment

J2ME
J2ME
Nature
Nature

Obfuscation
Obfuscation
providers
providers

Audio
Audio
converter
converter

Flow
Flow Editor
Editor

Code
Code Editor
Editor

Signing
Signing
provider
provider

Custom
Custom
Components
Components

LCDUI
LCDUI
Editor
Editor

J2ME
J2ME
project
project
builders
builders

Deployment
Deployment
providers
providers

Localization
Localization

eSWT
eSWT
Editor
Editor

PrePreprocessing
processing

JAD
JAD Editor
Editor

Symbian
Symbian
templates
templates

Create
Create UI
UI

Runtime
Runtime launch
launch
Desktop
Desktop

Device
Device

Packaging
Packaging

Debugging
Debugging
Desktop
Desktop

Other

Snippets
Snippets

Game
Game Editor
Editor

Xx
Xx
Editor
Editor

1st Iteration
nd

2 Iteration
1st Release

Help
Help

Future design

Antenna
Antenna
provider
provider

Device
Device

Legend

IDE
IDE Extensible
Extensible Framework
Framework Layer
Layer
Device
Device
Management
Management
Framework
Framework

Build
Build Framework
Framework

Deployment
Deployment
Framework
Framework

Runtime
Runtime
Management
Management
Framework
Framework

GUI
GUI Builder
Builder
Framework
Framework

Security
Security
Management
Management
Framework
Framework

Eclipse
Eclipse Platform
Platform

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

Differing
assets

Operator
requirements

Huge amount of
configurations

Application
Application
Developers
Developers

Content
Content
aggregators
aggregators and
and
Distributor
Distributor

End-user
End-user //
consumer
consumer

Network
Network operators
operators

Infrastructure
Infrastructure
providers
providers

Legend

Information exchange

Retail
Retail

Device
Device
manufactures
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.

Cash flow exchange

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, that can be used e.g. in pre-processing. Can be seen as one definition
1

Device

i/f

Device Platform

1..n

Emulator

Real

Device

Device
1

Runtime Platform
Definition
Fragmentation
Definition

10

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.

11

Das könnte Ihnen auch gefallen