12.12.08

M18-Architecture logicielle ULM - JEE


Jeudi 11 décembre 2008 - Module M18  - Architecture logicielle : ULM + JEE
Mr Curé - support de cours sur : http://www.univ-mlv.fr/~ocure/
logiciels utilisés open source pour les cours : Eclipse(IDE environnement de développement intégré), Mysql tomquat (moteur pour les jsp)
Easy Php (comprend Apache mysql plus sécurisé que tomquat) apache  65% du marché

Licence Open Source => on donne le programme
Mysql a été racheté par SUM en 2008
Eclipse logiciel fait pour java en premier lieu il devait concurrencer Dreamweaver au début
Flex chez Java
c'est Google qui a poussé l'Ajax
Alan Turing : est pratiquement le père de l'ordinateur et de l'intelligence artificielle
machine "collosus"
il a définit le "test de turing"
 Wikipédia : Alan Mathison Turing (23 juin 1912 - 7 juin 1954) était un mathématicien britannique auteur de l'article fondateur de la science informatique (en)On Computable Numbers with an Application to the Entscheidungsproblem qui allait donner le coup d'envoi à la création de l'ordinateur programmable. Il y présente sa machine de Turing, le premier calculateur universel programmable, et invente les concepts de programmation et de programme. Il est également à l'origine de la formalisation des concepts d'algorithme et de calculabilité qui ont profondément marqué cette discipline. Son modèle a contribué à établir définitivement la thèse Church-Turing qui donne une définition mathématique au concept intuitif de fonction calculable. Durant la Seconde Guerre mondiale, il a dirigé les recherches sur les codes secrets générés par la machine Enigma utilisée par les nazis. Après la guerre, il a travaillé sur un des tout premiers ordinateurs, puis a contribué de manière provocatrice au débat déjà houleux à cette période sur la capacité des machines à penser en établissant le test de Turing[1]. Vers la fin de sa vie, il s'est intéressé à des modèles de morphogenèse du vivant conduisant à ce que l'on appelle les structures de Turing.

Java c'est la plus importante communauté de programmeur développeur dans le monde.
Le langage PHP (Personnal Home Page) est un langage interpréteur
le langage C est compileur => on génère un exécutable
Java est un mélange de langage interpréteur et de langage compilé (machine virtuel java) du coup il peut tourner partout sur n'importe quelle environnement Mac PC linux
 
Une Applet c'est un code Java téléchargé depuis internet et qui tourne sur notre poste (client)
 
Servlet (JSP) code Java qui tourne sur le serveur requête en http sur le serveur
Dhtml = javascript 
Java est bien puissant que javascript deux technologie différente
Une des différence le javascript tourne coté client et le java tourne côté serveur
 
les états sont soit des variables soit des constantes
Float = double (peut stocker plus de valeur que float)
String (chaîne de caractères) pour le Java
les personnes qui ont créée Unix ont créée le langage C
La syntaxe du Java est plus simple que le langage C
 
Le PHP est décliné du langage C
En java les majuscules sont importantes
Opérateur de concaténation + en java  - System.out("bonjour "+prenom) 
Opération permettant d'afficher à l'écran (en langage Java) :
System.out.println(" Bonjour ")
System.out.println(" Bonjour "+prenom)
Dans un programme informatique, un bloc entre accolade {} délimite un ensemble d'instructions.
Syntaxe adoptée : {, pour début un bloc et } pour le fermer.

On peut imbriquer les blocs.
Programme :
static void main(String args[]) toujours à mettre dans programme java

{
System.out.println(" bonjour " );

}
public static void main(String args[])

{
String prenom;
saisir(prenom);

System.out.println(" bonjour " + prenom );
}

le void le main ne ramène rien ne renvoie rien
Il y à 30 millions de ligne de code dans le système d'exploitation windows XP (à priori c'est du C++ et des parties en assembleur)
Sun system exploitation Solaris avec une version open source (Stanford Université N...)

le signe égal = signifie donne une affectation a=5 (veut dire j'affecte 5 à a) a <= 5

ET logique : && Exemple 

Opérateurs logiques et arithmétiques

● Les opérateurs mathématiques supportés sont : +, -, / (division), *

(multiplication) et % (reste de la division
entière - modulo).
Affectation où la variable a prend la valeur

de b :a=b ou bien a ¬b.
ET logique : && Exemple : if(a==1 && b<5)
OU logique : || Exemple :if (a==5 || b ==6)
Inverse : ! Exemple : if (!a)

Kturtle - logo faire tourner une tortue http://www.algo.be/logo1/logo-primer-fr.html#tor
http://www.softronix.com/logo.html

Faire AltGR 6 pour le signe |
a++ c'est a=a+1
a-- c'est a=a-1

MVC : Modèle Vue Contrôleur
JEE java entreprise
logiciel POSEIDON crée par ULM
Postgresql a plus de fonctionnalité que Mysql il est orienté objet
"Dumper" un dump c'est une migration c'est à dire : passer d'un système à un autre transférer une base de données.
OQL
NXD pour stockes du XML
rendre des données persistantes Sérialisation désérialisation (stockage des données)
Jsp (java projet Ecommerce)
DBA : c'est un Administrateur de la base 
Avantage de java : il peut tourner sur tous les systèmes c'est la portablilité de ses programmes
Le SGML 1986 devient une norme web => Html (1989) et XML 1996 affichage web
Notion d' ontologie definir une ontologie c'est définir un concept
créer un web sémantique
code syntaxique c'est le code :
Xhtml
xml smil SVG RDF
Pharser analyseur de bibliothèque xml
Xquery langage de requête XML
William gibson => inspiré Matrix sémantique web
"Reuters" dépeches avec sémantique http://fr.reuters.com/
FOAF => RDF exemple ami commun
du sens commun développé par Microsoft il pourra dire si un email est joyeux ou triste
 
1 kilooctet (ko) = 103 octets = 1 000 octets
1 mégaoctet (Mo) = 106 octets = 1 000 ko = 1 000 000 octets
1 gigaoctet (Go) = 109 octets = 1 000 Mo = 1 000 000 000 octets
1 téraoctet (To) = 1012 octets = 1 000 Go = 1 000 000 000 000 octets
1 pétaoctet (Po) = 1015 octets = 1 000 To = 1 000 000 000 000 000 octets
ecrire en masjuscule les constantes en java
Aujourdhui on est à java 6 java est généraliste maintenant le java 7 va être openSource
Android de google open source
 

Quelques règles fondamentales en java
Le nom d'une classe commence toujours par une Majuscule.
Les mots contenu dans un identificateur commencent par une majuscule : HelloWorld. Les mots contenus dans un identificateur commencent par une majuscule : HelloWorld.
Les constantes sont en Majuscules.
Les propriétés et les méthodes Les constantes sont en majuscules.
Les propriétés et les méthodes débutent par une minuscule.

Ajouter des commentaires, la syntaxe est identique au langage C (/* ... */ ou // ).

 
Pour installer Eclipse sur son ordinateur :
1 -
Sur le site Sun télécharger http://wwww.sun.com
=> java standard edition JSE (JEE pour le web)
2 - télécharger  www.eclipse.org =>Eclipse version ganymede
3 - Installer d'abord java et ensuite eclipse
Quand on lance eclipse et la machine virtuel java se met en marche.

Pour info : Santéclair logiciel fourni par certaines mutuelles c'est une base de données de médicaments.

Les primitives http://www.commentcamarche.net/contents/java/javatype.php3
Extrait :
Java est un
langage orienté objet, c'est-à-dire que les éléments manipulés sont des classes, ou plus exactement des objets, c'est-à-dire des instances de classes.Toutefois ces objets contiennent des données possédant un type (et une représentation). Ces données sont un ensemble d'éléments stockés en mémoire et baptisés pour l'occasion primitives. Les données manipulées avec Java, sont typées, c'est-à-dire que pour chaque donnée que l'on utilise (dans les variables par exemple) il faut préciser le type de donnée, ce qui permet de connaître l'occupation mémoire (le nombre d'octets) de la donnée ainsi que sa représentation, cela peut être entre autres :

  • des nombres entiers: (int)
  • réels, c'est-à-dire à virgules (float)

De plus, le langage Java introduit un type de donnée appelée boolean. Ce type de variable accepte deux états :

  • True (vrai): correspondant à une valeur vraie
  • False (faux): correspondant à une valeur fausse
En réalité, toutes les valeurs différentes de True sont considérées comme fausses (donc considérées comme égales à False). Si la variable n'est pas initialisée, sa valeur par défaut est False.

Voici un tableau répertoriant les primitives (types de données) de Java :

 

Primitive Signification Taille (en octets) Plage de valeurs acceptée
char Caractère 2 valeur du jeu de caractères Unicode (65000 caractères possibles)
byte Entier très court 1 -128 à 127
short Entier court 2 -32768 à 32767
int Entier 4 -2 147 483 648 à 2 147 483 647
long Entier long 8 -9223372036854775808 à 9223372036854775807
float flottant (réel) 4 -1.4*10-45 à 3.4*1038
double flottant double 8 4.9*10-324 à 1.7*10308
boolean booléen 1 0 ou 1 (en réalité, toute autre valeur
que 0 est considérée égale à 1)