SlideShare a Scribd company logo
1 of 17
SynapseIndia Mobile Apps
Deployment framework architecture
2 17.02.2006
Deployment framework architecture
• The MTJ provides an Deployment framework that supports the existing SDK
Emulators and phones runtimes.
• The framework publishes an deployment interface, that capsulate (hides) the actual
runtime environments and protocols.
• The framework separates the different deployment low-level services to own
components (like UEI, OTA, etc.) with supporting existing proprietary emulator and
phone access (marked as X and Z).
• It also provides a new development branch to the OBEX based deployment, which
can be used e.g. towards to MAC OS environment. Thus this requires that the needed
protocols / protocol wrappers are available.
MTJ IDE environmentMTJ IDE environment
ZZ
SDK / Emulator context
(Nokia, Win32 OS)
SDK / Emulator context
(Nokia, Win32 OS)U
E
I
U
E
I
Interfac
e
Interfac
e
S40S40
S60S60
Deployment
Framework
Deployment
Framework
Extensio
n
point
Interfac
e
SDK / Emulator (Vendor X)SDK / Emulator (Vendor X)U
E
I
U
E
I
O
B
E
X
O
B
E
X
O
T
A
O
T
A
U
E
I
U
E
I
RealReal
DevicDevic
ee
RealReal
DevicDevic
ee
XX
XX
XX
LEGEND:
• MTJ Editor context
• Deployment context
• Existing SDK /
Emulators
• Existing emulator
integrations
• Deployment
Interface
• Eclipse Plug-in
Extension point
• New, open
deployment plug-in,
OBEX based
• Mobile Devices
• Existing native
deployment
3 17.02.2006
Mobile Vendor specific view
EclipseEclipseEclipseEclipse
SDK / Emulator (Vendor X)SDK / Emulator (Vendor X)
Vendor XVendor X
SDK EmulatorSDK Emulator
Plug-inPlug-in
Vendor XVendor X
SDK EmulatorSDK Emulator
Plug-inPlug-in
• The MTJ provides an Deployment framework that supports the existing SDK
Emulators and phones runtimes
• The framework publishes a Device Platform -interface, that capsulate (hides) the
actual runtime environments and protocols.
• The framework separates the different vendors products to own plug-ins
MTJMTJ
Plug-inPlug-in
MTJMTJ
Plug-inPlug-in
Device
Platform
Device
Platform
Extensio
n
point
SDK / Emulator (Vendor Y)SDK / Emulator (Vendor Y)
Vendor YVendor Y
SDK EmulatorSDK Emulator
Plug-inPlug-in
Vendor YVendor Y
SDK EmulatorSDK Emulator
Plug-inPlug-in
SDK / Emulator (Vendor Z)SDK / Emulator (Vendor Z)
Vendor ZVendor Z
SDK EmulatorSDK Emulator
Plug-inPlug-in
Vendor ZVendor Z
SDK EmulatorSDK Emulator
Plug-inPlug-in
Vendor XVendor X
Real DeviceReal Device
Plug-inPlug-in
Vendor XVendor X
Real DeviceReal Device
Plug-inPlug-in
Real DeviceReal Device (Vendor X)Real DeviceReal Device (Vendor X)
Vendor YVendor Y
Real DeviceReal Device
Plug-inPlug-in
Vendor YVendor Y
Real DeviceReal Device
Plug-inPlug-in
Real DeviceReal Device (Vendor Y)Real DeviceReal Device (Vendor Y)
4 17.02.2006
Mobile vendor specific view details
 Different mobile vendors can use their existing emulators and add the
deployment (emulator) specific plug-in to the MTJ environment. The
emulator specific plug-in may be even in binary format, if it needs to
protect some internal implementation or specification.
 The emulator specific plug-in uses the MTJ generic API and also
contributes to the MTJ’s deployment frameworks extension point.
 The deployment framework could provide an template from such plug-in
that helps to other vendors to tie up their specific solutions.
 The deployment framework supports also that the emulator is discovered
by manual entering the location. There could be a dynamic plug-in, that
‘ties’ the discovered emulator to the deployment framework.
 The deployment framework can provide also other extension points, that
enables others to extend e.g. the emulator specific properties, UI’s etc.
 The deployment framework provides a plug-in template for existing
emulators, which can dynamically be attached to wrap the specific
emulator.
5 17.02.2006
Deployment framework plug-ins
Vendor Z Real Device Plug-inVendor Z Real Device Plug-inVendor Z Real Device Plug-inVendor Z Real Device Plug-in
SDK / Emulator (Vendor X)SDK / Emulator (Vendor X)
Vendor X SDK EmulatorVendor X SDK Emulator
Plug-inPlug-in
Vendor X SDK EmulatorVendor X SDK Emulator
Plug-inPlug-in
U
E
I
U
E
I
U
E
I
U
E
I
SDK / Emulator (Vendor Y)SDK / Emulator (Vendor Y)
Vendor Y SDK EmulatorVendor Y SDK Emulator
Plug-inPlug-in
Vendor Y SDK EmulatorVendor Y SDK Emulator
Plug-inPlug-in
X
E
I
X
E
I
X
E
I
X
E
I
Vendor Y Real Device Plug-inVendor Y Real Device Plug-inVendor Y Real Device Plug-inVendor Y Real Device Plug-in
Real DeviceReal Device (Vendor Y)Real DeviceReal Device (Vendor Y)
Vendor X Real DeviceVendor X Real Device
Plug-inPlug-in
Vendor X Real DeviceVendor X Real Device
Plug-inPlug-in
Real DeviceReal Device (Vendor X)Real DeviceReal Device (Vendor X)
O
B
E
X
O
B
E
X
FTPFTP
HTTP/FTP
service
HTTP/FTP
service
O
T
A
O
T
A
FTPFTP
SDK / Emulator (Vendor Z)SDK / Emulator (Vendor Z)
Vendor Z SDK EmulatorVendor Z SDK Emulator
Plug-inPlug-in
Vendor Z SDK EmulatorVendor Z SDK Emulator
Plug-inPlug-in
XX XX
HTTP/FTP
service
HTTP/FTP
service
O
T
A
O
T
A
Real DeviceReal Device (Vendor Z)Real DeviceReal Device (Vendor Z)
• Device Platform plug-ins have
several different
implementations
• Device Platform plug-ins are
responsible of the
communication protocols
between MTJ environment and
Emulators / Real Devices
• The plug-ins also store all
config data. F. ex. Emulator
plug-in stores the Emulator
SDK root directory itself
• UEI = Unified Emulator Interface
• XEI = Extended Emulator Interface
(Nokia proprietary)
• X = Proprietary Emulator Interface
MTJ plug-in wrapper Mobile vendors devices
6 17.02.2006
Deployment framework design
Integrating to the existing SDK Emulators:
 Deployment framework
 Enables adding a new SDK Emulator by manually entering the location or by local hard
drive browsing (typical case for existing emulators).
 Hides the used targeted runtime environments behind a few deployment interfaces
 Simplifies the deployment process against the device / emulator variation
 Generalizes the deployment management by encapsulating the SDK Emulator
dependencies to a separate plug-ins, thus enabling it to publish it’s own specific
functionality.
Integrating to new SDK Emulators, which do have a specific plug-in:
 Deployment framework
 If the SDK Emulator has own deployment plug-in and the plug-in does follow the
Deployment framework extension rules, it’s automatically instantiated
 Deployment framework instantiates Deployment component and calls its methods via
deployment interface
 Deployment component plug-in
 Implements the Deployment frameworks interface
 Contributes to the Deployment frameworks extension point
 May also extend some SDK Emulator specific services to the Deployment framework
7 17.02.2006
Deployment framework Model
Device PlatformDevice Platform
DeviceDevice
Emulator
Device
Emulator
Device
Real
Device
Real
Device
Runtime Platform
Definition
Runtime Platform
Definition
1..n
1
• 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.
i/f
8 17.02.2006
Deployment framework Model (cont.)
DeploymentDeployment
MIDlet
Deploymen
t
MIDlet
Deploymen
t
CDC
Deployment
CDC
Deployment
• Deployment interface is generic representation of a entity that is send from MTJ
environment to Device Platform instances.
• Realization of a deployment can be MIDlet, CDC, MEGlet or Resource deployment (or
something else). So the realization is created from source application definitions and f.
ex. MIDlet project deployment consists of Application JAR and JAD files.
• Target Device Platform knows, what’s inside the received deployment and how to
handle it.
MEGlet
Deployment
MEGlet
Deployment
Resource
Deployment
Resource
Deployment
i/f
9
Signing and
Obfuscation
Signing and Obfuscating internal
architecture
10 17.02.2006
Signing architecture
 There is a SecurityManager, that manages the keys and certificates in the
IDE environment globally.
 Each project can configure the signing options and parameters against the
actual needs.
 The Signing Provider implements the actual signing and it can be used
through e.g. the Ant scripts.
11 17.02.2006
Obfuscating architecture
 It is a well known fact that Java Class (bytecode) files can be easily
reverse-engineered because Java compiler leaves a lot of such information
into bytecode that helps the reverse-engineering task.
Code obfuscation is one protection tool for Java code to prevent reverse
engineering. Code obfuscation makes programs more difficult to
understand, so that it is more resistant to reverse engineering.
 Obfuscation techniques fall into three groups:
 Layout Obfuscations
 Layout Obfuscations modify the layout structure of the program by two basic
methods: renaming identifiers and removing debugging information. Almost
all Java obfuscators contain this technique.
 Control Obfuscations
 Control Obfuscations change the control flow of the program.
 Data Obfuscations
 Data Obfuscations break the data structures used in the program and encrypt
literal.
 The MTJ enables to use existing Obfuscator -products through an wrapper
plug-in (Obfuscation Provider), that can be further tailored.
12
Backup slides - GUI
Mobile Visual Editor architecture
13 17.02.2006
Visual IDE environment in general
Eclipse PlatformEclipse PlatformEclipse PlatformEclipse Platform
IDEIDEIDEIDE Screen EngineScreen EngineScreen EngineScreen Engine
Launcher /Launcher /
EmulatorEmulator
Launcher /Launcher /
EmulatorEmulator
GraphicaGraphica
l Editorl Editor
GraphicaGraphica
l Editorl Editor
Code /Code /
ResourcResourc
e Editore Editor
Code /Code /
ResourcResourc
e Editore Editor
PropertyProperty
SheetSheet
PropertyProperty
SheetSheet
OutlineOutline
ViewerViewer
OutlineOutline
ViewerViewer
Source code, resource files, etc.Source code, resource files, etc.Source code, resource files, etc.Source code, resource files, etc.
Source files
UI,
WYSIWYG
Trace,
profile,
debug
The RAD IDE
environment is having
some clear elements,
like the core IDE
graphical and code
editor, property sheet
and outline viewer for
IDE environment
objects.
Also the graphical
editor uses the screen
engine for creating the
actual graphical UI
presentation (like
WYSIWYG).
Also the mobile
emulators / SDKs’ are
providing the ability to
launch the
applications.
14 17.02.2006
VE Internal Component Architecture
Eclipse PlatformEclipse PlatformEclipse PlatformEclipse Platform
Eclipse Visual Editor FrameworkEclipse Visual Editor FrameworkEclipse Visual Editor FrameworkEclipse Visual Editor Framework
Java
core
Java
core
JFC
Editor
JFC
Editor
SWT
Editor
SWT
Editor
Java
Element
Model
(JEM)
Java
Element
Model
(JEM)Common
Diagram
Model
(CDE)
Common
Diagram
Model
(CDE)
GEFGEF EMFEMF
Local orLocal or
RemoteRemote
Java VMJava VM
Local orLocal or
RemoteRemote
Java VMJava VM
Target
VM
Target
VM
BeanInfo
VM
BeanInfo
VM
Java source files
Java Code
Generation
Adapter
Java Code
Generation
Adapter
The Eclipse Visual
Editor framework
provides a flexible
GUI framework,
which can be quite
easily extended to
e.g. mobile domain.
The current
desktop version
supports JFC and
SWT GUI editors
with full set of
UI widgets. The
actual screen
rendering is done
in separate
rendering engine.
Internally VE uses
EMF in CDE and
models the Java
15 17.02.2006
Mobile Visual Editor GUI Components
MTJ Screen EngineMTJ Screen EngineMTJ Screen EngineMTJ Screen Engine
Screen Rendering ContextScreen Rendering ContextScreen Rendering ContextScreen Rendering Context
Eclipse MTJ IDEEclipse MTJ IDEEclipse MTJ IDEEclipse MTJ IDE
Eclipse VEEclipse VEEclipse VEEclipse VE
Eclipse PlatformEclipse PlatformEclipse PlatformEclipse Platform
MTJ Mobile ExtensionMTJ Mobile ExtensionMTJ Mobile ExtensionMTJ Mobile Extension
GEFGEF
EditorPartEditorPart
GEFGEF
EditorPartEditorPart UI VE ModelUI VE ModelUI VE ModelUI VE Model
BeanProxBeanProx
y Adaptery Adapter
BeanProxBeanProx
y Adaptery Adapter
Custom
Mobileproxy
components
Custom
Mobileproxy
components
Mobile
eSWTproxy
components
Mobile
eSWTproxy
components
Mobile
CLDCproxy
components
Mobile
CLDCproxy
components
ScreenRenderingAPIScreenRenderingAPIScreenRenderingAPIScreenRenderingAPI
BeanInfoBeanInfo
AdapterAdapter
BeanInfoBeanInfo
AdapterAdapter
CLDC ScreenCLDC Screen
RenderingRendering
EngineEngine
CLDC ScreenCLDC Screen
RenderingRendering
EngineEngine
eSWT ScreeneSWT Screen
RenderingRendering
EngineEngine
eSWT ScreeneSWT Screen
RenderingRendering
EngineEngine
Custom Screen
Rendering
Engine
Custom Screen
Rendering
Engine
Common Screen Rendering EngineCommon Screen Rendering EngineCommon Screen Rendering EngineCommon Screen Rendering Engine
ScreenRenderingAPIScreenRenderingAPIScreenRenderingAPIScreenRenderingAPI
MTJCDLCUIMTJCDLCUI
componentscomponents
MTJCDLCUIMTJCDLCUI
componentscomponents
MTJeSWTUIMTJeSWTUI
componentscomponents
MTJeSWTUIMTJeSWTUI
componentscomponents
CustomUI
components
CustomUI
components
LegendLegend
Existing inExisting in
EclipseEclipse
MTJMTJ
projectproject
scopescope
CDLCUIbaseCDLCUIbase
Look&FeelLook&Feel
CDLCUIbaseCDLCUIbase
Look&FeelLook&Feel
CustomUI
Look&Feel
CustomUI
Look&Feel
MTJeSWTUIMTJeSWTUI
componentscomponents
MTJeSWTUIMTJeSWTUI
componentscomponents
CustomUI
Look&Feel
CustomUI
Look&Feel
CustomUI
Look&Feel
CustomUI
Look&Feel
CustomUI
Components
CustomUI
Components
CustomUI
Components
CustomUI
Components
16
Backup slides –
Milestone Plan
17 17.02.2006
MTJ Milestone Plan
 tbd

More Related Content

What's hot

Adc2012 windows phone 8
Adc2012 windows phone 8Adc2012 windows phone 8
Adc2012 windows phone 8AlexanderGoetz
 
1 introduction of android
1 introduction of android1 introduction of android
1 introduction of androidakila_mano
 
International Journal of Engineering Research and Development
International Journal of Engineering Research and DevelopmentInternational Journal of Engineering Research and Development
International Journal of Engineering Research and DevelopmentIJERD Editor
 
Introduction to Module Development with Appcelerator Titanium
Introduction to Module Development with Appcelerator TitaniumIntroduction to Module Development with Appcelerator Titanium
Introduction to Module Development with Appcelerator TitaniumAaron Saunders
 
Extending Appcelerator Titanium Mobile through Native Modules
Extending Appcelerator Titanium Mobile through Native ModulesExtending Appcelerator Titanium Mobile through Native Modules
Extending Appcelerator Titanium Mobile through Native Modulesomorandi
 
Os eclipse-androidwidget-pdf
Os eclipse-androidwidget-pdfOs eclipse-androidwidget-pdf
Os eclipse-androidwidget-pdfweerabahu
 
100 effective software testing tools that boost your Testing
100 effective software testing tools that boost your Testing100 effective software testing tools that boost your Testing
100 effective software testing tools that boost your TestingBugRaptors
 
03 Beginning Android Application Development
03 Beginning Android Application Development03 Beginning Android Application Development
03 Beginning Android Application DevelopmentArief Gunawan
 
[Android Codefest Germany] Adding x86 target to your Android app by Xavier Ha...
[Android Codefest Germany] Adding x86 target to your Android app by Xavier Ha...[Android Codefest Germany] Adding x86 target to your Android app by Xavier Ha...
[Android Codefest Germany] Adding x86 target to your Android app by Xavier Ha...BeMyApp
 
Developing and-benchmarking-native-linux-applications-on-android
Developing and-benchmarking-native-linux-applications-on-androidDeveloping and-benchmarking-native-linux-applications-on-android
Developing and-benchmarking-native-linux-applications-on-androidElvis Jon Freddy Sitinjak
 
Titanium Mobile: flexibility vs. performance
Titanium Mobile: flexibility vs. performanceTitanium Mobile: flexibility vs. performance
Titanium Mobile: flexibility vs. performanceomorandi
 
Developing Multi-OS Native Mobile Applications with Intel INDE
Developing Multi-OS Native Mobile Applications with Intel INDEDeveloping Multi-OS Native Mobile Applications with Intel INDE
Developing Multi-OS Native Mobile Applications with Intel INDEIntel® Software
 
Javame sdk-datasheet-167819
Javame sdk-datasheet-167819Javame sdk-datasheet-167819
Javame sdk-datasheet-167819Oscar Eduardo
 

What's hot (20)

Adc2012 windows phone 8
Adc2012 windows phone 8Adc2012 windows phone 8
Adc2012 windows phone 8
 
Android 2.1-cdd
Android 2.1-cddAndroid 2.1-cdd
Android 2.1-cdd
 
1 introduction of android
1 introduction of android1 introduction of android
1 introduction of android
 
Android NDK: Entrando no Mundo Nativo
Android NDK: Entrando no Mundo NativoAndroid NDK: Entrando no Mundo Nativo
Android NDK: Entrando no Mundo Nativo
 
International Journal of Engineering Research and Development
International Journal of Engineering Research and DevelopmentInternational Journal of Engineering Research and Development
International Journal of Engineering Research and Development
 
Introduction to Module Development with Appcelerator Titanium
Introduction to Module Development with Appcelerator TitaniumIntroduction to Module Development with Appcelerator Titanium
Introduction to Module Development with Appcelerator Titanium
 
Extending Appcelerator Titanium Mobile through Native Modules
Extending Appcelerator Titanium Mobile through Native ModulesExtending Appcelerator Titanium Mobile through Native Modules
Extending Appcelerator Titanium Mobile through Native Modules
 
Os eclipse-androidwidget-pdf
Os eclipse-androidwidget-pdfOs eclipse-androidwidget-pdf
Os eclipse-androidwidget-pdf
 
Xcode 6 release_notes
Xcode 6 release_notesXcode 6 release_notes
Xcode 6 release_notes
 
100 effective software testing tools that boost your Testing
100 effective software testing tools that boost your Testing100 effective software testing tools that boost your Testing
100 effective software testing tools that boost your Testing
 
03 Beginning Android Application Development
03 Beginning Android Application Development03 Beginning Android Application Development
03 Beginning Android Application Development
 
[Android Codefest Germany] Adding x86 target to your Android app by Xavier Ha...
[Android Codefest Germany] Adding x86 target to your Android app by Xavier Ha...[Android Codefest Germany] Adding x86 target to your Android app by Xavier Ha...
[Android Codefest Germany] Adding x86 target to your Android app by Xavier Ha...
 
Testing on Android
Testing on AndroidTesting on Android
Testing on Android
 
Developing and-benchmarking-native-linux-applications-on-android
Developing and-benchmarking-native-linux-applications-on-androidDeveloping and-benchmarking-native-linux-applications-on-android
Developing and-benchmarking-native-linux-applications-on-android
 
Android Native Apps Development
Android Native Apps DevelopmentAndroid Native Apps Development
Android Native Apps Development
 
Titanium Mobile: flexibility vs. performance
Titanium Mobile: flexibility vs. performanceTitanium Mobile: flexibility vs. performance
Titanium Mobile: flexibility vs. performance
 
Android Internals
Android InternalsAndroid Internals
Android Internals
 
Developing Multi-OS Native Mobile Applications with Intel INDE
Developing Multi-OS Native Mobile Applications with Intel INDEDeveloping Multi-OS Native Mobile Applications with Intel INDE
Developing Multi-OS Native Mobile Applications with Intel INDE
 
Javame sdk-datasheet-167819
Javame sdk-datasheet-167819Javame sdk-datasheet-167819
Javame sdk-datasheet-167819
 
Bhavin_Resume
Bhavin_ResumeBhavin_Resume
Bhavin_Resume
 

Viewers also liked

Synapse india dotnet framework development or c
Synapse india dotnet framework development or cSynapse india dotnet framework development or c
Synapse india dotnet framework development or cSynapseindiappsdevelopment
 
SynapseIndia drupal presentation on drupal best practices
SynapseIndia drupal  presentation on drupal best practicesSynapseIndia drupal  presentation on drupal best practices
SynapseIndia drupal presentation on drupal best practicesSynapseindiappsdevelopment
 
Synapseindia strcture of dotnet development part 1
Synapseindia strcture of dotnet development part 1Synapseindia strcture of dotnet development part 1
Synapseindia strcture of dotnet development part 1Synapseindiappsdevelopment
 
SynapseIndia dotnet development ajax client library
SynapseIndia dotnet development ajax client librarySynapseIndia dotnet development ajax client library
SynapseIndia dotnet development ajax client librarySynapseindiappsdevelopment
 
Synapse india reviews sharing chapter 23 – asp.net
Synapse india reviews sharing  chapter 23 – asp.netSynapse india reviews sharing  chapter 23 – asp.net
Synapse india reviews sharing chapter 23 – asp.netSynapseindiappsdevelopment
 
SynapseIndia dotnet development methodologies iterative
SynapseIndia dotnet development methodologies   iterativeSynapseIndia dotnet development methodologies   iterative
SynapseIndia dotnet development methodologies iterativeSynapseindiappsdevelopment
 
SynapseIndia dotnet development platform overview
SynapseIndia  dotnet development platform overviewSynapseIndia  dotnet development platform overview
SynapseIndia dotnet development platform overviewSynapseindiappsdevelopment
 
Synapse india dotnet development overloading operater part 3
Synapse india dotnet development overloading operater part 3Synapse india dotnet development overloading operater part 3
Synapse india dotnet development overloading operater part 3Synapseindiappsdevelopment
 
Synapseindia dot net development computer programming
Synapseindia dot net development  computer programmingSynapseindia dot net development  computer programming
Synapseindia dot net development computer programmingSynapseindiappsdevelopment
 
Synapseindia android apps application development
Synapseindia android apps application developmentSynapseindia android apps application development
Synapseindia android apps application developmentSynapseindiappsdevelopment
 

Viewers also liked (17)

Synapse india dotnet framework development or c
Synapse india dotnet framework development or cSynapse india dotnet framework development or c
Synapse india dotnet framework development or c
 
SynapseIndia drupal presentation on drupal best practices
SynapseIndia drupal  presentation on drupal best practicesSynapseIndia drupal  presentation on drupal best practices
SynapseIndia drupal presentation on drupal best practices
 
SynapseIndia java and .net development
SynapseIndia java and .net developmentSynapseIndia java and .net development
SynapseIndia java and .net development
 
Synapseindia strcture of dotnet development part 1
Synapseindia strcture of dotnet development part 1Synapseindia strcture of dotnet development part 1
Synapseindia strcture of dotnet development part 1
 
Synapseindia android apps overview
Synapseindia android apps overviewSynapseindia android apps overview
Synapseindia android apps overview
 
SynapseIndia dotnet development framework
SynapseIndia  dotnet development frameworkSynapseIndia  dotnet development framework
SynapseIndia dotnet development framework
 
SynapseIndia dotnet development ajax client library
SynapseIndia dotnet development ajax client librarySynapseIndia dotnet development ajax client library
SynapseIndia dotnet development ajax client library
 
Synapse india reviews sharing chapter 23 – asp.net
Synapse india reviews sharing  chapter 23 – asp.netSynapse india reviews sharing  chapter 23 – asp.net
Synapse india reviews sharing chapter 23 – asp.net
 
SynapseIndia dotnet development methodologies iterative
SynapseIndia dotnet development methodologies   iterativeSynapseIndia dotnet development methodologies   iterative
SynapseIndia dotnet development methodologies iterative
 
SynapseIndia dotnet module development part 1
SynapseIndia  dotnet module development part 1SynapseIndia  dotnet module development part 1
SynapseIndia dotnet module development part 1
 
Synapseindia android apps application
Synapseindia android apps applicationSynapseindia android apps application
Synapseindia android apps application
 
SynapseIndia dotnet development platform overview
SynapseIndia  dotnet development platform overviewSynapseIndia  dotnet development platform overview
SynapseIndia dotnet development platform overview
 
Chapter 6 arrays part-1
Chapter 6   arrays part-1Chapter 6   arrays part-1
Chapter 6 arrays part-1
 
SynapseIndia mobile apps trends, 2013
SynapseIndia mobile apps  trends, 2013SynapseIndia mobile apps  trends, 2013
SynapseIndia mobile apps trends, 2013
 
Synapse india dotnet development overloading operater part 3
Synapse india dotnet development overloading operater part 3Synapse india dotnet development overloading operater part 3
Synapse india dotnet development overloading operater part 3
 
Synapseindia dot net development computer programming
Synapseindia dot net development  computer programmingSynapseindia dot net development  computer programming
Synapseindia dot net development computer programming
 
Synapseindia android apps application development
Synapseindia android apps application developmentSynapseindia android apps application development
Synapseindia android apps application development
 

Similar to SynapseIndia mobile apps deployment framework architecture

Wlstudioedge 101 releasenotes
Wlstudioedge 101 releasenotesWlstudioedge 101 releasenotes
Wlstudioedge 101 releasenoteslesliepinto85
 
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe DevelopmentEclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe DevelopmentDevOps.com
 
Overview of asp .net
Overview of asp .netOverview of asp .net
Overview of asp .netSajan Sahu
 
Eclipse vs Netbean vs Railo
Eclipse vs Netbean vs RailoEclipse vs Netbean vs Railo
Eclipse vs Netbean vs RailoMohd Safian
 
Smp agentry app_development
Smp agentry app_developmentSmp agentry app_development
Smp agentry app_developmentGanesh Kumar
 
Mobile Enterprise Applications
Mobile Enterprise ApplicationsMobile Enterprise Applications
Mobile Enterprise ApplicationsJason Conger
 
Slides bootcamp21
Slides bootcamp21Slides bootcamp21
Slides bootcamp21dxsaki
 
Online lg prodect
Online lg prodectOnline lg prodect
Online lg prodectYesu Raj
 
Light-up-your-out-of-the-box LightSwitch Application
Light-up-your-out-of-the-box LightSwitch ApplicationLight-up-your-out-of-the-box LightSwitch Application
Light-up-your-out-of-the-box LightSwitch ApplicationBoulos Dib
 
A CASE STUDY ON EMBEDDED SYSTEM SOFTWARE STACK LAYERS
A CASE STUDY ON EMBEDDED SYSTEM SOFTWARE STACK LAYERS A CASE STUDY ON EMBEDDED SYSTEM SOFTWARE STACK LAYERS
A CASE STUDY ON EMBEDDED SYSTEM SOFTWARE STACK LAYERS MOHAMMED FURQHAN
 
Setting up a vscode development environment for mbed 5 application using the ...
Setting up a vscode development environment for mbed 5 application using the ...Setting up a vscode development environment for mbed 5 application using the ...
Setting up a vscode development environment for mbed 5 application using the ...Steve Mylroie
 
Getting started with ibm worklight tips
Getting started with ibm worklight tipsGetting started with ibm worklight tips
Getting started with ibm worklight tipsbupbechanhgmail
 
Intro to Eclipse Che, by Tyler Jewell
Intro to Eclipse Che, by Tyler JewellIntro to Eclipse Che, by Tyler Jewell
Intro to Eclipse Che, by Tyler Jewelljwi11iams
 
Visual Studio2010 Product Overview
Visual Studio2010 Product OverviewVisual Studio2010 Product Overview
Visual Studio2010 Product Overviewjanadbest
 

Similar to SynapseIndia mobile apps deployment framework architecture (20)

SynapseIndia mobile apps architecture
SynapseIndia mobile apps architectureSynapseIndia mobile apps architecture
SynapseIndia mobile apps architecture
 
Wlstudioedge 101 releasenotes
Wlstudioedge 101 releasenotesWlstudioedge 101 releasenotes
Wlstudioedge 101 releasenotes
 
Android
Android Android
Android
 
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe DevelopmentEclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
 
Overview of asp .net
Overview of asp .netOverview of asp .net
Overview of asp .net
 
Eclipse vs Netbean vs Railo
Eclipse vs Netbean vs RailoEclipse vs Netbean vs Railo
Eclipse vs Netbean vs Railo
 
Smp agentry app_development
Smp agentry app_developmentSmp agentry app_development
Smp agentry app_development
 
Balaji Resume
Balaji ResumeBalaji Resume
Balaji Resume
 
Flutter Leap of Faith
Flutter Leap of FaithFlutter Leap of Faith
Flutter Leap of Faith
 
Mobile Enterprise Applications
Mobile Enterprise ApplicationsMobile Enterprise Applications
Mobile Enterprise Applications
 
Slides bootcamp21
Slides bootcamp21Slides bootcamp21
Slides bootcamp21
 
Online lg prodect
Online lg prodectOnline lg prodect
Online lg prodect
 
Light-up-your-out-of-the-box LightSwitch Application
Light-up-your-out-of-the-box LightSwitch ApplicationLight-up-your-out-of-the-box LightSwitch Application
Light-up-your-out-of-the-box LightSwitch Application
 
A CASE STUDY ON EMBEDDED SYSTEM SOFTWARE STACK LAYERS
A CASE STUDY ON EMBEDDED SYSTEM SOFTWARE STACK LAYERS A CASE STUDY ON EMBEDDED SYSTEM SOFTWARE STACK LAYERS
A CASE STUDY ON EMBEDDED SYSTEM SOFTWARE STACK LAYERS
 
Setting up a vscode development environment for mbed 5 application using the ...
Setting up a vscode development environment for mbed 5 application using the ...Setting up a vscode development environment for mbed 5 application using the ...
Setting up a vscode development environment for mbed 5 application using the ...
 
Getting started with ibm worklight tips
Getting started with ibm worklight tipsGetting started with ibm worklight tips
Getting started with ibm worklight tips
 
Intro to Eclipse Che, by Tyler Jewell
Intro to Eclipse Che, by Tyler JewellIntro to Eclipse Che, by Tyler Jewell
Intro to Eclipse Che, by Tyler Jewell
 
Notes Unit2.pptx
Notes Unit2.pptxNotes Unit2.pptx
Notes Unit2.pptx
 
Smart TV and APIs
Smart TV and APIsSmart TV and APIs
Smart TV and APIs
 
Visual Studio2010 Product Overview
Visual Studio2010 Product OverviewVisual Studio2010 Product Overview
Visual Studio2010 Product Overview
 

More from Synapseindiappsdevelopment

Synapse india elance top in demand in it skills
Synapse india elance top in demand in it skillsSynapse india elance top in demand in it skills
Synapse india elance top in demand in it skillsSynapseindiappsdevelopment
 
SynapseIndia dotnet web development architecture module
SynapseIndia dotnet web development architecture moduleSynapseIndia dotnet web development architecture module
SynapseIndia dotnet web development architecture moduleSynapseindiappsdevelopment
 
SynapseIndia dotnet web applications development
SynapseIndia  dotnet web applications developmentSynapseIndia  dotnet web applications development
SynapseIndia dotnet web applications developmentSynapseindiappsdevelopment
 
SynapseIndia dotnet website security development
SynapseIndia  dotnet website security developmentSynapseIndia  dotnet website security development
SynapseIndia dotnet website security developmentSynapseindiappsdevelopment
 
SynapseIndia mobile apps deployment framework internal architecture
SynapseIndia mobile apps deployment framework internal architectureSynapseIndia mobile apps deployment framework internal architecture
SynapseIndia mobile apps deployment framework internal architectureSynapseindiappsdevelopment
 
SynapseIndia dotnet client library Development
SynapseIndia dotnet client library DevelopmentSynapseIndia dotnet client library Development
SynapseIndia dotnet client library DevelopmentSynapseindiappsdevelopment
 
SynapseIndia creating asp controls programatically development
SynapseIndia creating asp controls programatically developmentSynapseIndia creating asp controls programatically development
SynapseIndia creating asp controls programatically developmentSynapseindiappsdevelopment
 
SynapseIndia drupal presentation on drupal info
SynapseIndia drupal  presentation on drupal infoSynapseIndia drupal  presentation on drupal info
SynapseIndia drupal presentation on drupal infoSynapseindiappsdevelopment
 
SynapseIndia dotnet debugging development process
SynapseIndia dotnet debugging development processSynapseIndia dotnet debugging development process
SynapseIndia dotnet debugging development processSynapseindiappsdevelopment
 
Synapse india sharing info on dotnet framework part1
Synapse india sharing info on dotnet framework part1Synapse india sharing info on dotnet framework part1
Synapse india sharing info on dotnet framework part1Synapseindiappsdevelopment
 
Synapse india sharing info on dotnet framework part2
Synapse india sharing info on dotnet framework part2Synapse india sharing info on dotnet framework part2
Synapse india sharing info on dotnet framework part2Synapseindiappsdevelopment
 
Synapse india dotnet development overloading operater part 4
Synapse india dotnet development overloading operater part 4Synapse india dotnet development overloading operater part 4
Synapse india dotnet development overloading operater part 4Synapseindiappsdevelopment
 

More from Synapseindiappsdevelopment (19)

Synapse india elance top in demand in it skills
Synapse india elance top in demand in it skillsSynapse india elance top in demand in it skills
Synapse india elance top in demand in it skills
 
SynapseIndia dotnet web development architecture module
SynapseIndia dotnet web development architecture moduleSynapseIndia dotnet web development architecture module
SynapseIndia dotnet web development architecture module
 
SynapseIndia dotnet framework library
SynapseIndia  dotnet framework librarySynapseIndia  dotnet framework library
SynapseIndia dotnet framework library
 
SynapseIndia dotnet web applications development
SynapseIndia  dotnet web applications developmentSynapseIndia  dotnet web applications development
SynapseIndia dotnet web applications development
 
SynapseIndia dotnet website security development
SynapseIndia  dotnet website security developmentSynapseIndia  dotnet website security development
SynapseIndia dotnet website security development
 
SynapseIndia mobile apps deployment framework internal architecture
SynapseIndia mobile apps deployment framework internal architectureSynapseIndia mobile apps deployment framework internal architecture
SynapseIndia mobile apps deployment framework internal architecture
 
SynapseIndia dotnet development panel control
SynapseIndia dotnet development panel controlSynapseIndia dotnet development panel control
SynapseIndia dotnet development panel control
 
SynapseIndia php web development
SynapseIndia php web developmentSynapseIndia php web development
SynapseIndia php web development
 
SynapseIndia mobile apps
SynapseIndia mobile appsSynapseIndia mobile apps
SynapseIndia mobile apps
 
SynapseIndia dotnet development
SynapseIndia dotnet developmentSynapseIndia dotnet development
SynapseIndia dotnet development
 
SynapseIndia dotnet client library Development
SynapseIndia dotnet client library DevelopmentSynapseIndia dotnet client library Development
SynapseIndia dotnet client library Development
 
SynapseIndia creating asp controls programatically development
SynapseIndia creating asp controls programatically developmentSynapseIndia creating asp controls programatically development
SynapseIndia creating asp controls programatically development
 
SynapseIndia asp.net2.0 ajax Development
SynapseIndia asp.net2.0 ajax DevelopmentSynapseIndia asp.net2.0 ajax Development
SynapseIndia asp.net2.0 ajax Development
 
SynapseIndia drupal presentation on drupal info
SynapseIndia drupal  presentation on drupal infoSynapseIndia drupal  presentation on drupal info
SynapseIndia drupal presentation on drupal info
 
SynapseIndia drupal presentation on drupal
SynapseIndia drupal  presentation on drupalSynapseIndia drupal  presentation on drupal
SynapseIndia drupal presentation on drupal
 
SynapseIndia dotnet debugging development process
SynapseIndia dotnet debugging development processSynapseIndia dotnet debugging development process
SynapseIndia dotnet debugging development process
 
Synapse india sharing info on dotnet framework part1
Synapse india sharing info on dotnet framework part1Synapse india sharing info on dotnet framework part1
Synapse india sharing info on dotnet framework part1
 
Synapse india sharing info on dotnet framework part2
Synapse india sharing info on dotnet framework part2Synapse india sharing info on dotnet framework part2
Synapse india sharing info on dotnet framework part2
 
Synapse india dotnet development overloading operater part 4
Synapse india dotnet development overloading operater part 4Synapse india dotnet development overloading operater part 4
Synapse india dotnet development overloading operater part 4
 

Recently uploaded

Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 

Recently uploaded (20)

Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 

SynapseIndia mobile apps deployment framework architecture

  • 1. SynapseIndia Mobile Apps Deployment framework architecture
  • 2. 2 17.02.2006 Deployment framework architecture • The MTJ provides an Deployment framework that supports the existing SDK Emulators and phones runtimes. • The framework publishes an deployment interface, that capsulate (hides) the actual runtime environments and protocols. • The framework separates the different deployment low-level services to own components (like UEI, OTA, etc.) with supporting existing proprietary emulator and phone access (marked as X and Z). • It also provides a new development branch to the OBEX based deployment, which can be used e.g. towards to MAC OS environment. Thus this requires that the needed protocols / protocol wrappers are available. MTJ IDE environmentMTJ IDE environment ZZ SDK / Emulator context (Nokia, Win32 OS) SDK / Emulator context (Nokia, Win32 OS)U E I U E I Interfac e Interfac e S40S40 S60S60 Deployment Framework Deployment Framework Extensio n point Interfac e SDK / Emulator (Vendor X)SDK / Emulator (Vendor X)U E I U E I O B E X O B E X O T A O T A U E I U E I RealReal DevicDevic ee RealReal DevicDevic ee XX XX XX LEGEND: • MTJ Editor context • Deployment context • Existing SDK / Emulators • Existing emulator integrations • Deployment Interface • Eclipse Plug-in Extension point • New, open deployment plug-in, OBEX based • Mobile Devices • Existing native deployment
  • 3. 3 17.02.2006 Mobile Vendor specific view EclipseEclipseEclipseEclipse SDK / Emulator (Vendor X)SDK / Emulator (Vendor X) Vendor XVendor X SDK EmulatorSDK Emulator Plug-inPlug-in Vendor XVendor X SDK EmulatorSDK Emulator Plug-inPlug-in • The MTJ provides an Deployment framework that supports the existing SDK Emulators and phones runtimes • The framework publishes a Device Platform -interface, that capsulate (hides) the actual runtime environments and protocols. • The framework separates the different vendors products to own plug-ins MTJMTJ Plug-inPlug-in MTJMTJ Plug-inPlug-in Device Platform Device Platform Extensio n point SDK / Emulator (Vendor Y)SDK / Emulator (Vendor Y) Vendor YVendor Y SDK EmulatorSDK Emulator Plug-inPlug-in Vendor YVendor Y SDK EmulatorSDK Emulator Plug-inPlug-in SDK / Emulator (Vendor Z)SDK / Emulator (Vendor Z) Vendor ZVendor Z SDK EmulatorSDK Emulator Plug-inPlug-in Vendor ZVendor Z SDK EmulatorSDK Emulator Plug-inPlug-in Vendor XVendor X Real DeviceReal Device Plug-inPlug-in Vendor XVendor X Real DeviceReal Device Plug-inPlug-in Real DeviceReal Device (Vendor X)Real DeviceReal Device (Vendor X) Vendor YVendor Y Real DeviceReal Device Plug-inPlug-in Vendor YVendor Y Real DeviceReal Device Plug-inPlug-in Real DeviceReal Device (Vendor Y)Real DeviceReal Device (Vendor Y)
  • 4. 4 17.02.2006 Mobile vendor specific view details  Different mobile vendors can use their existing emulators and add the deployment (emulator) specific plug-in to the MTJ environment. The emulator specific plug-in may be even in binary format, if it needs to protect some internal implementation or specification.  The emulator specific plug-in uses the MTJ generic API and also contributes to the MTJ’s deployment frameworks extension point.  The deployment framework could provide an template from such plug-in that helps to other vendors to tie up their specific solutions.  The deployment framework supports also that the emulator is discovered by manual entering the location. There could be a dynamic plug-in, that ‘ties’ the discovered emulator to the deployment framework.  The deployment framework can provide also other extension points, that enables others to extend e.g. the emulator specific properties, UI’s etc.  The deployment framework provides a plug-in template for existing emulators, which can dynamically be attached to wrap the specific emulator.
  • 5. 5 17.02.2006 Deployment framework plug-ins Vendor Z Real Device Plug-inVendor Z Real Device Plug-inVendor Z Real Device Plug-inVendor Z Real Device Plug-in SDK / Emulator (Vendor X)SDK / Emulator (Vendor X) Vendor X SDK EmulatorVendor X SDK Emulator Plug-inPlug-in Vendor X SDK EmulatorVendor X SDK Emulator Plug-inPlug-in U E I U E I U E I U E I SDK / Emulator (Vendor Y)SDK / Emulator (Vendor Y) Vendor Y SDK EmulatorVendor Y SDK Emulator Plug-inPlug-in Vendor Y SDK EmulatorVendor Y SDK Emulator Plug-inPlug-in X E I X E I X E I X E I Vendor Y Real Device Plug-inVendor Y Real Device Plug-inVendor Y Real Device Plug-inVendor Y Real Device Plug-in Real DeviceReal Device (Vendor Y)Real DeviceReal Device (Vendor Y) Vendor X Real DeviceVendor X Real Device Plug-inPlug-in Vendor X Real DeviceVendor X Real Device Plug-inPlug-in Real DeviceReal Device (Vendor X)Real DeviceReal Device (Vendor X) O B E X O B E X FTPFTP HTTP/FTP service HTTP/FTP service O T A O T A FTPFTP SDK / Emulator (Vendor Z)SDK / Emulator (Vendor Z) Vendor Z SDK EmulatorVendor Z SDK Emulator Plug-inPlug-in Vendor Z SDK EmulatorVendor Z SDK Emulator Plug-inPlug-in XX XX HTTP/FTP service HTTP/FTP service O T A O T A Real DeviceReal Device (Vendor Z)Real DeviceReal Device (Vendor Z) • Device Platform plug-ins have several different implementations • Device Platform plug-ins are responsible of the communication protocols between MTJ environment and Emulators / Real Devices • The plug-ins also store all config data. F. ex. Emulator plug-in stores the Emulator SDK root directory itself • UEI = Unified Emulator Interface • XEI = Extended Emulator Interface (Nokia proprietary) • X = Proprietary Emulator Interface MTJ plug-in wrapper Mobile vendors devices
  • 6. 6 17.02.2006 Deployment framework design Integrating to the existing SDK Emulators:  Deployment framework  Enables adding a new SDK Emulator by manually entering the location or by local hard drive browsing (typical case for existing emulators).  Hides the used targeted runtime environments behind a few deployment interfaces  Simplifies the deployment process against the device / emulator variation  Generalizes the deployment management by encapsulating the SDK Emulator dependencies to a separate plug-ins, thus enabling it to publish it’s own specific functionality. Integrating to new SDK Emulators, which do have a specific plug-in:  Deployment framework  If the SDK Emulator has own deployment plug-in and the plug-in does follow the Deployment framework extension rules, it’s automatically instantiated  Deployment framework instantiates Deployment component and calls its methods via deployment interface  Deployment component plug-in  Implements the Deployment frameworks interface  Contributes to the Deployment frameworks extension point  May also extend some SDK Emulator specific services to the Deployment framework
  • 7. 7 17.02.2006 Deployment framework Model Device PlatformDevice Platform DeviceDevice Emulator Device Emulator Device Real Device Real Device Runtime Platform Definition Runtime Platform Definition 1..n 1 • 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. i/f
  • 8. 8 17.02.2006 Deployment framework Model (cont.) DeploymentDeployment MIDlet Deploymen t MIDlet Deploymen t CDC Deployment CDC Deployment • Deployment interface is generic representation of a entity that is send from MTJ environment to Device Platform instances. • Realization of a deployment can be MIDlet, CDC, MEGlet or Resource deployment (or something else). So the realization is created from source application definitions and f. ex. MIDlet project deployment consists of Application JAR and JAD files. • Target Device Platform knows, what’s inside the received deployment and how to handle it. MEGlet Deployment MEGlet Deployment Resource Deployment Resource Deployment i/f
  • 9. 9 Signing and Obfuscation Signing and Obfuscating internal architecture
  • 10. 10 17.02.2006 Signing architecture  There is a SecurityManager, that manages the keys and certificates in the IDE environment globally.  Each project can configure the signing options and parameters against the actual needs.  The Signing Provider implements the actual signing and it can be used through e.g. the Ant scripts.
  • 11. 11 17.02.2006 Obfuscating architecture  It is a well known fact that Java Class (bytecode) files can be easily reverse-engineered because Java compiler leaves a lot of such information into bytecode that helps the reverse-engineering task. Code obfuscation is one protection tool for Java code to prevent reverse engineering. Code obfuscation makes programs more difficult to understand, so that it is more resistant to reverse engineering.  Obfuscation techniques fall into three groups:  Layout Obfuscations  Layout Obfuscations modify the layout structure of the program by two basic methods: renaming identifiers and removing debugging information. Almost all Java obfuscators contain this technique.  Control Obfuscations  Control Obfuscations change the control flow of the program.  Data Obfuscations  Data Obfuscations break the data structures used in the program and encrypt literal.  The MTJ enables to use existing Obfuscator -products through an wrapper plug-in (Obfuscation Provider), that can be further tailored.
  • 12. 12 Backup slides - GUI Mobile Visual Editor architecture
  • 13. 13 17.02.2006 Visual IDE environment in general Eclipse PlatformEclipse PlatformEclipse PlatformEclipse Platform IDEIDEIDEIDE Screen EngineScreen EngineScreen EngineScreen Engine Launcher /Launcher / EmulatorEmulator Launcher /Launcher / EmulatorEmulator GraphicaGraphica l Editorl Editor GraphicaGraphica l Editorl Editor Code /Code / ResourcResourc e Editore Editor Code /Code / ResourcResourc e Editore Editor PropertyProperty SheetSheet PropertyProperty SheetSheet OutlineOutline ViewerViewer OutlineOutline ViewerViewer Source code, resource files, etc.Source code, resource files, etc.Source code, resource files, etc.Source code, resource files, etc. Source files UI, WYSIWYG Trace, profile, debug The RAD IDE environment is having some clear elements, like the core IDE graphical and code editor, property sheet and outline viewer for IDE environment objects. Also the graphical editor uses the screen engine for creating the actual graphical UI presentation (like WYSIWYG). Also the mobile emulators / SDKs’ are providing the ability to launch the applications.
  • 14. 14 17.02.2006 VE Internal Component Architecture Eclipse PlatformEclipse PlatformEclipse PlatformEclipse Platform Eclipse Visual Editor FrameworkEclipse Visual Editor FrameworkEclipse Visual Editor FrameworkEclipse Visual Editor Framework Java core Java core JFC Editor JFC Editor SWT Editor SWT Editor Java Element Model (JEM) Java Element Model (JEM)Common Diagram Model (CDE) Common Diagram Model (CDE) GEFGEF EMFEMF Local orLocal or RemoteRemote Java VMJava VM Local orLocal or RemoteRemote Java VMJava VM Target VM Target VM BeanInfo VM BeanInfo VM Java source files Java Code Generation Adapter Java Code Generation Adapter The Eclipse Visual Editor framework provides a flexible GUI framework, which can be quite easily extended to e.g. mobile domain. The current desktop version supports JFC and SWT GUI editors with full set of UI widgets. The actual screen rendering is done in separate rendering engine. Internally VE uses EMF in CDE and models the Java
  • 15. 15 17.02.2006 Mobile Visual Editor GUI Components MTJ Screen EngineMTJ Screen EngineMTJ Screen EngineMTJ Screen Engine Screen Rendering ContextScreen Rendering ContextScreen Rendering ContextScreen Rendering Context Eclipse MTJ IDEEclipse MTJ IDEEclipse MTJ IDEEclipse MTJ IDE Eclipse VEEclipse VEEclipse VEEclipse VE Eclipse PlatformEclipse PlatformEclipse PlatformEclipse Platform MTJ Mobile ExtensionMTJ Mobile ExtensionMTJ Mobile ExtensionMTJ Mobile Extension GEFGEF EditorPartEditorPart GEFGEF EditorPartEditorPart UI VE ModelUI VE ModelUI VE ModelUI VE Model BeanProxBeanProx y Adaptery Adapter BeanProxBeanProx y Adaptery Adapter Custom Mobileproxy components Custom Mobileproxy components Mobile eSWTproxy components Mobile eSWTproxy components Mobile CLDCproxy components Mobile CLDCproxy components ScreenRenderingAPIScreenRenderingAPIScreenRenderingAPIScreenRenderingAPI BeanInfoBeanInfo AdapterAdapter BeanInfoBeanInfo AdapterAdapter CLDC ScreenCLDC Screen RenderingRendering EngineEngine CLDC ScreenCLDC Screen RenderingRendering EngineEngine eSWT ScreeneSWT Screen RenderingRendering EngineEngine eSWT ScreeneSWT Screen RenderingRendering EngineEngine Custom Screen Rendering Engine Custom Screen Rendering Engine Common Screen Rendering EngineCommon Screen Rendering EngineCommon Screen Rendering EngineCommon Screen Rendering Engine ScreenRenderingAPIScreenRenderingAPIScreenRenderingAPIScreenRenderingAPI MTJCDLCUIMTJCDLCUI componentscomponents MTJCDLCUIMTJCDLCUI componentscomponents MTJeSWTUIMTJeSWTUI componentscomponents MTJeSWTUIMTJeSWTUI componentscomponents CustomUI components CustomUI components LegendLegend Existing inExisting in EclipseEclipse MTJMTJ projectproject scopescope CDLCUIbaseCDLCUIbase Look&FeelLook&Feel CDLCUIbaseCDLCUIbase Look&FeelLook&Feel CustomUI Look&Feel CustomUI Look&Feel MTJeSWTUIMTJeSWTUI componentscomponents MTJeSWTUIMTJeSWTUI componentscomponents CustomUI Look&Feel CustomUI Look&Feel CustomUI Look&Feel CustomUI Look&Feel CustomUI Components CustomUI Components CustomUI Components CustomUI Components