page1

Logiciel libre
Open Source

Cours technique
Les outils logiciels libres

Java Platform, Enterprise Edition



page2

Auteurs et contributeurs
Contributeurs :
M.-A. DARCHE (auteur original)
Stéfane FERMIGIER
David LAPETINA
Fanghong (photo des poupées russes Matryoshka)


page3

Panorama des différentes distributions GNU-Linux (1)

page4

Panorama des différentes distributions GNU-Linux (2)

page5

Panorama des différentes distributions GNU-Linux (3)

page6

Panorama des différentes distributions GNU-Linux (4)

page7

Les distributions *BSD

Linux est le clone d'Unix libre le plus célèbre,
mais ce n'est pas le seul disponible.
Il y a aussi les distributions *BSD :

page8

Panorama des logiciels libres phares (1) : briques de base

page9

Panorama des logiciels libres phares (2) : bureautique

page10

Panorama des logiciels libres phares (3) : multimédia

page11

Panorama des logiciels libres phares (4) : côté serveur

page12

Panorama des logiciels libres phares (5) : App + ECM

page13

Les certifications Linux / Logiciels libres
Les certifications LPI (Linux Professional Institute) :

page14

Les outils

page15

Les programmes d'automatisation de tâches

page16

Make

page17

Les autotools
Les autotools sont une suite d'outils comme autoconf et automake pour créer des fichiers Makefile en fonction de la plateforme et en fonction de variables.
Une utilisation classique :
$ ./configure
$ make
$ make install

page18

Ant (1)

page19

Ant (2)

page20

Maven (1)

page21

Maven (2)

page22

Maven (3)

page23

Les systèmes libres
de gestion de version (1)
Anciens systèmes centralisés :

page24

Les systèmes libres
de gestion de version (2)
Systèmes de gestion de version décentralisés :

page25

La plateforme JAVA

page26

Plateforme Java
contre .NET (1)

page27

Plateforme Java
contre .NET (2)
Les défauts de .NET par rapport à Java :
http://www.fsf.org/news/2009-07-mscp-mono
La date null n'existe pas dans .NET. Les dates sont calculées à partir de la date 1900-01-01.
Il y a la possibilité de mettre des contournements mais c'est sale et cela peut disqualifier l'utilisation de la plateforme .NET pour certains usages.

page28

La plateforme Java (1)

page29

La plateforme Java (2) : Open Source JDK, logiciel libre

page30

La plateforme Java (3) : les différentes distributions
On peut télécharger les 3 types d'ensemble Java chez Sun sur http://java.sun.com/ :

Quand on parle du JDK,
c'est le plus souvent le JDK de Java SE

page31

Architecture distribuée : définition (1)
Une architecture est distribuée si elle est constituée de plusieurs entités (composants et clients) séparées en terme d'accès réseau.
Les intérêts :

page32

Architecture distribuée : définition (2)
Nous allons aborder différents types d'architectures distribuées : 2-tier, 3-tier, N-tier
tier : terme anglais signifiant étage ou niveau.
Une architecture N-tier est une architecture
à N étages, pas une fraction N/3.

page33

Architecture distribuée : architecture 2-tier
Architecture 2-tier ou architecture à 2 niveaux : l'architecture client-serveur


page34

Architecture distribuée : architecture 3-tier
Architecture 3-tier ou architecture à 3 niveaux : le niveau du client, le niveau du frontal et le niveau de la base de données


page35

Architecture distribuée : architecture N-tier
Architecture N-tier ou architecture à N niveaux : le niveau du client et les multiples autres niveaux des nombreux serveurs sur lesquels se répartissent les services


page36

Plateforme Java EE

page37


Les formats de distribution Java
Java EE définit des formats de distribution (en fonction de l'application) de composants Java pour automatiser les déploiements :

page38

Déploiement dans les serveurs d'application

page39

Eclipse (1)

page40

Eclipse (2)

page41

Les servlets

page42

JavaBeans

page43

Enterprise JavaBeans (EJB)

page44

Session Beans

page45

Session Beans : Stateless
@Remote
public interface TicketDesk {
}
@Stateless
public class TicketDeskBean
implements TicketDesk {
}

page46

Session Beans : Stateful
@Remote
public interface TicketDesk {
}
@Stateful
public class TicketDeskBean
implements TicketDesk {
}

page47

Message Driven Beans
Message Driven Beans
EJB qui réagissent aux messages, aux événements
Et là, 2 sous-types de Message Driven Beans :

page48

Entity (1) :
présentation
La persistance des EJB3 est basée (sous-ensemble) sur Hibernate, infrastructure de gestion de la persistance des objets dans des bases relationnelles. Il existe également l'infrastructure JDO (Java Data Object) mais apparemment en perte de vitesse de par le succès de Hibernate. JDO est connu pour le fonctionnement avec des bases objets.

page49

Entity (2) :
code
@Entity
public class Ticket implements Serializable {

private int id;
@Id
public int getId() {
return id;
}
}

page50

Entity (3) :
relations
On peut établir des relations entre objets persistants
On utilise alors les annotations suivantes :


page51

Empaquetage et déploiement

page52

Timer Service

page53

Les Web Services

page54

FIN