oserez-vous remplacer jpa par un micro-orm ?
TRANSCRIPT
@PierreLeresteux @youen_chene#MyBatisRocks
Oserez vous remplacer JPA par un Micro ORM
@PierreLeresteux / Dev @Masternaut@youen_chene / CTO @CreativeData_fr
Quelques trolls pourront se glisser dans cette présentation
https://www.flickr.com/photos/matthijs/119976788/sizes/l
DISCLAIMER
Aucun commiter JPA et Hibernate n’a été maltraité durant la préparation de cette présentation
@PierreLeresteux @youen_chene#MyBatisRocks
Oserez vous remplacer JPA par un Micro ORM
@PierreLeresteux / Dev @Masternaut@youen_chene / CTO @CreativeData_fr
@PierreLeresteux @youen_chene #MyBatisRocks
Sur une vrai application
•4 ans de code.
•Application backoffice de 90 000 lignes.
• 12 développeurs ont participé :
• 40% de taux de rotations,
• connaissance moyenne de JPA,
• 5 ans d’XP en moyenne.
@PierreLeresteux @youen_chene #MyBatisRocks
Sur une vrai application
4000 req/sec50 utilisateurs / 80% de select
@PierreLeresteux @youen_chene #MyBatisRocks
Changer le modèle ?
•Dénormaliser.•MySQL -> NoSQL
•Bigbang :• Migration ?• Coût ?
@PierreLeresteux @youen_chene #MyBatisRocks
Changer l’ORM
• 41 réponses sur la ML des cast codeurs.
• Descendre dans les couches : JDBC.
• Recode ton ORM maison.
• JDBC template.
• JOOQ :create.selectFrom(BOOK) .where(BOOK.PUBLISHED_IN.eq(2011)) .orderBy(BOOK.TITLE)
@PierreLeresteux @youen_chene #MyBatisRocks
MyBatis
https://mybatis.github.io/mybatis-3/
16 membres + 16 contributeurs.Créé en 2001 (anciennement iBatis)
@PierreLeresteux @youen_chene #MyBatisRocks
Pourquoi MyBatis ?
JPA/Hibernate MyBatisCompétences du Développeur
Java, Criteria, HQL, SQL Java, SQL
Debug et logs Complexe Simple
Cache 2 niveaux 1 niveau
@PierreLeresteux @youen_chene #MyBatisRocks
Pourquoi éviter le SQL ?
https://twitter.com/yfain/status/457a604826398871553
@PierreLeresteux @youen_chene #MyBatisRocks
Tout n’est pas un clou
https://plus.google.com/+GavinKing/posts/LGJU1NorAvY
@PierreLeresteux @youen_chene #MyBatisRocks
Maitriser le framework
https://twitter.com/blep/status/570608806427824129
Conférence Vendredi 15h10 - Neuilly 252 AB
@PierreLeresteux @youen_chene #MyBatisRocks
Refactorer au fur et à mesure
Long et difficile.
Attention aux regressions !
DB Setup, DB Setup, DB Setup, DB Setup…http://dbsetup.ninja-squad.com/
@PierreLeresteux @youen_chene #MyBatisRocks
Partir sur une V2
Maîtrise des risques
Isolation des frameworks
Plus itératifs
@YourTwitterHandle@YourTwitterHandle@PierreLeresteux @youen_chene#MyBatisRocks
Le développeur doit prendreses responsabilités
@PierreLeresteux @youen_chene #MyBatisRocks
Références
https://mybatis.github.io/mybatis-3/
http://dbsetup.ninja-squad.com/
http://www.infoq.com/fr/news/2014/10/using-orm-wrong-wayhttp://fr.slideshare.net/williverson/seajug-may-2012-mybatis
https://twitter.com/yfain/status/457a604826398871553https://plus.google.com/+GavinKing/posts/LGJU1NorAvYhttps://twitter.com/blep/status/570608806427824129