Construction et déploiement d`applications Java - DevelopR6

Construction et déploiement d’applications Java
avec Maven, Archiva, Groovy et Jenkins
Un retour d’expérience
Patrice RINGOT– Ingénieur en développement et déploiement d’applications - INIST/CNRS
Rencontre DevelopR6 sur les outils de
packaging et de déploiement
14 juin 2012
Rappels
Construction et déploiement d'applicatifs Java 2
Java est un langage compilé.
L’entité minimale livrable est une classe compilé correspondant à un fichier source.
Dans la pratique on ne livre pas des classes compilées à l’unité.
On rassemble les classes au sein de fichiers ZIP (jar,war,aar,ear) dont la structure interne
dépend du type de livrable (librairie, application web, …).
Le packaging en Java consiste donc à produire des « jars » qui sont à la base des processus
de déploiement (nécessaires, mais pas suffisants).
Le contexte
(cf saisons 1 et 4 de DevelopR6 !)
Applicatif de production de métadonnées bibliographiques
Serveurs: Linux, Windows, (HPUX)
JBoss 6.1 (EJB 3.1, JPA 1.0, JDBC, Servlet)
PostgreSQL 9.1 & Lucene (serveurs à l’intérieur ou à l’extérieur de l’INIST)
Clients: Windows, MacOS, (Linux)
Mode client-serveur: IHM Swing, EJB 3.1, HTTP
Mode déconnecté: IHM Swing, H2 + Lucene + JPA 1.0, HTTP
Construction et déploiement d'applicatifs Java 3
Développement/Déploiement
Deploy !
Dev/integration
(INIST)
Deploy !
Prod
(INIST ou externe)
Deploy !
Deploy/Deploy !
JBoss 6.1
EJB/JPA/Servlet
PostgreSQL
Lucene
Swing
EJB (LAN) ou
H2/JPA/HTTP(WAN)
Lucene
JBoss 6.1
EJB/JPA/Servlet
PostgreSQL
Lucene
Prod
(INIST ou externe)
Construction et déploiement d'applicatifs Java 4
Apache Maven
Concurrents: Ant, Gradle, Ivy et Ant, …
Outil de build/packaging Java
Bien intégré dans les IDE
Indépendant des IDE
– Déclaratif
Basé sur des conventions (over configuration)
Système de phase (compile/test/package/install/deploy)
Modulaire et extensible
S’appuie (http) sur un repository public d’artefacts (~ jars) et des dépendances exprimées
Construction et déploiement d'applicatifs Java 5
1 / 42 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !