Académique Documents
Professionnel Documents
Culture Documents
2017devoxx 170405225925 PDF
2017devoxx 170405225925 PDF
avec JHipster
@juliendubois
@java_hipster
Quelques mots sur Ippon Technologies
+ de 300 contributeurs
Installation
Utilisation de Yarn
> jh
Création d’une application
Un changelog Liquibase
Ecrans d’administration
Monitoring
Santé
Sonar
HikariCP
Liquibase
Ehcache
Hazelcast
Monitoring automatique
Attention! La configuration par défaut doit être optimisée en fonction des
besoins et du matériel disponible
Spring Cache
C’est pour cela que c’est la solution par défaut pour les
microservices
JWT
Stateless
OAuth2
Nécessite une persistance spécifique (fonctionne uniquement avec bases de données SQL
et MongoDB)
Option complémentaire
> yo jhipster:upgrade
Partie 2
Compiler l’application
“ide” utilisé avec Maven pour aider à la configuration des IDEs (en
particulier avec MapStruct)
Configuration spécifique JHipster
JHipster génère une application Spring Boot
Toutes les configurations Spring Boot “standards” sont donc
supportées
server:
port: 8443
ssl:
key-store: keystore.p12
key-store-password: <your-password>
keyStoreType: PKCS12
keyAlias: tmp2
jhipster:
http:
version: V_2_0
AngularJS 1.x - Gulp & BrowserSync
Gulp permet de lancer de nombreuses tâches liées au
JavaScript: la minification, l’injection des dépendances, les
tests…
Rechargement à chaud des navigateurs quand le code est modifié: parfait pour
le développement productif!
Utilise un cache
Bootstrap
Angular(JS)
i18n
tests
liens de pagination
scroll infini
Validation
Relations
DTOs
Services
Enumérations
…
JDL Studio
Vue graphique
Import/export de modèles
JHipster IDE
Permet de travailler
directement sur le fichier sans
devoir le télécharger
Modules
Les modules permettent à chacun de bénéficier de la
puissance de JHipster sans dépendre du projet
Les modules sont indépendants de JHipster
Passer en production
Construire une application pour la production
Et un front minifié
Métriques ehcache
Une gateway ou un load balancer sont disponibles pour éviter les conflits de ports
Le cache de 2nd niveau Hibernate doit pouvoir être distribué (Hazelcast) ou être
désactivé
> yo jhipster:cloud-foundry
Support de Heroku
> yo jhipster:heroku
Autres plateformes de déploiement
AWS
BoxFuse
WAR exécutable
Partie 7
Architecture microservices
Architecture microservices
JHipster propose une architecture microservices complète
Très utile pour envoyer des “secrets” (le mot de passe de la base de données)
A sa propre UI
Tous les microservices acceptent ce token, car ils partagent la même clef
secrète
> docker-compose up -d
> docker-compose scale myapplication-app=3
Déployer avec Kubernetes
Trouver de l’aide
Où trouver de l’aide?
Conférences et nouvelles
Twitter @java_hipster
/
Posez vos questions sur Twitter !
@juliendubois
Réponses @java_hipster