SynapseIndia mobile apps deployment framework internal architecture

Page 1

Backup slides Deployment SynapseIndia Mobile Apps Deployment Framework internal architecture 1


Device Management control flow Out Out

Device Device Management Management Implementation Implementation

MTJ MTJ Core Core Plug-in Plug-in

Device Device Platform Platform

Device Device Description Description Impl. Impl.

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 [ ]

2

17.02.2006


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 it’s possible to get Devices or the Platform.

3

17.02.2006


Device Platform DevicePlatform getNam e() : 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() : RuntimePlatformDefinition[]

1

DevicePlatformType type

1

Configuration 1..*

Runtime Platform Definition name

1..*

1..*

0..*

Device

ConfigurationError

name : String description : String

errorType description

4

ConfigurationItem name

+item label

description 1 value validValues : String[]

17.02.2006


Device Screen width height isColor bitDepth isTouch

Device +screen

name : String description : String

1

1..* 1..*

DeviceCommunicationProtocol +runtimes

1

1..*

Configuration

Runtime Platform Definition name

1..*

ConfigurationItem

0..*

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

ConfigurationError errorTy pe description

5

17.02.2006


Runtime Platform 1..*

Device name : String description : String

+runtimes

ImplementationRef

1..*

Runtime Platform Definition 0..*

supports

EmulatorDevice

fileRef : String sourceRef : String javadocRef : String

name

1..*

RealDevice model

1

+apis

DeviceProfile

JVM Ref

name profile name profile version

fileRef : String sourceRef : String javadocRef : String

1..*

Java API name version

defines 1..*

isExpanding

DeviceProfileAPI

OptionalServiceAPI 1

1

Device OS Application UI

1

JavaVirtualMachine Specification

defines

1

(from m tj)

1..*

DeviceConfiguration Specification

0..1

name configuration name configuration version

1..*

+specification

Device OS Application

1

0..*

implements

+javaRuntime

1..*

0..* 1

JavaVirtualMachine Implementation (from mtj)

1

isUsing

Device OS

DeviceComfiguration Implementation (from mtj)

1..*

6

name version

1

0..*

17.02.2006


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..*

1 name profile name profile version

0..*

1..*

Device

1..*

name : String description : String

1

JVM Ref fileRef : String sourceRef : String javadocRef : String

+javaRuntime 1

JavaVirtualMachine Implementation

7

17.02.2006


Code Editor Code Editor internal architecture

8


Code Editor architecture ď Ž

tbd

9

17.02.2006


Project APIs

LEGEND:

APIs

Project Project

DC

1..n

1

Library Jar

D P

D P

D C

D C

Library Jar

Device DP

•Project’s defined Device Profile

APIs

•Service APIs that are selected to the Project

D C DP

1

1

•Project’s defined Device Configuration

•Device’s Device Configuration •Device’s 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 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. 10

17.02.2006


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.