Anda di halaman 1dari 10

SynapseIndia CEO Sharing Mobile

Apps Deployment Framework internal


Backup
slides
architecture

Deployment

Device Management control flow


Out
Out

Device
Device Management
Management
Implementation
Implementation

MTJ
MTJ Core
Core
Plug-in
Plug-in

Device
Device
Platform
Platform

1: getImplementations(Device Management)
return: DeviceManagement [ ]
2: getDevices(devicePlatformName)
3: getImplementations(Device Platform)
return: DevicePlatformProvider [ ]
4: getDevices()
return: Device [ ]
5: getImplementations(Device Description)
return: DeviceDescriptionProvider [ ]
6: getDeviceDescription( String vendor, String model)
return: DeviceDescription
return: Device [ ]

Device
Device
Description
Description Impl.
Impl.

Device Platform,

Device Platform Services

i/f

Device Platform Services


getDevicePlatforms() : DevicePlatform[]
getDevices(String devicePlatformName) :
Device[]
...

Device Platform Services make it possible to query available Device Platforms.


Based on Device Platform name its possible to get Devices or the Platform.

Device Platform
DevicePlatform
getName() : String
getDevices() : Device[]
getConfiguration() : PlatformConfiguration
setConfiguration(PlatformConfiguration config)
deploy(Deployment application, DeviceDeployment[] devices)
run(String application, String deviceName)
debug(String application, String deviceName, DebugConfiguration debugConfig)
isDebugEnabled() : boolean
isAccessable() : boolean
getTypeInfo() : DevicePlatformType
openPreferencesDialog()
isPreferencesDialogAvailable() : boolean
openUtilitesDialog()
isUtilitesDialogAvailable() : boolean
getRuntimePlatformDefinitions() : RuntimePlatform Definition[]

DevicePlatformType
type

Configuration
1..*

Runtime Platform Definition


name

1..*

1..*

0..*

Device

ConfigurationError

name : String
description : String

errorType
description

ConfigurationItem
name
+item label
description
1 value
validValues : String[]

Device
Screen
width
height
isColor
bitDepth
isTouch

Device
+screen

name : String
description : String

1..*
1..*

DeviceCommunicationProtocol
+runtimes

1..*

Configuration

Runtime Platform Definition


name

1..*

ConfigurationItem

0..*

name
+item label
description
1 v alue
v alidValues : String[]

ConfigurationError
errorTy pe
description

Runtime Platform
Device
1..*

name : String
description : String

+runtimes

ImplementationRef

1..*

Runtime Platform Definition


0..*

supports

EmulatorDevice

fileRef : String
sourceRef : String
javadocRef : String

name

1..*

RealDevice
model

+apis

DeviceProfile

JVM Ref

name
profile name
profile versi on

fileRef : String
sourceRef : String
j avadocRef : String

1..*

Java API
name
version

defines
1..*

isExpanding

DeviceProfileAPI

OptionalServiceAPI
1

Device OS Application UI

JavaVirtualMachine
Specification

defines

(from mtj)

1..*

DeviceConfiguration
Specification

0..1

name
configuration name
configuration version

1..*

+specification

Device OS Application

0..*

implements

+javaRuntime

1..*

0..*
1

JavaVirtualMachine Implementation
(from mtj)

isUsing

Device OS

DeviceComfiguration Implementation

name
version

(from mtj)

1..*

0..*

Project

Java API
name
version
1..*

ImplementationRef

+apis

fileRef : String
sourceRef : String
javadocRef : String

DeviceConfiguration Specification
name
configuration name
configuration version
1

1..*

DeviceProfile
Project
1

Runtime Platform Definition


name

+runtimes

1..*

0..*

1..*

Device

1..*

name : String
description : String

JVM Ref
fileRef : String
sourceRef : String
javadocRef : String

+javaRuntime
1

JavaVirtualMachine Implementation

1 name
profile name
profile version

Code Editor
Code Editor internal
architecture
8

Code Editor architecture

tbd

Project
LEGEND:
APIs

APIs

Project
Project

DC

1..n

Library Jar

D
P

D
P

D
C

D
C

Library Jar

Device
DP

Projects defined
Device Profile

APIs

Service APIs that are


selected to the Project

D
C
DP

Projects defined
Device Configuration

Devices Device
Configuration
Devices Device
Profile

APIs

Service APIs that are


supported by the
Device

Mobile SDK Emulator

Mobile Project development is targeted to devices that have certain Device Configuration and Device
Profile. Therefore MTJs Project has also Device Configuration and Device Profile defined.
Its possible to select a set of Service APIs to the Project. Based on the selected set of APIs
corresponding Jar libraries are added to the project.
Project always has default device that matches to the Projects definitions. That default device also gives
the needed Jar libraries to the Project.
10

Anda mungkin juga menyukai