Du Client/Serveur au Web<br />Moderniser son SI grâce au MDA<br />GW/PR/PT/7466-1.2<br />1<br />Grégory Weinbach<br />gwei...
Objet Direct en bref<br />2<br />Comment industrialiser nos développements applicatifs ?<br />Comment faire évoluer notre ...
Agenda<br />Genèse du Projet<br />Réponse d’Objet Direct<br />Travaux effectués<br />Rétrospective<br />Conclusion<br />GW...
La Genèse du Projet<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />4<br />
Le CIG – un établissement public particulier<br />Etablissement public administratif<br />Créé en 1984,<br />300 agents,<b...
Le CIG en quelques chiffres <br />300 agents qui gèrent :<br />100 000 agents territoriaux,<br />Plus de 20 000 candidats ...
Une DSI au cœur de la stratégie du CIG<br />La stratégie du CIG<br />Innovation et capitalisation<br />Les enjeux de la DS...
Une petite structure…<br />20 personnes<br />5 concepteurs-développeurs<br />…qui supporte le cœur de métier du CIG<br />M...
Les applications du SI<br />Historique <br />1994 -2004 :<br />Application développée avec l’AGL D.OM<br />Liaison avec no...
2008 – Etat des lieux<br />Des applications très satisfaisantes…<br />Une réponse fonctionnelle adéquate<br />Amélioration...
2008 – Etat des lieux<br />… Mais qui posent beaucoup de problèmes<br />Un déploiement toujours problématique,<br />300 po...
Le projet de modernisation du SI<br />Une refonte globale indispensable<br />Difficile de financer un projet de cette ampl...
Réponses aux exigences<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />13<br />
Architectures<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />14<br />
Architectures<br />D.OM<br />Moteur d’exécution<br />Langage propriétaire <br />Architecture Client/Serveur<br />Framework...
Architectures<br />Exigences<br />Application Web<br />Gros enjeu de maintenabilité<br />Base de données partagée <br />Pa...
Un Framework Riche et Standard<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />17<br />
Une migration « en douceur »<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />18<br />
Délais courts + Maintenabilité<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />19<br />+<br />
Moderniser avec MDA<br />Les Principes<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />20<br />
Construire une application<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />21<br />Analyse<br />Dévelo...
Approche AGL<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />22<br />Référentiel (Modèle + Code)<br />...
Approche MDA<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />23<br />Model To Code<br />Analyse<br />M...
Approche MDA<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />24<br />CIM<br />PIM<br />PSM<br />Livrab...
Exemple<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />25<br />Entités, Liste, Détail…<br />Entity, B...
Moderniser avec MDA<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />26<br />Renormalisation<br />Rétro...
Metadone Modernisation<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />27<br />Renormalisation<br />Ré...
Phase de modernisation<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />28<br />60 %<br />40 %<br />
Cible après livraison<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />29<br />100 %<br />0 %<br />
Une préoccupation permanente  <br />Minimiser les risques<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<b...
Lotir<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />31<br />
Etre agile<br />Scrum<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />32<br />
Points critiques<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />33<br />
Rétromodéliser<br />Utiliser toute l’information disponible<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web...
Renormaliser<br />La quête de la régularité<br />Identifier des « patterns applicatifs » dans le code d’origine<br />GW/PR...
Transformer<br />Restituer la complexité compressée dans le PIM<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au...
Générer<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />37<br />
GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />38<br />
GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />39<br />
GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />40<br />
GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />41<br />
Rétrospective<br />Anticipée <br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />42<br />
Difficultés rencontrées<br />Finalement, construction d’un « mini » framework<br />Limites de la standardisation du code g...
Points positifs<br />Spécification fonctionnelle de (très !) bonne qualité <br />Code Généré extrêmement structurant<br />...
Actions d’Améliorations<br />Améliorer le caractère itératif de la génération<br />Fournir un code généré directement exéc...
Conclusions<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />46<br />
GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />47<br />
Avantages et inconvénients<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />48<br />
GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />49<br />
Quelques chiffres<br />2 applications<br />110 entités métier (88 modèles d’état)<br />5 profils utilisateur<br />250 écra...
Toutes les architectures sont candidates<br />L’ambition paye<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au W...
Questions ?<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />52<br />
Upcoming SlideShare
Loading in...5
×

MD Day 2009 - Du Client/Serveur au Web - Moderniser son SI grâce au MDA

659

Published on

La conférence que j'ai animée pour Objet Direct au MDDay 2009 (la "Journée du Model Driven") le 26 novembre 2009.

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
659
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

Transcript of "MD Day 2009 - Du Client/Serveur au Web - Moderniser son SI grâce au MDA"

  1. 1. Du Client/Serveur au Web<br />Moderniser son SI grâce au MDA<br />GW/PR/PT/7466-1.2<br />1<br />Grégory Weinbach<br />gweinbach@objetdirect.com<br />www.objetdirect.com / blog.objetdirect.com<br />mdblog.fr<br />Yannick Chazeau<br />Y.CHAZEAU@cig929394.fr<br />www.cig929394.fr<br />
  2. 2. Objet Direct en bref<br />2<br />Comment industrialiser nos développements applicatifs ?<br />Comment faire évoluer notre patrimoine applicatif existant ?<br />Comment bien exploiter les nouveaux frameworks applicatifs ?<br />Comment adopter les méthodes agiles et former nos équipes ?<br />Objet Direct* répond concrètement à ces questions à travers des prestations d’expertise dans le domaine du génie logiciel :<br />Conseil : architecture, méthodologie, outillage, urbanisation du SI<br />Ingénierie projet : réalisation de projets clefs en mains, refactoring, modernisation, mise en œuvre d’usines logicielles<br />Formation aux nouvelles technologies, coaching<br /> *Objet Direct est une société du groupe Homsys – 250 collaborateurs , 20 M€ de CA en 2008<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />
  3. 3. Agenda<br />Genèse du Projet<br />Réponse d’Objet Direct<br />Travaux effectués<br />Rétrospective<br />Conclusion<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />3<br />
  4. 4. La Genèse du Projet<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />4<br />
  5. 5. Le CIG – un établissement public particulier<br />Etablissement public administratif<br />Créé en 1984,<br />300 agents,<br />Notre métier <br />assister les collectivités territoriales de la petite couronne dans la gestion de leurs ressources humaines<br />Un fonctionnement proche du client - fournisseur un souci constant d’efficacité et de qualité<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />5<br />
  6. 6. Le CIG en quelques chiffres <br />300 agents qui gèrent :<br />100 000 agents territoriaux,<br />Plus de 20 000 candidats aux concours par an<br />Plus de 120 000 dossiers traités par an<br />Un taux d’affiliation de 98%<br />soit 373 collectivités (offices d’HLM, départements, communes et établissements publics)<br />85% de l’activité repose sur des affiliations volontaires<br />Plus d’informations : www.cig929394.fr<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />6<br />
  7. 7. Une DSI au cœur de la stratégie du CIG<br />La stratégie du CIG<br />Innovation et capitalisation<br />Les enjeux de la DSI<br />Dématérialisation,<br />Services aux partenaires et internes, <br />Sécurité des données et des systèmes,<br />Les solutions : une gamme d’applications spécifiques<br />SNAPI Retraites<br />SNAPI Collectivités<br />SNAPI Cotisations<br />SNAPI CAP<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />7<br />
  8. 8. Une petite structure…<br />20 personnes<br />5 concepteurs-développeurs<br />…qui supporte le cœur de métier du CIG<br />Maintenance et exploitation des applications métiers,<br />Evolutions fonctionnelles<br />La DSI<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />8<br />
  9. 9. Les applications du SI<br />Historique <br />1994 -2004 :<br />Application développée avec l’AGL D.OM<br />Liaison avec nos partenaires en RNIS<br />2004 – 2008 :<br />Mise en place d’un VPN avec authentification forte<br /> SNAPI devient accessible sur Internet avec un client léger via TSE<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />9<br />
  10. 10. 2008 – Etat des lieux<br />Des applications très satisfaisantes…<br />Une réponse fonctionnelle adéquate<br />Amélioration des délais de traitement,<br />Plus de 120 000 dossiers traités par an<br />Des utilisateurs satisfaits,<br />Une réussite technique à capitaliser<br />Plus de 22 ans/homme de travail,<br />Une architecture applicative jamais remise en cause.<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />10<br />
  11. 11. 2008 – Etat des lieux<br />… Mais qui posent beaucoup de problèmes<br />Un déploiement toujours problématique,<br />300 postes utilisateurs + serveurs TSE<br />Un « look and feel » obsolète<br />Des compétences requises trop spécifiques<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />11<br />
  12. 12. Le projet de modernisation du SI<br />Une refonte globale indispensable<br />Difficile de financer un projet de cette ampleur<br />200 écrans<br />2500 traitements<br />Impossible d’y consacrer plusieurs années sans évolutions fonctionnelles<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />12<br />
  13. 13. Réponses aux exigences<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />13<br />
  14. 14. Architectures<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />14<br />
  15. 15. Architectures<br />D.OM<br />Moteur d’exécution<br />Langage propriétaire <br />Architecture Client/Serveur<br />Framework de haut niveau (ORM)<br />Base Informix<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />15<br />
  16. 16. Architectures<br />Exigences<br />Application Web<br />Gros enjeu de maintenabilité<br />Base de données partagée <br />Pas de rupture de service<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />16<br />
  17. 17. Un Framework Riche et Standard<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />17<br />
  18. 18. Une migration « en douceur »<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />18<br />
  19. 19. Délais courts + Maintenabilité<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />19<br />+<br />
  20. 20. Moderniser avec MDA<br />Les Principes<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />20<br />
  21. 21. Construire une application<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />21<br />Analyse<br />Développement<br />Conception<br />Expression du Besoin<br />Compilation Intégration<br />Activité manuelle<br />Architecture<br />Activité automatisée<br />
  22. 22. Approche AGL<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />22<br />Référentiel (Modèle + Code)<br />Exécution du modèle<br />Activité manuelle<br />Moteur<br />Activité automatisée<br />
  23. 23. Approche MDA<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />23<br />Model To Code<br />Analyse<br />Model To Model<br />Activité manuelle<br />Activité automatisée<br />
  24. 24. Approche MDA<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />24<br />CIM<br />PIM<br />PSM<br />Livrable<br />Activité manuelle<br />Activité automatisée<br />
  25. 25. Exemple<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />25<br />Entités, Liste, Détail…<br />Entity, Backing Bean, Facelet…<br />.java, .xhtml, .properties…<br />Exemple : JEE5 JSF/Seam/EJB3<br />Application Web<br />
  26. 26. Moderniser avec MDA<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />26<br />Renormalisation<br />Rétromodélisation<br />JEE5 JSF/Seam/EJB3<br />
  27. 27. Metadone Modernisation<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />27<br />Renormalisation<br />Rétromodélisation<br />Développement   « à la main »<br />JEE5 JSF/Seam/EJB3<br />
  28. 28. Phase de modernisation<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />28<br />60 %<br />40 %<br />
  29. 29. Cible après livraison<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />29<br />100 %<br />0 %<br />
  30. 30. Une préoccupation permanente <br />Minimiser les risques<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />30<br />
  31. 31. Lotir<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />31<br />
  32. 32. Etre agile<br />Scrum<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />32<br />
  33. 33. Points critiques<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />33<br />
  34. 34. Rétromodéliser<br />Utiliser toute l’information disponible<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />34<br />
  35. 35. Renormaliser<br />La quête de la régularité<br />Identifier des « patterns applicatifs » dans le code d’origine<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />35<br />
  36. 36. Transformer<br />Restituer la complexité compressée dans le PIM<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />36<br />
  37. 37. Générer<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />37<br />
  38. 38. GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />38<br />
  39. 39. GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />39<br />
  40. 40. GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />40<br />
  41. 41. GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />41<br />
  42. 42. Rétrospective<br />Anticipée <br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />42<br />
  43. 43. Difficultés rencontrées<br />Finalement, construction d’un « mini » framework<br />Limites de la standardisation du code généré<br />Enormément de code à appréhender en une seule fois<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />43<br />
  44. 44. Points positifs<br />Spécification fonctionnelle de (très !) bonne qualité <br />Code Généré extrêmement structurant<br />Reprise de la base telle quelle<br />Reprise automatisée des<br />Structures des IHM<br />Habilitations<br />State Models<br />Règles de gestion<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />44<br />
  45. 45. Actions d’Améliorations<br />Améliorer le caractère itératif de la génération<br />Fournir un code généré directement exécutable<br />Permettre aux « retoucheurs » de personnaliser les patterns<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />45<br />
  46. 46. Conclusions<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />46<br />
  47. 47. GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />47<br />
  48. 48. Avantages et inconvénients<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />48<br />
  49. 49. GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />49<br />
  50. 50. Quelques chiffres<br />2 applications<br />110 entités métier (88 modèles d’état)<br />5 profils utilisateur<br />250 écrans<br />2800 opérations métier<br />1000 j.h dont 100 j.h d’outillage MDA<br /> 330 000 lignes de code générées<br />40% retouchées<br />Génération complète &lt; 2mn<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />50<br />
  51. 51. Toutes les architectures sont candidates<br />L’ambition paye<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />51<br />
  52. 52. Questions ?<br />GW/PR/PT/7466-1.2 - MDDay 2009 - Du Client/Serveur au Web<br />52<br />

×