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 olivier.perrin@loria.fr

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 (@Resource) 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=' 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=' <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

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 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Plus en détail

Architectures n-tiers et déploiement d applications Web

Architectures n-tiers et déploiement d applications Web 23 / 04 / 2002 Lionel Mestre - Maîtrise Informatique - Programmation Répartie et Architecture n-tiers 2 / 53 Architectures n-tiers et déploiement d applications Plan Les architectures n-tiers pour le Plate-formes

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

Java Enterprise Edition

Java Enterprise Edition Java Enterprise Edition Malik SAHEB malik.saheb@gmail.com, saheb@ece.fr Course Objectives Understanding the value propositions of Java EE Getting a big picture of Java EE architecture and platform Getting

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

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

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

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

Plus en détail

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

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

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

Java et les bases de données

Java et les bases de données Michel Bonjour http://cuiwww.unige.ch/~bonjour CENTRE UNIVERSITAIRE D INFORMATIQUE UNIVERSITE DE GENEVE Plan Introduction JDBC: API SQL pour Java - JDBC, Java, ODBC, SQL - Architecture, interfaces, exemples

Plus en détail

WEBSERVICES. Michael Fortier. Master Informatique 2ème année. fortier@lipn.univ-paris13.fr A308, Université de Paris 13

WEBSERVICES. Michael Fortier. Master Informatique 2ème année. fortier@lipn.univ-paris13.fr A308, Université de Paris 13 WEBSERVICES Michael Fortier Master Informatique 2ème année fortier@lipn.univ-paris13.fr A308, Université de Paris 13 https ://lipn.univ-paris13.fr/ fortier/enseignement/webservices/ Sommaire 1 Rappels

Plus en détail

2 Chapitre 1 Introduction

2 Chapitre 1 Introduction 1 Introduction Ce livre présente les Enterprise JavaBeans 2.0 et 1.1 qui constituent la troisième et la deuxième version de la spécification des Enterprise JavaBeans. Tout comme la plate-forme Java a révolutionné

Plus en détail

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7 Sommaire 1-Introduction 2 1-1- BPM (Business Process Management)..2 1-2 J-Boss JBPM 2 2-Installation de JBPM 3 2-1 Architecture de JOBSS JBPM 3 2-2 Installation du moteur JBoss JBPM et le serveur d application

Plus en détail

Urbanisation des SI. Des composants technologiques disponibles. Urbanisation des Systèmes d'information Henry Boccon Gibod 1

Urbanisation des SI. Des composants technologiques disponibles. Urbanisation des Systèmes d'information Henry Boccon Gibod 1 Urbanisation des SI Des composants technologiques disponibles Urbanisation des Systèmes d'information Henry Boccon Gibod 1 Plan de l'exposé Technologies à la mode disponibles. Bus de données, ETL et EAI

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

PRODUCTS LIST (updated 11th January 2010)

PRODUCTS LIST (updated 11th January 2010) PRODUCTS LIST (updated 11th January 2010) OPERATING SYSTEMS SUN SOLARIS 10, 9, 10 B OP Application and database servers Red Hat Enterprise Linux Server 4.x and 5.x B OP Single Application Host Windows

Plus en détail

<Insert Picture Here> Maintenir le cap avec Oracle WebLogic Server

<Insert Picture Here> Maintenir le cap avec Oracle WebLogic Server Maintenir le cap avec Oracle WebLogic Server Alexandre Vasseur Principal Sales Consultant Oracle Fusion Middleware Application Grid: Défis et Enjeux Réduire les coûts Support des

Plus en détail

Ré-architecture et migration d une application standalone vers un serveur applicatif multi-tiers dans un contexte JAVA-SAP

Ré-architecture et migration d une application standalone vers un serveur applicatif multi-tiers dans un contexte JAVA-SAP Ré-architecture et migration d une application standalone vers un serveur applicatif multi-tiers dans un contexte JAVA-SAP Ionel Dembski Sous la direction de Peter Daehne, Professeur HES Département d

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

Urbanisme du Système d Information et EAI

Urbanisme du Système d Information et EAI Urbanisme du Système d Information et EAI 1 Sommaire Les besoins des entreprises Élément de solution : l urbanisme EAI : des outils au service de l urbanisme 2 Les besoins des entreprises 3 Le constat

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

JOnAS Day 5.1. Clustering

JOnAS Day 5.1. Clustering JOnAS Day 5.1 Clustering Solution complète de clustering Répartition de charge & bascule sur échec Application Web avec mod_jk/mod_proxy Connecteur http pour md_proxy Application Ejb avec CMIv2 Réplication

Plus en détail

Introduction aux «Services Web»

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

Plus en détail

Architectures d'intégration de données

Architectures d'intégration de données Architectures d'intégration de données Dan VODISLAV Université de Cergy-ontoise Master Informatique M1 Cours IED lan Intégration de données Objectifs, principes, caractéristiques Architectures type d'intégration

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

Comparaison des architectures J2EE et.net

Comparaison des architectures J2EE et.net Comparaison des architectures J2EE et.net Jean-Philippe FORESTIER jpf@osyx.fr Copyright OSYX 2003 Présentation Ce document après un rappel de différents types d architectures logicielles, présente une

Plus en détail

IBM DB2 Alphablox. d administration GC11-2170-00

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

Plus en détail

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

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

Plus en détail

Java Naming and Directory Interface

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

Plus en détail

Apache Tomcat 6. Guide d'administration du serveur Java EE sous Windows et Linux. Résumé. Étienne LANGLET

Apache Tomcat 6. Guide d'administration du serveur Java EE sous Windows et Linux. Résumé. Étienne LANGLET Apache Tomcat 6 Guide d'administration du serveur Java EE sous Windows et Linux Étienne LANGLET Résumé Ce livre sur Apache Tomcat 6 s adresse à toute personne appelée à mettre en oeuvre ce serveur sous

Plus en détail

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage Technologies du Web Créer et héberger un site Web Page 1 / 26 Plan Planification Choisir une solution d hébergement Administration Développement du site Page 2 / 26 Cahier des charges Objectifs du site

Plus en détail

Jean-Philippe VIOLET Solutions Architect

Jean-Philippe VIOLET Solutions Architect Jean-Philippe VIOLET Solutions Architect IBM Cognos: L' Expertise de la Gestion de la Performance Acquis par IBM en Janvier 08 Rattaché au Brand Information Management Couverture Globale 23,000 clients

Plus en détail

Windows (2000/NT), Solaris, AIX, HP-UX, Linux Haute disponibilité : SunCluster 3, Veritas Cluster Server 4. J2EE (JSP, Servlet, EJB, JTA), Open Source

Windows (2000/NT), Solaris, AIX, HP-UX, Linux Haute disponibilité : SunCluster 3, Veritas Cluster Server 4. J2EE (JSP, Servlet, EJB, JTA), Open Source David MAFFRAND Architecte SI E-mail : dmafblog@gmail.com Web : http://dmaf.free.fr Certifié Weblogic Server 6 Certifié webmethods Integration 4.6 Certifié webmethods Enterprise 5.0 Certifié webmethods

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

Projet Java EE Approfondi

Projet Java EE Approfondi EISTI Projet Java EE Approfondi Manuel d installation du framework Stripes Amaury Languillat, Yann Gonzalez, Arnaud Recher, Vincent Laronde, Anys Mechkar 10 Manuel d installation Téléchargement On part

Plus en détail

Expert technique J2EE

Expert technique J2EE EHRET Guillaume 25, rue de la Richelandiere 42100 SAINT ETIENNE 32 ans - Célibataire Expert technique J2EE Domaines de compétences Environnement et langages Expertise en programmation Java et en architecture

Plus en détail

Virginie!SALAS Janvier!09! NFE107

Virginie!SALAS Janvier!09! NFE107 Introduction!au!Serveurs!d d applications Définition Deux!architectures!:!Java!et!.Net BEA!Weblogic d Oracle WebSphere d IBM Inprise de!borland DNA!de!Microsoft Comparatif Un!serveur!d application!est!un!environnement!

Plus en détail

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour http://cuiwww.unige.

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour http://cuiwww.unige. : JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java Michel Bonjour http://cuiwww.unige.ch/~bonjour Plan JDBC: API bas niveau pour l accès aux BD (SQL) - Introduction - JDBC et : Java, ODBC, SQL

Plus en détail

Programmation Web Avancée Introduction aux services Web

Programmation Web Avancée Introduction aux services Web 1/21 Programmation Web Avancée Thierry Hamon Bureau H202 - Institut Galilée Tél. : 33 1.48.38.35.53 Bureau 150 LIM&BIO EA 3969 Université Paris 13 - UFR Léonard de Vinci 74, rue Marcel Cachin, F-93017

Plus en détail

Urbanisation des Systèmes d'information

Urbanisation des Systèmes d'information Urbanisation des Systèmes d'information Des composants technologiques disponibles Urbanisation des Systèmes d'information - Henry Boccon-Gibod 1 Plan de l'exposé Technologies à la mode disponibles. Bus

Plus en détail

Open Source Job Scheduler. Installation(s)

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

Plus en détail

Les nouvelles architectures des SI : Etat de l Art

Les nouvelles architectures des SI : Etat de l Art Les nouvelles architectures des SI : Etat de l Art Objectif Mesurer concrètement les apports des nouvelles applications SI. Être capable d'évaluer l'accroissement de la complexité des applications. Prendre

Plus en détail

Refonte front-office / back-office - Architecture & Conception -

Refonte front-office / back-office - Architecture & Conception - Refonte front-office / back-office - Architecture & Conception - GLG204 - Architectures Logicielles Java 2008/2009 Nom : Cédric Poisson Matricule : 06-49012 Version : 1.0 Jeudi 28 mai 2009 1 / 23 Table

Plus en détail

Systèmes répartis. Fabrice Rossi http://apiacoa.org/contact.html. Université Paris-IX Dauphine. Systèmes répartis p.1/49

Systèmes répartis. Fabrice Rossi http://apiacoa.org/contact.html. Université Paris-IX Dauphine. Systèmes répartis p.1/49 Systèmes répartis Fabrice Rossi http://apiacoa.org/contact.html. Université Paris-IX Dauphine Systèmes répartis p.1/49 Systèmes répartis Définition très large : un système réparti est système informatique

Plus en détail

NOVA BPM. «Première solution BPM intégr. Pierre Vignéras Bull R&D

NOVA BPM. «Première solution BPM intégr. Pierre Vignéras Bull R&D NOVA BPM «Première solution BPM intégr grée» Pierre Vignéras Bull R&D Définitions Business Process Pratiques existantes qui permettent aux personnes et systèmes de travailler ensemble Business Process

Plus en détail

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

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

Plus en détail

Architectures n-tiers Intergiciels à objets et services web

Architectures n-tiers Intergiciels à objets et services web Plan pour aujourd hui Architectures n-tiers Intergiciels à objets et services web Clémentine Nebut Nebut LIRMM / Université de Montpellier 2 Clementine.nebut@lirmm.fr Introduction Architectures classiques

Plus en détail

L art d ordonnancer. avec JobScheduler. François BAYART

L art d ordonnancer. avec JobScheduler. François BAYART L art d ordonnancer avec JobScheduler François BAYART 30 Octobre 2010 [1] 234567 introduction Introduction Qui suis-je? François Bayart consultant système en solution libre et propriétaire Redhat (1996),

Plus en détail

Messagerie asynchrone et Services Web

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

Plus en détail

Applications distribuées: le retour du client "riche"

Applications distribuées: le retour du client riche Applications distribuées: le retour du client "riche" Markus Jaton, Olivier Liechti Olivier Liechti / Markus Jaton /1 Agenda Java a-t-il un avenir sur le "desktop"? Swing vs. AJAX: idées préconçues? Architecture

Plus en détail

Nouvelles Plateformes Technologiques

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

Plus en détail

Quick Start Guide This guide is intended to get you started with Rational ClearCase or Rational ClearCase MultiSite.

Quick Start Guide This guide is intended to get you started with Rational ClearCase or Rational ClearCase MultiSite. Rational ClearCase or ClearCase MultiSite Version 7.0.1 Quick Start Guide This guide is intended to get you started with Rational ClearCase or Rational ClearCase MultiSite. Product Overview IBM Rational

Plus en détail

SOAP Concepts Application à Glassfish

SOAP Concepts Application à Glassfish SOAP Concepts Application à Glassfish LicencePro 2014 Olivier Perrin Université de Lorraine Évolution From server-side app to smart clients and services 2 Browser-based HTML Rendering (progressive enhancement)

Plus en détail

Youssef LYHYAOUI Ingénieur Java/J2EE, SOA, ESB, Web services 31 ans Statut : Indépendant SITUATION ACTUELLE

Youssef LYHYAOUI Ingénieur Java/J2EE, SOA, ESB, Web services 31 ans Statut : Indépendant SITUATION ACTUELLE Youssef LYHYAOUI Ingénieur Java/J2EE, SOA, ESB, Web services 31 ans Statut : Indépendant Adresse Personnelle : 3, allée du Roussillon 91300 Massy Téléphone : (+33) 06 78 37 34 82 E-mail : youssef.lyhyaoui@spartup.com

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

7 villa de la citadelle Né le 13 mai 1983 94110 Arcueil Nationalité : Française. Développeur Web JEE COMPÉTENCES

7 villa de la citadelle Né le 13 mai 1983 94110 Arcueil Nationalité : Française. Développeur Web JEE COMPÉTENCES Philippe Crépin 7 villa de la citadelle Né le 13 mai 1983 94110 Arcueil Nationalité : Française : 06.17.46.12.09 : phi.crepin@gmail.com Disponibilité : En poste chez Soft Computing Développeur Web JEE

Plus en détail

Vulnérabilités et sécurisation des applications Web

Vulnérabilités et sécurisation des applications Web OSSIR 09/09/2002 Vulnérabilités, attaques et sécurisation des applications Web Pourquoi les firewalls sont impuissants patrick.chambet@edelweb.fr http://www.edelweb.fr http://www.chambet.com Page 1 Planning

Plus en détail

Développement d applications Internet et réseaux avec LabVIEW. Alexandre STANURSKI National Instruments France

Développement d applications Internet et réseaux avec LabVIEW. Alexandre STANURSKI National Instruments France Développement d applications Internet et réseaux avec LabVIEW Alexandre STANURSKI National Instruments France Quelles sont les possibilités? Publication de données Génération de rapports et de documents

Plus en détail

Connexion à SQL Server 2005 à partir du serveur d application SJSAS 9 Utilisation d une interface JDBC

Connexion à SQL Server 2005 à partir du serveur d application SJSAS 9 Utilisation d une interface JDBC Connexion à SQL Server 2005 à partir du serveur d application SJSAS 9 Utilisation d une interface JDBC Sommaire 1. Objectifs et intérêts... 2 2. Intégrer le driver SQL Server dans SJSAS 9... 2 2.1. Télécharger

Plus en détail

Cours en ligne Développement Java pour le web

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

Plus en détail

ADMINISTRATION DE ADOBE LIVECYCLE MOSAIC 9.5

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

Plus en détail

Plan. Department of Informatics

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

Plus en détail

Point sur les solutions de développement d apps pour les périphériques mobiles

Point sur les solutions de développement d apps pour les périphériques mobiles Point sur les solutions de développement d apps pour les périphériques mobiles Par Hugues MEUNIER 1. INTRODUCTION a. Une notion importante : le responsive web design Nous sommes en train de vivre une nouvelle

Plus en détail

TechSoftware Présentations

TechSoftware Présentations TechSoftware Présentations Philippe THOMAS Spécialiste Supervision chez Tivoli THOMAS1@FR.IBM.COM 2 Mes Sessions à TechSoftware TIV02 - Comment construire ses rapports avec BIRT pour les solutions Tivoli

Plus en détail

Grid Technology. ActiveMQ pour le grand collisionneur de hadrons (LHC) Lionel Cons Grid Technology Group Information Technology Department

Grid Technology. ActiveMQ pour le grand collisionneur de hadrons (LHC) Lionel Cons Grid Technology Group Information Technology Department DB GT CF Grid ActiveMQ pour le grand collisionneur de hadrons (LHC) Lionel Cons Grid Group Information Department Journée de la communauté FUSE, Paris, 2010 CERN IT Department CH-1211 Geneva 23 Switzerland

Plus en détail

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation Base de données S. Lèbre slebre@unistra.fr Université de Strasbourg, département d informatique. Présentation du module Contenu général Notion de bases de données Fondements / Conception Utilisation :

Plus en détail

Olivier Deheurles Ingénieur conception et développement.net

Olivier Deheurles Ingénieur conception et développement.net Olivier Deheurles Ingénieur conception et développement.net MOTS CLES Maîtrise de la conception et du développement orientés Objet 6 ans d expérience sur les plateformes.net 1.1 et 2.0 (C# et VB.NET) MCAD

Plus en détail

La base de données XML exist. A. Belaïd

La base de données XML exist. A. Belaïd La base de données XML exist Introduction Qu est-ce-que exist? C est une base de donnée native, entièrement écrite en Java XML n est pas une base de données en soi Bien qu il possède quelques caractéristiques

Plus en détail

SOA Open Source Intégration des services et business process dans une architecture SOA Open Source. Bruno Georges JBoss, a Division of Red Hat

SOA Open Source Intégration des services et business process dans une architecture SOA Open Source. Bruno Georges JBoss, a Division of Red Hat SOA Open Source Intégration des services et business process dans une architecture SOA Open Source Bruno Georges JBoss, a Division of Red Hat Agenda Cas d etude Contexte métier Les bénéfices Open Source

Plus en détail

Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION. Mentions Ingénierie des Systèmes d Information Business Intelligence

Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION. Mentions Ingénierie des Systèmes d Information Business Intelligence É C O L E D I N G É N I E U R D E S T E C H N O L O G I E S D E L I N F O R M A T I O N E T D E L A C O M M U N I C A T I O N Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION Mentions

Plus en détail

Création d une application JEE

Création d une application JEE Création d une application JEE Rédacteurs : Alexandre Baillif, Philippe Lacomme, Raksmey Phan et Michaël PLAN Date : juillet 2010 Mise à jour : Michaël PLAN Date : octobre 2014 Avertissement : - ce document

Plus en détail