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. : 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 %> 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

Programmation servlet

Programmation servlet Programmation servlet Olivier Aubert 1/23 Références http://developer.java.sun.com/developer/onlinetraining/servlets/fundamenta http://www.servlets.com http://java.sun.com/products/jsp/index.html http://www.servletcentral.com/

Plus en détail

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

Introduction Fonctionnement L API Servlet SERVLET. Claude Duvallet 1/32

Introduction Fonctionnement L API Servlet SERVLET. Claude Duvallet 1/32 Claude Duvallet Université du Havre UFR Sciences et Techniques 25 rue Philippe Lebon - BP 540 76058 LE HAVRE CEDEX Claude.Duvallet@gmail.com http://litis.univ-lehavre.fr/ duvallet/ Claude Duvallet 1/32

Plus en détail

Apache Tomcat 8 Guide d'administration du serveur Java EE 7 sous Windows et Linux

Apache Tomcat 8 Guide d'administration du serveur Java EE 7 sous Windows et Linux Avant-propos 1. À qui s adresse ce livre? 11 2. Les pré-requis 12 Préambule 1. Rappel sur les architectures Internet/Intranet/Extranet 13 1.1 Le protocole HTTP 14 1.1.1 Les méthodes HTTP 16 1.1.2 Les codes

Plus en détail

Partie 2.2: Servlet et Tomcat

Partie 2.2: Servlet et Tomcat Partie 2.2: Servlet et Tomcat 1 Plan du cours Servlets Présentation Exemple 2 Plan du cours Tomcat Des servlets à Tomcat: pourquoi Tomcat? Architecture Tomcat Installation et configuration de Tomcat Configuration

Plus en détail

Applications Web. Cours 2: Introduction J2EE Servlets et JSP. Khaled Khelif

Applications Web. Cours 2: Introduction J2EE Servlets et JSP. Khaled Khelif Applications Web Cours 2: Introduction J2EE Servlets et JSP Khaled Khelif 1 Rappel Web statique vs. Web dynamique Principe des applications web Protocole HTTP : requêtes en mode texte Développement d applications

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

Les servlets Le langage Java Les Servlets XVII-1 JMF

Les servlets Le langage Java Les Servlets XVII-1 JMF Les Servlets XVII-1 servlet =? Une servlet est un programme (plug-in) à ajouter à un serveur (quel qu'il soit). Ce cours a trait à la programmation Java coté serveur (J2EE ) Pour l'instant les serveurs

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

Applications Web (Java)

Applications Web (Java) Applications Web (Java) Mohamed Quafafou 4A Polytech'Marseille mohamed.quafafou@univ-amu.fr 1 Servlets [Bases Exemples] 2 Java Servlets Java Servlet est une extension générique de serveur qui signifie

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

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

http://www.sigl.epita.net Struts Struts Romain Couturier Aurélia Fermé Frédéric Lung Tung Matthieu Nicolas 17/06/2002 17/06/2002 ACO slide 1

http://www.sigl.epita.net Struts Struts Romain Couturier Aurélia Fermé Frédéric Lung Tung Matthieu Nicolas 17/06/2002 17/06/2002 ACO slide 1 http://www.sigl.epita.net Romain Couturier Aurélia Fermé Frédéric Lung Tung Matthieu Nicolas slide 1 Plan Rappels Servlet JSP JavaBean MVC (1 & 2) Présentation Vue Contrôleur Modèle Exemple d application

Plus en détail

JAVA PROGRAMMATION. Programme. 1. Java, HTML et World Wide Web

JAVA PROGRAMMATION. Programme. 1. Java, HTML et World Wide Web PROGRAMMATION PUBLIC Professionnels informatiques qui souhaitent développer des applications et «applets» Java DUREE 4 jours 28 heures OBJECTIF Créer divers «applets» à intégrer dans un site Web dynamique,

Plus en détail

Plan. Environnement Client/Serveur. Cours 7 JavaServer Pages (1) JSP. Programmation Web coté serveur

Plan. Environnement Client/Serveur. Cours 7 JavaServer Pages (1) JSP. Programmation Web coté serveur Plan Environnement Client/Serveur Cours 7 JavaServer Pages (1) kn@lri.fr 7.1 Principe 7.2 Rappels HTTP 7.3 Le serveur web Tomcat Programmation Web coté serveur JSP 2/28 (rappel) génération de pages-web

Plus en détail

Module FMIN306 : servlets et conteneurs de servlets

Module FMIN306 : servlets et conteneurs de servlets Module FMIN306 : servlets et conteneurs de servlets 1. Introduction à l administration d applications Web Les serveurs Web (Apache, IIS,...) peuvent être étendus par différents serveurs d applications

Plus en détail

Implémentée sous forme de JavaBean ou EJB, c est dans cette couche que l on retrouve l ensemble des traitements d une application.

Implémentée sous forme de JavaBean ou EJB, c est dans cette couche que l on retrouve l ensemble des traitements d une application. Introduction Nous allons parler, dans ce document consacré aux architectures multi-tiers en environnement J2EE, de 3 des cinq couches les plus représentatives. Faisons tout d'abord un petit rappel sur

Plus en détail

Programmation n-tiers. Chapitre III - Les Servlets

Programmation n-tiers. Chapitre III - Les Servlets Institut Supérieur des Études Technologiques de Kasserine Département Technologies de l'informatique Chapitre III - Les Servlets DSI21 Introduction A la base, les serveurs web sont seulement capables de

Plus en détail

Cours 8 : développement d'applications Web

Cours 8 : développement d'applications Web Cours 8 : développement d'applications Web Typologie des applications Web Architecture 3-tiers Composants J2EE : servlets, JSP, XML Terminologie : serveurs Web, d'applications, de servlets,... Le protocole

Plus en détail

J2EE. A.-E. Ben Salem. 09 Octobre 2011. LRDE and LIP6 1 / 15

J2EE. A.-E. Ben Salem. 09 Octobre 2011. LRDE and LIP6 1 / 15 J2EE A.-E. Ben Salem LRDE and LIP6 09 Octobre 2011 1 / 15 Plan 1 J2EE 2 Architecture Client/Serveur HTTP 3 Différence entre Web Statique et Web Dynamique 4 Web Dynamique avec un Serveur d applications

Plus en détail

Architecture des systèmes d information répartis

Architecture des systèmes d information répartis Architecture des systèmes d information répartis L architecture multi-tiers Sorina Ionica 1 Présentation du cours Répartition des cours Cours + TD Services web Cours + TD J2EE Contrôle des connaissances

Plus en détail

Architecture Logicielle

Architecture Logicielle Architecture Logicielle Les applications d'entreprise exemple : La technologie JEE Année universitaire 2013/2014 Semestre 1 Introduction Une application d'entreprise a généralement les caractéristiques

Plus en détail

Ala Eddine BEN SALEM. T.P. 2 Servlet

Ala Eddine BEN SALEM. T.P. 2 Servlet EPITA Ala Eddine BEN SALEM App-Ing2 J2EE T.P. 2 Servlet 1. Création d'un projet Web: A l'aide d'eclipse, créer un nouveau projet «sampleservlet» avec comme environnement d'exécution le serveur Tomcat installé

Plus en détail

Micro guide Struts. par Jérémy Buget

Micro guide Struts. par Jérémy Buget Micro guide Struts par Jérémy Buget Table des matières 1) Introduction...2 2)Définitions...3 2) Déroulement...4 3) Schéma récapitulatif...5 4) Code des différents composants sus-cités... 6 5)Liens utiles...

Plus en détail

Architecture Web Comment mettre en place un frontal à un serveur d'application ( Formation UNR Arras - 24/11/2004 )

Architecture Web Comment mettre en place un frontal à un serveur d'application ( Formation UNR Arras - 24/11/2004 ) Architecture Web Ou Comment mettre en place un frontal à un serveur d'application ( Formation UNR Arras - 24/11/2004 ) Fareneau F. 1 Avertissement Ni l'auteur, ni les éditeurs, ni tout autre personne ayant

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 développement d applications Web : Java EE Configuration et installation d un serveur d application : Tomcat

Java pour le développement d applications Web : Java EE Configuration et installation d un serveur d application : Tomcat Java pour le développement d applications Web : Java EE Configuration et installation d un serveur d application : Tomcat Mickaël BARON - 2007 mailto:baron.mickael@gmail.com ou mailto:mickael.baron@serli.com

Plus en détail

«Anatomie» d une application web Servlets - JDBC

«Anatomie» d une application web Servlets - JDBC «Anatomie» d une application web Servlets - JDBC Patrick REIGNIER - Philippe GENOUDUJF Février 2005 1 L application histogramme de notes HistoServlet HistoServlet HistogramModel HistogramModel (objet (objet

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

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

Plan du travail. 2014/2015 Cours TIC - 1ère année MI 86

Plan du travail. 2014/2015 Cours TIC - 1ère année MI 86 Plan du travail Chapitre 1: Internet et le Web Chapitre 2: Principes d Internet Chapitre 3 : Principaux services d Internet Chapitre 4 : Introduction au langage HTML 2014/2015 Cours TIC - 1ère année MI

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

La plate-forme J2EE LPRO CMSII. Olivier Flauzac. olivier.flauzac@univ-reims.fr

La plate-forme J2EE LPRO CMSII. Olivier Flauzac. olivier.flauzac@univ-reims.fr La plate-forme J2EE LPRO CMSII Olivier Flauzac olivier.flauzac@univ-reims.fr Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 1 / 71 Plan 1 Java? 2 Architecture des applications

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

AP-5 TD n 2 J2EE 5 novembre 2013

AP-5 TD n 2 J2EE 5 novembre 2013 Objectifs Prérequis Gestion des informations temporaires, sessions et cookies JSP et servlets, mise en place d un contrôleur Java Runtime Environnement (http://www.java.com/fr/download/) (JRE Java 7) IDE

Plus en détail

Java EE. Cours de 2 e année ingénieur Spécialisation «Génie Informatique» fabien.romeo@fromeo.fr http://www.fromeo.fr

Java EE. Cours de 2 e année ingénieur Spécialisation «Génie Informatique» fabien.romeo@fromeo.fr http://www.fromeo.fr Java EE Cours de 2 e année ingénieur Spécialisation «Génie Informatique» fabien.romeo@fromeo.fr http://www.fromeo.fr Présentation du cours Pôle GL-I2 «Génie logiciel avancé» 20h sur 8 semaines Objectifs

Plus en détail

Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer. L3 Pro Informatique - 2010-2011

Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer. L3 Pro Informatique - 2010-2011 1 / 34 Développement Web - Servlet Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer L3 Pro Informatique - 2010-2011 2 / 34 Plan Plan 1 Introduction 2 Servlet

Plus en détail

Qu'est-ce qu'un Web Service?

Qu'est-ce qu'un Web Service? WEB SERVICES Qu'est-ce qu'un Web Service? Un Web Service est un composant implémenté dans n'importe quel langage, déployé sur n'importe quelle plate-forme et enveloppé dans une couche de standards dérivés

Plus en détail

JDBC. Daniel Tschirhart : Programmation Java V1.35 1.1

JDBC. Daniel Tschirhart : Programmation Java V1.35 1.1 JDBC Daniel Tschirhart : Programmation Java V1.35 1.1 JDBC JDBC est l'acronyme de Java DataBase Connectivity et désigne une API définie par Sun pour permettre un accès aux bases de données avec Java Accès

Plus en détail

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand 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

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

La plate-forme J2EE. Master Informatique 2ème année. Olivier Flauzac. olivier.flauzac@univ-reims.fr

La plate-forme J2EE. Master Informatique 2ème année. Olivier Flauzac. olivier.flauzac@univ-reims.fr La plate-forme J2EE Master Informatique 2ème année Olivier Flauzac olivier.flauzac@univ-reims.fr Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 1 / 64 Plan 1 Java? 2 Architecture

Plus en détail

LISE 3. Template pour les mails. Version 1.0 du 13/04/2010. Etat : Validé

LISE 3. Template pour les mails. Version 1.0 du 13/04/2010. Etat : Validé Template pour les mails Version 1.0 du 13/04/2010 Etat : Validé SUIVI DES MODIFICATIONS Version Rédaction Description Vérification Date 1.0 A. Lesuffleur création du document 13/04/10 Document validé dans

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

Plan. La plate-forme J2EE. Plan J2SE. Standard Edition. Master Informatique 2ème année. Olivier Flauzac. olivier.flauzac@univ-reims.

Plan. La plate-forme J2EE. Plan J2SE. Standard Edition. Master Informatique 2ème année. Olivier Flauzac. olivier.flauzac@univ-reims. Plan La plate-forme J2EE Master Informatique 2ème année Olivier Flauzac olivier.flauzac@univ-reims.fr Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 1 / 64 Olivier Flauzac (URCA)

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

TME 1 JAVASCRIPT (2 SEANCES)

TME 1 JAVASCRIPT (2 SEANCES) TME 1 JAVASCRIPT (2 SEANCES) 1. EXERCICES DE BASE Créez des fonctions javascript pour : - faire un jeu «plus petit plus grand» qui tire un nombre au hasard que l utilisateur doit trouver en entrant des

Plus en détail

Échange et mise à jourde documents XML via le Web p.1/46

Échange et mise à jourde documents XML via le Web p.1/46 Échange et mise à jour de documents XML via le Web Échange et mise à jourde documents XML via le Web p.1/46 CGI : Common Gateway Interface Principe : on déclenche une action (un programme) sur la machine

Plus en détail

Le client/serveur repose sur une communication d égal à égal entre les applications.

Le client/serveur repose sur une communication d égal à égal entre les applications. Table des matières LES PRINCIPES DE BASE... 1 Présentation distribuée-revamping...2 Présentation distante...3 Traitements distribués...3 données distantes-rd...4 données distribuées-rda distribué...4 L'ARCHITECTURE

Plus en détail

Les formations. Développeur Logiciel. ENI Ecole Informatique

Les formations. Développeur Logiciel. ENI Ecole Informatique page 1/5 Titre professionnel : Reconnu par l Etat de niveau III (Bac), inscrit au RNCP (arrêté du 12/10/07, J.O. n 246 du 23/10/07) (32 semaines) Unité 1 : Structurer une application 6 semaines Module

Plus en détail

TD4 : Wikis, Servlets & Projet

TD4 : Wikis, Servlets & Projet Université Bordeaux 1 T.D. License 3 Informatique 2007 2008 TD4 : Wikis, Servlets & Projet L objet de cette séance est de vous familiariser avec les sockets et les servlets, et d introduire le projet.

Plus en détail

Kit d'intégration FAS+

Kit d'intégration FAS+ Guide d'intégration de l'application IAM - Annexe Kit d'intégration FAS+ Date 24/08/2012 Version 3.0 TABLE DES MATIÈRES 1 Introduction...3 2 Kit d'intégration FAS+...3 2.1 Pages JSP...4 2.2 Classes Java...7

Plus en détail

Technologies du Multimédia et du Web

Technologies du Multimédia et du Web 3 ème Année Licence appliquée Technologies du Multimédia et du Web MoezBEN HAJ HMIDA ISSAT Sousse 2009/2010 Plan Les systèmes e-services Évolution des architectures d applications Les architectures client/serveur

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

WWW - Intérêts du Web

WWW - Intérêts du Web WWW - Intérêts du Web client universel facilité d'emploi standards ouverts intégration des autres services Internet extensibilité du système faibles coûts logiciel et réseau utilisation au sein d'une entreprise

Plus en détail

Module Client Serveur Web 2006 Cours, TD et TP sur PHP et Tomcat

Module Client Serveur Web 2006 Cours, TD et TP sur PHP et Tomcat Prénom : Module Client Serveur Web 2006 Cours, TD et TP sur PHP et Tomcat Nom : Merci de répondre aux questions fermées directement sur la présente feuille et aux questions ouvertes sur une feuille indépendante

Plus en détail

Programmation Avancée pour le Web

Programmation Avancée pour le Web L3 Informatique Option : ISIL Programmation Avancée pour le Web RAMDANI Med U Bouira 1 Contenu du module Introduction aux applications Web Rappels sur les sites Web Conception d une application Web Notion

Plus en détail

Java EE Cours 1. Présentation Générale. Cours de 2 e année ingénieur

Java EE Cours 1. Présentation Générale. Cours de 2 e année ingénieur Java EE Cours 1 Présentation Générale Cours de 2 e année ingénieur 1 Présentation du cours Objectifs Développement d applications Web robustes «Ne pas réinventer la roue» utilisation d un framework 1 Apprentissage

Plus en détail

Internet Information Services 8 (IIS 8) Installation, configuration et maintenance du serveur Web IIS 8 sous Windows Server 2012

Internet Information Services 8 (IIS 8) Installation, configuration et maintenance du serveur Web IIS 8 sous Windows Server 2012 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

MVC Modèle-Vue-Contrôleur Exemple d application

MVC Modèle-Vue-Contrôleur Exemple d application MVC Modèle-Vue-Contrôleur Exemple d application 0.1 Rappels La plateforme Spring MVC repose sur un DispatcherServlet qui gère toutes les requêtes. En rappel, nous avons vu lors du cours JSP et servlet

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

Apache Tomcat 8. Guide d administration du serveur Java EE 7 sous Windows et Linux. Apache Tomcat 8. Apache Tomcat 8

Apache Tomcat 8. Guide d administration du serveur Java EE 7 sous Windows et Linux. Apache Tomcat 8. Apache Tomcat 8 Avant-propos Préambule La plate-forme Java EE Installation et configuration Administration du serveur Déploiement et gestion des applications La sécurité du serveur et des applications Analyse et supervision

Plus en détail

LANGAGES & DéVELOPPEMENT. Une équipe à vos côtés pour toutes vos montées en compétences

LANGAGES & DéVELOPPEMENT. Une équipe à vos côtés pour toutes vos montées en compétences LANGAGES & DéVELOPPEMENT Une équipe à vos côtés pour toutes vos montées en compétences ASP.NET OPTION VB.NET OU C# 5 jours Permettre aux participants de mieux appréhender ce qu est la programmation pour

Plus en détail

Familiarisation avec Eclipse / Netbeans

Familiarisation avec Eclipse / Netbeans Institut Galilée LEE Année 011-01 Master T.P. 0 Familiarisation avec Eclipse / Netbeans Lien important contenant le pdf du cours et du TP, et ensuite des sources : http://www-lipn.univ-paris13.fr/~fouquere/mpls

Plus en détail

Applications orientées données (NSY135)

Applications orientées données (NSY135) Applications orientées données (NSY135) 2 Applications Web Dynamiques Auteurs: Raphaël Fournier-S niehotta et Philippe Rigaux (philippe.rigaux@cnam.fr,fournier@cnam.fr) Département d informatique Conservatoire

Plus en détail

Zend Framework 2 Industrialisez vos développements PHP

Zend Framework 2 Industrialisez vos développements PHP Avant-propos 1. Lectorat 15 2. Contenu du livre 15 3. Pré-requis 17 Introduction 1. Un peu d histoire 19 1.1 Petite histoire de l informatique 19 1.2 Petite histoire des langages informatiques 20 1.3 Petite

Plus en détail

Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer. M2 CDS2I - 4 février 2010

Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer. M2 CDS2I - 4 février 2010 1 / 24 Développement Web - Servlet Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer M2 CDS2I - 4 février 2010 2 / 24 Plan Plan 1 2 Le modèle MVC 3 Structure

Plus en détail

Rapport Gestion de projet

Rapport Gestion de projet IN56 Printemps 2008 Rapport Gestion de projet Binôme : Alexandre HAFFNER Nicolas MONNERET Enseignant : Nathanaël COTTIN Sommaire Description du projet... 2 Fonctionnalités... 2 Navigation... 4 Description

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

Les architectures I*Net. Première approche

Les architectures I*Net. Première approche 1 Les architectures I*Net Première approche Les architectures I*Net 2 L histoire d Internet De l architecture Mainframe à l architecture I*net J2EE et les architectures I*net 3 L histoire d Internet L

Plus en détail

Java - Struts. Noël Macé Licence CC BY-NC-SA Version 1-30/05/12

Java - Struts. Noël Macé Licence CC BY-NC-SA Version 1-30/05/12 Java - Struts Noël Macé Licence CC BY-NC-SA Version 1-30/05/12 Introduction Quoi, pourquoi, comment et depuis quand? Plan Framework Qu'est ce? Pourquoi? Struts Qu'est ce? Pourquoi? Struts 1 Struts 2 Méthodes

Plus en détail

Les architectures N-tiers

Les architectures N-tiers Les architectures N-tiers 1 SOMMAIRE DU COURS XML ET LES ARCHITECTURES N-TIER Introduction aux architectures N-tier Serveurs d applications Déploiement d applications J2EE Tiers applicatif : servlets Tiers

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

Programmation Avancée pour le Web

Programmation Avancée pour le Web L3 Informatique Option : ISIL Programmation Avancée pour le Web RAMDANI Med U Bouira 1 Contenu du module Introduction aux applications Web Rappels sur les sites Web Conception d une application Web Notion

Plus en détail

Cours Serveurs d application. et Java avancé. Introduction au cours Serveurs d application. et Java avancé. Prérequis / Objectifs.

Cours Serveurs d application. et Java avancé. Introduction au cours Serveurs d application. et Java avancé. Prérequis / Objectifs. Cours Serveurs d application et Java avancé Introduction au cours Serveurs d application et Java avancé ITU Université de Nice Richard Grin Version O 1.0.1 12/4/14 20 h de cours et TPs Richard Grin, université

Plus en détail

PRESENTATION DE JAVA. Qu est-ce que java? Les caractéristiques du langage java Les outils Les API Références. Software Associates International

PRESENTATION DE JAVA. Qu est-ce que java? Les caractéristiques du langage java Les outils Les API Références. Software Associates International PRESENTATION DE JAVA Qu est-ce que java? Les caractéristiques du langage java Les outils Les API Références 1 Qu est-ce que java? Un langage de programmation orienté objets Une architecture de Virtual

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

Java et Objet. Amélie Lambert 2014-2015. Amélie Lambert 2014-2015 1 / 42

Java et Objet. Amélie Lambert 2014-2015. Amélie Lambert 2014-2015 1 / 42 Java et Objet Amélie Lambert 2014-2015 Amélie Lambert 2014-2015 1 / 42 Chapitre 8 Développement d applications Web Amélie Lambert 2014-2015 2 / 42 Plan du cours Typologie des applications Web Architecture

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

[ Hornet ] Guide de migration d'un projet Acube vers Hornet

[ Hornet ] Guide de migration d'un projet Acube vers Hornet [ Hornet ] Guide de migration d'un projet Acube vers Hornet 3.6B Cette création est mise à disposition selon le Contrat Paternité - Pas d'utilisation Commerciale - Partage des Conditions Initiales à l'identique

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

JSP JAVA SERVER PAGES

JSP JAVA SERVER PAGES JSP JAVA SERVER PAGES JSP Objectif : simplifier l'écriture de servlets : Servlets = "HTML inside Java" JSP = "Java inside HTML" Avertissements : JSP = servlet Similaire à Javascript/AJAX-JQuery On est

Plus en détail

Gestion des immeubles

Gestion des immeubles RAPPORT DE CONCEPTION Gestion des immeubles BOUSSRHAN YOUSSEF & BENZITI WALID Email : Youssefboussrhan@gmail.com GSM : 0678510690, 0611347597 ISTA NTIC SYBA CRJJ GROUPE B Annexe : Figure 1: Diagramme de

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

Java et Objet. Amélie Lambert 2014-2015. Amélie Lambert 2014-2015 1 / 52

Java et Objet. Amélie Lambert 2014-2015. Amélie Lambert 2014-2015 1 / 52 Java et Objet Amélie Lambert 2014-2015 Amélie Lambert 2014-2015 1 / 52 Chapitre 10 Le langage JavaServer Pages (JSP) et le modèle de composants Java (Java beans) Amélie Lambert 2014-2015 2 / 52 Plan du

Plus en détail

6. JSP. Cours Web. Java Server Pages (JSP) 6. JSP 6. JSP. Java Server Pages (JSP) Lionel Seinturier. Université Pierre & Marie Curie

6. JSP. Cours Web. Java Server Pages (JSP) 6. JSP 6. JSP. Java Server Pages (JSP) Lionel Seinturier. Université Pierre & Marie Curie Cours Web Java Server Pages (JSP) Lionel Seinturier Université Pierre & Marie Curie Lionel.Seinturier@lip6.fr 11/7/02 Java Server Pages (JSP) Programme Java s'exécutant côté serveur Web servlet prog. "autonome"

Plus en détail

Analyse des besoins logiciels

Analyse des besoins logiciels Analyse des besoins logiciels Encadrement et supervision Annie Danzart Jean-Claude Moissinac Equipe de développement Mohamed Anouar Benaissa anouar@benaissa.net Anthony Rabiaza rabiaza@enst.fr Déva Pajaniaye

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

Architecture client/serveur

Architecture client/serveur Architecture client/serveur Table des matières 1. Principe du client/serveur...2 2. Communication client/serveur...3 2.1. Avantages...3 2.2. Inconvénients...3 3. HTTP (HyperText Transfer Protocol)...3

Plus en détail

Cahier de charges (Source : "Java EE - Guide de développement d'applications web en Java" par Jérôme Lafosse) Module. Site Web dynamique JSP / Servlet

Cahier de charges (Source : Java EE - Guide de développement d'applications web en Java par Jérôme Lafosse) Module. Site Web dynamique JSP / Servlet Cahier de charges (Source : "Java EE - Guide de développement d'applications web en Java" par Jérôme Lafosse) Module Site Web dynamique JSP / Servlet Sujet : betaboutique Soutenance le 04 / 01 /2013 &

Plus en détail

Travaux Pratiques (Licence Pro) Servlet/JSP (MVC) & Web Services. --- Site Web d un club de tennis

Travaux Pratiques (Licence Pro) Servlet/JSP (MVC) & Web Services. --- Site Web d un club de tennis Travaux Pratiques (Licence Pro) Servlet/JSP (MVC) & Web Services --- Site Web d un club de tennis ETAPE 1 : Services locaux ( servlets / JSP ) Services offerts par le site web a chaque adhérent du club

Plus en détail

EISTI 2008-2009 Examen Java EE. Q1 : cycle de vie d un servlet (2 points)

EISTI 2008-2009 Examen Java EE. Q1 : cycle de vie d un servlet (2 points) EISTI 2008-2009 Examen Java EE 1h30 Aucun document autorisé NOM : PLACE : PRENOM : GROUPE TD : Q1 : cycle de vie d un servlet (2 points) Donnez le diagramme d état représentant le cycle de vie d un servlet

Plus en détail

Présentation générale des Web Services

Présentation générale des Web Services Présentation générale des Web Services Vue Globale Type d'architecture reposant sur les standards de l'internet Alternative aux architectures classiques : Client/serveur n/tiers Orientée services permettant

Plus en détail

OUTIL de GESTION ADMINISTRATIVE des UE CAHIER DES CHARGES

OUTIL de GESTION ADMINISTRATIVE des UE CAHIER DES CHARGES OUTIL de GESTION ADMINISTRATIVE des UE CAHIER DES CHARGES ELIAS Éric POUZANCRE Sébastien SOULIE Guillaume ROGER Rémy Encadrants : Mme LIBOUREL Master Informatique Professionnel Année 2006 2007 Université

Plus en détail

NFP111 Systèmes et Applications Réparties

NFP111 Systèmes et Applications Réparties NFP111 Systèmes et Applications Réparties 1 de 38 NFP111 Systèmes et Applications Réparties Cours 11 - Les Enterprise Java Beans (Introduction aux Enterprise Claude Duvallet Université du Havre UFR Sciences

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

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

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

Le langage PHP permet donc de construire des sites web dynamiques, contrairement au langage HTML, qui donnera toujours la même page web.

Le langage PHP permet donc de construire des sites web dynamiques, contrairement au langage HTML, qui donnera toujours la même page web. Document 1 : client et serveur Les ordinateurs sur lesquels sont stockés les sites web sont appelés des serveurs. Ce sont des machines qui sont dédiées à cet effet : elles sont souvent sans écran et sans

Plus en détail

TP 2 : programmation côté serveur À rendre pour le mardi 6 mai 2008

TP 2 : programmation côté serveur À rendre pour le mardi 6 mai 2008 Université Claude Bernard Lyon 1 UFR d informatique avril 2006 MIAG soir Systèmes d Information Méthodes Avancées TP 2 : programmation côté serveur À rendre pour le mardi 6 mai 2008 Introduction Dans ce

Plus en détail