SynapseIndia mobile apps architecture

Page 1

SynapseIndia Mobile Apps Architecture


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.

2

17.02.2006


Backup slides More detail presentation about the top technical items 3


Device Platform Device Platform

i/f

1..n

Device

Emulator

Real

Device

Device

• 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 4

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.

5

17.02.2006


Device fragmentation APIs

APIs

DP

Device

DP

DC

APIs

APIs

Device Device

DC

Device Device

DC

APIs APIs

Project Project

DP

D P

D P

D C

D C

Device Device

DP

Device Management

Device

DC

APIs APIs

DP

Device Device

DP

Device Device

DC DC

• 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. 6

17.02.2006


Device fragmentation, Device Services i/f

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

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

7

17.02.2006


Backup slides Wizards Wizards internal architecture

8


Wizards architecture ď Ž

[template management]‌

9

17.02.2006


Backup slides Runtime Launch Runtime Launch internal architecture 10


Runtime Launch architecture ď Ž

The Runtime Launch architecture uses the Device Platform to enable selection of available Devices.

11

17.02.2006


Runtime Platform Device

1..n

Runtime Platform Definition

1

1 DC

Device Configuration

DP

1..n

Device Profile

API

Service API

1

JVM Impl.

• 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. 12

17.02.2006


Runtime Platform (cont.) API

Service API

JVM Impl

1

1

Library Jar

Library Jar

• 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. 13

17.02.2006


Runtime Platform, Device Services i/f

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

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

14

17.02.2006


Backup slides Debugging Debugging internal architecture

15


Debugging architecture ď Ž

‌

16

17.02.2006


Backup slides - Device Management Device Management internal architecture 17


Device Management architecture Mobile Mobile Project Project

i/f

1..n

Device Platform

1..n

Extended device definition

Device Emulato r Device

1

Real Device 1

   

Runtime Platform Definition Fragmentation Definition

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

17.02.2006


Device Management << extension point

>>

Device Device Description Description Provider Provider << extends> >

Device Device Description Description Implementation Implementation Device Device Description Description Implementation Implementation

<< extension point << extension point

Device Device Management Management

>>

<< extends> >

Device Device Management Management Implementation Implementation

>>

Device Device Platform Platform Provider Provider << extends> >

Device Device Platform Platform Device Device Platform Platform Device Device Platform Platform

• 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. 17.02.2006 • The deeper interaction and dependency 19 is described in the following two slides


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.