synapseindia mobile apps architecture

19
SynapseIndia Mobile Apps Architecture

Upload: synapseindiappsdevelopment

Post on 17-Jul-2015

75 views

Category:

Technology


3 download

TRANSCRIPT

SynapseIndia Mobile Apps Architecture

2 17.02.2006

GUI Editor The Eclipse Visual Editor provides an extensible GUI framework, that can

be used in the mobile IDE UI area. Why VE: The VE’s framework provides a lot of extension points to

different kind of GUI editors Benefits: The GUI editors would have common base framework and the

there is a need to implement only the delta of the different mobile GUI editors

Now existing: The base GUI framework. What is needed: The mobile screen engines with UI widgets to LCDUI

area. VE doesn’t provide any multimedia services yet.

3

Backup slides

More detail presentation about the top technical items

4 17.02.2006

Device Platform Device Platform

DeviceDevice

Emulator

Device

Emulator

Device

Real

Device

Real

Device

1..n

• Target environments are seen as Device Platforms by the MTJ environment. Device Platform contains one or more Device instances.• MTJ plug-in doesn’t know if the Devices are device emulators or real devices because the plug-in extension point API hides all implementation details

i/f

Device Platform

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

6 17.02.2006

DeviceDeviceDeviceDeviceDP

DC

ProjectProject ProjectProjectDP

DC

Device fragmentation

APIsAPIs

DeviceDeviceDeviceDPDP

APIs

DCDC

DeviceDeviceDeviceDPDP

DCDC

APIsAPIs

DeviceDeviceDeviceDPDP

APIsAPIs

DCDC

DeviceDeviceDeviceDPDP

DCDC

APIsAPIs

DeviceDeviceManagementManagement

• Project can select smaller set of APIs that the targeted devices are supporting. By selecting smallest possible set of needed APIs, the number of suitable devices is bigger.• Although the Project has the default device, the Projects definitions can match to several devices.

DeviceDeviceDeviceDPDP

DCDC

APIsAPIs

DeviceDeviceDeviceDPDP

DCDC

APIsAPIs

7 17.02.2006

Device ServicesDevice Services

Device ServicesDevice Servicesi/f

getDevices(DeviceConfiguration dc, DeviceProfile dp, ServiceAPI[] apis) : Device[]...

Device fragmentation, Device Services

• Device Services make it possible to query Devices that are possible targets to the Project’s application. Project uses it’s own definitions as parameters in the service call.

8

Backup slides - Wizards

Wizards internal architecture

9 17.02.2006

Wizards architecture [template management]…

10

Backup slides - Runtime Launch

Runtime Launch internal architecture

11 17.02.2006

Runtime Launch architecture The Runtime Launch architecture uses the

Device Platform to enable selection of available Devices.

12 17.02.2006

Device Device

Runtime Platform Definition Runtime Platform Definition

1..n

1..n11

Device Profile Device ProfileDP Service API Service APIAPI Device Configuration Device ConfigurationDC

Runtime Platform

JVM Impl. JVM Impl.

1

• Device instance defines the Runtime Platform Definitions that it’s capable to run on.• Runtime Platform consists of Device Configuration, Device Profile, Service APIs and JVM Implementation.• Device Configuration defines used configuration (i.e. CDC or CLDC) and it’s version.• Device Profile defines used profile (i.e. MIDP) and it’s version.• Service APIs are either APIs that are defined in Device Profile or API of optional Services that the Device’s OS is supporting.• Runtime Platform Definition is always based on defined Mobile SDK JVM Implementation.

13 17.02.2006

Service API Service APIAPI

Runtime Platform (cont.)

JVM Impl JVM Impl

• Service API –object contains the standardize service name and it’s version, i.e. WMA 1.1, MMAPI 1.1 or Location API 1.0 .• Service API has also reference to JAR Library that implements the API.• Also Mobile SDK JVM Impl –object contains the JVM name and it’s version and reference to JAR Library that implements the JVM specification that is defined by the Runtime Platform’s Device Configuration Specification.

Library Jar Library Jar

1

Library Jar Library Jar

1

14 17.02.2006

Device ServicesDevice Services

Device ServicesDevice Servicesi/f

getRuntimePlatforms(String devicePlatformName, String deviceName) : RuntimePlatformDefinition[]...

Runtime Platform, Device Services

• Device Services make it possible to query Runtime Platforms of a Device.

15

Backup slides - Debugging

Debugging internal architecture

16 17.02.2006

Debugging architecture …

17

Backup slides - Device Management

Device Management internal architecture

18 17.02.2006

Device Management architecture

Each Mobile project may select the targeted devices, that the project is supporting. Mobile Project contains one or more Device Platforms, thus there is only one default mobile SDK active.

The Device Platform and Device instances definition is stored inside the EMF based Device model and the with extendable persistence component the definition is shared with in several projects.

The Runtime Platform Definition data is also stored and shared among projects and the Fragmentation Definition can enhance the task to find compatible device groups.

Also the pre-processing can use this to provide and define the device grouping inside the JDT.

Mobile Mobile ProjectProject Mobile Mobile ProjectProject

1..n

DeviceDevice

Emulator

Device

Emulator

Device

Real

Device

Real

Device

1..n

1

Device Platform Device Platformi/f

Fragmentation Definition

Fragmentation Definition1

Runtime Platform Definition

Runtime Platform Definition

Extended device definition

19 17.02.2006

• Target environments are seen as Device Platforms by the MTJ environment. Device Platform contains one or more Device instances.• MTJ plug-in doesn’t know if the Devices are device emulators or real devices because the plug-in extension point API hides all implementation details• Device instance defines the Runtime Platform that it’s capable to run on.• The Device Management uses Device Platform and Device Description information.• The deeper interaction and dependency is described in the following two slides

Device Management

Device Device ManagementManagement

Device Device ManagementManagement

<< extension point >>

Device Management Device Management ImplementationImplementation

Device Management Device Management ImplementationImplementation

<< extends> >

Device Device Platform Platform ProviderProvider

Device Device Platform Platform ProviderProvider

<< extension point >>

Device PlatformDevice PlatformDevice PlatformDevice Platform

<< extends> >

Device PlatformDevice PlatformDevice PlatformDevice Platform

Device PlatformDevice PlatformDevice PlatformDevice Platform

Device Device Description Description

ProviderProvider

Device Device Description Description

ProviderProvider

<< extension point >>

Device Description Device Description ImplementationImplementation

Device Description Device Description ImplementationImplementation

<< extends> >

Device Description Device Description ImplementationImplementation

Device Description Device Description ImplementationImplementation