Web Service

publicité
Formation Java
Projet final de la formation Infotel :
Gestion des cartes grises
Amandine SOURY
Bertrand DUCOULOMBIER
Formation Java J2EE
- Décembre 2010 -
1
Sommaire
o Introduction
o Contexte
o Logiciel de saisie
 Swing
 Web Service
o Application web
 Couche Vue : JSF
 Couche Métier : Modèles
 DAO : JDBC et Hibernate
 Couche Contrôleur : Services
o Conclusion
Amandine SOURY
Bertrand DUCOULOMBIER
Formation Java J2EE
- Décembre 2010 -
2
Introduction
o Projet de validation de la formation JAVA/J2EE
o Web-To-Database:
 XML
 JAVA
• Swing, DOM4J
 J2EE
• Spring, Hibernate, JSF
 Base de données
Amandine SOURY
Bertrand DUCOULOMBIER
Formation Java J2EE
- Décembre 2010 -
3
Contexte
•Création d’un logiciel de gestion des cartes grises
Logiciel de saisie
Données carte grises
Application Web
Amandine SOURY
Bertrand DUCOULOMBIER
Formation Java J2EE
- Décembre 2010 -
4
Logiciel de saisie
Formulaire :
Création d’une carte grise
Création fichier XML
Spring
Web Service
Amandine SOURY
Bertrand DUCOULOMBIER
Swing
Création Document XML
Envoi sur le serveur
Formation Java J2EE
- Décembre 2010 -
5
Logiciel de saisie
Swing
• Swing : bibliothèque de composants et gestion graphique
Amandine SOURY
Bertrand DUCOULOMBIER
Formation Java J2EE
- Décembre 2010 -
6
Logiciel de saisie
Spring Web Service
o Web Service: mécanisme de communication entre applications
distantes indépendant de tout langage de programmation
o Spring Web Service : framework de la communauté Spring
dédié à la création de services orientés objets
o Protocole HTTP pour les requêtes et les réponses
o XML : transition entre le client et le serveur, il est reçu et
retourné par le Web Service
Amandine SOURY
Bertrand DUCOULOMBIER
Formation Java J2EE
- Décembre 2010 -
7
Application Web
Contrôleur
Services
Vue
Métier
JSF
Modèles
Amandine SOURY
Bertrand DUCOULOMBIER
DAO
Base de
données
Hibernate
MySQL
Formation Java J2EE
- Décembre 2010 -
8
Application Web
Couche Vue : JSF
o Java Server Faces : framework Java pour le développement
d'applications Web.
o Ajax : Combinaison de technologies permettant la création de site
Web dynamique
 Modification de la page sans rechargement
de celle-ci
Amandine SOURY
Bertrand DUCOULOMBIER
Formation Java J2EE
- Décembre 2010 -
9
Application Web
Couche Métier : Modèles
Utilisateur
public class Utilisateur {
UTL_ID
UTL_NOM
UTL_PRENOM
UTL_MOT_PASSE
private String pseudo;
private String nom;
private String prenom;
private String mdp;
public String getPseudo() {
return pseudo;
}
//…
}
Amandine SOURY
Bertrand DUCOULOMBIER
Formation Java J2EE
- Décembre 2010 -
10
Application Web
DAO : JDBC
Utilisateur
UTL_ID
UTL_NOM
UTL_PRENOM
UTL_MOT_PASSE
public class Utilisateur {
private String pseudo;
private String nom;
private String prenom;
private String mdp;
public String getPseudo() {
return pseudo;
}
//…
}
Amandine SOURY
Bertrand DUCOULOMBIER
…
finally{
public List<Modele> listerModele()throws PrefectureException{
List<Modele> listModele=new ArrayList<Modele>();
Connection cx = null;
PreparedStatement st = null;
ResultSet resultat = null;
try {
cx = getConnection();
st= cx.prepareStatement("SELECT MOD_ID , MOD_DESIGNATION from modele ");
resultat=st.executeQuery();
while(resultat.next()){
int idModele=resultat.getInt(1);
String nomModele=resultat.getString(2);
listModele.add(new Modele(idModele, nomModele));
}
return listModele;
} catch (Exception e) {
throw new PrefectureException(e);
}
…
Formation Java J2EE
- Décembre 2010 -
try {
if (resultat != null)
resultat.close();
} catch (Exception e) {
e.printStackTrace();
}
try {
if (st != null)
st.close();
} catch (Exception e) {
e.printStackTrace();
}
try {
if (cx != null)
cx.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
11
Application Web
DAO : Hibernate
Utilisateur
public class Utilisateur {
UTL_ID
UTL_NOM
UTL_PRENOM
UTL_MOT_PASSE
private String pseudo;
private String nom;
private String prenom;
private String mdp;
public String getPseudo() {
return pseudo;
}
//…
public List<Modele> listerModele() throws PrefectureException {
Session session;
session=getSession();
List<Modele> listModele = new ArrayList<Modele>();
try {
Query q=session.createQuery("from Modele m " +
"left join fetch m.marque " +
"left join fetch m.type");
listModele = q.list();
catch (Exception e) {
throw new PrefectureException(e);
}
return listModele;
}
}
Amandine SOURY
Bertrand DUCOULOMBIER
Formation Java J2EE
- Décembre 2010 -
12
Application Web
DAO : Hibernate
Mapping par annotations
@Entity @Table(name= "CARTE_GRISE" )
public class CarteGrise {
@Id @Column(name= "CGI_IMMATRICULATION" )
private String immatriculation;
@Column(name= "CGI_PUISS_ADMIN" )
private int puissanceAdmin;
CARTE_GRISE
CGI_IMMATRICULATION
CGI_PUISS_ADMIN
public String getImmatriculation() {
return immatriculation;
}
//…
}
Amandine SOURY
Bertrand DUCOULOMBIER
Formation Java J2EE
- Décembre 2010 -
13
Application Web
DAO : Hibernate
o Requêtage par HQL
 Transposition de SQL dans le monde objet
 Expression d’une requête sur une classe
from CarteGrise cg
where cg.vehicule. puissance = ‘50’
FROM CARTE_GRISE, VEHICULE
WHERE CARTE_GRISE. CGI_VEH_NUM_SERIE = VEHICULE. VEH_NUM_SERIE
AND VEHICULE. VEH_PUISS = ’50’
Amandine SOURY
Bertrand DUCOULOMBIER
Formation Java J2EE
- Décembre 2010 -
14
Application Web
Couche Contrôleur : Services
o Lien entre la couche vue et la couche métier
 Fait appel au DAO
 Transactionnelle
@Service("service")
@Transactional
public class PrefectureServiceImpl implements PrefectureService {
Contrôleur
Services
@Resource(name="utilisateur")
private InterfaceUtilsateurDao utilisateurDao;
//…
}
Amandine SOURY
Bertrand DUCOULOMBIER
Formation Java J2EE
- Décembre 2010 -
Vue
Métier
JSF
Modèles
15
Conclusion
o Projet enrichissant et formateur
o Large éventail de technologies vues et utilisées
o En adéquation avec notre carrière à court terme
o Points d’amélioration:
o Contrôle des données de saisie sur les interfaces client
o Mise en place de filtre pour l’interface WEB
o Passer l’interface graphique Web en Flex
Amandine SOURY
Bertrand DUCOULOMBIER
Formation Java J2EE
- Décembre 2010 -
16
Formation Java
Merci de votre attention
Avez-vous des questions?
Amandine SOURY
Bertrand DUCOULOMBIER
Formation Java J2EE
- Décembre 2010 -
17
Téléchargement