avec STRUTS 1 STRUTS NTSys

Dimension: px
Commencer à balayer dès la page:

Download "avec STRUTS 1 STRUTS NTSys 2006 1"

Transcription

1 Conception d'applications WEB avec STRUTS 1 STRUTS NTSys

2 Première Partie Bases du développement web J2EE 2 STRUTS NTSys

3 Histoire de JAVA Les versions de JAVA Les différentes plates formes J2SE J2ME J2EE 3

4 Qu est ce que Java? Java est un langage de programmation orienté objet développé et spécifié par un groupe mené par Sun Caractéristiques du langage : Portabilité Robustesse Sécurité Multi threadé Distribué 4

5 Qu est ce que Java? Java n est pas un langage compilé, mais interprété. Les codes sources sont transformées en bytecode (fichier.class) qui est ensuite interprété par un machine virtuelle Java. Historique : : projet Oak (Naughton, Gosling, Sheridan (Sun)) Langage de programmation pour systèmes embarqués: TV interactive, etc. But:Plateforme commune. Projet abandonné en

6 Les versions de Java 1993: (Sun) Adaptation à l Internet 1995: de Oak à Java 1996: Java (JDK1.0.1) Oak appliqué à WWW. Le projet renaît de ses cendres sous le nom de Java. Combiné avec un navigateur spécial (HotJava), apporte le concept d Applet. 1997: JDK : Java 2 (JDK 1.2) Entre autre, ajout d API pour le travail en réseau ainsi que des Servlet et JSP 2000 : JDK 1.3 Essentiellement des corrections et évolution. Ajout de JNDI 2002: JDK 1.4 Nouveau gestionnaire d E/S, ajout des API pour XML, support d IPv6, 6

7 Les plate formes Java Java est disponible en trois plates formes : La plate forme standard : J2SE La plate forme J2ME La plate forme J2EE 7

8 Les plate formes Java J2SE (Java 2 Platform, Standard Edition) 8

9 Les plate formes Java J2SE est composé de : Core Java Java Platform Debugger Architecture (JPDA) Documentation (Javadoc) API (Sécurité, bases de données, ) Desktop Java Java Runtime Environment (JRE) fournit les bibliothèques, la machine virtuelle Java et d autres composants pour exécuter applications et applets. Modèles de composant (JavaBeans) GUI toolkit (JFC/Swing) 9

10 Les plate formes Java Insuffisant pour les applications WEB complexes: Permet entre autre de faire des applets Pas de packages spécifiques pour les applications sur un serveur WEB (pas de classe pour récupérer les requêtes HTTP ) 10

11 Les plate formes Java J2ME (Java 2 Platform, Micro Edition) Environnement Java optimisé pour le développement d applications sur des terminaux mobiles. C est une restriction de J2SE permettant le mise en œuvre sur téléphones, PDA, Absence du type «float» Sous ensemble de java.util seulement Interface graphique simplifiée N est pas prévu pour le développement d applications WEB 11

12 Les plate formes Java J2EE (Java 2 Platform, Enterprise Edition) J2EE est un ensemble de standards de développement d applications d entreprise multitiers. Intègre des packages spécifiques au développements WEB : Servlet, JSP, EJB, Utilisation sur un serveur WEB Tier Business Tier EIS Tier (Enterprise Information System) J2EE Client J2EE Server 12

13 Conclusion Les architectures n tiers deviennent indispensables pour : Développer des applications web fiables Assurer la réutilisabilité par la séparation des métiers J2EE en est l'exemple le plus illustratif par le découplage permis 13

14 Protocole HTTP HTTP est un protocole d échange de données pour des systèmes d information intégrant des ressources distribuées. HTTP est basé sur le système d adressage universel URL (identification des ressources et méthode de traitement) HTTP est basé sur le principe requête / réponse. Lors d une transaction le client établit une connexion avec le serveur et lui adresse une requête. 14

15 Rappels sur le protocole HTTP Toute requête HTTP est adressée par le client au par l intermédiaire d une URL : Utilisation du protocole HTTP. Pour signifier une connexion HTTP sécurisée, utiliser https. user:pwd@ : paramètres optionnels. Transmet un utilisateur et un mot de passe au serveur (en clair!). Nom d hôte du serveur HTTP :80 : paramètre optionnel. Précise le numéro de port utilisé. HTTP utilise par défaut le port 80 et HTTPS le port 443 /index.html: Tout ce qui figure après le nom d hôte et le numéro de port est considéré comme étant le chemin du document. 15

16 HTTP La requête La requête HTTP faite par le client est composée de différents champs (optionnels pour la plupart): 16

17 HTTP La requête Le champs «Méthode»: GET / HTTP/1.1 Une méthode de requête est une commande que le client envoie au serveur. Il existe différentes méthodes: GET: une requête GET signifie que l on veut récupérer une ressource sur le serveur. HEAD: une requête HEAD signifie que l'on veut juste des informations sur le document, mais pas le document lui même POST: une requête POST permet de soumettre au serveur des données à traiter Il existe d autres méthodes: PUT, DELETE, CONNECT, etc. 17

18 Langage HTML Les documents HTML sont des documents SGML (Standard Generalized Markup Language) avec une sémantique permettant une représentation portable de documents multimédia dans un format textuel composé de balises. <html> <head> <title>ma page</title> </head> <body> <h1>bonjour</h1> <p>bla, bla,... </p> <! Paragraphe 1 > </body> </html> 18

19 Langage HTML Ce format textuel est interprété par les logiciels clients (Mosaic, Lynx, Netscape Navigator, MS Internet Explorer, Opera, Mozilla, etc.). Il permettent une représentation des documents. Chaque document est référencé par une URL. Des hyperliens (pointeurs sur une URL) relies les documents entre eux. Cette toile ainsi formée constitue le World Wide Web. 19

20 Architectures 2 tiers : client/serveur L'architecture à deux niveaux (aussi appelée architecture 2 tier, tier signifiant étage en anglais) caractérise les systèmes clients/serveurs dans lesquels le client demande une ressource et le serveur la lui fournit directement. Cela signifie que le serveur ne fait pas appel à une autre application afin de fournir le service. Client Serveur 20

21 Architectures 3 tiers 1) Le client : le demandeur de ressources 2) Le serveur d'application : le serveur chargé de fournir la ressource mais faisant appel à un autre serveur 3) Le serveur secondaire (généralement un serveur de base de données), fournissant un service au premier serveur 21

22 Les composants de la plate forme J2EE Les composants WEB : Servlet et JSP Les composants métier : Enterprise JavaBeans Les API pour XML Quelques autres API de J2EE 22

23 Les Servlets Une servlet est une classe Java permettant d étendre les fonctionnalités d un serveur WEB. Elle sont exécutées uniquement côté serveur et ne nécessitent donc pas de support de Java chez le client. On utilise généralement des servlets sur des serveurs HTTP, mais elles sont utilisables dans beaucoup d autres domaines. Demande de maservlet Servlet déjà chargée? Oui Non Serveur WEB/Servlet Réponse Moteur de Servlet Chargement MaServlet.class 23

24 Les servlets Portabilité : «Écrit une fois, utilisable partout» Puissance : bénéficie de toute la puissance du langage Java Efficacité : Chargée une seule fois, Une thread par servlet, Une seule instance de chaque classe en mémoire Sûreté : due au langage Java (typage fort, gestion des exceptions, gestionnaire de sécurité ) Intégration au serveur Extensibilité et souplesse 24

25 Les servlets Sun fournit deux packages pour le développement des servlets : javax.servlet et javax.servlet.http. Le package javax.servlet contient un certain nombre de classes et d'interfaces qui décrivent et définissent les relations entre une classe de type servlet et son environnement d'exécution. Le package javax.servlet.http définit des méthodes spécifique pour les servlet traitant des requêtes HTTP. 25

26 L interface Servlet : Les servlets Elle sert de base à toutes les servlets, elle définit : void init(servletconfig) : Appelé au chargement de la servlet void service(servletrequest, ServletResponse) : Permet de fournir une réponse à une requête. void destroy() : utilisé par le conteneur de servlet pour lui indiquer sa destruction prochaine ServletConfig getservletconfig() : Retourne la configuration de la servlet String getservletinfo() : Retourne des informations sur la servlet (auteur, copyright, ) 26

27 Les exceptions : ServletException Les servlets «Exception générale que peut lever une servlet si elle rencontre des difficultés» UnavailableException hérite de ServletException levée lorsqu une servlet ou un filtre est indisponible (temporairement ou définitivement) 27

28 Cycle de vie Création et initialisation La méthode init(servletconfig) En cas d echec : renvoyer une exception «UnavailableException» L'objet ServletConfig : contient tous les paramètres d'initialisation qui ont été définis dans le descripteur de déploiement pour l'application web à laquelle appartient la servlet 28

29 Cycle de vie Traitement des services demandés par un client La méthode service(). Destruction La méthode destroy() Elle sert à libérer des ressources (allouées par init()) Une fois cette méthode exécutée, l instance de la classe sera détruite par le garbage collector. 29

30 Cycle de vie Pas d instance de servlet maservlet.class init() destroy() service() Instance de servlet 30

31 Cycle de vie Conséquences de ce cycle de vie : Les variables de classes déclarées dans une servlet sont visibles tout le temps. Toute modification de leurs valeurs effectuée lors d une requête est effective lors des requêtes suivantes. Si l on ouvre une connexion à une base de données pendant la phase d initialisation, la connexion reste active durant toute la vie de la servlet. Ceci est valable pour toute ressource allouée à l initialisation. 31

32 Cycle de vie Requête Requête Requête Requête Thread Thread Thread Thread SERVLET Une seule instance de la servlet et créée, mais on crée également un thread par requête client. Ce thread appelle la méthode service() de la servlet concernée par la requête. Cette mise en thread est entièrement gérée par le serveur. Elle est transparente pour le programmeur et l utilisateur. 32

33 Cycle de vie Avantages : Plusieurs accès simultanés possibles Utilisation restreinte de la mémoire Pas de programmation multi tâche Limitations : Si deux requêtes ont lieu «en même temps», elle peuvent chercher à accéder à la même variable au même moment. Il faut donc protéger les variables non locales si elles doivent être écrites. 33

34 Cycle de vie Protéger la portion de code critique : public synchronized void service( ){ } synchronized(this){ partie du code à protéger } int compteur;... public void service(servletrequest req, ServletResponse req){... synchronized(this){ compteur ++ ; out.println(compteur); }... 34

35 Cycle de vie A l initialisation, la servlet est chargée dans un certain «contexte» qu elle partage avec toutes les autres servlets de l application. Les méthodes permettant de communiquer avec le contexte sont définies dans l interface ServletContext. 35

36 Les servlets HTTP Le package javax.servlet.http Les interfaces : HttpServletRequest, HttpServletResponse, HttpSession, HttpSessionActivationListener, HttpSessionAttributeListener, HttpSessionBindingListener, HttpSessionContext, HttpSessionListener Les classes : Cookie, HttpServlet, HttpServletRequestWrapper, HttpServletResponseWrapper, HttpSessionBindingEvent, HttpSessionEvent 36

37 Les servlets HTTP La classe HttpServlet hérite de la classe GenericServlet (elle implémente donc l interface Servlet) fournit des méthodes spécifique au traitement des requêtes HTTP définit une méthode service() qui prend en charge et redirige les requêtes HTTP vers de méthode de type doxxx(). Requête GET Réponse Requête POST Réponse service() doget() dopost() 37

38 Les servlets HTTP import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class premiereservlet extends HttpServlet{ public void doget(httpservletrequest req,httpservletresponse res) throws ServletException,IOException { res.setcontenttype("text/html"); PrinterWriter out=res.getwriter(); out.println("<html>"); out.println("<head><title>première Servlet</TITLE></HEAD>"); out.println("<body>"); out.println("<h1>hello World!</H1>"); out.println("</body>"); out.println("</html>"); } } 38

39 Servlets et requête HTTP Il est possible avec des servlets de récupérer beaucoup d informations concernant la requête. Ces informations sont contenues dans la variable de type HttpServletRequest passé en argument de la méthode service(). Les entêtes de la requête : getheader(string) getheadernames() Les paramètres renvoyés par le client issus d un formulaire par exemple getparameter() getparameternames() 39

40 Servlets et requête HTTP <BODY>... <FORM ACTION="MaServlet" METHOD="POST"> <INPUT TYPE="text" NAME="param"> <INPUT TYPE="SUBMIT" VALUE="OK"> </FORM> </BODY> public class MaServlet extends HttpServlet{ public void dopost(httpservletrequest req, HttpServletResponse res) throws IOException, ServletException { PrintWriter out = res.getwriter(); //Récupération de la valeur passé dans le formulaire String parametre = req.getparameter("param"); //Affichage de la valeur récupérée out.println(parametre); } } 40

41 Servlets et requête HTTP Informations de chemin En dehors des paramètres passés par méthode get ou post, il est possible de récupérer des informations dite de chemin Le moteur de servlet appelle le servlet «maservlet» du projet «monprojet» Méthode : HttpServletRequest.getPathTranslated() renvoie le nom de fichier : «répértoire_de_monprojet/test.htm» 41

42 Servlets et requête HTTP D autres informations : getremoteaddr(), getremotehost(), getremoteport() pour récupérer des informations sur le client (ou le dernier serveur proxy à transmettre la requête) getservletpath() : partie de l URL qui désigne la servlet. getcontenttype(), getcontentlength() : type MIME et longueur du corps de la requête. getservername(), getserverport() : nom du serveur et le port cible de la requête du client. 42

43 Servlets et réponse HTTP La réponse renvoyée au client peut avoir plusieurs formes, qui correspondent aux formes autorisées pour les réponses HTTP : Un code d état seul Un code d état plus d autres entêtes Un réponse complète (entête + corps) Le deuxième argument passé à la méthode doxxx() est de type HttpServletResponse. Celui ci possède entre autres les méthodes suivantes : getwriter() setcontenttype(string) addheader ou setheader(string name,string value) senderror(int statut [,String msg]), setstatus(int sta) addcookie(cookie cookie) 43

44 Conclusion Les servlets constituent le coeur des applications web J2EE. Elles permettent la génération de réponses aux applications clientes (navigateurs comme clients lourds) Elles peuvent être lourdes lorsque l'on répond en HTML 44

45 Les JavaServer Pages (JSP) Une page JSP est un document texte contenant deux types d informations ; des données statiques exprimées dans n importe quel format textuel (HTML, XML ) et des éléments JSP constituant la partie dynamique. Les pages JSP ont pour extension.jsp On peut faire des fichiers contenant des morceaux de code JSP à inclure dans ces pages. Il est recommandé de leur donner l extension.jspf. 45

46 Les pages JSP Sont faites pour gérer la partie présentation d une application WEB Ne sont pas prévues pour implémenter des actions lourdes ou complexes. Pour cela, il est recommandé d utiliser : des JavaBeans des Taglibs 46

47 Les JavaServer Pages (JSP) Langage de script tel que ASP ou PHP. On ajoute du code Java dans une page écrite en HTML. Traduit en servlet lors de premier appel, puis exécuté Cette technologie s appuie sur les servlets, elles en a donc tous les avantages Demande de fichier.jsp Réponse Page déjà chargée? Non Oui Moteur de Servlet Traduction en servlet Compilation Serveur WEB/JSP fichier.jsp 47

48 Exemple JSP <html><head><title>bonjours</title></head> <body> <%! void bonjour(s) { out.println("<p>bonjour, "+s+"!</p>"); } %> Je dis : <% bonjour("alice");bonjour("bob"); %> </body> </html> 48

49 JSP Les directives : <%@ taglib) %> (include, page,. <% Inclusion du fichier d en tête header.jsp %> <%@include file="header.jsp" %> Les déclarations : <%! %> <% Déclaration de la variable nombre %> <%! int nombre; %> <% Déclaration avec initialisation %> <%! int nombre2=12; %> 49

50 JSP Les scriptlet : <% %> <% Affichages des nombres de 0 à 10 %> <% for (int i=0;i<=10;i++){ out.println("<br>"); %> <%= i %> <% } %> Les expressions : <BODY> <% Petit calcul %> <p> = <%= 3 + 5%> </p> 50

51 Les Taglibs Les Tag Libraries des JSP définissent la fonctionnalité déclarative et modulaire qui peut être réutilisée par n'importe quelle page de JSP. Les taglibs réduisent la nécessité d inclure de grandes quantités de code de Java dans les pages JSP en déplaçant ces fonctionnalités dans des classes d'exécution des tags. Sun fournit une bibliothèque de Tag : JSTL Struts, inclut aussi ses propres tags. Il est possible d écrire et exécuter des tags. 51

52 Les JavaBeans Les JavaBeans sont des classes Java facilement assemblables pour former des applications plus complexes. L objectif premier de JavaBeans est de former des composants logiciels réutilisables. Ce sont des classes Java comportant : Des propriétés : ce sont des attributs qui peuvent être lus, écrits, ou les deux. Une propriété prop sera lue par l appel de la méthode proptype getprop() et écrite par la méthode setprop(proptype) Des méthodes Des événements 52

53 Conclusion Les JSP proposent un compromis intelligent entre pages statiques et Servelts Elles cumulent la simplicité de HTML avec la puissance des servlets grace à son système de balises dédiées Elles permettent une véritable séparation des métiers 53

54 La fondation Apache Développement de nombreux projets Open source Le serveur WEB Apache (64% du web en octobre 2003) Développement autour de langages standards : Perl/PHP/Java/XML Respect des standards du W3C Projet Jakarta : «Projet de Apache Software Foundation dont le but est la création et la maintenance des solutions côté serveur pour la plate forme Java qui soient de qualité commerciale, avec les sources libres et sans coût de licence» 54

55 La fondation Apache Quelques projets : Apache HTTPD : Serveur WEB PHP (PHP HyperText Preprocessor) : Développement du langage Xerces et Xalan : Parseur XML utilisable en C++ et Java, Moteur de feuilles de style XSLT Axis (ex Apache SOAP) : Implémentation des services WEB SOAP Cocoon: Plate forme de gestion de contenu basée sur XML Jakarta 55

56 La licence ASF Elle autorise : Le téléchargement et l exploitation du logiciel pour toute utilisation (personnelle, commerciale, ) La redistribution du logiciel (libre ou non) La modification du logiciel. Cela inclut également l utilisation (totale ou partielle) d un produit de l ASF dans un logiciel propre. Elle interdit : La redistribution partielle d un logiciel sans ajout ni modification L utilisation des marques détenues par l ASF telles que «Apache», «Projet Jakarta», «Tomcat», 56

57 La licence ASF Elle oblige à : Inclure un copie de la licence dans toute redistribution Lors de la distribution d un logiciel dérive ou est basé sur un produit sous licence ASF, l indiquer clairement. Elle n oblige pas à : Inclure les codes sources (du logiciel des base et/ou des modifications) lors d une redistribution Divulguer les sources des ajouts ou modifications, bien qu il soit conseillé d en faire profiter la fondation Apache pour ses développements futurs. 57

58 Tomcat Tomcat est un serveur d applications Java, écrit en Java et conçu pour exécuter des Servlets et de pages JSP. Il est basé sur un conteneur de Servlet (Catalina) et sur un compilateur de JSP (Jasper). Sun a choisi Tomcat comme implémentation de référence des spécifications des technologies Servlet et JSP 58

59 Tomcat Structure 59

60 Deuxième Partie Configuration du serveur et des applications 60 STRUTS NTSys

61 server.xml conf/server.xml contient la configuration du moteur de servlet Une hiérarchie stricte permet : Une bonne lisibilité du code Des possibilités fortes en terme de personnalisation Ouvrons le fichier pour le comprendre et analyser ses éléments XML 61

62 server.xml <Server/> : racine à trois attributs (il est conseillé de modifier shutdown) Contient 1 à n noeuds Service <Service/> : Getionnaires de requêtes Contient 1 à Connector et 1 Engine 62

63 server.xml <Engine/> : Répartit les requêtes <Realm/> : Gestionnaire d'authentification Traité plus loin <Logger/> : Gestionnaire de journalisation Traité plus loin 63

64 server.xml <Host/> : Fait le lien entre les noms d'hôtes des requêtes HTTP envoyées et Tomcat <Context/> : Relie de manière abstraite une URI à une application web <Valve/> : Les valves sont des plugins fonctionnels puissants Voir les exemples simples (d'autres suivront) 64 Les valves sont utiles pour, par exemple filtrer les hôtes distant. Essayons : org.apache.cataline.valves.remotehostvalve et org.apache.cataline.valves.remoteadsressvalve qui prennent en paramètre accept et deny.

65 server.xml <Connector/> : Connecte les gestionnaires de protocoles aux IP et aux ports Traité plus loin <Factory/> : Offre des fonctionnalités optionnelles aux connecteurs (telles que le cryptage) 65

66 Tomcat admin Un outil Full web permet de gérer ce fichier de configuration Il est accessible à partir de l'application /admin Il est nécessaire de bénéficier des droits suffisants pour s'y connecter (nous reviendrons sur ce point dans la chapitre sécurité) 66

67 Tomcat admin 67

68 web.xml Ce fichier paramètre non pas le serveur mais applications qu'il héberge Dans /conf on trouve un web.xml partagé pour les applications de base Observons l'architecture d'applications (.wars fournis) et ouvrons son fichier WEB INF/web.xml 68

69 web.xml Une application peut également être configurée dans server.xml grâce à la définition d'éléments <Context/> Dans la pratique, on utilise cet élément de server.xml ou un web.xml local et pas le web.xml partagé 69

70 Ressources JNDI On peut définir, dans server.xml des ressources JNDI pour : offrir aux développeurs J2EE des DataSource ou des moteurs de mailing accessible via JavaMail Ou des ressources particulières (cf. UserDataBase plus loin) 70

71 Ressources JNDI On peut définir des ressources JNDI : Dans un élément </Context> d'une application donnée Dans un Host ou un Engine pour la faire partager aux applications correspondantes 71

72 JNDI Mail Au niveau du serveur (server.xml) : définir la ressource Au niveau de l'application (web.xml) : associé un identifiant «local» à la ressource pour la rendre accessible au code Java 72 <Resource name="mail/session" auth="container" type="javax.mail.session"/> <ResourceParams name="mail/session"> <parameter> <name>mail.smtp.host</name> <value>localhost</value> </parameter> </ResourceParams> <resource ref> <description> Resource reference to a factory for javax.mail.session </description> <res ref name> mail/session </res ref name> <res type> javax.mail.session </res type> <res auth> Container </res auth> </resource ref>

73 JNDI JDBC Le processus est le mail que pour JavaMail Il faut ajouter la contrainte de l'installation et de la sélection du pilote JDBC Le développeur n'a plus à se soucier des paramètres de connexion ni même du nom de la base et encore moins du moteur de SGBD 73 <Resource name="jdbc/employeedb" auth="container" type="javax.sql.datasource"/> <ResourceParams name="jdbc/employeedb"> <parameter> <name>username</name><value>dbusername</value> </parameter> <parameter> <name>password</name><value>dbpassword</value> </parameter> <parameter> <name>driverclassname</name> <value>org.hsql.jdbcdriver</value> </parameter> <parameter> <name>url</name> <value>jdbc:hypersonicsql:database</value> </parameter> <parameter> <name>maxactive</name> <value>8</value> </parameter> <parameter> <name>maxidle</name> <value>4</value> </parameter> </ResourceParams>

74 Troisème Partie Le modèle MVC et son application à J2EE 74 STRUTS NTSys

75 Modèle MVC Plusieurs problèmes peuvent surgir quand les applications contiennent un mélange de code d'accès de données, de code de logique métier et de code de présentation. difficultés de maintenance à cause de l interdépendances des composants difficultés de réutilisation l ajout de nouvelles présentations des données exige souvent de retoucher la logique business Le modèle de conception Modèle Vue Contrôleur résout ces problèmes par le découplage de l'accès aux données, de la logique métier et des interactions avec l'utilisateur. 75

76 Modèle MVC : View Sert à représenter le contenu du modèle. Accède aux données de l entreprise par l intermédiaire du modèle. Responsable de la consistance de la représentation donnée à l utilisateur. Seul composant qui interagit avec l utilisateur. 76

77 Modèle MVC : Controller Traduit des interactions entre la vue et le modèle. Exemples : l appui sur un bouton pour une application locale requête HTTP dans le cas des applications WEB Sélectionne la bonne vue en fonction de la demande envoyée. 77

78 Modèle MVC : Model Représente les données de l entreprise et la logique métier pour l accès à ces données. «Cœur» de l application Cette partie est conçue indépendamment de son environnement d utilisation Réalise des actions uniquement sur demande de la partie contrôleur 78

79 Le modèle MVC Mise à jour de la représentation interne Vues Représentation garphiques Affichage des données du modèle Modèle Représentation interne des données. Modélisation du domaine Etats des vues Actions sur les vues Actions sur le modèle Controleur Implémente les messages associés aux actions de l utilisateur. Supervise les interactions avec les autres vues et contrôleurs. Gère l interface modèlevue 79

80 MVC et J2EE Exemple d utilisation du modèle MVC : La servlet sert de contrôle et dirige la demande vers la bonne page JSP Les JavaBeans appelés par cette page JSP forment la partie modèle. Il peuvent accéder à des bases de données par exemple. Les pages JSP s occupent de générer le code HTML renvoyé au client à partir des résultats retournés par les Beans Servlet Serveur WEB Client JSP JSP Java Beans Java Beans Java Beans Java Beans Autres Systèmes Informatiques 80

81 Le modèle MVC 2 Le modèle MVC2 C est une adaptation du modèle MVC Plus approprié aux applications WEB Bien adapté à J2EE Un point d entrée unique qui redirige vers des contrôleurs Les contrôleurs servent essentiellement à gérer le dialogue entre les objets métiers. 81

82 1 5 Le modèle MVC2 Servlet 6 JSP 2 4 Serveur WEB Dynami que 3 de l applica tion Serveur d EJB 1. Le client envoie la requête à la servlet d entrée. 2. La servlet la retourne vers le contrôleur adapté 3. Le contrôle sélectionné est responsable de l'exécution de la requête. Il peut faire appel à des objets métier. 4. Le contrôleur encapsule des données dans des JavaBeans et les transmet à la JSP responsable de l affichage 5. La JSP construit et transmet la réponse 6. En cas d erreur dans la requête. La servlet d entrée envoie directement un message à une JSP de sortie. 82

83 Conclusion Bonne séparation des tâches : Objets métiers : compétences métier Contrôleurs : compétences Java serveur Vue : compétences pages Web Modèle utilisé par Struts. 83

84 Quatrième Partie Les concepts indispensables de STRUTS 84

85 STRUTS Cadre logiciel pour l organisation des échanges entre une couche Servlet/JSP, l utilisateur et la dynamique de l application. Une servlet en entrée qui distribue les tâches aux applications. Des JSP en sortie pour la présentation Les «Taglibs» Servlet JSP Application Objets Métier 85

86 JavaServer Faces (JSF) Concurrent de Struts gérant les événements Avancées sur l'implémentation de MVC (à revoir avec SRTUTS 2) et sur les vues Cohabitation possible des vues JSF avec les actions STRUTS :.faces au lieu de.jsp et changement des tags dans les JSP (tags JSF + tags faces) 86

87 Présentation générale Plate forme J2EE basée sur le modèle MVC2. Fournit son propre contrôleur S'interface avec d autres composants pour la partie vue et la partie modèle Projet Open Source de la fondation Apache 87

88 Struts Les principales briques techniques offertes par Struts sont les suivantes: Une servlet d'aiguillage dont le rôle est d'assurer la communication entre les contrôleurs et les vues (ActionServlet). Des objets préfabriqués permettant la transmission des informations (et leur vérification) entre l'aiguilleur et les contrôleurs (ActionForm). Des contrôleurs paramétrables (Action). 88

89 Struts Des bibliothèques de fonctions pour simplifier le développement des vues (taglibs). Un système de gestion d'erreurs applicatives multilingue (ActionError et des fichiers properties). Un mécanisme de paramétrage des aiguillages (fichier strutsconfig.xml). Un système de pool de connexion aux bases de données (DataSource). 89

90 Struts Struts apporte des modèles de conception, dont les avantages sont : Renforcement de la modularité Meilleure séparation des rôles Meilleure maintenabilité et extensibilité du code Struts implémente un certain nombre de «design patterns» définis par J2EE. 90

91 Les composants La partie Modèle : Composée de deux sous systèmes: L'état interne du système Les actions possibles pour modifier cet état Struts permet d'utiliser de nombreuses approches différentes pour accéder au Modèle, comme les JavaBeans, les classes, une base de données 91

92 La partie Vue Les composants Construite à l'aide de pages JSP contenant du texte HTML ou XML statique Capacité d'y insérer selon les requêtes du contenu dynamique Struts comprend une bibliothèque interne de balises. Ces balises : facilitent la création d'interfaces utilisateur interagissent facilement avec le Modèle. 92

93 Les composants de Struts La partie Contrôle (ActionServlet) : Composant le plus important d'une application Struts, c'est le centre névralgique. Ce Servlet aiguille les requêtes HTTP vers le gestionnaire approprié. Ce gestionnaire est appelé «action». Chaque action agit comme un adaptateur entre la requête et le Modèle. Le Contrôleur passe ensuite par la Vue pour montrer le Modèle (forme de liaison Vue/Modèle). 93

94 ActionServlet : configuration Vis à vis du conteneur : Définition de la servlet contrôleur dans web.xml : <servlet> <servlet name>action</servlet name> <servlet class>org.apache.struts.action.actionservlet</servlet class> <init param> <param name>config</param name> <param value>/web INF/struts config.xml</param value> </init param> <load on startup>1</load on startup> </servlet> 94

Avant-propos 1. Avant-propos...3 2. Organisation du guide...3 3. À qui s'adresse ce guide?...4

Avant-propos 1. Avant-propos...3 2. Organisation du guide...3 3. À qui s'adresse ce guide?...4 Les exemples cités tout au long de cet ouvrage sont téléchargeables à l'adresse suivante : http://www.editions-eni.fr. Saisissez la référence ENI de l'ouvrage EP5EJAV dans la zone de recherche et validez.

Plus en détail

Web Tier : déploiement de servlets

Web Tier : déploiement de servlets Web Tier : déploiement de servlets 1 / 35 Plan 1 Introduction 2 Servlet : Principe de fonctionnement 3 Création et développement sur un serveur JEE 4 Quelques méthodes de l API des servlets 5 Utilisation

Plus en détail

TP JEE Développement Web en Java. Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web.

TP JEE Développement Web en Java. Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web. ASTRIUM - Toulouse JEE Formation 2013 TP JEE Développement Web en Java Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web. Figure 1 Architecture

Plus en détail

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki Institut Supérieur de Gestion Cours pour 3 ème LFIG Java Enterprise Edition Introduction Bayoudhi Chaouki 1 Java EE - Objectifs Faciliter le développement de nouvelles applications à base de composants

Plus en détail

Java pour le Web. Cours Java - F. Michel

Java pour le Web. Cours Java - F. Michel Java pour le Web Cours Java - F. Michel Introduction à JEE 6 (ex J2EE) Historique Qu'est-ce que JEE JEE : Java Entreprise Edition (ex J2EE) 1. Une technologie outils liés au langage Java + des spécifications

Plus en détail

Application Web et J2EE

Application Web et J2EE Application Web et J2EE Servlet, JSP, Persistence, Méthodologie Pierre Gambarotto Département Informatique et Math appli ENSEEIHT Plan Introduction 1 Introduction Objectfis

Plus en détail

Application web de gestion de comptes en banques

Application web de gestion de comptes en banques Application web de gestion de comptes en banques Objectif Réaliser une application Web permettant à un client de gérer ses comptes en banque Diagramme de cas d'utilisation 1 Les cas d'utilisation Connexion

Plus en détail

Module BD et sites WEB

Module BD et sites WEB Module BD et sites WEB Cours 8 Bases de données et Web Anne Doucet Anne.Doucet@lip6.fr 1 Le Web Architecture Architectures Web Client/serveur 3-tiers Serveurs d applications Web et BD Couplage HTML-BD

Plus en détail

JavaServer Pages (JSP)

JavaServer Pages (JSP) JavaServer Pages (JSP) XVIII-1 Prérequis pour ce cours Ce cours a trait à la programmation Java coté serveur Il faut connaître un minimum de technologie J2EE Il faut connaître les servlets XVIII-2 Motivation

Plus en détail

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux Formation Webase 5 Ses secrets, de l architecture MVC à l application Web Adrien Grand Centrale Réseaux Sommaire 1 Obtenir des informations sur Webase 5 2 Composants de Webase 5 Un

Plus en détail

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués Architecture JEE. Objectifs attendus Serveurs d applications JEE Systèmes distribués Architectures JEE Normes JEE couches logicielles, n-tiers framework JEE et design patterns 2007/02/28 Eric Hébert.eheb@yahoo.fr

Plus en détail

Les architectures 3-tiers Partie I : les applications WEB

Les architectures 3-tiers Partie I : les applications WEB Les architectures 3-tiers Partie I : les applications WEB 1 Evolutions logicielles Des objets aux composants... Objets JavaBeans, Objets ActiveX, Objets COM,... 1 Evolutions logicielles Des objets aux

Plus en détail

Groupe Eyrolles, 2003 ISBN : 2-212-11270-X

Groupe Eyrolles, 2003 ISBN : 2-212-11270-X Groupe Eyrolles, 2003 ISBN : 2-212-11270-X 7 Le fichier server.xml Dans le chapitre 3, nous avons abordé les bases de la configuration de Tomcat, informations suffisantes pour vous mettre le pied à l étrier.

Plus en détail

Architecture Orientée Service, JSON et API REST

Architecture Orientée Service, JSON et API REST UPMC 3 février 2015 Précedemment, en LI328 Architecture générale du projet Programmation serveur Servlet/TOMCAT Aujourd hui Quelques mots sur les SOA API - REST Le format JSON API - REST et Servlet API

Plus en détail

Extension SSO Java. Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java.

Extension SSO Java. Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java. Note technique W4 Engine Extension SSO Java Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java. 1 Présentation 3 2 Custom SSO Java 4 3 Bilan 10 Sommaire Référence

Plus en détail

Mise en œuvre des serveurs d application

Mise en œuvre des serveurs d application Nancy-Université Mise en œuvre des serveurs d application UE 203d Master 1 IST-IE Printemps 2008 Master 1 IST-IE : Mise en œuvre des serveurs d application 1/54 Ces transparents, ainsi que les énoncés

Plus en détail

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau) CS WEB Ch 1 Introduction I. INTRODUCTION... 1 A. INTERNET INTERCONNEXION DE RESEAUX... 1 B. LE «WEB» LA TOILE, INTERCONNEXION DE SITES WEB... 2 C. L URL : LOCALISER DES RESSOURCES SUR L INTERNET... 2 D.

Plus en détail

HTTP 1.1. HyperText Transfer Protocol ... ... TCP IP ...

HTTP 1.1. HyperText Transfer Protocol ... ... TCP IP ... HTTP 1.1 Place de http dans le modèle osi : HyperText Transfer Protocol...... TCP IP...... HTTP est un protocole «sans état» : chaque page WEB est transmise dans une connexion séparée (sauf pour les connections

Plus en détail

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique Institut Supérieure Aux Etudes Technologiques De Nabeul Département Informatique Support de Programmation Java Préparé par Mlle Imene Sghaier 2006-2007 Chapitre 1 Introduction au langage de programmation

Plus en détail

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6 Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6 1 BERNIER François http://astronomie-astrophotographie.fr Table des matières Installation d un serveur HTTP (Hypertext Transfer

Plus en détail

10. Base de données et Web. OlivierCuré [ocure@univ-mlv.fr]

10. Base de données et Web. OlivierCuré [ocure@univ-mlv.fr] 10. Base de données et Web 313 Evolution de l'information Ordre de grandeur : 314 1Mo : 1 gros roman 200Mo : ce que mémorise un être humain dans sa vie. 900Mo : information contenue dans le génome d'une

Plus en détail

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

INTRODUCTION A JAVA. Fichier en langage machine Exécutable INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du

Plus en détail

Le développement d applications Web

Le développement d applications Web Le développement d applications Web Plan Principes des applications Web Origine et utilité des Servlets Présentation des Servlets Les JSP La Standard TAG Library Servlet, JSP et accès aux SGBD Les technologies

Plus en détail

BOUCHARD Nicolas. GENTILE Pierre

BOUCHARD Nicolas. GENTILE Pierre PPE ENT Installation d Esup Portail sous Windows De A à Z - Version du 19/04/2007 Page2 Table des Matières PRE REQUIS... 3 INSTALLATION DE L OUTIL ANT... 4 INSTALLATION DU SERVEUR APACHE TOMCAT... 5 PASSER

Plus en détail

as Architecture des Systèmes d Information

as Architecture des Systèmes d Information Plan Plan Programmation - Introduction - Nicolas Malandain March 14, 2005 Introduction à Java 1 Introduction Présentation Caractéristiques Le langage Java 2 Types et Variables Types simples Types complexes

Plus en détail

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp Serveur d'application Client HTML/JS Apache Thrift Bootcamp Pré-requis La liste ci-dessous de logiciels doit être installée et opérationnelle sur la machine des participants : Compilateur thrift http://thrift.apache.org/

Plus en détail

Hébergement de sites Web

Hébergement de sites Web Hébergement de Solutions complètes et évolutives pour l hébergement de sites Web dynamiques et de services Web sécurisés. Fonctionnalités Serveur Web Apache hautes performances Apache 1. et.0 1 avec prise

Plus en détail

Compte Rendu d intégration d application

Compte Rendu d intégration d application ISMA 3EME ANNEE Compte Rendu d intégration d application Compte Rendu Final Maxime ESCOURBIAC Jean-Christophe SEPTIER 19/12/2011 Table des matières Table des matières... 1 Introduction... 3 1. Le SGBD:...

Plus en détail

1. Installation d'un serveur d'application JBoss:

1. Installation d'un serveur d'application JBoss: EPITA Ala Eddine BEN SALEM App-Ing2 J2EE T.P. 4 EJB3, Serveur d'application JBoss 1. Installation d'un serveur d'application JBoss: télécharger l'archive du serveur JBoss à l'adresse: http://sourceforge.net/projects/jboss/files/jboss/jboss-5.0.0.ga/jboss-5.0.0.ga.zip/download

Plus en détail

Internet Information Services (versions 7 et 7.5) Installation, configuration et maintenance du serveur Web de Microsoft

Internet Information Services (versions 7 et 7.5) Installation, configuration et maintenance du serveur Web de Microsoft Introduction à IIS 1. Objectifs de ce livre 13 2. Implémentation d un serveur web 14 2.1 Les bases du web 14 2.2 Les protocoles web 16 2.3 Le fonctionnement d un serveur web 21 2.4 Les applications web

Plus en détail

Vulgarisation Java EE Java EE, c est quoi?

Vulgarisation Java EE Java EE, c est quoi? Paris, le 1 Février 2012 Vulgarisation Java EE Java EE, c est quoi? Sommaire Qu est ce que Java? Types d applications Java Environnements Java Versions de Java Java EE, c est quoi finalement? Standards

Plus en détail

TP1 : Initiation à Java et Eclipse

TP1 : Initiation à Java et Eclipse TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les

Plus en détail

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines) Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines) Module 1 : Programmer une application informatique Durée

Plus en détail

Introduction aux «Services Web»

Introduction aux «Services Web» Introduction aux «Services Web» Sana Sellami sana.sellami@univ-amu.fr 2014-2015 Modalité de contrôle de connaissances Note de contrôle de continu Note projet Evaluation du projet la semaine du 17 novembre

Plus en détail

Initiation à JAVA et à la programmation objet. raphael.bolze@ens-lyon.fr

Initiation à JAVA et à la programmation objet. raphael.bolze@ens-lyon.fr Initiation à JAVA et à la programmation objet raphael.bolze@ens-lyon.fr O b j e c t i f s Découvrir un langage de programmation objet. Découvrir l'environnement java Découvrir les concepts de la programmation

Plus en détail

Java Naming and Directory Interface

Java Naming and Directory Interface Introduction Java Naming and Directory Interface Gaël Thomas gael.thomas@lip6.fr Université Pierre et Marie Curie Master Informatique M2 Spécialité SAR Java Naming and Directory Interface (JNDI) Java Standard

Plus en détail

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères FORMATION PcVue Mise en œuvre de WEBVUE Journées de formation au logiciel de supervision PcVue 8.1 Lieu : Lycée Pablo Neruda Saint Martin d hères Centre ressource Génie Electrique Intervenant : Enseignant

Plus en détail

Outil de planification en ligne pour des créations de rendez-vous ou de sondage

Outil de planification en ligne pour des créations de rendez-vous ou de sondage Outil de planification en ligne pour des créations de rendez-vous ou de sondage Centre de Ressources Informatiques (C.R.I.) d'orléans Université d'orléans 4-6 rue Léonard de Vinci, 45061 Orléans Cedex

Plus en détail

4. SERVICES WEB REST 46

4. SERVICES WEB REST 46 4. SERVICES WEB REST 46 REST REST acronyme de REpresentational State Transfert Concept introduit en 2000 dans la thèse de Roy FIELDING Est un style d architecture inspiré de l architecture WEB En 2010,

Plus en détail

Cours en ligne Développement Java pour le web

Cours en ligne Développement Java pour le web Cours en ligne Développement Java pour le web We TrainFrance info@wetrainfrance Programme général du cours Développement Java pour le web Module 1 - Programmation J2ee A) Bases de programmation Java Unité

Plus en détail

E-mail : contact@nqicorp.com - Web : http://www.nqicorp.com

E-mail : contact@nqicorp.com - Web : http://www.nqicorp.com - 5, rue Soutrane - 06560 Valbonne Sophia-Antipolis E-mail : contact@nqicorp.com - Web : http://www.nqicorp.com NQI Orchestra 3.3 - Guide d'installation Linux....................................................................

Plus en détail

ADMINISTRATION DE ADOBE LIVECYCLE MOSAIC 9.5

ADMINISTRATION DE ADOBE LIVECYCLE MOSAIC 9.5 ADMINISTRATION DE ADOBE LIVECYCLE MOSAIC 9.5 Informations juridiques Copyright 2010 Adobe Systems Incorporated and its licensors. All rights reserved. Administration d Adobe LiveCycle Mosaic 9.5 13 octobre

Plus en détail

Auto-évaluation Aperçu de l architecture Java EE

Auto-évaluation Aperçu de l architecture Java EE Auto-évaluation Aperçu de l architecture Java EE Document: f1218test.fm 22/03/2012 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION APERÇU

Plus en détail

Serveur d application WebDev

Serveur d application WebDev Serveur d application WebDev Serveur d application WebDev Version 14 Serveur application WebDev - 14-1 - 1208 Visitez régulièrement le site www.pcsoft.fr, espace téléchargement, pour vérifier si des mises

Plus en détail

Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web»

Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web» Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web» Sana Sellami sana.sellami@lsis.org 2014-2015 Plan Partie 1: Introduction aux Services Web (SW) Partie 2: Vers une

Plus en détail

MANUEL D INSTALLATION de GEONETWORK sur un serveur LINUX CentOS 4

MANUEL D INSTALLATION de GEONETWORK sur un serveur LINUX CentOS 4 Version : 0.0 Page 1 MANUEL D INSTALLATION de GEONETWORK sur un serveur LINUX CentOS 4 Etablie par Nom Guillain Assoumou Equipe IS Date 31/08/2007 Vérifiée par Validée par 1 Version : 0.0 Page 2 Avertissement

Plus en détail

Introduction à la plateforme J2EE

Introduction à la plateforme J2EE Introduction à la plateforme J2EE Auteur : Oussama Essefi Directeur technique Expert Consulting Oussama.essefi@expert-consulting.biz Copyright 2010 Expert Consulting Page 1 1. Introduction 1.1. Pourquoi

Plus en détail

E-mail : contact@nqicorp.com - Web : http://www.nqicorp.com

E-mail : contact@nqicorp.com - Web : http://www.nqicorp.com - 5, rue Soutrane - 06560 Valbonne Sophia-Antipolis E-mail : contact@nqicorp.com - Web : http://www.nqicorp.com NQI Orchestra 3.3 - Guide d'installation Windows.................................................................

Plus en détail

Messagerie asynchrone et Services Web

Messagerie asynchrone et Services Web Article Messagerie asynchrone et Services Web 1 / 10 Messagerie asynchrone et Services Web SOAP, WSDL SONT DES STANDARDS EMERGEANT DES SERVICES WEB, LES IMPLEMENTATIONS DE CEUX-CI SONT ENCORE EN COURS

Plus en détail

Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework

Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework Gaël de Chalendar CEA LIST / LIC2M Journée de Présentation des Technologies WebContent INSTN 14/12/2009 Présentation de gsoap Plan

Plus en détail

Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP

Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP Au cours de ce TP, vous allez voir comment PHP permet aux utilisateurs, une interaction avec

Plus en détail

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object) Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07

Plus en détail

Alfstore workflow framework Spécification technique

Alfstore workflow framework Spécification technique Alfstore workflow framework Spécification technique Version 0.91 (2012-08-03) www.alfstore.com Email: info@alfstore.com Alfstore workflow framework 2012-10-28 1/28 Historique des versions Version Date

Plus en détail

Chapitre 1 Windows Server 2008 11

Chapitre 1 Windows Server 2008 11 Chapitre 1 Windows Server 2008 11 1.1. Les fondations du système... 15 1.2. La virtualisation... 16 1.3. La sécurité... 18 1.4. Le Web... 20 1.5. Fonctionnalité disponible dans Windows Server 2008... 21

Plus en détail

Serveur d'archivage 2007 Installation et utilisation de la BD exist

Serveur d'archivage 2007 Installation et utilisation de la BD exist Type du document Procédure d'installation Auteur(s) Eric Bouladier Date de création 26/02/20007 Domaine de diffusion tous Validé par Equipe Versions Date Auteur(s) Modifications V1.00 26/02/2007 Eric Bouladier

Plus en détail

JOnAS 5. Serveur d application d

JOnAS 5. Serveur d application d JOnAS 5 Serveur d application d dynamique Agenda En quelques mots Caractéristiques essentielles Zoom sur le versioning 2 Bull, 2008 Serveur d application dynamique JOnAS - Serveur d application Open Source

Plus en détail

Cedric Dumoulin (C) The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/

Cedric Dumoulin (C) The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/ Cedric Dumoulin (C) The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/ Webographie The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/ Les slides de cette présentation

Plus en détail

Formation en Logiciels Libres. Fiche d inscription

Formation en Logiciels Libres. Fiche d inscription République Tunisienne Ministère de l'industrie et la Technologie - Secrétariat d'état de la Technologie Unité des Logiciels Libres Formation en Logiciels Libres Fiche d inscription (Une fiche par candidat)

Plus en détail

Internet. DNS World Wide Web. Divers. Mécanismes de base Exécution d'applications sur le web. Proxy, fire-wall

Internet. DNS World Wide Web. Divers. Mécanismes de base Exécution d'applications sur le web. Proxy, fire-wall Internet DNS World Wide Web Mécanismes de base Exécution d'applications sur le web Divers Proxy, fire-wall 1 Les services usuels de l Internet Services principaux (applications) disponibles sur l Internet

Plus en détail

Jahia. Guillaume Monnette École Ingénieurs 2000 Marne-La-Vallée IR3

Jahia. Guillaume Monnette École Ingénieurs 2000 Marne-La-Vallée IR3 Jahia Guillaume Monnette École Ingénieurs 2000 Marne-La-Vallée IR3 Qu'est ce que c'est? Jahia est une solution de portail internet et de gestion de contenu destiné aux entreprises. (CMS and Enterprise

Plus en détail

Architectures web/bases de données

Architectures web/bases de données Architectures web/bases de données I - Page web simple : HTML statique Le code HTML est le langage de base pour concevoir des pages destinées à être publiées sur le réseau Internet ou intranet. Ce n'est

Plus en détail

Plan. Department of Informatics

Plan. Department of Informatics Plan 1. Application Servers 2. Servlets, JSP, JDBC 3. J2EE: Vue d ensemble 4. Distributed Programming 5. Enterprise JavaBeans 6. Enterprise JavaBeans: Special Topics 7. Prise de recul critique Enterprise

Plus en détail

WWW.MELDANINFORMATIQUE.COM

WWW.MELDANINFORMATIQUE.COM Solutions informatiques Procédure Sur Comment créer un premier Site SharePoint 2010 Historique du document Revision Date Modification Autor 3 2013-04-29 Creation Daniel Roy 1. But.4 2. Configuration..4

Plus en détail

IBM DB2 Alphablox. d administration GC11-2170-00

IBM DB2 Alphablox. d administration GC11-2170-00 IBM DB2 Alphablox Guide d administration Version 8.4 GC11-2170-00 IBM DB2 Alphablox Guide d administration Version 8.4 GC11-2170-00 ii IBM DB2 Alphablox - Guide d administration Table des matières Avis

Plus en détail

Supervision et infrastructure - Accès aux applications JAVA. Document FAQ. Page: 1 / 9 Dernière mise à jour: 15/04/12 16:14

Supervision et infrastructure - Accès aux applications JAVA. Document FAQ. Page: 1 / 9 Dernière mise à jour: 15/04/12 16:14 Document FAQ Supervision et infrastructure - Accès aux EXP Page: 1 / 9 Table des matières Introduction... 3 Démarrage de la console JMX...4 I.Généralités... 4 II.WebLogic... 5 III.WebSphere... 6 IV.JBoss...

Plus en détail

Généralités sur le Langage Java et éléments syntaxiques.

Généralités sur le Langage Java et éléments syntaxiques. Généralités sur le Langage Java et éléments syntaxiques. Généralités sur le Langage Java et éléments syntaxiques....1 Introduction...1 Genéralité sur le langage Java....1 Syntaxe de base du Langage...

Plus en détail

arcopole Studio Annexe 7 Architectures Site du programme arcopole : www.arcopole.fr

arcopole Studio Annexe 7 Architectures Site du programme arcopole : www.arcopole.fr 4 arcopole Studio Annexe 7 Architectures Site du programme arcopole : www.arcopole.fr Auteur du document : Esri France Version de la documentation : 1.2 Date de dernière mise à jour : 26/02/2015 Sommaire

Plus en détail

Groupe Eyrolles, 2005, ISBN : 2-212-11406-0

Groupe Eyrolles, 2005, ISBN : 2-212-11406-0 Groupe Eyrolles, 2005, ISBN : 2-212-11406-0 10 L atelier MyEclipse Eclipse facilite considérablement le développement Java en équipe. Son puissant éditeur, associé à des fonctionnalités de complétion de

Plus en détail

Architectures Web Services RESTful

Architectures Web Services RESTful Architectures Web Services RESTful Alexandre Denis Alexandre.Denis@inria.fr Inria Bordeaux Sud-Ouest France ENSEIRB PG306 REST REST Representational State Transfer Roy Fielding (2000) Décollage vers 2006-2007

Plus en détail

Application de lecture de carte SESAM-Vitale Jeebop

Application de lecture de carte SESAM-Vitale Jeebop Application de lecture de carte SESAM-Vitale Jeebop Présentation Le module de lecture de carte SESAM-Vitale Jeebop est une application Java Web Start, c'est à dire une application Java qui se télécharge

Plus en détail

Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa www.degenio.com Novembre 2008

Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa www.degenio.com Novembre 2008 Introduction Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa www.degenio.com Novembre 2008 Forms 10g permet l utilisation du JAVA côté client et côté application

Plus en détail

Cours Plugin Eclipse. Université Paris VI / Parcours STL / Master I Pierre-Arnaud Marcelot - Iktek - pamarcelot@iktek.com

Cours Plugin Eclipse. Université Paris VI / Parcours STL / Master I Pierre-Arnaud Marcelot - Iktek - pamarcelot@iktek.com Cours Plugin Eclipse Université Paris VI / Parcours STL / Master I Pierre-Arnaud Marcelot - Iktek - pamarcelot@iktek.com 1 Qui suis-je? Ancien étudiant de Jussieu - Paris VI Diplomé du Master Technologies

Plus en détail

Authentification et contrôle d'accès dans les applications web

Authentification et contrôle d'accès dans les applications web Authentification et contrôle d'accès dans les applications web Quelques Rappels Objectifs : contrôler que seulement Certains utilisateurs Exécutent certaines opérations Sur certains objets Trois entités

Plus en détail

Automatisation de l administration système

Automatisation de l administration système Automatisation de l administration système Plan Problèmatique : trop de systèmes, trop de solutions Typage des solutions Puppet : gestion de configuration de systèmes Capistrano : déploiement d applications

Plus en détail

Bases Java - Eclipse / Netbeans

Bases Java - Eclipse / Netbeans Institut Galilée PDJ Année 2014-2015 Master 1 Environnements Java T.P. 1 Bases Java - Eclipse / Netbeans Il existe plusieurs environnements Java. Il est ESSENTIEL d utiliser la bonne version, et un environnement

Plus en détail

Environnements de Développement

Environnements de Développement Institut Supérieur des Etudes Technologiques de Mahdia Unité d Enseignement: Environnements de Développement BEN ABDELJELIL HASSINE Mouna m.bnaj@yahoo.fr Développement des systèmes d Information Syllabus

Plus en détail

Encapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets.

Encapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets. Encapsulation L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets. La visibilité dépend des membres : certains membres peuvent être visibles et d'autres

Plus en détail

SIO-65291 Page 1 de 5. Applications Web dynamiques. Prof. : Dzenan Ridjanovic Assistant : Vincent Dussault

SIO-65291 Page 1 de 5. Applications Web dynamiques. Prof. : Dzenan Ridjanovic Assistant : Vincent Dussault SIO-65291 Page 1 de 5 1- Objectifs généraux Applications Web dynamiques Prof. : Dzenan Ridjanovic Assistant : Vincent Dussault acquérir les principes et concepts fondamentaux dans le domaine d'applications

Plus en détail

Utilisation de Jakarta Tomcat

Utilisation de Jakarta Tomcat ISI 1022 : Déploiement d applications Web Jean-Noël Sorenti. Année 2002/2003 Déploiement d application Web Utilisation de Jakarta Tomcat ISI 1022 : 1 ISI 1022 : Déploiement d applications Web Une application

Plus en détail

Les services usuels de l Internet

Les services usuels de l Internet Les services usuels de l Internet Services principaux (applications) disponibles sur l Internet Courrier électronique (mail) - protocole SMTP (Simple Mail Transfer Protocol) inclut maintenant tous types

Plus en détail

arcopole Studio Annexe 4 Intégration LDAP et processus d authentification Site du programme arcopole : www.arcopole.fr

arcopole Studio Annexe 4 Intégration LDAP et processus d authentification Site du programme arcopole : www.arcopole.fr arcopole Studio Annexe 4 Intégration LDAP et processus d authentification Site du programme arcopole : www.arcopole.fr Auteur du document : ESRI France Version de la documentation : 1.2.0.0 Date de dernière

Plus en détail

A. Architecture du serveur Tomcat 6

A. Architecture du serveur Tomcat 6 Administration du serveur A. Architecture du serveur Tomcat 6 La compréhension de l architecture interne du serveur Tomcat 6 est un pré-requis indispensable pour bien en maîtriser l administration et la

Plus en détail

Cours 1: Java et les objets

Cours 1: Java et les objets Ressources Les interface homme-machine et le langage Java DUT première année Henri Garreta, Faculté des Sciences (Luminy) Cyril Pain-Barre & Sébastien Nedjar, IUT d Aix-Marseille (Aix) Cours 1: infodoc.iut.univ-aix.fr/~ihm/

Plus en détail

Sage CRM. 7.2 Guide de Portail Client

Sage CRM. 7.2 Guide de Portail Client Sage CRM 7.2 Guide de Portail Client Copyright 2013 Sage Technologies Limited, éditeur de ce produit. Tous droits réservés. Il est interdit de copier, photocopier, reproduire, traduire, copier sur microfilm,

Plus en détail

Open Source Job Scheduler. Installation(s)

Open Source Job Scheduler. Installation(s) Open Source Job Scheduler Installation(s) Installations Standard Configuration Superviseur Agent SOS-Paris 2 Pré-requis o Base de données o MySQL, MSACCESS, Oracle o JDBC ou ODBC o Connecteurs o Mysql

Plus en détail

Programmation Web. Introduction

Programmation Web. Introduction Programmation Web Introduction 1 Introduction 10 séances 1 h cours + 1h TD Notes : contrôle continu DS 1 TP : note de groupe : rapport + code source + démo TD : note personnelle (=0 si 2 absences non justifiées)

Plus en détail

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS)

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS) PHP et mysql php_mysql PHP et mysql Code: php_mysql Originaux url: http://tecfa.unige.ch/guides/tie/html/php-mysql/php-mysql.html url: http://tecfa.unige.ch/guides/tie/pdf/files/php-mysql.pdf Auteurs et

Plus en détail

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7 Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Introduction au Langage Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin

Plus en détail

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application Architecture Multi-Tier Traditionnellement une application informatique est un programme exécutable sur une machine qui représente la logique de traitement des données manipulées par l application. Ces

Plus en détail

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean.

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean. Plan du cours 2 Introduction générale : fondamentaux : les fondamentaux Michel Buffa (buffa@unice.fr), UNSA 2002, modifié par Richard Grin (version 1.1, 21/11/11), avec emprunts aux supports de Maxime

Plus en détail

L'AAA, késako? Bruno Bonfils, <asyd@solaris fr.org>, Novembre 2005. Sous ce terme d'apparence barbare est regroupé l'ensemble des concepts suivants :

L'AAA, késako? Bruno Bonfils, <asyd@solaris fr.org>, Novembre 2005. Sous ce terme d'apparence barbare est regroupé l'ensemble des concepts suivants : Introduction L'AAA, késako? Bruno Bonfils, , Novembre 2005 Sous ce terme d'apparence barbare est regroupé l'ensemble des concepts suivants : Authentication (authentification) Authorization

Plus en détail

PROCEDURE D'INSTALLATION OPENREPORTS

PROCEDURE D'INSTALLATION OPENREPORTS PROCEDURE D'INSTALLATION OPENREPORTS Table des matières Prérequis...2 1 Installation linux...2 2 Installation JAVA...3 2.1 Installation de la jdk...3 2.2 Configuration de l'environnement...3 3 Installation

Plus en détail

Nouvelles Plateformes Technologiques

Nouvelles Plateformes Technologiques Cycle de présentation du développement Nouvelles Plateformes Technologiques Observatoire Technologique, CTI Observatoire Technologique 4 mai 2004 p 1 Plan de la présentation 1. Historique du projet 2.

Plus en détail

Failles XSS : Principes, Catégories Démonstrations, Contre mesures

Failles XSS : Principes, Catégories Démonstrations, Contre mesures HERVÉ SCHAUER CONSULTANTS Cabinet de Consultants en Sécurité Informatique depuis 1989 Spécialisé sur Unix, Windows, TCP/IP et Internet Séminaire 15 ans HSC Failles XSS : Principes, Catégories Démonstrations,

Plus en détail

WebSSO, synchronisation et contrôle des accès via LDAP

WebSSO, synchronisation et contrôle des accès via LDAP 31 mars, 1er et 2 avril 2009 WebSSO, synchronisation et contrôle des accès via LDAP Clément Oudot Thomas Chemineau Sommaire général Synchronisation d'identités WebSSO et contrôle des accès Démonstration

Plus en détail

Java DataBaseConnectivity

Java DataBaseConnectivity Java DataBaseConnectivity JDBC JDBC est une API Java (ensemble de classes et d interfaces défini par SUN et les acteurs du domaine des SGBD) permettant d accéder aux bases de données à l aide du langage

Plus en détail

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. Enrica.Duchi@liafa.jussieu.fr

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. Enrica.Duchi@liafa.jussieu.fr . Cours intensif Java 1er cours: de C à Java Septembre 2009 Enrica DUCHI LIAFA, Paris 7 Enrica.Duchi@liafa.jussieu.fr LANGAGES DE PROGRAMMATION Pour exécuter un algorithme sur un ordinateur il faut le

Plus en détail

Joomla! Création et administration d'un site web - Version numérique

Joomla! Création et administration d'un site web - Version numérique Avant-propos 1. Objectifs du livre 15 1.1 Orientation 15 1.2 À qui s adresse ce livre? 16 2. Contenu de l ouvrage 17 3. Conclusion 18 Introduction 1. Un peu d histoire pour commencer... 19 1.1 Du web statique

Plus en détail