Presentation Karora Gpm V5

20
Atos, Atos et le poisson, Atos Origin et le poisson, Atos Consulting ainsi que le poisson seul sont des marques déposées d'Atos Origin SA. © 2006 Atos Origin. Document exclusivement réservé à usage commercial. Tout ou partie de ce document ne peut être copié, modifié, diffusé ou annoté sans accord écrit d'Atos Origin ou du client. gPM Formation Technique

Transcript of Presentation Karora Gpm V5

Page 1: Presentation Karora Gpm V5

Atos, Atos et le poisson, Atos Origin et le poisson, Atos Consulting ainsi que le poisson seul sont des marques déposées d'Atos Origin SA.© 2006 Atos Origin. Document exclusivement réservé à usage commercial. Tout ou partie de ce document ne peut être copié, modifié, diffusé ou annoté sans accord écrit d'Atos Origin ou du client.

gPM Formation Technique

Page 2: Presentation Karora Gpm V5

2 GPM-NI-0-0112-AO Ed1

Sommaire

» L'IHM de gPM» La situation actuelle...» ... un possible futur

» Présentation de Karora» Présentation technique» Les différentes couches disponibles

- Cooee- Orana- Moomba

» Framework WEB centré serveur- Caractéristiques principales- Différences et avantages comparés aux autres type de devt WEB

» Travail réalisé sur gPM» Choix initiaux

- Utilisation des Cooee & Orana» Prototype IHM

- Interface simple pour l'exécution de filtres» Démonstration

Page 3: Presentation Karora Gpm V5

Atos, Atos et le poisson, Atos Origin et le poisson, Atos Consulting ainsi que le poisson seul sont des marques déposées d'Atos Origin SA.© 2006 Atos Origin. Document exclusivement réservé à usage commercial. Tout ou partie de ce document ne peut être copié, modifié, diffusé ou annoté sans accord écrit d'Atos Origin ou du client.

L'interface WEB de gPMUn point sur la situation actuelle

Page 4: Presentation Karora Gpm V5

4 GPM-NI-0-0112-AO Ed1

L'interface graphique WEB de gPMComment elle naquit... Comment elle grandit...

» Conçue initialement comme un prototype...» Charge allouée sur l'IHM de la v1 relativement faible» Peu d'analyse 'à priori' des difficultés techniques d'une IHM générique» Impossible d'imaginer les (grosses) évolutions futures

» ...il y a (presque) 3 ans maintenant» Utilisation de bibliothèques obsolètes (ex: Struts)» Pas d'utilisation d'AJAX (technologie considérée comme peu stable à l'époque)

» Une évolution par empilage successifs» Une IHM initialement assez simple, basée sur des technologies maîtrisées

(exemple: JSP, Struts, etc.)» Évolutions vers une IHM de plus en plus riche (demandées par le client)

- Introduction de nouvelles bibliothèques, technologies: ajout de nouvelles fonctionnalités, mais au prix d'une explosion de la complexité

- Technologies disparates, parfois peu compatibles entre elles (exemple: Struts-menu & DOJO)

» Mais aucune refonte profonde de l'IHM, juste des changements cosmétiques

Page 5: Presentation Karora Gpm V5

5 GPM-NI-0-0112-AO Ed1

L'interface graphique WEB de gPMLe résultat aujourd'hui...

» Beaucoup (trop ?) de langages, bibliothèques, technologies à connaitre» Technologies que personne ne maitrise totalement d'ailleurs...» Maintenance du code délicate & ajout de nouvelle fonctionnalité problématique

- Nombre important (inquiétant ?) du nombre de bugs et régressions à chaque changement de l'IHM

- Coût de réalisation élevé pour des fonctionnalités (que le client considère comme) basiques

» Lenteur d'exécution» Due (entre autre) au besoin de reconstruire, retransmettre, et redessiner la

page complète à chaque action

» Les clients (Airbus, Astrium) demandent des fonctionnalités d'une IHM riche

» Problème:» Améliorer l'existant de l'IHM

- Meilleure performances, nouvelles fonctionnalités» Réduire la complexité du développement IHM

- Et donc améliorer la robustesse» Tout en conservant une vraie IHM WEB

Page 6: Presentation Karora Gpm V5

Atos, Atos et le poisson, Atos Origin et le poisson, Atos Consulting ainsi que le poisson seul sont des marques déposées d'Atos Origin SA.© 2006 Atos Origin. Document exclusivement réservé à usage commercial. Tout ou partie de ce document ne peut être copié, modifié, diffusé ou annoté sans accord écrit d'Atos Origin ou du client.

KaroraUn Framework WEB Centré Serveur

Page 7: Presentation Karora Gpm V5

7 GPM-NI-0-0112-AO Ed1

Karora

» Framework IHM WEB / AJAX» Libre (licence MPL / LGPL)» Branche issue de Echo2

» Centré serveur» Toutes les actions exécutées sur le serveur d'applications (ex: Tomcat)

- Note: c'est déjà le cas sur une application WEB 'classique'- Comportement différent des applications AJAX toutefois, qui sont

généralement architecturées en client (Javascript sur le browser) / serveur

» Les actions sont codées en Java, exécutées sur le serveur d'application- Appels directs vers l'API métier possibles

Page 8: Presentation Karora Gpm V5

8 GPM-NI-0-0112-AO Ed1

KaroraUn framework multi-couches

MoombaMoomba

OranaOrana

CooeeCooee

API de l'environnementEclipse pour Cooee

API JFace (modèle MVC)

Bibliothèque de composantsgraphiques (API de type

client riche / SWING)

Page 9: Presentation Karora Gpm V5

Atos, Atos et le poisson, Atos Origin et le poisson, Atos Consulting ainsi que le poisson seul sont des marques déposées d'Atos Origin SA.© 2006 Atos Origin. Document exclusivement réservé à usage commercial. Tout ou partie de ce document ne peut être copié, modifié, diffusé ou annoté sans accord écrit d'Atos Origin ou du client.

Le Développement AJAX avec KaroraCaractéristiques principales

Page 10: Presentation Karora Gpm V5

10 GPM-NI-0-0112-AO Ed1

AJAX Centré serveurCaractéristiques principales

» Actions exécutées sur le serveur d'application» Java, du coté du serveur» Actions 'atomiques'

- Chaque action répond à un évènement reçu du browser WEB (exemple: clic sur un bouton, sélection d'un élément sur un arbre, etc.)

- Le code de l'action réalise les différents effets de bord requis (exemple: appel de l'API métier), et réalise la mise à jour des composants de l'IHM

» Coté client» Un code Javascript générique

- Fournit par le framework Karora» Chargé de

- Transmettre vers le serveur, sous forme d'évènement, les actions réalisées par l'utilisateur

- Attendre, et appliquer, les mise à jour individuelles de l'IHM reçues en réponse du serveur

Page 11: Presentation Karora Gpm V5

11 GPM-NI-0-0112-AO Ed1

KaroraUne nouvelle approche du développement WEB

» Une API de type client riche» Très loin du développement WEB traditionnel» Utilisation de composant graphiques

- Boutons, listes, menus, arbre...- Qui conservent leur état entre chaque action

» Des composants réellement réutilisables- Chaque vue / panneau / composant peut être réutilisé facilement- Réutilisation facile car chaque composant conserve son état !

» Une interface graphique WEB moderne, mais en douceur» Un code IHM écrit en Java uniquement !

- HTML, JSP, Javascript» Le même code pour tous les browsers WEB

- Karora supporte IE6, IE7, Firefox 2 & 3...

» Avec les avantages d'une interface AJAX» Grande interactivité possible avec l'utilisateur final» Bien meilleure performances qu'un rechargement de page

Page 12: Presentation Karora Gpm V5

Atos, Atos et le poisson, Atos Origin et le poisson, Atos Consulting ainsi que le poisson seul sont des marques déposées d'Atos Origin SA.© 2006 Atos Origin. Document exclusivement réservé à usage commercial. Tout ou partie de ce document ne peut être copié, modifié, diffusé ou annoté sans accord écrit d'Atos Origin ou du client.

Travail réalisé sur gPMUne interface simple MAIS plutôt convaincante !

Page 13: Presentation Karora Gpm V5

13 GPM-NI-0-0112-AO Ed1

Vue d'ensemble de la maquette Karora de gPM

Page 14: Presentation Karora Gpm V5

14 GPM-NI-0-0112-AO Ed1

Choix des Bibliothèques» Cooee : couche basique de Karora

» Widgets Utilisés :

WindowWindow

TreeTreeTabPaneTabPane

ButtonButtonMenuBarMenuBar Tabl

eTabl

e

Page 15: Presentation Karora Gpm V5

15 GPM-NI-0-0112-AO Ed1

Choix des Bibliothèques» Orana : Une deuxième couche de Karora.

» Contenu de table issu d'un modèle : «Les Vues de tables et d'arbres»

Création du TableViewerCréation du TableViewer

Mise à jour du contenu de la table

Mise à jour du contenu de la table

Page 16: Presentation Karora Gpm V5

16 GPM-NI-0-0112-AO Ed1

Choix des Bibliothèques» La classe IstructuredContent :

» La classe LabelProvider :

Page 17: Presentation Karora Gpm V5

17 GPM-NI-0-0112-AO Ed1

Les points forts par rapport à l'IHM actuelleUne IHM qui met en valeur la généricité de gPM ...

» Une IHM entièrement en Java. ( facilité de maintenance, programmation MVC ...)

» Modèle MVC inspiré de la bibliothèque Jface (Eclipse)

» Chargement à la volée d'un contenu arborescent

» Applications Karora compatibles avec IE7 ( reste à tester )

» Widgets à états ( pas de chargement de pages ) ...

Page 18: Presentation Karora Gpm V5

18 GPM-NI-0-0112-AO Ed1

Les points forts par rapport à l'IHM actuelle Une IHM qui met en valeur la généricité de gPM ...

- Fonctionnalité d'affinement de la recherche après exécution d'un filtre

» Des fonctionnalités additionnelles» Beaucoup plus facile a intégrer / développer» Exemples:

- Exécution de chaque filtre dans un onglet

Page 19: Presentation Karora Gpm V5

19 GPM-NI-0-0112-AO Ed1

Contraintes du Framework Karora

» Framework récent» Majorité de la documentation disponible uniquement via le

Wiki de Karora

» Orana encore en version de développement» Aucune version stable et complète de la bibliothèque Orana

n'existe aujourd'hui

Page 20: Presentation Karora Gpm V5

Atos, Atos et le poisson, Atos Origin et le poisson, Atos Consulting ainsi que le poisson seul sont des marques déposées d'Atos Origin SA.© 2006 Atos Origin. Document exclusivement réservé à usage commercial. Tout ou partie de ce document ne peut être copié, modifié, diffusé ou annoté sans accord écrit d'Atos Origin ou du client.

Place à la DémonstrationUne seule démonstration me frappe plus que cinquante faits.

[ Pensées philosophiques (1746) ]