Java Avancé. LicencePro Olivier Perrin Université de Lorraine

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

Download "Java Avancé. LicencePro 2014. Olivier Perrin Université de Lorraine"

Transcription

1 Java Avancé LicencePro 2014 Olivier Perrin Université de Lorraine

2 Organisation 2 Objectifs du cours connaître les caractéristiques des applications Web maîtriser les concepts maîtriser une solution technique: Java EE maîtriser quelques patrons de conception Prérequis programmation Java Évaluation un examen écrit plus TPs/projet atelier Me contacter

3 Plan 3 Applications Web et architectures n-tiers Outils Java et applications Web Servlets État d un servlet Les JSP Accès aux BD avec servlets Conception

4 Software-defined Applications on the Application Architecture Road Map Évolution des applications 4 UX User Experience BL T Business Logic Thing (Fit for Purpose Device) UX Svc. T Svc. Service Outer APIs UX Svc. UX Svc. Virtualization Boundary UX BL Data UX BL Data UX BL Data Service APIs BL Data Svc. Svc. Svc. Svc. Svc. Svc. Svc. Svc. Svc. Svc. Svc. Svc. Svc. Svc. Svc. Svc. Inner APIs BL Data Mono 2-Tier 3-Tier SOA 1970's 1980's 1990s 2000's Gartner, Gartner, Inc. and/or its affiliates. All rights reserved. Web Scale SOA 2010's Software-defined SOA 2014+

5 Application Web: les besoins 5 Applications Web fonctions réparties entre plusieurs systèmes reposent sur les architectures n-tiers Chaque système contient une partie de l application les parties manquantes sont exécutées sur les autres systèmes les informations sont échangées sur le réseau 3 parties partie présentation partie applicative/orientée métier partie ressources

6 Application Web: les besoins (cont.) 6 Motivation pour les serveurs d application simplifier le développement séparer clairement les différentes couches se concentrer sur la logique de l application (le reste est pris en charge par la structure d accueil) obtenir des gains de productivité faciliter l intégration avec l existant optimiser la maintenance et la sécurité permettre la liberté de choix fournir une réponse adaptée à la demande

7 Application Web 7 Problèmes des applications réparties?

8 Application Web: problèmes 8 Hétérogénéité: os, navigateur Sécurité: authentification, autorisation, intégrité, confidentialité, non-répudiation Résilence: panne réseau, panne serveur, panne client Qualité de service: performances, passage à l échelle Concurrence: verrous, deadlock Transparence

9 Architectures n-tiers pour le Web 9 Quelle architecture?

10 Architecture 3-tiers classique 10 Tiers client Tiers du milieu Tiers ressource (EIS) Côté serveur

11 Architectures Web 11 Client Web Web services Clients lourds Tiers client Tiers Web Tiers du milieu Tiers ressource (EIS) Web services Côté serveur

12 Tiers client 12 Web browser HTTP ou HTTPS, HTML, XML PDA/téléphone/ HTTP ou HTTPS, WML, XML Client lourd, applications IIOP/RMI, CORBA JRMP/RMI Web service HTTP ou HTTPS, REST, SOAP (XML)

13 Architectures Web 13 Client Web Web services Clients lourds Tiers client Tiers Web Tiers du milieu Tiers ressource (EIS) Web services Côté serveur

14 Tiers Web: son rôle 14 Traite les requêtes HTTP et les réponses Sépare la présentation de la logique applicative Génère du contenu dynamiquement Transforme des requêtes HTTP dans un format compris par l application Contient la logique du flot de présentation Identifie la session de l utilisateur Supporte plusieurs types de clients

15 Tiers Web: son architecture 15 Client Web Web services Tiers client HTML, XML/HTTP, HTTPS SOAP/ HTTPS Web serveur Contenu statique CGI scripts Tiers Web Web container Web container Autres extensions SQL XML, RMI/ HTTP, IIOP, JMS SOAP/ HTTPS Tiers ressource (EIS) Tiers du milieu Web services Côté serveur

16 Tiers Web: les technologies utilisées 16 CGI (Common Gateway Interface) peut-être écrit en Java, C, C++, Perl, ASP (Active Server Pages) langage de script interprété dans les pages HTML Java Servlet nécessite un conteneur Java JSP (Java Server Pages) langage de script dans les pages HTML compilé en Servlet PHP, Python JavaScript (Server Side)

17 Architectures Web 17 Client Web Web services Clients lourds Tiers client Tiers Web Tiers du milieu Tiers ressource (EIS) Web services Côté serveur

18 Tiers du milieu: son rôle 18 Gestion de composants outils et services pour gérer les composants du système et la logique (session, notification synchrone/asynchrone) Tolérance aux pannes, disponibilité capacité à résister à une possible panne sans point unique de panne, 24/24, 7/7 Passage à l échelle capacité du système à accroître ses ressources matérielles pour supporter un nombre plus important d utilisateurs avec un temps de réponse constant Répartition de la charge capacité d envoyer une requête à différents serveurs en fonction de leur disponibilité

19 Tiers du milieu: son rôle 19 Pooling de ressources protège le tiers ressource en utilisant des groupes de connections partagées entre tous les clients Gestion des transactions intégrité des données, ACID (cf. SGBD) Console de gestion point unique de gestion permettant de contrôler l ensemble du système (tous les serveurs) Sécurité authentification autorisation

20 Serveurs: Web Information Servers 20 À la frontière du tiers Web et du tiers milieu Pas de transactions Serveurs sans état Utilisation de templates et de langage de script pour générer les pages HTML dynamiquement, tout en accédant le tiers ressources Exemples IIS + ASP (Microsoft) Web serveur + PHP, Python, CGI

21 Serveurs: Serveurs de composants 21 Permet l accès au tiers ressource Gère les transactions Serveur sans état Désormais disponibles au cœur des serveurs d applications Exemples Microsoft Transaction Server (MTS dans.net) Sybase Jaguar (dans Sybase EAServer) IBM Component Broker (dans WebSphere)

22 Serveurs: Serveurs d applications 22 Environnement complet de développement côté serveur Comprend toujours un serveur de composants Serveur avec états Supporte la logique métier (business logic) à l aide d objets, de règles et de composants Exemples JEE servers: JBoss, BEA WebLogic, IBM WebSphere Microsoft.NET Enterprise Servers ORB Corba Servers: Borland VisiBroker, IONA Orbacus

23 Architectures Web 23 Client Web Web services Clients lourds Tiers client Tiers Web Tiers du milieu Tiers ressource (EIS) Web services Côté serveur

24 Tiers ressource 24 EIS: Enterprise Information Systems Bases de données JPA, Hibernate, JDBC, ADO.NET Anciens systèmes (legacy) Java EE Connector, protocoles propriétaires ERP (Enterprise Resource Planning) Java EE Connector, protocoles propriétaires EAI (Enterprise Application Integration) Java EE Connector, protocoles propriétaires

25 Architecture n-tiers 25 Tiers client Tiers Web Tiers du milieu Tiers ressources

26 Principes de conception [Krakowiak06] 26 Principe directeur: séparation des préoccupations isoler les aspects indépendants et les traiter séparément examiner un problème à la fois éliminer les interférences évolution indépendante des solutions de chaque aspect Mise en œuvre encapsulation: séparer interface et réalisation (contrat commun) abstraction: décomposer en niveaux, cacher les détails non pertinents patrons de conception (patterns): principes généraux de conception

27 Plate-formes: deux mondes 27 Microsoft.NET Java Java EE

28 Microsoft DNA (Distributed internet Arch.) 28 Méthodologie, software pattern apporte une solution à un ensemble de problèmes rencontrés dans les applications distribuées Ensemble de technologies Microsoft pour implanter cette méthodologie Présentation: IE Moteur de rendu: IIS Rendu Business: ASP, VBScript Communication entre composants: COM, MSMQ, COM+ Composants: COM avec/sans MTS Business données: ActiveX Data Objects, ODBC Accès aux données: OLEDB, Universal Data Access (ADO) Persistance: SQL Server, Exchange, Active Directory, NTFS

29 Microsoft DNA Distributed Computing Rich client Presentation services Scripting WIN32 HTML 29 Business logic IIS MSMQ MTS Write business logic as COM components Thin client Data services Presentation services ADO OLE DB Application services DHTML Components Mainframe Directory RDBMS & messaging File system Distributed transactions and query processing across multiple data stores

30 Plate-forme Microsoft.NET 30.NET est une stratégie de produits MS Remplacement de Microsoft DNA Composée de 3 parties CLR (Common Language Runtime) BCL (Base Class Library) ASP.NET CLS (Common Language Specification) CTS (Common Type System) MSIL (Microsoft Intermediate Language)

31 CLR: Common Language Runtime 31 Moteur d exécution pour les applications du.net framework Équivalent d une JVM Gestion du code (chargement et exécution) Isolement de la mémoire par application Vérification des types Conversion du MSIL en code natif (pas d interprétation) Accès au méta-données Gestion de la mémoire pour les objets (GC) Contrôle des accès du code (Security Manager) Gestion des exceptions Interopération entre le code, les objets COM, les DLLs Outils développeur (profileur, debug, )

32 CTS/CLS/MSIL 32 Common Type System Système de types, construit dans CLR, qui supporte les types et opérations communs à beaucoup de langages de programmation Common Language Specification Ensemble de constructions et de contraintes qui sert de guide aux développeurs de bibliothèques et de compilateurs Sous-ensemble de CTS Microsoft Intermediate Language Ensemble d instructions indépendant du CPU dans lequel sont compilés les programmes.net Avant exécution, MSIL est converti en code natif

33 ASP.NET/WebForms 33 ASP.NET est une abstraction de HTTP 3 abstractions: context, handler, module pages compilées et exécutées dans le CLR modèle de développement basé sur les WebForms pour développer une interface graphique Web comme en VB sépare traitements et présentation le formulaire représente la page Web les traitements sont contenus dans une deuxième page appelée Code Behind cette page peut-être codée dans n importe quel langage du framework.net et implante les événements liés à cette page la page HTML finale qui sera générée au client intègre la présentation et le Code Behind en ciblant différents navigateurs

34 Architecture ASP.NET 34 HTTP Request GET /foo/foo.aspx HTTP Response HTTP/ OK aspnet_wp.exe (ASP.NET Worker Process) aspnet_isapi.dll (ASP.NET ISAPI Extension) HttpHandler Page class INETINFO.EXE (IIS) Created from foo.aspx Compiled to Assembly with foo_aspx class

35 Microsoft ADO.NET 35 ADO modèle fortement couplé (mode connecté) défini pour le modèle relationnel (pas pour le modèle hiérarchique - XML) conception qui laisse à désirer plusieurs manières de faire la même chose un même objet possède plusieurs utilisations pas défini pour les applications réparties ADO.NET évolution de ADO ne partage pas le même modèle objet mais partage plusieurs paradigmes ou fonctionnalités

36 Microsoft ADO.NET (cont.) 36 ADO.NET collection de classes, interfaces, structures et types pour accéder à des données relationnelles dans.net la collection est organisée dans différentes bibliothèques Objectifs System.Data, System.Data.OleDB, System.Data.SqlClient, excellente conception gestion robuste du mode déconnecté support des modèles relationnel et hiérarchique accès aux données via HTTP maintien du lien à le modèle de programmation de ADO interopérabilité avec COM pour intégration dans.net

37 La plate-forme Java EE 7 37 Java EE 7 est une spécification (contrairement à.net) Une application Java EE 7 assemble des composants composants clients: HTML, applets composants Web: servlets et JSP composants business: EJB Les composants sont écrits en Java compilé en bytecode assemblés dans l application Java EE 7 déployés dans un serveur Java EE 7 Le serveur Java EE 7 fournit des conteneurs qui hébergent les composants

38 Architecture d un serveur Java EE 7 38 Firewall Client Tier Middle Tier EIS Tier

39 APIs de la plate-forme Java EE 7 39 Enterprise Java Beans technology 3.2 (EJB) Briques de base pour construire l application 3 types de Beans: session, entity, message-driven JDBC 4.1 API Permet l exécution de commandes SQL 2 parties dans l API la partie application pour accéder à la BD la partie fournisseur de services pour attacher le driver JDBC à la plateforme Java EE 6 Java Persistence API 2.1 (JPA) JEE 7: Interceptors 1.2 (logging, auditing),

40 APIs de la plate-forme Java EE 7 (cont.) 40 Java Servlets 3.1 introduit le modèle requête/réponse dans Java et étend la capacité d un serveur HTTP JavaServer Pages Technology (JSP) 2.3 fusionne HTML (XML) classique avec des constructions dynamiques à l aide de balises JSP Java Message Service (JMS) 2.0 introduit un modèle de messages entre composants (MOM: Message Oriented Middleware) permet des communications asynchrones, fiables, et indépendantes entre les composants

41 APIs de la plate-forme Java EE 7 (cont.) 41 Java Transaction API (JTA) 1.2 fournit les services nécessaires pour contrôler le niveau d isolation des transactions JavaMail Techonology 1.5 permet l envoi de mails API en 2 parties: partie application pour contrôler l envoi d s, partie fournisseur de services s JavaBeans Activation Framework (JAF) 1.1 service de découverte et d encapsulation de composants à l aide de JavaBeans

42 APIs de la plate-forme Java EE 7 (cont.) 42 Java Architecture for XML Binding (JAXB) 2.2 API standard pour accéder aux documents XML (DOM/SAX/ XSLT/TrAX) JEE Connector Architecture 1.7 permet la création d adaptateurs de ressources pour permettre l accès aux systèmes EIS Java Authorization Contract for Containers (JACC) 1.5 permet la gestion de la sécurité dans les applications Java EE

43 Comparaison Java EE /.NET 43 PDA Web browser Wireless Device Web browser Client Tier Business Partner or other system Web services technologies (SOAP, UDDI, WSDL, ebxml) Applets, Applications IIOP HTTP HTTP Firewall Client Tier Business Partner or other system Web services technologies (SOAP, UDDI, WSDL, BizTalk) Applications developed with Windows Forms IIOP HTTP HTTP Firewall Web Service Container Servlets EJBs JSPs Container Web Service Container ASP.NET.NET Managed Components Container Connectors Host Integration Server 2000 Proprietary protocol SQL Proprietary protocol Web services technologies (SOAP, UDDI, WSDL, ebxml) Proprietary protocol SQL Proprietary protocol Web services technologies (SOAP, UDDI, WSDL, BizTalk) Back-End Systems Context Repository Databases Existing System Legacy System ERP System Business Partner or other system Back-End Systems Passport.NET SQL Server Mainframe System Business Partner or other system

44 Comparaison du modèle de développement 44 Person.java Person.CPP (C++) JVM Person bytecode Deploy Linux CLR Person IL code Deploy Windows Address bytecode Company bytecode Deploy Windows Address IL code Company IL code Deploy Windows Deploy Address.vb (Visual Basic) Windows Deploy Address.java Company.java Solaris Company.cs (C#) Windows

45 Gestion des composants 45 Java EE.NET les transactions sont gérées en Java à l aide des APIs JTA/JTS l ensemble des composants s exécutent dans un seul et même environnement lui-même géré propose la même chose sous l appellation ServiceComponent le conteneur utilisé dans le framework est COM+ COM+ fonctionne dans un environnement non géré avec une gestion de type différente de celle de.net

46 Tableau comparatif 46.NET Java EE Différences Langage C#, multi-langages Java Partagent les mêmes caractéristiques. C# emprunte des concepts des composants JavaBeans et ajoute les marqueurs metadata. Java EE est plate-forme indépendant mais langage spécifique,.net est langage indépendant, mais plate-forme spécifique Services BCL Java Core API Similaires Présentation ASP.NET Servlet, JSP Interpréteur CLR JVM GUI Web Forms Swing ASP.NET utilise tous les langages supportés dans.net et est compilé en code natif par le CLR. JSP utilise le code Java, compilé en bytecode CLR permet à du code de plusieurs langages d utiliser un ensemble de composants partagés Composants Web similaires non dispo en Java. WinForms et WebForms intégrés à VisualStudio.NET Accès DB ADO.NET JDBC, JPA, ADO.NET est construit à partir d une architecture XML Web services oui oui Middleware oui oui.net Web services supposent un modèle de message basé sur SOAP, Java EE laisse le choix aux développeurs Technologie Produit Standard Java EE est une spécification,.net est une stratégie de produits

47 Plan 47 Architectures n-tiers et applications Web Outils Java et applications Web Servlets État d un servlet Les JSP Accès aux BD avec servlets Conception

48 Les outils 48 Glassfish Ant/Maven NetBeans

49 Glassfish 49 Glassfish est un serveur d application (AS) Objectifs implémentation de référence de Java EE 7 qualité utilisable en production performance open source licence CDDL support disponible communauté sources, liste de bugs, discussions documentation

50 Digression sur Java EE 6 50 JEE 5 est très puissant Mais trop de puissance peut nuire difficile de démarrer les applications simples nécessitent beaucoup de code Idée: garder la puissance, mais faciliter la vie du programmeur? C est l objectif de Java EE 6! annotations réduction ou élimination des Deployment Descriptors conservation des API classiques pour les utilisateurs avancés

51 Digression sur Java EE 6 (cont.) 51 Simplification du développement Programmation basée sur des POJO (vs. EJB) plus de liberté, moins de contraintes Utilisation d annotations ajout de propriétés moins de descripteurs de déploiement Injection de ressources Nouveaux frameworks (JSF 2.0), nouvelles APIs JAX-WS 2.2, Java Persistence, EJB 3.1, JAXB 2.2, JSP 2.2

52 Exemple: écrire un Servlet 52 En JEE 5 /* Code Java */ package licencepro; public class MonServlet extends HttpServlet { public void doget(httpservletrequest req,httpservletresponse res) {... }... } <!-- Deployment descriptor web.xml --> <web-app> <servlet> <servlet-name>monservlet</servlet-name> <servlet-class>licencepro.monservlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>monservlet</servlet-name> <url-pattern>/monapp/*</url-pattern> </servlet-mapping>... </web-app>

53 Exemple: écrire un Servlet 3.0 (cont.) 53 En JEE 6: package MonServlet, urlpatterns={ /monapp/* }) public class MonServlet extends HttpServlet { public void doget(httpservletrequest req, HttpServletResponse res){... } <!--Deployment descriptor web.xml --> <web-app> <servlet> <servlet-name>monservlet</servlet-name> <servlet-class> licencepro.monservlet </servlet-class> </servlet> <servlet-mapping> <servlet-name>monservlet</servlet-name> <url-pattern>/monapp/*</url-pattern> </servlet-mapping>... </web-app>

54 Exemple: écrire un service Web 54 Avant (J2EE JAX-RPC) package endpoint; import java.rmi.*; public class HelloServiceImpl!!! implements HelloServiceSEI { public String sayhello(string param)!!! throws java.rmi.remoteexception { return Hello + param; } } package endpoint; import java.rmi.*; public interface HelloServiceSEI!!! extends java.rmi.remote { public String sayhello(string param) throws java.rmi.remoteexception; } <?xml version='1.0' encoding='utf-8'?> <webservices xmlns='http://java.sun.com/xml/ns/j2ee' version='1.1'> <webservice-description> <webservice-description-name> HelloService</webservice-description-name> <wsdl-file> WEB-INF/wsdl/HelloService.wsdl</wsdl-file> <jaxrpc-mapping-file> WEB-INF/HelloService-mapping.xml </jaxrpc-mapping-file> <port-component xmlns:wsdl-port_ns='urn:helloservice/wsdl'> <port-component-name>helloservice</port-component-name> <wsdl-port>wsdl-port_ns:helloserviceseiport</wsdl-port> <service-endpoint-interface> endpoint.helloservicesei</service-endpoint-interface> <service-impl-bean> <servlet-link>wsservlet_helloservice</servlet-link> </service-impl-bean> </port-component> </webservice-description> </webservices> <?xml version='1.0' encoding='utf-8'?> <configuration xmlns='http://java.sun.com/xml/ns/jax-rpc/ri/config'> <service name='helloservice' targetnamespace='urn:helloservice/wsdl' typenamespace='urn:helloservice/types' packagename='endpoint'> <interface name='endpoint.helloservicesei' servantname='endpoint.helloserviceimpl'> </interface> </service> </configuration>

55 Exemple: écrire un service Web (cont.) 55 Maintenant (Java EE 7 + JAX-WS 2) import public class MySimpleWS { public String sayhello(string s) { return Hello + s; } } Simple, non!

56 JavaEE 7 56 Tout ce qui est bien dans JEE 6, plus: HTML 5 productivité des développeurs répondre à la demande des entreprises

57 Glassfish: motivations 57 Support de Java EE 7: encourager une adoption rapide Serveur d application prêt à être utilisé en production Open source, accès simplifié Qualité: pas d excuse du genre «c est de l open source» Performance Outillage

58 Glassfish: fonctionnalités offertes 58 Tiers Web (JSP/Servlet) Services Web/XML (JAXB, JAX-WS, StAX) Applications Web 2.0 (AJAX, Java Web Start) Java Persistence API (JPA) Interopérabilité avec.net (WSIT) + Nombreux outils autour de Glassfish

59 Glassfish: caractéristiques 59 Performance Équilibrage de charge (load balancing) Disponibilité (high availability) Gestion dynamique de clusters Hôtes virtuels Support tier Web, services Web, Web 2.0 Mises à jour (specs, bugs, update center, )

60 Performance 60 Amélioration dans tous les domaines Démarrage ultra rapide dans GF v4 on démarre le plus petit possible (OSGi) Grizzly/JSP performances x 10 JAX-WS bien plus rapide qu Axis 2 GF v4 est encore plus rapide que GF v3!

61 !"#$%&'()*(+$"#, -.'//01/%*234567*89:*;/9*3<1/8 Architectures Outils Java Servlets État servlet JSP Accès BD Conception Performance (cont.) 61

62 Clustering 62 Stratégie utilisée pour le passage à l échelle une meilleure disponibilité une meilleure sûreté de fonctionnement

63 Architectures Outils Java Servlets État servlet JSP Accès BD Conception 63 Architecture: vue générale Node Agent Client Web Client Service Web Load Balancer (re)start http Server Instance http Admin Web Domain Administration Server (DAS) JMX Connector JMX tor onnec JMX C (re)start Con nec tor Server Instance Applications ASAdmin CLI NetBeans Node Agent Ressources Configuration Nœud Administration cluster1 cluster2

64 Architecture 64 Domain fournit un point d entrée pour une collection de server instances Server Instance moteur d exécution qui gère les requêtes d une application chaque instance possède un nom unique dans le domaine Application un domaine héberge un ensemble d applications Java EE 7 (war, ear, ejb-jar) Resource les applications Java EE 7 utilisent des ressources (jdbc, javamail, connecteurs vers EIS )

65 Architecture (cont.) 65 Cluster ensemble de server instances pour gérer le passage à l échelle un cluster appartient à un et un seul seul domain transparent pour les clients de l application chaque instance dans le cluster héberge le même ensemble de services/applications (homogénéité) une server instance appartient à au plus 1 cluster Node Agent responsable de la création, du démarrage, de l arrêt et de la suppression des server instances surveillance et relance des server instances en échec

66 Architecture (cont.) 66 Domain Administration Server (DAS) point central pour l administration d un domaine server instance Java EE 7 supporte administration via CLI, GUI, NetBeans IDE Load Balancer (répartiteur de charge) responsable de la redirection des requêtes vers l hôte le moins chargé connait les nœuds en échec, les sessions en cours

67 Gestion des clusters 67 Infrastructure et interfaces d administration pour créer et gérer les clusters appartenant à un domaine les instances dans chaque cluster les nœuds agent qui gèrent les instances dans un domaine le déploiement des applications et ressources d un cluster Informations dynamiques sur l état d un cluster Shoal Dynamic Clustering composants de Glassfish peuvent déclencher des actions en fonction des événements des clusters communication avec/entre clusters

68 Hôtes virtuels 68 Possibilité de faire fonctionner plusieurs sites Web (domaines) à partir d un serveur unique avec une adresse IP unique Chaque site est identifié par son nom de domaine Les requêtes HTTP sont dirigées vers le domaine approprié en fonction du nom de domaine dans l URL Le DNS doit être configuré de manière à pouvoir faire le lien entre les domaines hébergés et l adresse IP du serveur

69 Disponibilité 69 Sûreté de fonctionnement Réplication quoi? sessions HTTP stateful session beans état des containers (timers ) comment? soit réplication en mémoire avec JXTA: performance, config. facile soit grâce à HADB - High Availability DB: disponibilité 99,99%, légère dégradation des perfs couplage faible entre HADB et les instances des serveurs Facilité d ajouter/retirer une application dans un cluster

70 High Availability DB 70 HADB fournit une disponibilité élevée pour HTTP session state stateful EJB session state HADB permet 5x9 plus complexe à administrer pas encore open source alternative: réplication en mémoire

71 Réplication en mémoire 71 Topologie de clusters pour les sessions!"#$%&'(")*+,-.+$/ 012&3#"(4"5$6+,(0727"781!"#$%&'(")*+,-.+$/ 012&3#"(4"5$6+,(0727" #)*"2'!-1+#+3"' 45-+*-6+*+.&'$/'7'/$8"',*9:."%'$/';'#-,<+/":././!"#$$%&$'()*+,*&+-(!"#$$%&$'()*+,*&+-( On maximise la disponibilité sur 4 nœuds et sur 2 machines

72 Réplication en mémoire 72 Configuration simplifiée créer un domaine utiliser le profil admin cluster (la réplication est alors gérée en standard) activer GMS (Group Management Service) persitence-type = replicated créer un cluster et ses instances déployer l application avec availability-enabled = true et c est tout!

73 Réplication en mémoire!"#$%&'(")*+,-.+$/'0"%1$%#-/," Coût de la réplication ;::: 73 /:: 9::?:: >:: =:: 8:: <::.:: ;:: :.7($+$$&16 87($+$$&16 97($+$$&16./!"#$$%&$'()*+,*&+-(

74 Déploiement 74 Serveur unique prêt à l emploi moteur Java EE avec tous les outils excellent support du tier Web performances (démarrage, mémoire, ) orienté développeur (profils pour changer en fonction du rôle) Un domaine peut être clusterisé prêt pour déploiement en entreprise gestion de la disponibilité BD les clusters peuvent être sur plusieurs machines gestion de l équilibrage de charge administration simple

75 Administration 75 Centralisée, sécurisée, distante (remote) accès grâce à de nombreuses interfaces (GUI, CLI, IDE, programme Java ) JMX ou Application Server Management extensions - AMX Adaptée à des besoins complexes scripts automatisation via des tâches ANT Surveillance jconsole ou autres niveau de surveillance choisi par service consommation des ressources

76 Outils!"#$%&'()*+,)-.+)#/*'0'1#/+,)-.+#,* 76 J##)+ NetBeans 8.x "#$%#&'(!)*)+!,*- ;-+'"-<0'-#1+ /0123*4*2/5+'%62 7/289:! J6*:/#M'23?K/2N 3*4*2??2CD2E2/;F D;?!"#$%&' ()*++,-+../012(#!30451' G#6601-'-%+ ;%"<5 AB!#"'*)2/%"4%" A*4%12C%> K+%"+2*1L2='.%"2("#0>+ /*-),-1?"-&++#1

77 Ant 77 Projet Open Source permettant de construire et déployer des applications Web Principe permet l enchaînement d exécutables (Ant-Task) à partir de descriptions de dépendances l enchaînement est appelé une cible (target) une cible peut être exécutée, ou être chaînée à une autre cible si on exécute une cible qui dépend d autres cibles, Ant va récursivement exécuter les autres cibles automatiquement

78 Ant: un projet 78 La description du projet (target) et des opérations pour le construire (tasks) se trouvent dans build.xml Build.xml contient les directives de construction et de déploiement codée en XML compilation construction des JAR, WAR, EAR déploiement dans le serveur d application exécution des tests (éventuellement) destruction des fichiers intermédiaires

79 Ant: les properties 79 Permettent de définir des constantes utilisables dans le fichier build.xml <property name= xx value= yy /> Exemples <property name= project value= exemple /> <property name= build location= build /> <property name= classes location= ${build}/ classes /> <property name= src location= src />

80 Ant: les targets 80 Cible indiquant des commandes à exécuter <target name= A /> <target name= B depends= A /> <target name= C depends= B /> <target name= D depends= C, B, A /> ant B va exécuter A puis B ant D va exécuter A, B, C puis D

81 Ant: les tâches 81 Une tâche est un bout de code à exécuter <name attr1= value1 attr2= value2 /> Il existe des tâches prédéfinies et des tâches optionnelles <mkdir dir= ${classes} /> <javac srcdir= ${src} destdir= ${classes}/>

82 Ant: les références 82 Il est possible de nommer des éléments et d y faire référence (attributs id et refid) <project... > <path id="project.class.path"> <pathelement location="lib/"/> <pathelement path="${java.class.path}/"/> <pathelement path="${additional.path}"/> </path> <target... > <rmic...> <classpath refid="project.class.path"/> </rmic> </target> <target... > <javac...> <classpath refid="project.class.path"/> </javac> </target> </project>

83 Ant: les structures de chemin 83 Des structures de chemin peuvent être construites <classpath> <pathelement path="${classpath}"/> <pathelement location="lib/helper.jar"/> </classpath> Un ensemble de fichiers peut être défini avec fileset <fileset dir="lib"> <include name="**/*.jar"/> </fileset> Il peut ensuite être utilisé dans un classpath <classpath> <pathelement path="${classpath}"/> <pathelement location="lib/helper.jar"/> <fileset dir="lib"> <include name="**/*.jar"/> </fileset> </classpath>

84 Ant: un exemple 84 <project name="myproject" default="dist" basedir="."> <description> simple example build file </description> <!-- set global properties for this build --> <property name="src" location="src"/> <property name="build" location="build"/> <property name="dist" location="dist"/> <target name="init"> <tstamp/> <mkdir dir="${build}"/> </target> <target name="compile" depends="init" description="compilation"> <!-- Compile the java code from ${src} into ${build} --> <javac srcdir="${src}" destdir="${build}"/> </target> <target name="dist" depends="compile" description="generate the distribution">! <!-- Create the distribution directory --> <mkdir dir="${dist}/lib"/> <jar jarfile="${dist}/lib/project.jar" basedir="${build}"/> </target> <target name="clean" description="clean up" >! <!-- Delete the ${build} and ${dist} directory trees --> <delete dir="${build}"/> <delete dir="${dist}"/> </target> </project>

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

Programmation d applications distribuées

Programmation d applications distribuées Programmation d applications distribuées François Charoy Université Henri Poincaré 8 octobre 2007 Première partie I Développement d applications distribuées Objectifs du cours Comprendre ce qu est une

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

Tour d horizon de Java EE 6

Tour d horizon de Java EE 6 1 Tour d horizon de Java EE 6 De nos jours, les entreprises évoluent dans une compétition à l échelle mondiale. Elles ont besoin pour résoudre leurs besoins métiers d applications qui deviennent de plus

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

Créer une architecture distribuée.net

Créer une architecture distribuée.net Ingénieurs 2000 Exposé Système & Réseaux 2006/2007 Créer une architecture distribuée.net Concepts et exemples 1. Présentation du Framework.NET 2. Créer et utiliser des services Web 3. Comment créer des

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 16 NFP111 Systèmes et Applications Réparties Cours 10 - Les Enterprise Java Beans ( aux serveurs ) Claude Duvallet Université du Havre UFR Sciences et Techniques

Plus en détail

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. Programmer avec Java EE. Besoins des développeurs. Prérequis / Objectifs

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. Programmer avec Java EE. Besoins des développeurs. Prérequis / Objectifs Plan du cours 2 Introduction générale EJB : les fondamentaux Programmer avec Java EE Introduction générale Michel Buffa (buffa@unice.fr), UNSA 2011, modifié par Richard Grin (version 1.0), avec emprunts

Plus en détail

DotNet. Plan. Les outils de développement

DotNet. Plan. Les outils de développement DotNet Les outils de développement Version 1.03 du 16/10/2006 par Jacky Renno Plan La machine virtuelle Le kit de développement Le kit de langage Le Visual Studio.NET Le serveur web IIS 6.0 Le modeleur

Plus en détail

Dr. Djamel Benmerzoug. Email : djamel.benmerzoug@univ-constantine2.dz

Dr. Djamel Benmerzoug. Email : djamel.benmerzoug@univ-constantine2.dz Master 2 SITW Les services Web Dr. Djamel Benmerzoug Email : djamel.benmerzoug@univ-constantine2.dz Maitre de Conférences A, Département TLSI Faculté des NTIC Université Constantine 2 Abdelhamid Mehri

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

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

Urbanisation et architecture des systèmes d information

Urbanisation et architecture des systèmes d information Urbanisation et architecture des systèmes d information Plate forme pour le composant logiciel 2/2 JAVA, JEE et les EJB David Eudeline eudeline.david@free.fr JAVA Qu'est ce que JAVA? Un langage très jeune

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

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

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

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

Les serveurs d applications :une introduction

Les serveurs d applications :une introduction Les serveurs d applications : une introduction Université du Havre UFR Sciences et Techniques 25 rue Philippe Lebon - BP 540 76058 LE HAVRE CEDEX Claude.Duvallet@gmail.com Octobre 2006 Plan de la présentation

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

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

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

Java Avancé - Cours 2

Java Avancé - Cours 2 Java avancé - cours 2 1/8 Java Avancé - Cours 2 Plan 1 Communication entre objets 1 1.1 Motivation....................................................... 1 1.2 Relations entre le panier et le rayon.........................................

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

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

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

J2EE : Services Web. Stéphane Croisier, Directeur Serge Huber, Directeur Technique. 13 Juin 2002. 2002 Jahia Ltd. All rights reserved.

J2EE : Services Web. Stéphane Croisier, Directeur Serge Huber, Directeur Technique. 13 Juin 2002. 2002 Jahia Ltd. All rights reserved. J2EE : Services Web Stéphane Croisier, Directeur Serge Huber, Directeur Technique 13 Juin 2002 Aperçu Interopérabilité en XML/HTTP SOAP ebxml Outils d EAI JXTA Normes d interopérabilité XML SOAP/UDDI Inventé

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

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

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

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

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

JEE - Cours et TP. Mickaël Montassier. 15 février 2007. Institut Universitaire de Technologie Département Informatique

JEE - Cours et TP. Mickaël Montassier. 15 février 2007. Institut Universitaire de Technologie Département Informatique et TP Institut Universitaire de Technologie Département Informatique 15 février 2007 J2EE? J2EE : Java 2 Enterprise Edition Norme prosposée par SUN visant à définir un standard de développement d applications

Plus en détail

JOnAS Day 5.1. Outils de développements

JOnAS Day 5.1. Outils de développements JOnAS Day 5.1 Outils de développements Agenda Introduction Plugin Eclipse (JOPE) Plugin NetBeans (JOnbAS) Cargo 2 Bull, 2009 JOnAS Day 5.1 Objectifs - Réduire les temps de développement - Construction

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

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

Java EE. Grégory Cuellar, Julien Goullon. 1 er octobre 2007. gregory.cuellar@bull.net. julien.goullon@9business.fr

Java EE. Grégory Cuellar, Julien Goullon. 1 er octobre 2007. gregory.cuellar@bull.net. julien.goullon@9business.fr Grégory Cuellar Julien Goullon gregory.cuellar@bull.net julien.goullon@9business.fr 1 er octobre 2007 1 Généralité 2 / 54 Pourquoi? Historique Les alternatives Les composants 2 Architecture n-tiers 3 JEE

Plus en détail

Europa. Développement JEE 5. avec Eclipse. K a r i m D j a a f a r. A v e c l a c o n t r i b u t i o n d e O l i v i e r S a l v a t o r i

Europa. Développement JEE 5. avec Eclipse. K a r i m D j a a f a r. A v e c l a c o n t r i b u t i o n d e O l i v i e r S a l v a t o r i Développement JEE 5 avec Eclipse Europa K a r i m D j a a f a r A v e c l a c o n t r i b u t i o n d e O l i v i e r S a l v a t o r i Groupe Eyrolles, 2008, ISBN : 978-2-212-12061-5 5 Le projet WTP (Web

Plus en détail

Glassfish dans le milieu médical. Sun Aquarium Paris 26 Juin 2009 Jacky Renno (jacky.renno@capgemini.com)

Glassfish dans le milieu médical. Sun Aquarium Paris 26 Juin 2009 Jacky Renno (jacky.renno@capgemini.com) Glassfish dans le milieu médical Jacky Renno (jacky.renno@capgemini.com) Plan Contexte Métier Technique Eléments structurants Approche Méthodologie et Outillage Choix de Glassfish Automatisation Industrialisation

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

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

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

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

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

Conservatoire Nationale des Arts et Métiers. J2EE vs NET

Conservatoire Nationale des Arts et Métiers. J2EE vs NET Conservatoire Nationale des Arts et Métiers Centre d enseignements de Grenoble Année Universitaire: 2008-2009 J2EE vs NET Cours : NFE107 Urbanisation & Architecture des Systèmes d Information Auditeurs

Plus en détail

Architectures web pour la gestion de données

Architectures web pour la gestion de données Architectures web pour la gestion de données Dan VODISLAV Université de Cergy-Pontoise Plan Le Web Intégration de données Architectures distribuées Page 2 Le Web Internet = réseau physique d'ordinateurs

Plus en détail

La page générale de téléchargement se trouve à l adresse http://developers.sun.com/resources/downloads.html

La page générale de téléchargement se trouve à l adresse http://developers.sun.com/resources/downloads.html Site de Sun La page générale de téléchargement se trouve à l adresse http://developers.sun.com/resources/downloads.html Toutes les SDK et les run-time sont téléchargeable à l adresse : http://java.sun.com/downloads/

Plus en détail

Groupe Eyrolles, 2004, ISBN : 2-212-11346-3

Groupe Eyrolles, 2004, ISBN : 2-212-11346-3 Groupe Eyrolles, 2004, ISBN : 2-212-11346-3 Table des matières Avant Propos................................................ 1 Pourquoi ce livre?........................................... 1 Structure de

Plus en détail

DUT Informatique Module JAVA Apprentis Département Informatique 2008 / 2009. Travaux Pratiques n o 7 : RMI

DUT Informatique Module JAVA Apprentis Département Informatique 2008 / 2009. Travaux Pratiques n o 7 : RMI iut ORSAY DUT Informatique Département Informatique 2008 / 2009 Travaux Pratiques n o 7 : RMI Nom(s) : Groupe : Date : Objectifs : savoir créer des applications client-serveur mettant en jeu des machines

Plus en détail

Spring par la pratique

Spring par la pratique Spring par la pratique 2 e édition Spring 2.5 et 3.0 Arnaud Cogoluègnes Thierry Templier Julien Dubois Jean-Philippe Retaillé avec la contribution de Séverine Templier Roblou et de Olivier Salvatori Groupe

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

OpenESB Libre, standard, outillé, documenté et supporté

OpenESB Libre, standard, outillé, documenté et supporté OpenESB Libre, standard, outillé, documenté et supporté Alexis Moussine-Pouchkine Sun Microsystems, Inc. Constat Les projets d'intégration sont mono-éditeur Est-ce viable à long terme? Quel(s) Standard(s)

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

JavaDay Paris Java EE 5 & Tools. Paris. Ludovic Champenois Senior Architect Date: 29 Juin 2006

JavaDay Paris Java EE 5 & Tools. Paris. Ludovic Champenois Senior Architect Date: 29 Juin 2006 JavaDay Paris Java EE 5 & Tools JavaDay Paris Ludovic Champenois Senior Architect Date: 29 Juin 2006 Agenda JavaDay, Paris 2 Le Java EE 5 nouveau est arrivé! Développement, et production... JavaDay, Paris

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

Architecture J2EE. Thierry Lecroq (merci à Alexandre Pauchet (INSA Rouen)) Université de Rouen FRANCE. Thierry Lecroq (Univ. Rouen) J2EE 1 / 16

Architecture J2EE. Thierry Lecroq (merci à Alexandre Pauchet (INSA Rouen)) Université de Rouen FRANCE. Thierry Lecroq (Univ. Rouen) J2EE 1 / 16 Architecture J2EE Thierry Lecroq (merci à Alexandre Pauchet (INSA Rouen)) Université de Rouen FRANCE Thierry Lecroq (Univ. Rouen) J2EE 1 / 16 Plan 1 Historique 2 Architecture J2EE 3 J2EE et applications

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

Table des matières. TP JEE (2) Logic metier et Entreprise Java Beans. IUT Bordeaux 1 - Département Informatique

Table des matières. TP JEE (2) Logic metier et Entreprise Java Beans. IUT Bordeaux 1 - Département Informatique IUT Bordeaux 1 - Département Informatique Semestre 4 JEE 20112012 TP JEE (2) Logic metier et Entreprise Java Beans Les EJB (Enterprise JavaBeans) 3.0 permettent de découpler la logique de présentation

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

Objectifs. Comprendre l architecture typique d une application web Exemple: Expérimenter avec:

Objectifs. Comprendre l architecture typique d une application web Exemple: Expérimenter avec: Cedric Dumoulin Objectifs Comprendre l architecture typique d une application web Exemple: Application permettant de lister un catalogue d articles, et de créer des articles Expérimenter avec: EJB, JPA

Plus en détail

Augmenter la disponibilité des applications JEE grâce au clustering : Le projet open source JShaft

Augmenter la disponibilité des applications JEE grâce au clustering : Le projet open source JShaft Augmenter la disponibilité des applications JEE grâce au clustering : Le projet open source Jérôme Petit, Serge Petit & Serli Informatique, ITMatic Jérôme Petit, Serge Petit & SERLI & ITMatic Serli : SSII

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

Noël Macé Formateur et Consultant indépendant expert Unix et FOSS http://www.noelmace.com. Java EE. Tomcat

Noël Macé Formateur et Consultant indépendant expert Unix et FOSS http://www.noelmace.com. Java EE. Tomcat Noël Macé Formateur et Consultant indépendant expert Unix et FOSS http://www.noelmace.com Java EE Tomcat Licence Creative Commons Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative

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

MIF13 Programmation Web OUTILS D AIDE À LA CONCEPTION D APPLICATIONS WEB

MIF13 Programmation Web OUTILS D AIDE À LA CONCEPTION D APPLICATIONS WEB MIF13 Programmation Web OUTILS D AIDE À LA CONCEPTION D APPLICATIONS WEB L I O N E L M É D I N I S E P T E M B R E - D É C E M B R E 2 0 0 9 Objectif de ce cours Prendre conscience de l existence de nombreux

Plus en détail

Une introduction à la technologie EJB

Une introduction à la technologie EJB Une introduction à la technologie EJB 1 Introduction La technologie des EJB (pour Enterprise Java Bean) ont été introduite en 1998 pour offrir aux programmeurs un outil qui facilite la conception et le

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

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

CAHIER DES CHARGES D IMPLANTATION

CAHIER DES CHARGES D IMPLANTATION CAHIER DES CHARGES D IMPLANTATION Tableau de diffusion du document Document : Cahier des Charges d Implantation EVRP Version 6 Etabli par DCSI Vérifié par Validé par Destinataires Pour information Création

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

Architecture des systèmes d information

Architecture des systèmes d information Architecture des systèmes d information Table des matières 1 La décennie 70 1 2 Le modèle relationnel (les années 80) 1 3 Enrichissement du relationnel (les années 80/90) 2 4 Système d informations (les

Plus en détail

IBM WebSphere Application Server 5.0 : Administration avancée

IBM WebSphere Application Server 5.0 : Administration avancée IBM WebSphere Application Server 5.0 : Administration avancée Slim CHENNOUFI Karim JENZRI chennoufilsim@yahoo.fr kjenzri@yahoo.com INSAT GL5 2004/2005 WAS 5.0: Pratiques d Administration 1 Plan La plate-forme

Plus en détail

Documentation technique MBDS2.0 Site web administratif

Documentation technique MBDS2.0 Site web administratif Documentation technique MBDS2.0 Site web administratif Le document suivant est destiné aux développeurs souhaitant installer la plateforme sur leurs propres machines. D o c u m e n t a t i o n t e c h

Plus en détail

Documentation technique

Documentation technique MEEVY Documentation technique Juillet 200 MEEVY a pour but de fournir aux artistes des outils pour promouvoir leur musique sur internet et proposer à l auditeur une plateforme de musique en ligne gratuite

Plus en détail

Short-Circuit Introduction a Spring. Cours Spring. Spring utilise certaines technologies comme :

Short-Circuit Introduction a Spring. Cours Spring. Spring utilise certaines technologies comme : Cours Spring 1 Présentation Générale Historique Framework créé en 2002 par Rod Johnson, afin de proposer une réelle alternative technique aux EJB s, alors gouffre de performance en terme d applications

Plus en détail

par Philippe Poulard Web services 0 Philippe.Poulard@sophia.inria.fr Philippe Poulard

par Philippe Poulard Web services 0 Philippe.Poulard@sophia.inria.fr Philippe Poulard 0 Philippe.Poulard@sophia.inria.fr Philippe Poulard Sommaire Qu est-ce? Middleware XML Web Services in situ Couches de services Architecture des Web Services avec Java JAX-RPC JAXR JAXM Outils 1 Présentation

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

Architectures. 28/12/02 CPI 1A : WEB Présentation 1

Architectures. 28/12/02 CPI 1A : WEB Présentation 1 Architectures 28/12/02 CPI 1A : WEB Présentation 1 Modèle Maître Esclave Utilisation du poste client, un simple terminal passif Le serveur gère l'affichage sur le terminal en fonction. Terminaux spécifiques

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

Notre Catalogue des Formations IT / 2015

Notre Catalogue des Formations IT / 2015 Notre Catalogue des Formations IT / 2015 Id Intitulé Durée Gestion de projets et méthodes I1101 I1102 I1103 I1104 I1105 I1106 I1107 I1108 I1109 I1110 I1111 I1112 I1113 I1114 I1115 I1116 I1117 I1118 I1119

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

ARCHITECTURE REST & WEB SERVICES. Exposé Informatique & Réseaux CHAMBON Florian 14 janvier 2014

ARCHITECTURE REST & WEB SERVICES. Exposé Informatique & Réseaux CHAMBON Florian 14 janvier 2014 ARCHITECTURE REST & WEB SERVICES Exposé Informatique & Réseaux CHAMBON Florian 14 janvier 2014 1 Introduction Présentation de Rest Serveur Java JAX-RS Démonstration 2 Introduction Présentation de Rest

Plus en détail

INGÉNIEUR LOGICIEL JAVAEE / GROOVY 8 ANS D EXPÉRIENCE

INGÉNIEUR LOGICIEL JAVAEE / GROOVY 8 ANS D EXPÉRIENCE INGÉNIEUR LOGICIEL JAVAEE / GROOVY 8 ANS D EXPÉRIENCE Igor Rosenberg 30 ans DEA «Image-Vision» de l Université de Nice Sophia-Antipolis POSTES PRECEDENTS MMA: Développement Web/Grails sur démonstrateur

Plus en détail

Fonctionnalités de développement

Fonctionnalités de développement 163 Chapitre 5 Fonctionnalités de développement 1. Optimisation des applications ASP.NET Fonctionnalités de développement 1.1 Présentation de ASP.NET ASP.NET est un ensemble de technologies créé par Microsoft

Plus en détail

J2EE - Introduction. Développement web - Java. Plan du chapitre

J2EE - Introduction. Développement web - Java. Plan du chapitre Développement web - Java J2EE - Introduction Franck Denoël Master 2 ICA, UPMF Année académique 2007-2008 Franck Denoël Master 2 ICA, UPMF Année académique 2007-2008 Plan du chapitre J2EE Présentation J2EE

Plus en détail

Présentation personnelle. Jetty, Tomcat, Orion, JBoss et le reste...

Présentation personnelle. Jetty, Tomcat, Orion, JBoss et le reste... Présentation personnelle Auteur : Classe : Table des matières 1 Introduction 2 2 Bajie server 3 3 Jetty 5 4 JBoss 7 5 Resin 8 6 Apache Tomcat 9 7 Orion 10 8 Conclusion 11 Références 12 TABLE DES MATIÈRES

Plus en détail

Modernisation des applications Mainframe. avec. WebSphere Host Access Transformation Services

Modernisation des applications Mainframe. avec. WebSphere Host Access Transformation Services Modernisation des applications Mainframe avec WebSphere Host Access Transformation Services Donald Calas dcalas@fr.ibm.com 2/25/2005 2005 IBM Corporation WebSphere Host Access Transformation Services (HATS)

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

Technologies distribuées

Technologies distribuées Technologies distribuées Java EE 5 Introduction! L entreprise et le Java EE Définition Les de type EJB Les de type services 1 2 Introduction! Compétences acquises " Compréhension " Interventions " Affranchir

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

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

Traitement et navigation

Traitement et navigation 12 Traitement et navigation Au chapitre précédent, nous avons vu comment créer des pages web avec différentes technologies (HTML, JSP, JSTL, etc.) en insistant sur le fait que JSF est la spécification

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

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

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

Site Web de paris sportifs

Site Web de paris sportifs Conception Nom HENAUD Benoît Numéro d auditeur 05-39166 Version V1.1 Date de mise à jour 15/05/2008 1/18 Table des matières 1. Objectif du document... 3 2. Architecture... 4 2.1. Contraintes techniques...

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

Gestion de source. Principes généraux

Gestion de source. Principes généraux Gestion de source Principes généraux Gestion du code source Un logiciel se développe rarement tout seul dans son coin On est amené à travailler avec d autres développeurs Comment partager le code source?

Plus en détail

Catalogue des Formations Techniques

Catalogue des Formations Techniques Catalogue des Formations Techniques Items Média Concept 4, allées Pierre-Gilles de Gennes - 33700 Mérignac Téléphone : 05.57.35.73.73 Télécopie : 05.57.35.73.70 Courriel : contact@imc-fr.com 2 Préambule

Plus en détail

Les formations. Développeur Logiciel. ENI Ecole Informatique

Les formations. Développeur Logiciel. ENI Ecole Informatique page 1/8 Titre professionnel : Inscrit au RNCP de Niveau III (Bac + 2) (J.O. du 19/02/13) 24 semaines + 8 semaines de stage (uniquement en formation continue) Développer une application orientée objet

Plus en détail

Architectures et Web

Architectures et Web Architectures et Web Niveaux d'abstraction d'une application En règle générale, une application est découpée en 3 niveaux d'abstraction : La couche présentation ou IHM (Interface Homme/Machine) gère les

Plus en détail