SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Downloaden Sie, um offline zu lesen
@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
Qui sommes nous ?
@YourTwitterHandle@YourTwitterHandle@PierreLeresteux @youen_chene#MyBatisRocks
Comment on fait?
@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/sec
50 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)
@YourTwitterHandle@YourTwitterHandle@PierreLeresteux @youen_chene#MyBatisRocks
MyBatis
@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 MyBatis
Compé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
MyBatis
Show me the code !
@YourTwitterHandle@YourTwitterHandle@PierreLeresteux @youen_chene#MyBatisRocks
Conseil de migration
@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
Apprenez votre RDBMS
Les requêtes
Les indexes
@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 prendre
ses responsabilités
Les requêtes
Les indexes
26 Novembre 2015
@YourTwitterHandle@YourTwitterHandle@PierreLeresteux @youen_chene#MyBatisRocks
Q & A
@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-way
http://fr.slideshare.net/williverson/seajug-may-2012-mybatis
https://twitter.com/yfain/status/457a604826398871553
https://plus.google.com/+GavinKing/posts/LGJU1NorAvY
https://twitter.com/blep/status/570608806427824129

Weitere ähnliche Inhalte

Andere mochten auch

Spring Security - TeeJUG 2008
Spring Security - TeeJUG 2008Spring Security - TeeJUG 2008
Spring Security - TeeJUG 2008teejug
 
Système répartis avec RMI
Système répartis avec RMISystème répartis avec RMI
Système répartis avec RMIKorteby Farouk
 
Techday Arrow Group: Hadoop & le Big Data
Techday Arrow Group: Hadoop & le Big DataTechday Arrow Group: Hadoop & le Big Data
Techday Arrow Group: Hadoop & le Big DataArrow Group
 
DDD Basics - Context mapping
DDD Basics - Context mappingDDD Basics - Context mapping
DDD Basics - Context mappingStijn Volders
 
Développement d’applications ussd en java
Développement d’applications ussd en javaDéveloppement d’applications ussd en java
Développement d’applications ussd en javaEric Toguem
 
Backday Xebia : Découvrez Spring Boot sur un cas pratique
Backday Xebia : Découvrez Spring Boot sur un cas pratiqueBackday Xebia : Découvrez Spring Boot sur un cas pratique
Backday Xebia : Découvrez Spring Boot sur un cas pratiquePublicis Sapient Engineering
 
Spring Framework - Spring Security
Spring Framework - Spring SecuritySpring Framework - Spring Security
Spring Framework - Spring SecurityDzmitry Naskou
 
API Asynchrones en Java 8
API Asynchrones en Java 8API Asynchrones en Java 8
API Asynchrones en Java 8José Paumard
 
Java Web Application Security with Java EE, Spring Security and Apache Shiro ...
Java Web Application Security with Java EE, Spring Security and Apache Shiro ...Java Web Application Security with Java EE, Spring Security and Apache Shiro ...
Java Web Application Security with Java EE, Spring Security and Apache Shiro ...Matt Raible
 
Core java concepts
Core java  conceptsCore java  concepts
Core java conceptsRam132
 
BigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceBigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceLilia Sfaxi
 
Hadoop et son écosystème
Hadoop et son écosystèmeHadoop et son écosystème
Hadoop et son écosystèmeKhanh Maudoux
 
Les expressions régulières en java
Les expressions régulières en javaLes expressions régulières en java
Les expressions régulières en javaEric Toguem
 

Andere mochten auch (17)

Spring Security - TeeJUG 2008
Spring Security - TeeJUG 2008Spring Security - TeeJUG 2008
Spring Security - TeeJUG 2008
 
Système répartis avec RMI
Système répartis avec RMISystème répartis avec RMI
Système répartis avec RMI
 
Techday Arrow Group: Hadoop & le Big Data
Techday Arrow Group: Hadoop & le Big DataTechday Arrow Group: Hadoop & le Big Data
Techday Arrow Group: Hadoop & le Big Data
 
DDD Basics - Context mapping
DDD Basics - Context mappingDDD Basics - Context mapping
DDD Basics - Context mapping
 
Middleware
MiddlewareMiddleware
Middleware
 
Développement d’applications ussd en java
Développement d’applications ussd en javaDéveloppement d’applications ussd en java
Développement d’applications ussd en java
 
Backday Xebia : Découvrez Spring Boot sur un cas pratique
Backday Xebia : Découvrez Spring Boot sur un cas pratiqueBackday Xebia : Découvrez Spring Boot sur un cas pratique
Backday Xebia : Découvrez Spring Boot sur un cas pratique
 
Spring Security 3
Spring Security 3Spring Security 3
Spring Security 3
 
Spring security
Spring securitySpring security
Spring security
 
Spring Framework - Spring Security
Spring Framework - Spring SecuritySpring Framework - Spring Security
Spring Framework - Spring Security
 
API Asynchrones en Java 8
API Asynchrones en Java 8API Asynchrones en Java 8
API Asynchrones en Java 8
 
Java Web Application Security with Java EE, Spring Security and Apache Shiro ...
Java Web Application Security with Java EE, Spring Security and Apache Shiro ...Java Web Application Security with Java EE, Spring Security and Apache Shiro ...
Java Web Application Security with Java EE, Spring Security and Apache Shiro ...
 
Core java concepts
Core java  conceptsCore java  concepts
Core java concepts
 
BigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceBigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-Reduce
 
Hadoop et son écosystème
Hadoop et son écosystèmeHadoop et son écosystème
Hadoop et son écosystème
 
Les expressions régulières en java
Les expressions régulières en javaLes expressions régulières en java
Les expressions régulières en java
 
Design patterns
Design patternsDesign patterns
Design patterns
 

Ähnlich wie Oserez-vous remplacer JPA par un micro-orm ?

Devoxx france 2015 livrer chaque jour ce qui est prêt
Devoxx france 2015   livrer chaque jour ce qui est prêtDevoxx france 2015   livrer chaque jour ce qui est prêt
Devoxx france 2015 livrer chaque jour ce qui est prêtbeastiefurets
 
Kanban as Code - Agile France 2017
Kanban as Code  - Agile France 2017Kanban as Code  - Agile France 2017
Kanban as Code - Agile France 2017beastiefurets
 
Devoxx France 2014 - Tests de performance en continu
Devoxx France 2014 - Tests de performance en continuDevoxx France 2014 - Tests de performance en continu
Devoxx France 2014 - Tests de performance en continuPublicis Sapient Engineering
 
#monorepo - Pourquoi votre entreprise, à l'instar de Google et Facebook, devr...
#monorepo - Pourquoi votre entreprise, à l'instar de Google et Facebook, devr...#monorepo - Pourquoi votre entreprise, à l'instar de Google et Facebook, devr...
#monorepo - Pourquoi votre entreprise, à l'instar de Google et Facebook, devr...ThierryAbalea
 
Comment générer 1 million de vues sur Internet ?
Comment générer 1 million de vues sur Internet ?Comment générer 1 million de vues sur Internet ?
Comment générer 1 million de vues sur Internet ?Jean Baptiste Viet
 
Lunch talk éco-conception Web, avec Le Wagon
Lunch talk éco-conception Web, avec Le WagonLunch talk éco-conception Web, avec Le Wagon
Lunch talk éco-conception Web, avec Le WagonRomain Petiot
 

Ähnlich wie Oserez-vous remplacer JPA par un micro-orm ? (6)

Devoxx france 2015 livrer chaque jour ce qui est prêt
Devoxx france 2015   livrer chaque jour ce qui est prêtDevoxx france 2015   livrer chaque jour ce qui est prêt
Devoxx france 2015 livrer chaque jour ce qui est prêt
 
Kanban as Code - Agile France 2017
Kanban as Code  - Agile France 2017Kanban as Code  - Agile France 2017
Kanban as Code - Agile France 2017
 
Devoxx France 2014 - Tests de performance en continu
Devoxx France 2014 - Tests de performance en continuDevoxx France 2014 - Tests de performance en continu
Devoxx France 2014 - Tests de performance en continu
 
#monorepo - Pourquoi votre entreprise, à l'instar de Google et Facebook, devr...
#monorepo - Pourquoi votre entreprise, à l'instar de Google et Facebook, devr...#monorepo - Pourquoi votre entreprise, à l'instar de Google et Facebook, devr...
#monorepo - Pourquoi votre entreprise, à l'instar de Google et Facebook, devr...
 
Comment générer 1 million de vues sur Internet ?
Comment générer 1 million de vues sur Internet ?Comment générer 1 million de vues sur Internet ?
Comment générer 1 million de vues sur Internet ?
 
Lunch talk éco-conception Web, avec Le Wagon
Lunch talk éco-conception Web, avec Le WagonLunch talk éco-conception Web, avec Le Wagon
Lunch talk éco-conception Web, avec Le Wagon
 

Oserez-vous remplacer JPA par un micro-orm ?