Upload
synapseindiappsdevelopment
View
33
Download
2
Embed Size (px)
Citation preview
1
Backup slides - Deployment
SynapseIndia Mobile Apps Deployment Framework internal architecture
2 17.02.2006
Device Management control flow
Device Management Device Management ImplementationImplementation
Device Management Device Management ImplementationImplementation
MTJ Core MTJ Core Plug-inPlug-in
MTJ Core MTJ Core Plug-inPlug-in
3: getImplementations(“Device Platform”)
return: DevicePlatformProvider [ ]
OutOut OutOut
2: getDevices(devicePlatformName)
1: getImplementations(“Device Management”)
return: DeviceManagement [ ]
Device Device PlatformPlatformDevice Device
PlatformPlatform
4: getDevices()
return: Device [ ]
5: getImplementations(“Device Description”)
return: DeviceDescriptionProvider [ ]
Device Device Description Impl.Description Impl.
Device Device Description Impl.Description Impl.
6: getDeviceDescription( String vendor, String model)
return: DeviceDescription
return: Device [ ]
3 17.02.2006
Device Platform ServicesDevice Platform Services
Device Platform ServicesDevice Platform Servicesi/f
getDevicePlatforms() : DevicePlatform[]getDevices(String devicePlatformName) : Device[]...
Device Platform, Device Platform Services
• Device Platform Services make it possible to query available Device Platforms.• Based on Device Platform name it’s possible to get Devices or the Platform.
4 17.02.2006
Device Platform
DevicePlatformTypetype
Configuration
ConfigurationItemnamelabeldescriptionvaluevalidValues : String[]
1..*1..*
ConfigurationError
errorTypedescription
0..*0..*
+item
11
Devicename : Stringdescription : String
DevicePlatform
getName() : StringgetDevices() : Device[]getConfiguration() : PlatformConfigurationsetConfiguration(PlatformConfiguration config)deploy(Deployment application, DeviceDeployment[] devices)run(String application, String deviceName)debug(String application, String deviceName, DebugConfiguration debugConfig)isDebugEnabled() : booleanisAccessable() : booleangetTypeInfo() : DevicePlatformTypeopenPreferencesDialog()isPreferencesDialogAvailable() : booleanopenUtilitesDialog()isUtilitesDialogAvailable() : booleangetRuntimePlatformDefinitions() : RuntimePlatformDefinition[]
1..*1..*
11
11
Runtime Platform Definitionname
1..*1..*
5 17.02.2006
Device
Screen
widthheightisColorbitDepthisTouch
DeviceCommunicationProtocol
Configuration
ConfigurationItem
namelabeldescriptionv aluev alidValues : String[]
1..*1..*
ConfigurationError
errorTy pedescription
0..*0..*
+item
11
Runtime Platform Definition
name
Device
name : Stringdescription : String
1
+screen
1
1..*1..*
11+runtimes
1..*
1..*
1..*
1..*
6 17.02.2006
Runtime Platform
DeviceComfiguration Implementation(from mtj)
JavaVirtualMachine Specification
(from mtj)
ImplementationReffileRef : StringsourceRef : StringjavadocRef : String
DeviceProfileAPI
Device OS Application
Device OS Application UI
0..10..1
OptionalServiceAPI
11..*1..*
1
DeviceProfilenameprofi le nameprofi le version
1..*1..*
defines
Device OSnameversion
0..*0..*
DeviceConfiguration Specification
nameconfiguration nameconfiguration version
1
1..*
+specification1
1..*
11 defines
11
isExpanding
Runtime Platform Definitionname
11
11
Devicename : Stringdescription : String
+runtimes
1..*
1..*
1..*
Java API
nameversion
1..*
+apis
1..*
1..*
EmulatorDeviceRealDevice
model1..*1..*
supports
11
JavaVirtualMachine Implementation(from mtj)
11 isUsing
1..*
0..*
1..*
0..*
implements
0..*1..* 0..*1..*
1
0..*
1
+javaRuntime
JVM ReffileRef : StringsourceRef : StringjavadocRef : String
0..*
7 17.02.2006
ProjectJava APInameversion
JavaVirtualMachine Implementation
ImplementationReffileRef : StringsourceRef : StringjavadocRef : String
JVM ReffileRef : StringsourceRef : StringjavadocRef : String
DeviceProfilenameprofile nameprofile version
DeviceConfiguration Specificationnameconfiguration nameconfiguration version
Project
1..*1..*
11
Runtime Platform Definitionname
11
11
11
1..* +apis1..*
0..*
1
0..*
+javaRuntime1
Devicename : Stringdescription : String
1..*1..*
+runtimes
1..*
1..*
1..*
1..*
8
Code Editor
Code Editor internal architecture
9 17.02.2006
Code Editor architecture tbd
10 17.02.2006
DeviceDeviceDP
APIs
DC
ProjectProject ProjectProject
DP
APIs
DC
Project
1
Library Jar Library Jar
1..n
Library Jar Library Jar
1
1
• Mobile Project development is targeted to devices that have certain Device Configuration and Device Profile. Therefore MTJ’s Project has also Device Configuration and Device Profile defined.• It’s 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.
LEGEND:
DP
DC
DP
APIs
DC •Project’s defined Device Configuration
•Project’s defined Device Profile
•Service APIs that are selected to the Project
•Device’s Device Configuration
•Device’s Device Profile
•Service APIs that are supported by the Device
APIs
Mobile SDK Emulator