Your SlideShare is downloading. ×
0
Soutenance mémoire : Implémentation d'un DSL en entreprise
Soutenance mémoire : Implémentation d'un DSL en entreprise
Soutenance mémoire : Implémentation d'un DSL en entreprise
Soutenance mémoire : Implémentation d'un DSL en entreprise
Soutenance mémoire : Implémentation d'un DSL en entreprise
Soutenance mémoire : Implémentation d'un DSL en entreprise
Soutenance mémoire : Implémentation d'un DSL en entreprise
Soutenance mémoire : Implémentation d'un DSL en entreprise
Soutenance mémoire : Implémentation d'un DSL en entreprise
Soutenance mémoire : Implémentation d'un DSL en entreprise
Soutenance mémoire : Implémentation d'un DSL en entreprise
Soutenance mémoire : Implémentation d'un DSL en entreprise
Soutenance mémoire : Implémentation d'un DSL en entreprise
Soutenance mémoire : Implémentation d'un DSL en entreprise
Soutenance mémoire : Implémentation d'un DSL en entreprise
Soutenance mémoire : Implémentation d'un DSL en entreprise
Soutenance mémoire : Implémentation d'un DSL en entreprise
Soutenance mémoire : Implémentation d'un DSL en entreprise
Soutenance mémoire : Implémentation d'un DSL en entreprise
Soutenance mémoire : Implémentation d'un DSL en entreprise
Soutenance mémoire : Implémentation d'un DSL en entreprise
Soutenance mémoire : Implémentation d'un DSL en entreprise
Soutenance mémoire : Implémentation d'un DSL en entreprise
Soutenance mémoire : Implémentation d'un DSL en entreprise
Soutenance mémoire : Implémentation d'un DSL en entreprise
Soutenance mémoire : Implémentation d'un DSL en entreprise
Soutenance mémoire : Implémentation d'un DSL en entreprise
Soutenance mémoire : Implémentation d'un DSL en entreprise
Soutenance mémoire : Implémentation d'un DSL en entreprise
Soutenance mémoire : Implémentation d'un DSL en entreprise
Soutenance mémoire : Implémentation d'un DSL en entreprise
Soutenance mémoire : Implémentation d'un DSL en entreprise
Soutenance mémoire : Implémentation d'un DSL en entreprise
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Soutenance mémoire : Implémentation d'un DSL en entreprise

3,216

Published on

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

  • Be the first to like this

No Downloads
Views
Total Views
3,216
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
99
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • Xebia a été fondé au Pays Bas en 2001 avec pour objectif l’amélioration de la qualité du développement Java. En 2004, de nombreuses entreprises telles que KLM, UWV, Prorail, Achmea et Rabo Bank avaient fait confiance à Xebia. Après le succès des différents projets, de nouvelles antennes virent le jour dont une à Gurgaon en Inde et une à Paris en France. Peu après de nouveaux comptes tels que EDF, SFR et Saint-Gobain s’ajoutèrent à leurs clients.
  • un langage de programmation informatique : Un DSL est un langage informatique utilisé par les humains pour communiquer à la machine ce qu’elle doit faire. une expressivité limitée : Un DSL fournit le minimum de fonctionnalité nécessaire pour un domaine donné. On ne peut construire une application complète avec un DSL, mais il peut être utilisé pour une partie précise.  dédié à un domaine : Un langage limité n’a d’intérêt que s’il est prévu à un usage précis.
  • Transcript

    • 1. Implémentation d’unDomain Specific Language en entreprise Soutenance PromotionMémoire de fin Brice Argenson SUPINFO 2010 d’étude
    • 2. Agenda Contexte Problématique Définition d’un DSL Mise en œuvre Réflexion Conclusion www.xebia.fr / blog.xebia.fr 2
    • 3. CONTEXTEXebiaLa mission
    • 4. Xebia Stage de fin d’étude chez Xebia IT Architect ▶ Groupe d’experts dédié aux technologies Java ▶ Présent au Pays Bas, en France et en Indes ▶ Un modèle d’entreprise vertueux » Relations proches avec le client » Partage de connaissance » Participation à la communauté Envoyé en régie chez un client grand compte www.xebia.fr / blog.xebia.fr 4
    • 5. La mission Module de facturation Refonte globale de l’outil de gestion interne Règles de facturation ▶ Nombreuses ▶ Changent souvent www.xebia.fr / blog.xebia.fr 5
    • 6. L’existant Logiciel de facturation : Magora Une application / client Développement long Pas de factorisation des règles Pas de connexion à la BDD métier www.xebia.fr / blog.xebia.fr 6
    • 7. PROBLEMATIQUES
    • 8. Problématiques Comment créer et modifier des règles ? ▶ Utilisation d’un pseudo langage Comment éviter l’intervention des développeurs ? ▶ Interprétation au « Runtime » Utilisation d’un DSL ! www.xebia.fr / blog.xebia.fr 8
    • 9. Problématiques Comment introduire un DSL ? ▶ Le rendre utilisable par les gens du métier ▶ En expliquer la plus value ▶ Accompagner les utilisateurs www.xebia.fr / blog.xebia.fr 9
    • 10. QU’EST CE QU’UN DSL ?DéfinitionDifférents types
    • 11. Définition Définition exacte pas évidente « Domain Specific Language (noun): a computer programming language of limited expressiveness focused on a particular domain » - Martin Fowler - www.xebia.fr / blog.xebia.fr 11
    • 12. Définition Existent depuis longtemps ▶ awk, sed ▶ CSS ▶ Configurations XML ▶ Excel www.xebia.fr / blog.xebia.fr 12
    • 13. Différents types DSL externes DSL internes « Language Workbench DSL » www.xebia.fr / blog.xebia.fr 13
    • 14. Différents types DSL pour personnes techniques ▶ Configuration XML, Expression Language, … DSL pour tous ▶ Excel, Kodu, … www.xebia.fr / blog.xebia.fr 14
    • 15. MISE EN OEUVRESolutions choisiesRésultats
    • 16. Choix méthodologiques Scrum www.xebia.fr / blog.xebia.fr 16
    • 17. Choix méthodologiques www.xebia.fr / blog.xebia.fr 17
    • 18. Choix méthodologiques www.xebia.fr / blog.xebia.fr 18
    • 19. Choix méthodologiques Quatre principes directeurs : ▶ Individus et interactions contre processus et outils ▶ Logiciel qui fonctionne contre documentation exhaustive ▶ Collaboration du client contre négociation de contrat ▶ Réponse au changement contre suivi dun plan prédéfini www.xebia.fr / blog.xebia.fr 19
    • 20. Choix techniques www.xebia.fr / blog.xebia.fr 20
    • 21. Choix techniques DSL interne en Groovy ▶ Démarrage rapide ▶ Coût d’entrée faible ▶ Compétences en Groovy ▶ Plus rassurant www.xebia.fr / blog.xebia.fr 21
    • 22. Résultats Première version fonctionnelle ▶ Adapté pour un seul client ▶ Échéance imposé par le client ▶ Jeune avec quelques maladresses d’implémentation » Dette technique ! www.xebia.fr / blog.xebia.fr 22
    • 23. Résultats www.xebia.fr / blog.xebia.fr 23
    • 24. Résultats www.xebia.fr / blog.xebia.fr 24
    • 25. Résultats Application bien accueillie +500 factures < 1% d’erreur www.xebia.fr / blog.xebia.fr 25
    • 26. Et ensuite… Nouvelles échéances ▶ 2 mois ▶ 2 mois et demi ▶ 3 mois Règles foncièrement différentes Dette technique Manque de temps ! www.xebia.fr / blog.xebia.fr 26
    • 27. Et ensuite… Référents métier ne s’impliquent pas assez Intérêt et complexité de le solution mal compris Échéances plus importantes ! ▶ Abandon du DSL  augmentation de la productivité www.xebia.fr / blog.xebia.fr 27
    • 28. Et ensuite… Changements radicaux de certaines parties Très peu de changements pour d’autres Utilisation d’un DSL technique Améliorations par rapport à l’existant ▶ Mais toujours un besoin de développeur(s) www.xebia.fr / blog.xebia.fr 28
    • 29. REFLEXIONS
    • 30. Réflexions Projet particulièrement innovant et ambitieux ▶ Trop ? Premiers résultats en quelques mois Mais problème d’adoption par le métier www.xebia.fr / blog.xebia.fr 30
    • 31. Réflexions Notion de DSL difficile à comprendre ▶ Peur ? Très peu d’existant / d’éléments de comparaison Langages textuels effrayants ▶ DSL graphiques ? www.xebia.fr / blog.xebia.fr 31
    • 32. Réflexions La programmation pour tous ! ▶ « Savoir utiliser l’informatique sans savoir programmer, c’est comme savoir lire sans savoir écrire ! » - Bernard Ourghanlian Exemple de succès : ▶ Excel www.xebia.fr / blog.xebia.fr 32
    • 33. CONCLUSION

    ×