35
Mise en place d’un Framework de Développement Mobile Multiplateformes basé sur une approche MDA Projet de Fin d’Études Présenté en vue de l’obtention du titre INGÉNIEUR D'ÉTAT Soutenu par : Salma ES-SALMANI Jury : Pr. Younes LAKHRISSI (Encadrant ENSA) Pr. Nour El Houda CHAOUI (Encadrant EN Pr. Ghizlane KHAISSIDI (ENSA) Pr. Safae HAJ BEN ALI (ENSA) Pr. El Habib NFAOUI (Faculté des Scien Fs)

MDA for Cross-Platform Mobile Development

Embed Size (px)

DESCRIPTION

Cross-Platform Mobile Development Framework (Android, iOS) using the MDA approach (Model Driven Architecture)

Citation preview

Page 1: MDA for Cross-Platform Mobile Development

Mise en place d’un Framework de Développement Mobile Multiplateformes

basé sur une approche MDA

Projet de Fin d’Études

Présenté en vue de l’obtention du titre

INGÉNIEUR D'ÉTAT

Soutenu par :  Salma ES-SALMANI

Jury :  Pr. Younes LAKHRISSI (Encadrant ENSA)Pr. Nour El Houda CHAOUI (Encadrant ENSA)Pr. Ghizlane KHAISSIDI (ENSA)Pr. Safae HAJ BEN ALI (ENSA)Pr. El Habib NFAOUI (Faculte des Sciences Fes)

Mehdi Alaoui Hassani
Mehdi Alaoui Hassani
Page 2: MDA for Cross-Platform Mobile Development

2

1 - Introduction

3 - Étude Technique

4 - Mise en œuvre

2 – Contexte Général du Projet

5 – Conclusion et Perspectives

Page 3: MDA for Cross-Platform Mobile Development

3

Étude TechniqueConclusion et PerspectivesIntroduction

Contexte Général du Projet

Mise en œuvre

Les developpeurs de services sont confrontes à un challenge pour developper des applications pour plusieurs plateformes …

Page 4: MDA for Cross-Platform Mobile Development

4

Centre de R&D logiciel, cree en 2010

Mission : Developper au Maroc (en sa qualite d’interface entre

l’Universite et l’entreprise) une activite de recherche et developpement

orientee marche, dans le domaine des logiciels.

Étude TechniqueConclusion et Perspectives

Introduction Mise en œuvreContexte Général du Projet

Page 5: MDA for Cross-Platform Mobile Development

5

Étude TechniqueConclusion et Perspectives

Introduction Mise en œuvreContexte Général du Projet

Page 6: MDA for Cross-Platform Mobile Development

6

Présentation de MEDIA MOBILITY

• Éditeur d’applications mobiles, cree en 2007

• Présence internationale : Casablanca, Paris, Dubaï, San Francisco

Produits :

Marketing Mobile

Commerce Mobile

Déploiement multiscreen

Étude TechniqueConclusion et Perspectives

Introduction Mise en œuvreContexte Général du Projet

Page 7: MDA for Cross-Platform Mobile Development

7

Étude TechniqueConclusion et Perspectives

Introduction Mise en œuvreContexte Général du Projet

Page 8: MDA for Cross-Platform Mobile Development

8

Problématiques

Étude TechniqueConclusion et Perspectives

Introduction Mise en œuvreContexte Général du Projet

Comment couvrir un spectre maximal de devices (Objets

connectes, Smart TV, Smart Car …) avec un time-to-market

minimal et des coûts raisonnables? 

Comment capitaliser sur le fonctionnel d’une application

independamment des preoccupations techniques afin d’en faciliter la

migration ? 

Page 9: MDA for Cross-Platform Mobile Development

Backend

Applications Android/iOS natives

9

Environnement de Developpement

Description des besoins fonctionnelsExpert Metier

Ressources graphiques (images, animations)Designer

Composants métiers spécifiques (API, Web Services)Developpeur

Étude TechniqueConclusion et Perspectives

Introduction Mise en œuvreContexte Général du Projet

Page 10: MDA for Cross-Platform Mobile Development

10

Étude du besoin

Étude technique

Rédaction du cahier de charges

Conception et Implémentation du DSL

Générateur de code

AvrilMarsFévrier Mai

Étude TechniqueConclusion et Perspectives

Introduction Mise en œuvreContexte Général du Projet

Page 11: MDA for Cross-Platform Mobile Development

Approches typiques du développement mobile multiplateformes

11

Contexte Général du Projet

Conclusion et Perspectives

Introduction Mise en œuvreÉtude Technique

Page 12: MDA for Cross-Platform Mobile Development

Approches typiques du développement mobile multiplateformes : Bilan

12

Attribut Application Native

Application Hybride

Mobile Web

Facilité d’Apprentissage Difficile Moyen Facile

Performance Rapide Moyen Lent

Time To Market Long Court Court

Support des fonctionnalités natives (GPS, caméra, …)

Tout La plupart Aucune

Téléchargement à partir du Store

Oui Oui Non

Contexte Général du Projet

Conclusion et Perspectives

Introduction Mise en œuvreÉtude Technique

Page 13: MDA for Cross-Platform Mobile Development

Architecture Orientée Modèles : Principes

13

Decrire les besoins fonctionnels

d’une application independamment

de la plateforme d’execution.

Passage d’une approche interpretative

à une approche transformationnelle.

Contexte Général du Projet

Conclusion et Perspectives

Introduction Mise en œuvreÉtude Technique

Page 14: MDA for Cross-Platform Mobile Development

Architecture Orientée Modèles : Transformation de Modèles

14

Contexte Général du Projet

Conclusion et Perspectives

Introduction Mise en œuvreÉtude Technique

CIM Modèle Métier Indépendant

PIM Modèle Indépendant de la

Plateforme

PSM Android

PSM iOS

PSM BlackBerry

Code Android

Code iOS

Code BlackBerry

PDM Android

PDM iOS

PDM BlackBerry

Page 15: MDA for Cross-Platform Mobile Development

Définition d’un Langage de Modélisation (DSL)

15

Contexte Général du Projet

Conclusion et Perspectives

Introduction Mise en œuvreÉtude Technique

Notation orientee à un domaine en particulier.

S'oppose conceptuellement aux langages de programmation generalistes.

Terrain d’entente entre l’expert métier et l’informaticien

Page 16: MDA for Cross-Platform Mobile Development

Génération du code : Approche Template

16

Contexte Général du Projet

Conclusion et Perspectives

Introduction Mise en œuvreÉtude Technique

Méta Modèle DSL

Modèle de l’application mobile

Interpréteur de Template

Templates Android, iOS, …

Code Android, iOS …

Page 17: MDA for Cross-Platform Mobile Development

L’intérêt de la MDA pour le développement mobile

17

Contexte Général du Projet

Conclusion et Perspectives

Introduction Mise en œuvreÉtude Technique

Reduire les problematiques de

fragmentation

La modelisation de la logique metier

mise en avant

Industrialisation du processus de

developpement

L’economie d’echelle

Page 18: MDA for Cross-Platform Mobile Development

Approche Recommandée

18

Mot

eur d

e tr

ansf

orm

ation

Template Android

Template iOS

Generateur de Code

ApplicationNative

Android

ApplicationNative

iOS

Fichiers/ Ressources

Application Web

Serveur d’applications

Base de Données

http://

http

://

Grammaire du DSL

Modèle de l’application

mobile

Contexte Général du Projet

Conclusion et Perspectives

Introduction Mise en œuvreÉtude Technique

Page 19: MDA for Cross-Platform Mobile Development

Choix de l’outil de modélisation/Génération de code

19

Contexte Général du Projet

Conclusion et Perspectives

IntroductionÉtude

Technique Mise en œuvre

Page 20: MDA for Cross-Platform Mobile Development

Choix de l’outil de modélisation/Génération de code

20

Contexte Général du Projet

Conclusion et Perspectives

IntroductionÉtude

Technique Mise en œuvre

Support de l’Eclipse Foundation,

Acces libre aux sources,

Licence gratuite.

Page 21: MDA for Cross-Platform Mobile Development

Eclipse Modeling Framework

21

Contexte Général du Projet

Conclusion et Perspectives

IntroductionÉtude

Technique Mise en œuvre

Creation et manipulation de modeles

Transformation de modeles vers d'autres modeles

Transformation de modeles vers du code

Page 22: MDA for Cross-Platform Mobile Development

Le framework Xtext

22

Contexte Général du Projet

Conclusion et Perspectives

IntroductionÉtude

Technique Mise en œuvre

Page 23: MDA for Cross-Platform Mobile Development

Le langage Xtend

23

• Generation de code à partir de Xtext

• Langage base sur Java, mais en y integrant des features venant de la

programmation fonctionnelle

Contexte Général du Projet

Conclusion et Perspectives

IntroductionÉtude

Technique Mise en œuvre

Page 24: MDA for Cross-Platform Mobile Development

Architecture Fonctionnelle du Framework

24

Contexte Général du Projet

Conclusion et Perspectives

IntroductionÉtude

Technique Mise en œuvre

Page 25: MDA for Cross-Platform Mobile Development

Architecture Technique du Framework

25

Contexte Général du Projet

Conclusion et Perspectives

IntroductionÉtude

Technique Mise en œuvre

Page 26: MDA for Cross-Platform Mobile Development

Conception du Langage de Modélisation

26

Contexte Général du Projet

Conclusion et Perspectives

IntroductionÉtude

Technique Mise en œuvre

Page 27: MDA for Cross-Platform Mobile Development

Architecture MVC du Langage de Modélisation

27

Le modèle : decrit les donnees manipulees par l'application

(interaction avec la base de donnees, traitements, integrite).

Contexte Général du Projet

Conclusion et Perspectives

IntroductionÉtude

Technique Mise en œuvre

Page 28: MDA for Cross-Platform Mobile Development

Architecture MVC du Langage de Modélisation

28

Presenter les resultats renvoyes par le modele,

Renvoyer toute action de l'utilisateur au contrôleur.

Contexte Général du Projet

Conclusion et Perspectives

IntroductionÉtude

Technique Mise en œuvre

La vue

Tabbed Pane

Grid Layout Pane

Page 29: MDA for Cross-Platform Mobile Development

Architecture MVC du Langage de Modélisation

29

Gestion des evenements de

synchronisation

Analyse de la requête client

Contexte Général du Projet

Conclusion et Perspectives

IntroductionÉtude

Technique Mise en œuvre

Le contrôleur

Page 30: MDA for Cross-Platform Mobile Development

Génération du code : Backend

30

• Application Java EE 6,

communique avec l’application

installee sur le device via une API

REST

• Les donnees sont echangees en

format JSON pour des raisons de

performance et d’interoperabilite.

Contexte Général du Projet

Conclusion et Perspectives

IntroductionÉtude

Technique Mise en œuvre

Page 31: MDA for Cross-Platform Mobile Development

Exemple d’une application générée

31

Contexte Général du Projet

Conclusion et Perspectives

IntroductionÉtude

Technique Mise en œuvre

Page 32: MDA for Cross-Platform Mobile Development

Extension du Framework

32

Contexte Général du Projet

Conclusion et Perspectives

IntroductionÉtude

Technique Mise en œuvre

Bundle de Génération

Stratégie de Build

Template du projet

Page 33: MDA for Cross-Platform Mobile Development

Bilan de la solution proposée

33

Contexte Général du Projet

Mise en œuvreIntroductionÉtude

TechniqueConclusion et Perspectives

Framework qui

couvre une grande

partie du cycle de

developpement

Perennisation du

savoir fonctionnel

Qualimetrie

logicielle

Page 34: MDA for Cross-Platform Mobile Development

Perspectives d’Évolution

34

Mettre les modeles au coeur d’une usine de developpement complete,

couvrant toutes les etapes du cycle de vie d’une application

Contexte Général du Projet

Mise en œuvreIntroductionÉtude

TechniqueConclusion et Perspectives

Page 35: MDA for Cross-Platform Mobile Development

Questions - Reponses?

35