L'environnement Java EE : Principes, états des lieux et évolutions. Guillaume Sauthier (Bull SAS) [email protected]
|
|
|
- Marie-Ange André
- il y a 10 ans
- Total affichages :
Transcription
1 L'environnement Java EE : Principes, états des lieux et évolutions Guillaume Sauthier (Bull SAS) [email protected]
2 Plan Introduction à l'environnement Java EE Composants Java EE Services fournis par l'environnement Répartition Transactions Sécurité Modèles de programmation Java EE Client/Web/EJB Persistance 3
3 Introduction 4
4 Objectis de Java EE 1/2 Infrastructure serveur pour le support d'applications d'entreprise E commerce (B2B & B2C) Systèmes d'informations Plates formes de services (Audio visuel, telco,...) Architecture multi tiers Client léger (basée sur les navigateurs) Web, WAP, vocale (synthèse, reco) Artefacts XML (XHTML, WML, VoiceXML) Clients lourds (GUI avancées) SOA (application réparties) 5
5 Objectifs de Java EE 2/2 QoS (Qualité de service) Transactions Sécurité (authentification, autorisation, confidentialité) Gestion des ressources Connexion standard aux SI externes (legacy) Support de l'eai Support XML 6
6 Ce que définit Java EE Spécification de la plate forme Composants, containers (programmation, assemblage, déploiement) Serveur et services (exécution) Implémentation de référence opérationnelle (Glassfish) Kit de verification de conformité des application (AVK) Tests de compatibilité des implémentations (TCK) Certification Sun Processus payant sauf pour les produits «open source» Lourd à mettre en oeuvre (+ de tests) Conseils de mise en oeuvre Java EE blueprints (pet store, adventure builder,...) 7
7 Overview de l'architecture Java EE 8
8 Java EE 5 comme base du cours Simplification du développement Annotations (depuis Java SE 5) Contraintes de programmation des composants assouplies Enrichissement fonctionnel Tiers de présentation avec Java Server Faces Tiers de données avec Java Persistence API Évolution majeure des EJB Séparation gestion des composants / gestion des objets persistants 9
9 Exemple de fil conducteur 10
10 Inscription à une conférence 11
11 Décomposition de l'application Application ICAR Application Java EE Packaging: icar.ear Contient 2 modules Présentation Spécifique à ICAR Packaging: icar.war Métier Gestion d'une école thématique Réutilisable Packaging: school.jar Contient le code des EJB et objets persistants 12
12 Composants: Définition, Assemblage, Packaging et Déploiement 13
13 Indépendance Recherche d'une indépendance maximale du code applicatif Pas de liaison statique entre éléments de code applicatif (composants) Pas de liaison statique entre éléments de code applicatif et services de la plate forme Éviter l'utilisation de code «technique» dans le code applicatif (déclarativité / transparence) Code applicatif plus réutilisable! 14
14 Rôles des conteneurs Support du déploiement de composants Installation d'applications et de librairies (.ear,.war,.rar,.jar) Activation d'applications et de librairies Gestion des liaisons entre composants Gestion des liaisons entre composants et services de l'environnement Support de modèle de programmation Définition et gestion des cycles de vie Transparence de mise en oeuvre de services «techniques» (transactions, sécurité,...) 15
15 Principaux conteneurs Conteneur d'application clientes (clients «lourds») Conteneur d'application serveur Conteneur de «servlet» Conteneur d'ejb Conteneur de connecteurs («ressource adapters») Conteneur de persistance Indépendant de Java EE Intégré par le conteneur EJB dans le cadre de Java EE 16
16 Composants Java EE Modules de code réutilisable qu'on peut assembler Changement de liaisons entre modules de code applicatif Sans impact sur le code Configuration des liaisons entre code applicatif et ressources utilisées Sans impact sur le code Vision ad hoc non systématique Séparation des préoccupations pas idéale Gestion structuration/assemblage Modèle de programmation Méta informations structurelles non homogène : définition de liaison spécifique au type de liaison (composant/composant, composant/ressource,...) Packaging différent (META INF ou WEB INF?) 17
17 Définition d'un composant Java EE Composant Java EE Code Java Information descriptive (méta information) Code contraint par des contrats Implémentation d'interface (ou conformation à des signatures) Cycle de vie Design patterns Abstract Factory Accessor / Java Bean... 18
18 Méta information d'un composant Java EE Expression de la méta information Annotation Java SE 5 Descripteurs XML Types de méta information Interfaces d'instances ou de factory («home») Interfaces fournies Définition des dépendances : interfaces requises Composant/Composant (Servlets, EJB,...) Composant/Ressource (Services) Factory: JDBC, JMS, JCA, JavaMail,... Resource: une destination JMS, un service web Cas particulier: UserTransaction, TimerService, ORB,... Définition de propriétés paramétrables (nom, type, valeur) Définition de propriétés non fonctionnelle (transaction, persistance,...) 19
19 Utilisation des annotations Java EE 5 nécessite Java SE 1.5 pour le support des annotations Manipulations au niveau source ou à l'exécution (réflexion) Associé aux concepts Java (Type, Field, Method, Parameter,...) Description des composants dans le code Toutes les informations des descripteurs peuvent être exprimés sous la forme d'annotations dans le code Mise en oeuvre plus légère : simplification du développement 2 types d'informations peuvent être utilisable indistinctement ou simultanément (les descripteurs surchargent les annotations) Principe d'utilisation Certaines informations descriptives relève de propriétés liées au code (par exemple le comportement transactionnel, attributs persistants,...) Annotations utilisées pour exprimer des informations par défaut ou pour le développement (propriétés paramétrables, liaisons,...) 20
20 Définition d'un composant 21
21 Exemple de définition d'un public class SubscriptionBean implements ISubscription { private int maxparticipants = private SessionContext sc; /* void setsessioncontext(sessioncontext c) { sc = c; } */ Surcharge les annotations Nom du bean dans l'espace de nommage de l'ejbjar. Nom de la propriété dans l'espace de nommage du bean (java:comp/env) Définition de la <session> <ejb-name>subscription</ejb-name> variable injectée <business-local>org.ow2.icar.bean.isubscription</business-local> <ejb-class>org.ow2.icar.bean.subscriptionbean</ejb-class> <env-entry> <env-entry-name>property/maxparticipants</env-entry-name> <env-entry-type>java.lang.integer</env-entry-type> <env-entry-value>120</env-entry-value> <injection-target> <injection-target-name>maxparticipants</injection-target-name> </injection-target> </env-entry> </session> 22
22 Définition des dépendances (références) Références entre composants «packagée» ensemble Définition d'un nom local Définition du lien effectif Désignation à l'aide du nom local du composant (dans l'espace applicatif) Désignation à l'aide d'un nom JNDI pour référencer un composant distant (attribut mappedname) Référence vers une ressource du serveur Définition d'un nom local Définition du lien effectif: spécifique en J2EE 1.4, définissable en Java EE (attribut mappedname) Convention de nommage Nom de propriété == nom de variable de classe Java Nom de ressource (ex ejb) == nom de classe Java Nom de référence préfixé par type de ressource (ex: mail, ejb,...) 23
23 Référence d'un composant beanname="icar.jar#subscription") private ISubscription sessionsubscription; <ejb-ref> <ejb-ref-name>ejb/subscription</ejb-ref-name> <ejb-ref-type>org.ow2.icar.bean.isubscription</ejb-ref-type> <ejb-link>icar.jar#subscription</ejb-link> <injection-target> <injection-target-name>sessionsubscription</injection-target-name> </injection-target> </ejb-ref> 24
24 Référence vers une DataSource mappedname="jdbc_1") private DataSource dbicar; <resource-ref> <res-ref-name>jdbc/dbicar</res-ref-name> <res-type>javax.sql.datasource</res-type> <res-auth>container</res-auth> <injection-target> <injection-target-name>dbicar</injection-target-name> </injection-target> </resource-ref> 25
25 Référence vers une ressource mappedname="icartopic") private Topic topic; <resource-env-ref> <resource-env-ref-name>jms/subscriptiontopic</resource-env-ref-name> <res-type>javax.jms.topic</res-type> <injection-target> <injection-target-name>topic</injection-target-name> </injection-target> </resource-env-ref> 26
26 Référence vers une unité de persistance unitname="icar.jar#schooldata") private EntityManagerFactory emf; <persistence-unit-ref> <persistence-unit-ref-name>persistence/dbschool</persistence-unit-ref-name> <persistence-unit-name>icar.jar#dataschool</persistence-unit-name> <injection-target> <injection-target-name>emf</injection-target-name> </injection-target> </persistence-unit-ref> 27
27 Package icar.ear Contenu de l'archive: Contenu de application.xml META-INF/ MANIFEST.MF application.xml icar.war icar.jar <application> <display-name>icar'08</display-name> <description></description> <module> <web> <web-uri>icar.war</web-uri> <context-root>icar08</context-root> </web> </module> <module> <ejb>icar.jar</ejb> </module> </application> 28
28 Package icar.jar Contenu de l'archive: persistence.xml, cf section persistance Contenu de ejb jar.xml Pas nécessaire en EJB 3.0 META-INF/ MANIFEST.MF ejb-jar.xml persistence.xml org/ school/ api/ *.class lib/ *Bean.class persistence/ *.class <ejb-jar> <enterprise-beans> <session> <ejb-name>subscription</ejb-name> <ejb-class> org.ow2.icar.bean.subscriptionbean </ejb-class> <session-type>stateful</session-type> [... ] </session> </enterprise-beans> [... ] </application> 29
29 Support de l'exécution répartie 30
30 Appel de méthode à distance RMI Transport Java (JRMP) ou CORBA (IIOP) Standard d'inter opérabilité inter serveurs Java EE (IIOP) Propagation de contextes optionnelle en Java EE 5 (transaction, sécurité,...) Web Services Deux modèles JAX RPC 1.1 JAX WS 2.x Basée sur une pile SOAP configurable Support de différents type de transport (SAAJ) 31
31 Communication asynchrone Standard Java Messaging Service (JMS) Clients de publication et clients de consommation Mode file de messages (queues): message consommé par un unique consommateur Mode topic: message consommé par tous les consommateurs inscrits Niveaux de QoS sur la délivrance et sur le traitement Sémantique «au moins une fois», «au plus une fois», «exactement une fois» Persistance Support transactionnel 32
32 Système des connecteurs JCA Intégration des systèmes «legacy» Support de protocoles de communication dédiés Support de messages sortant et entrants Contrats d'intégration «systèmes» Gestion de réserve de connexions (dimensionnement de pool) Gestion des transactions Gestion de la sécurité Utilisé aussi pour intégrer des services Java EE Connecteurs JDBC Connecteurs JMS 33
33 Support des transactions 34
34 Fonctions du support transactionnel (JTA) Gestion d'un contexte transactionnel Démarrage: begin() Validation: commit() Annulation: rollback() Association du contexte transactionnel au «thread» courant Évite le passage explicite d'un représentant de la transaction dans le code Attention aux changements de contexte: passage d'un «thread» à l'autre 35
35 Rôle du contrat client de gestion des transactions Interface javax.transaction.usertransaction Gestionnaire de transactions Vue client Contrôle de la transaction Démarcation (begin, commit, rollback) Gestion de «timeout» Demande d'annulation différée à la terminaison («rollback only») Consultation de l'état 36
36 Mise en oeuvre du contrat client de gestion des transactions Accès au gestionnaire de transactions Standardisé dans l'environnement Java EE Accès à travers JNDI Nom standard: java:comp/usertransaction UserTransaction utx = (UserTransaction) new InitialContext().lookup(«java:comp/UserTransaction»); utx.begin(); //... utx.commit(); // ou utx.rollback(); 37
37 Rôle du contrat système «standard» de gestion des transactions Utilisé par les composants plutôt techniques Connecteurs / ressource adapters (JMS / JDO /...) Systèmes de persistance JPA Etc Gestionnaire de transactions évolué Permet l'interception des évènements transactionnels: enregistrement d'objets callbacks javax.transaction.synchronisation (par exemple une transaction JDO) Permet de définir des paramètres associés au contexte transactionnel Utilisation de l'interface javax.transaction.transactionsynchronisationregistry 38
38 Mise en oeuvre du contrat système «standard» de gestion des transactions Accès au gestionnaire de transactions évolué Standardisé dans l'environnement Java EE Accès à travers JNDI Nom standard: java:comp/transactionsynchronisationregistry // Exemple : connecteur JCA Speedo TransactionSynchronisationRegistry tsr = (TransactionSynchronisationRegistry) new InitialContext().lookup(«java:comp/ TransactionSynchronisationRegistry»); JDOPOManager persistencemanager; // Speedo PersistenceManager tsr.registerinterposedsynchronization(persistencemanager); 39
39 Support de la sécurité 40
40 Approche pour l'authentification et l'autorisation Notions de base Principal = identifiant Credential = principal authentifié Rôle = profil d'autorisation Authentification Valide un principal et associe un credential à sa session Credential passé au système d'autorisation Autorisation Vérification de droits d'utilisation au d'accès Basé sur les rôles Règle: accès autorisé si un credential est dans un rôle autorisant l'accès à la ressource Gestion de la sécurité Méta information (minimal) De façon programmatique (externalisation, gestion dynamique) 41
41 Composants client applicatif (conteneur client) 42
42 Mise en oeuvre client «lourd» 1/2 Deux mode d'accès au serveur Appel synchrone/rpc: RMI (JRMP/CORBA) ou Web Services Appel asynchrone / publication de messages: JMS Utilisation de RMI (transparence de la mise en liaison par rapport à un accès local ou mappedname=«subscription») private ISubscription sub; //... InfoParticipant sub.infos(«bill Gates»); 43
43 Mise en oeuvre client «lourd» 2/2 Utilisation des Web org.school.ws.isubscriptionservice.class) private ISubscriptionPort port; //... InfoParticipant port.infos(«bill Gates»); 44
44 Composants de présentation (conteneur de Servlets) 45
45 Service offert par la conteneur web Notion de Servlet Génération de contenu web dynamique (page HTML ou XML) Activation de «thread» pour traitement d'une requête par un objet Servlet Projection d'urls vers un objet Fonctions de plus haut niveau JSP (Java Server Pages) Mélange Java/HTML/XML (contenu statique + tags + directives) Compilation en Servlet au déploiement JSF (Java Server Faces) (utilise JSP) Meilleur séparation présentation/contrôle (Servlet de contrôle) Définition d'un graphe d'enchaînement de pages 46
46 Servlet en beanname=«icar.jar#subscription») public class ProcessFormServlet extends HttpServlet { public void doget(httpservletrequest req, HttpServletResponse resp) { InfoParticipant info = new InfoParticipant(); info.nom = req.getparameter(«nom»); //... ISubscription sub = ictx.lookup(«java:comp/env/ejb/subscription»); sub.register(info); resp.setcontenttype(«text/html»); PrintWriter pw = resp.getwriter(); pr.println(«html»); //... } } 47
47 Composants métier non persistants (conteneur EJB) 48
48 Support de l'étage logique métier 1/2 EJB = Composants définissant la logique applicative Version 3 représente une évolution non négligeable Assure la compatibilité ascendante / 2.1 Reste conceptuellement compatible avec la version 2.1 Relâche certaines contraintes au niveau du modèle de programmation Principal objectif: Simplifier la vie du développeur Logique POJO Pas d'implémentation de contrats programmatique (SessionBean), mais respect de signature Pas nécessaire de définir et de manipuler des factory: mise en liaison automatique (injection) Plus de composants persistants: seulement des POJOs sans dépendances 49
49 Support de l'étage logique métier 2/2 Support de la persistance séparé en 2 spécifications EJB 3 core: Intégration de fournisseur de persistance indépendant EJB 3 Persistence: JPA (javax.persistence et non dans javax.ejb) Pour l'essentiel des composants gérant des sessions de communication avec un client de l'application activé Par l'arrivée d'un message d'un client Communication synchrone type RPC Communication asynchrone à travers des composants JCA Par des événements temporels (échéanciers/timers) 50
50 Les types de composants métiers Deux modes de communication supportés Appel de procédure à distance (RPC): RMI/CORBA ou Web Services Envoie de message asynchrone (pas d'attente bloquante côté client) Possibilité de gérer un dialogue évolué entre un client et l'application serveur Session traitant plusieurs appels consécutifs Gestion d'informations représentant l'état du dialogue Trois profils de session Composant sans état Session sans état (StateLess Session Bean, SLSB) Composants réactifs (Message Driven Bean, MDB) Session avec état, seulement RPC (StateFul Session Bean, SFSB) 51
51 Cycle de vie vue du client d'un EJB session (SLSB ou SFSB) 52
52 Vue client d'un composant métier EJB 3.0 Vue client pour les composants réactifs API JMS: publication de messages sur une queue ou un topic Format de message accordé entre le client et le serveur (API métier) Vue client pour les sessions (SLSB et SFSB) API Java métier Interface Java Pas une interface Remote Transparence de la mise en relation Vis à vis de la répartition Vis à vis du type de RPC (RMI ou WS) Injection d'une dépendance vers un EJB Utilisation de 53
53 Cycle de vie d'un composant sans état (SLSB ou MDB) Allocation d'instances Allocation à la discrétion du conteneur (pool) Invocation des intercepteurs PostConstruct/PreDestroy Utilisation d'instances Invocation des méthodes métiers Méthodes des interfaces SLSB Méthodes des interfaces «message listener» Sérialisation de l'exécution garantie par le conteneur Définition d'échéanciers (service timer) 54
54 Cycle de vie d'une session état (SFSB) 55
55 Gestion déclarative des transactions («container managed») Comportement associé aux méthodes Démarcation == appel de méthode Comportements possibles («required» par défaut) NotSupported: si transaction active, transaction suspendue Required: si pas de transaction active, nouvelle transaction RequiresNew: nouvelle transaction (si transaction active, transaction suspendue et réactivée à la fin de la nouvelle) Mandatory: exception si pas de transaction active Supports: rien à faire (si transaction active, l'utiliser) Never: exception si transaction active Seuls Required et NotSupported valables pour les composants réactifs 56
56 Définition de l'interface du composant session «SubscriptionBean» EJB 2.1 public interface IEJB2Subscription extends EJBObject { } void register(infoparticipant participant) throws RemoteException; InfoParticipant infos(string name) throws RemoteException; public interface IEJB2SubscriptionHome extends EJBHome { } IEJB2Subscription create() throws CreateException, RemoteException; public class InfoParticipant { // Data Transfert Object (DTO) public String nom; public String address; } //... 57
57 Définition de l'interface du composant session «SubscriptionBean» EJB public interface IEJB3Subscription { void register(infoparticipant participant); InfoParticipant infos(string name); } public class InfoParticipant { public String nom; public String address; } //... 58
58 Implémentation du composant session «SubscriptionBean» EJB 2.1 public class EJB2SubscriptionBean implements SessionBean { } private ParticipantHome participanthome; public void ejbactivate() throws EJBException, RemoteException {} public void ejbpassivate() throws EJBException, RemoteException {} public void ejbremove() throws EJBException, RemoteException {} public void setsessioncontext(sessioncontext arg0) throws EJBException, RemoteException { Object ph = new InitialContext().lookup("java:comp/env/ejb/Participant"); participanthome = PortableRemoteObject.narrow(ph, ParticipantHome.class); } public void register(infoparticipant info) { Participant p = participanthome.create(info.nom, info.address); /* JMS publication: next slide */ } public InfoParticipant infos(string name) { Participant p = participanthome.findbypk(name); return p.getinfoparticipant(); } 59
59 Implémentation du composant session «SubscriptionBean» public class EJB3SubscriptionBean implements IEJB3Subscription { private SessionContext public void register(infoparticipant info) { Participant p = new Participant(info.nom, info.address); EntityManager em = (EntityManager) sc.lookup("persistence/dbschool"); em.persist(p); em.close(); // JMS publish: see MDB slides } public InfoParticipant infos(string name) { EntityManager em = (EntityManager) sc.lookup("persistence/dbschool"); Query q = em.createquery("select OBJECT(i) from Subscription i WHERE i.nom = :pn"); q.setparameter("pn", name); Participant p = (Participant) q.getsingleresult(); InfoParticipant ip = p.getinfoparticipant(); em.close(); return ip; } 60
60 Description du composant session «Subscription» EJB2.1 <ejb-jar xmlns=" version="2.1"> <display-name>icar Sessions</display-name> <enterprise-beans> <session> <ejb-name>subscription</ejb-name> <home>org.school.api.iejb2subscriptionhome</home> <remote>org.school.api.iejb2subscription</remote> <ejb-class>org.school.lib.ejb2subscriptionbean</ejb-class> <session-type>stateless</session-type> <transaction-type>container</transaction-type> <ejb-ref> <ejb-ref-name>ejb/participant</ejb-ref-name> <ejb-ref-type>entity</ejb-ref-type> <home>org.school.api.participanthome</home> <remote>org.school.api.participanthome</remote> <ejb-link>icar.jar#participant</ejb-link> </ejb-ref> <resource-ref> <res-ref-name>jms/connfactory</res-ref-name> <res-type>javax.jms.topicconnectionfactory</res-type> <res-auth>container</res-auth> </resource-ref>... 61
61 Description du composant session «Subscription» EJB <resource-env-ref> <resource-env-ref-name>jms/subscriptiontopic</resource-env-ref-name> <resource-env-ref-type>javax.jms.topic</resource-env-ref-type> </resource-env-ref> </session> </enterprise-beans> <assembly-descriptor> <container-transaction> <method> <ejb-name>subscription</ejb-name> <method-name>register</method-name> </method> <trans-attribute>required</trans-attribute> </container-transaction> </assembly-descriptor> </ejb-jar> 62
62 Exemple d'une publication de message à partir d'un mappedname="subscriptiontopic") private Topic topic; // In EJB 2.1: topic = (Topic) new InitialContext().lookup("java:comp/env/jms/SubscriptionTopic") // in register(infoparticipant) TopicConnectionFactory tcf = null; TopicConnection tc = tcf.createtopicconnection(); TopicSession session = tc.createtopicsession(false, Session.AUTO_ACKNOWLEDGE); TopicPublisher tp = session.createpublisher(topic); MapMessage mm = session.createmapmessage(); mm.setstring("participant.name", info.nom); tp.publish(mm); 63
63 Exposer «SubscriptionBean» comme un Web wsdllocation="meta-inf/wsdl/subscription.wsdl", servicename="subscriptiopnservice", public class EJB3SubscriptionBean implements IEJB3Subscription private public void register(infoparticipant info) { Participant p = new Participant(info.nom, info.address); EntityManager em = (EntityManager) sc.lookup("persistence/dbschool"); em.persist(p); em.close(); } 64
64 Exemple de composant réactif mappedname="topicicar08") public class NewSubscriptionBean implements MessageListener { private String school = "Thematic private String secretary = private Session session; private InternetAddress[] void init() { addresses = new InternetAddress[] {new InternetAddress(secretary)}; } public void onmessage(message m) { MapMessage mm = (MapMessage) m; javax.mail.message mail = new MimeMessage(session); mail.setrecipients(javax.mail.message.recipienttype.to, addresses); mail.setsubject("new subscription - " + school); mail.setcontent("participant name: " + mm.getstring("participant.name"), "text/plain"); Transport.send(mail); } 65
65 Support des échéanciers 1/2 Définition d'évènements temporels Échéance unique ou périodique Définitions persistantes Composant les supportant SLSL et MDB EJB 2.1 Entities Événements applicatifs Activation d'une instance du composant Différents des «timeout» associés à l'exécution d'instance particulières (événements furtifs) 66
66 Support des échéanciers 2/2 Définition d'un intercepteur public void process(timer t) { //... } Définition d'un private TimerService timerservice; // Fire timeout every hours starting from now timerservice.createtimer(system.currenttimemillis(), , "+1 heure"); 67
67 Composants métiers persistants (Conteneur JPA) 68
68 Support de l'étage données métiers Standard JPA 1.0 Partie d'ejb 3.0 (JSR 220) Compatible Java SE et Java EE Proche JDO (objectif et approche) Données métier : POJO Au choix de l'utilisateur d'abstraire (ou pas) l'accès au données/sessions Plutôt un problème d'organisation de l'étage session Ce ne sont pas des composants Pas comme les Entities EJB 2.1 Standardisation du mapping Objet/Relationnel 69
69 Modèles de persistance Objets persistants (entities) Instances de classes persistantes Rendus persistants explicitement (action persist) Rendus persistants par attachement (lien de propagation configurables) Détruit explicitement (action remove) Détruit par propagation (cascade configurable) API du systeme de persistence EntityManagerFactory: représente un espace de persistance (une BD) EntityManager: représente un contexte d'exécution (une transaction) Query: représente une requête EJBQL (définition et exécution) EntityTransaction: représente la transaction associée à un contexte d'exécution (mêmes fonctions que UserTransaction) 70
70 Modèles de données Entité = ensemble d'attributs persistants 2 modes de définition d'attributs Field: simple variable de classe Property (Java Bean like): méthodes setter et getter Types supportés pour les attributs Types primitifs (et leurs wrappers) Références d'entities (relation? 1) Collection de références d'entities (relation? n) Support de l'héritage Support des classes abstraites Support des classes incluses (lien composite) 71
71 Exemples de public class public class School @Column(name="PID") private long private String private Address private Set<School> private long private private Set<Participant> participants; 72
72 Définition des unités de persistance <persistence xmlns=" version="1.0"> <persistence-unit name="dataschool" transaction-type="jta"> <jta-data-source>jdbc_1</jta-data-source> <class>org.school.persistence.address</class> <class>org.school.persistence.school</class> <class>org.school.persistence.participant</class> <! > </persistence-unit> </persistence> 73
73 Les requêtes Requêtes ensemblistes Support à base d'ejbql étendu Support de requêtes SQL natives (attention à la portabilité) Requetes nommées Factorisation de définition Pas de re compilation EJB à chaque query="select OBJECT(p) FROM Participant p, IN " + "(p.participations) e GROUP BY p HAVING COUNT(e) > :nbschools") public class Participant { /*...*/ } Query q = em.createnamedquery("faithful"); q.setparameter("nbschools", 1); List<Participant> p = q.getresultlist(); 74
74 Future 75
75 Future Évolution des spécifications EJB 3.1: Appels de méthode asynchrone Singleton JCA 1.6: Relâchement des contraintes de ClassLoader (visibilité des librairies) JPA 2.0: Prise en compte des problèmes relevés avec JPA 1.0 Servlet 3.0: Web framework pluggability + dynamic changes Asynch support 76
76 Conclusion 77
77 Conclusion Solution industrielle parmi les plus abouties Niveaux d'indépendance (HW, OS, DB, RPC,...) Spectre fonctionnel très large Evolution des spécifications Maturation et stabilisation Modèles de composants (non homogène) Modèles de programmation simplifiant le développement (code plus propre) Mise en oeuvre Environnement puissant mais complexe Outil de productivité pour utilisateurs aguerris Outillage important (Eclipse, NetBeans, IDEA) 78
78 Questions / Réponses 79
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
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
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:...
Java Naming and Directory Interface
Introduction Java Naming and Directory Interface Gaël Thomas [email protected] Université Pierre et Marie Curie Master Informatique M2 Spécialité SAR Java Naming and Directory Interface (JNDI) Java Standard
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 ([email protected]), UNSA 2002, modifié par Richard Grin (version 1.1, 21/11/11), avec emprunts aux supports de Maxime
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
J2EE. Java2 Enterprise Edition. Pierre Yves Gibello [email protected] Mise à jour : 30 Septembre 2004
J2EE Java2 Enterprise Edition Pierre Yves Gibello [email protected] Mise à jour : 30 Septembre 2004 Ce document est couvert par la licence Creative Commons Attribution ShareAlike. This work
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é[email protected]
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
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
EXA1415 : Annotations JavaEE : @Local, @Stateful
EXA1415 : Annotations JavaEE : @Local, @Stateful Sur une idée de P. Sécheresse sur http://developpez.com (http://tinyurl.com/5gr57j) Diapo 1 Objectif Créer un EJB CalculatriceBean (V1) Contient une opération
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
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
Environnements de Développement
Institut Supérieur des Etudes Technologiques de Mahdia Unité d Enseignement: Environnements de Développement BEN ABDELJELIL HASSINE Mouna [email protected] Développement des systèmes d Information Syllabus
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
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
Java EE. Java Enterprise Edition. Pierre-Yves Gibello - [email protected] (Mise à jour : Septembre 2011)
Java EE Java Enterprise Edition Pierre-Yves Gibello - [email protected] (Mise à jour : Septembre 2011) Ce document est couvert par la licence Creative Commons Attribution-ShareAlike. This
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
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.
Introduction à la plateforme J2EE
Introduction à la plateforme J2EE Auteur : Oussama Essefi Directeur technique Expert Consulting [email protected] Copyright 2010 Expert Consulting Page 1 1. Introduction 1.1. Pourquoi
Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)
Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07
Composants logiciels Exemples : Java Beans, Enterprise Java Beans
Composants logiciels Exemples : Java Beans, Enterprise Java Beans Sacha Krakowiak Université Joseph Fourier Projet Sardes (INRIA et IMAG-LSR) http://sardes.inrialpes.fr/~krakowia Introduction : évolution
Application web de gestion de comptes en banques
Application web de gestion de comptes en banques Objectif Réaliser une application Web permettant à un client de gérer ses comptes en banque Diagramme de cas d'utilisation 1 Les cas d'utilisation Connexion
Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles
Types d applications pour la persistance Université de Nice Sophia-Antipolis Version 0.9 28/8/07 Richard Grin Toutes les applications n ont pas une complexité qui nécessite une architecture n- tiers Ce
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
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.
CQP Développeur Nouvelles Technologies (DNT)
ORGANISME REFERENCE STAGE : 26572 20 rue de l Arcade 75 008 PARIS CONTACT Couverture géographique : M. Frédéric DIOLEZ Bordeaux, Rouen, Lyon, Toulouse, Marseille Tél. : 09 88 66 17 40 Nantes, Lille, Strasbourg,
Projet. But: consultation en temps réel d événements (cours de bourse, trafic d envoi SMS ) sur des téléphones portables. Serveur de diffusion
Projet But: consultation en temps réel d événements (cours de bourse, trafic d envoi SMS ) sur des téléphones portables événements Serveur de diffusion 1 JMS Java Message Service PHAN Quang-Hai ISTR 04/05/2004
Rapport de projet de fin d études
TELECOM SUDPARIS VAP : ARCHITECTE DE SERVICES EN RESEAU Rapport de projet de fin d études Comparaison et évaluation de serveurs d'applications Java Sarafou BALDE Muqiu ZHENG Encadrante: Mme Sophie CHABRIDON
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 10 L API JPA et la
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é
La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 [email protected] 1
La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 [email protected] 1 Plan 1. Généralités sur la persistance des données dans les applications 2. La connection
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
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
Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework
Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework Gaël de Chalendar CEA LIST / LIC2M Journée de Présentation des Technologies WebContent INSTN 14/12/2009 Présentation de gsoap Plan
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
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
RMI le langage Java XII-1 JMF
Remote Method Invocation (RMI) XII-1 Introduction RMI est un ensemble de classes permettant de manipuler des objets sur des machines distantes (objets distants) de manière similaire aux objets sur la machine
Applications des patrons de conception
MAI NFE103 Année 2013-2014 Applications des patrons de conception F.-Y. Villemin, CNAM! http://deptinfo.cnam.fr/enseignement/cyclespecialisation/mai/index.html Plan! Java Beans*! Patron "Modèle-vue-contrôleur"
Composants Logiciels. Le modèle de composant de CORBA. Plan
Composants Logiciels Christian Pérez Le modèle de composant de CORBA Année 2010-11 1 Plan Un rapide tour d horizon de CORBA 2 Introduction au modèle de composant de CORBA Définition de composants CORBA
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
Documentation de la plate forme JOnAS
Documentation de la plate forme JOnAS Documentation de la plate forme JOnAS Table des matières Documentation JOnAS...1 Java Open Application Server (JOnAS): une Plate forme J2EETM...3 Introduction...3
WEBSERVICES. Michael Fortier. Master Informatique 2ème année. [email protected] A308, Université de Paris 13
WEBSERVICES Michael Fortier Master Informatique 2ème année [email protected] A308, Université de Paris 13 https ://lipn.univ-paris13.fr/ fortier/enseignement/webservices/ Sommaire 1 Rappels
EJB. Karim Bouzoubaa Issam Kabbaj
EJB Karim Bouzoubaa Issam Kabbaj Problématique html jsp Objets java jdbc table Pour accéder aux données : Établir une connexion avec la BD Envoyer une requête Traiter la requête Assurer l'intégrité Or
Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)
Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines) Module 1 : Programmer une application informatique Durée
PROJET : ETNIC ESB JANUS. Guide technique : WS-Notification - Clustering. BULL Services et Solutions
PROJET : ETNIC ESB JANUS Guide technique : WS- BULL Services et Solutions Date : 20 novembre 2008 Version : 1.0 Référence Bull : ETNIC_ESB/ANA/00 Auteur : NOSEDA Anne Projet ETNIC ESB JANUS Guide technique
Documentation de la plate forme JOnAS. Frederic Maistre
Documentation de la plate forme JOnAS Frederic Maistre Documentation de la plate forme JOnAS Table des matières Documentation JOnAS...1 Java Open Application Server (JOnAS): une Plate forme J2EETM...3
NFP111 Systèmes et Applications Réparties
NFP111 Systèmes et Applications Réparties 1 de 34 NFP111 Systèmes et Applications Réparties Cours 7 - CORBA/Partie 1 Claude Duvallet Université du Havre UFR Sciences et Techniques 25 rue Philippe Lebon
GECKO Software. Introduction à MOBIDICK. Modular But Integrated Application Framework
Introduction à MOBIDICK Modular But Integrated Application Framework MOBIDICK 3 Standard Edition Community & Enterprise Principaux avantages et fonctionnalités GECKO Software http://consulting.bygecko.com
Extension SSO Java. Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java.
Note technique W4 Engine Extension SSO Java Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java. 1 Présentation 3 2 Custom SSO Java 4 3 Bilan 10 Sommaire Référence
Une introduction à la technologie EJB (2/3)
Une introduction à la technologie EJB (2/3) 1 Les singletons des EJB 3.1 1.1 Synchronisation gérée manuellement Depuis la version 3.1, des EJB Statless à instance unique sont maintenant disponibles : ce
Architecture applicative et Cartographie
Architecture applicative et Cartographie Mineure SOA Idir AIT SADOUNE [email protected] Programme 7 nov. 14 nov. 21 nov. Introduction. Enjeux, rôle de l'architecte SI Partie n 1 du cas d'étude
RMI. Remote Method Invocation: permet d'invoquer des méthodes d'objets distants.
RMI Remote Method Invocation: permet d'invoquer des méthodes d'objets distants. Méthode proche de RPC. Outils et classes qui rendent l'implantation d'appels de méthodes d'objets distants aussi simples
Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui
Formation PARTIE 1 : ARCHITECTURE APPLICATIVE DUREE : 5 h Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui automatisent les fonctions Définir une architecture
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 [email protected] 2014-2015 Plan Partie 1: Introduction aux Services Web (SW) Partie 2: Vers une
Architecture Orientée Service, JSON et API REST
UPMC 3 février 2015 Précedemment, en LI328 Architecture générale du projet Programmation serveur Servlet/TOMCAT Aujourd hui Quelques mots sur les SOA API - REST Le format JSON API - REST et Servlet API
D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information.
PACBASE «Interrogez le passé, il répondra présent.». Le Module e-business Les entreprises doivent aujourd hui relever un triple défi. D une part, elles ne peuvent faire table rase de la richesse contenue
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
Introduction aux «Services Web»
Introduction aux «Services Web» Sana Sellami [email protected] 2014-2015 Modalité de contrôle de connaissances Note de contrôle de continu Note projet Evaluation du projet la semaine du 17 novembre
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é
Evaluation Idéopass Cahier d analyse technique
Evaluation Idéopass Cahier d analyse technique Version 1 GMSIH 374, rue de Vaugirard 75015 Paris. Tel : 01 48 56 72 70. Fax : 01 48 56 07 70 Auteur(s) du document : Contrôle Qualité GMSIH Date : 17/03/2005
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
Projet gestion d'objets dupliqués
Projet gestion d'objets dupliqués Daniel Hagimont [email protected] 1 Projet Service de gestion d'objets dupliqués Mise en cohérence lors de la prise d'un verrou sur un objet Pas de verrous imbriqués
basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML
basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML http://olivier-augereau.com Sommaire Introduction I) Les bases II) Les diagrammes
Développement, déploiement et sécurisation d'applications JEE
JBoss Développement, déploiement et sécurisation d'applications JEE Franck SIMON Résumé Ce livre sur JBoss s'adresse aux développeurs Java quotidiennement confrontés au développement et au déploiement
TP3. Mail. Attention aux fausses manoeuvres lors de ce TP vous pouvez endommager votre mail sur ouindose.
Université Paris 7 M2 II Protocole Internet TP3 Mail Attention aux fausses manoeuvres lors de ce TP vous pouvez endommager votre mail sur ouindose. 1 Protocole SMTP 1. Le protocole SMTP est définit dans
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
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
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,
Programmation par composants (1/3) Programmation par composants (2/3)
Programmation par composants (1/3) La programmation par composant vise le développement de logiciel par aggrégation de briques logicielles existantes est indépendante de la POO La programmation par composant
Le modèle client-serveur
Le modèle client-serveur Olivier Aubert 1/24 Sources http://www.info.uqam.ca/~obaid/inf4481/a01/plan.htm 2/24 Historique architecture centralisée terminaux passifs (un seul OS, systèmes propriétaires)
TD sur JMS ---- 1) Qu est-ce qu un middleware orienté message (MOM)? Quelles différences faites-vous entre un MOM et JMS?
TD sur JMS ---- Questions de cours : 1) Qu est-ce qu un middleware orienté message (MOM)? Quelles différences faites-vous entre un MOM et JMS? MOM : Message Oriented Middleware Intergiciels orientés Messages
La gestion de la persistance avec Hibernate. Hibernate et la gestion de persistance. La gestion de la persistance (1/2) Introduction
La gestion de la persistance avec et la gestion de persistance Claude Duvallet Université du Havre UFR Sciences et Techniques 25 rue Philippe Lebon - BP 540 76058 LE HAVRE CEDEX [email protected]
Apache Camel. Entreprise Integration Patterns. Raphaël Delaporte BreizhJUG 07.11.2011
Apache Camel & Entreprise Integration Patterns Raphaël Delaporte BreizhJUG 07.11.2011 1 Speaker CTO Zenika Ouest Consultant et formateur Responsable comité technique Architecture d'entreprise Domaine ESB
Patrons de Conception (Design Patterns)
Patrons de Conception (Design Patterns) Introduction 1 Motivation Il est difficile de développer des logiciels efficaces, robustes, extensibles et réutilisables Il est essentiel de comprendre les techniques
[APPLICATON REPARTIE DE VENTE AUX ENCHERES]
2012 Polytech Nice- Sophia El Hajji Khalil Yousfi Hichem SI4 - Log [APPLICATON REPARTIE DE VENTE AUX ENCHERES] Sommaire Architecture de l application... 3 Le Serveur... 3 Le Client... 4 Passage en CORBA...
Module BD et sites WEB
Module BD et sites WEB Cours 8 Bases de données et Web Anne Doucet [email protected] 1 Le Web Architecture Architectures Web Client/serveur 3-tiers Serveurs d applications Web et BD Couplage HTML-BD
Cloud. Définition? 08/11/2012. James Urquhart The Wisdom of Clouds
Cloud Définition? the market seems to have come to the conclusion that cloud computing has a lot in common with obscenity--you may not be able to define it, but you ll know it when you see it James Urquhart
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
Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique
Institut Supérieure Aux Etudes Technologiques De Nabeul Département Informatique Support de Programmation Java Préparé par Mlle Imene Sghaier 2006-2007 Chapitre 1 Introduction au langage de programmation
Description de la formation
Description de la formation Modalités Ce parcours de formation est un parcours en alternance, d une durée de 2ans, à raison d une semaine de formation par mois, soit 770 heures et de trois semaines de
Formation en Logiciels Libres. Fiche d inscription
République Tunisienne Ministère de l'industrie et la Technologie - Secrétariat d'état de la Technologie Unité des Logiciels Libres Formation en Logiciels Libres Fiche d inscription (Une fiche par candidat)
Héritage presque multiple en Java (1/2)
Héritage presque multiple en Java (1/2) Utiliser deux classes ou plus dans la définition d'une nouvelle classe peut se faire par composition. class Etudiant{ int numero; Diplome d; float passeexamen(examen
1 JBoss Entreprise Middleware
1 JBoss Entreprise Middleware Les produits de la gamme JBoss Entreprise Middleware forment une suite de logiciels open source permettant de construire, déployer, intégrer, gérer et présenter des applications
E-mail : [email protected] - Web : http://www.nqicorp.com
- 5, rue Soutrane - 06560 Valbonne Sophia-Antipolis E-mail : [email protected] - Web : http://www.nqicorp.com NQI Orchestra 3.3 - Guide d'installation Linux....................................................................
Cours Bases de données
Informations sur le cours Cours Bases de données 9 (10) séances de 3h Polycopié (Cours + TD/TP) 3 année (MISI) Antoine Cornuéjols www.lri.fr/~antoine [email protected] Transparents Disponibles
ORACLE 10G DISTRIBUTION ET REPLICATION. Distribution de données avec Oracle. G. Mopolo-Moké prof. Associé UNSA 2009/ 2010
ORACLE 10G DISTRIBUTION ET REPLICATION Distribution de données avec Oracle G. Mopolo-Moké prof. Associé UNSA 2009/ 2010 1 Plan 12. Distribution de données 12.1 Génération des architectures C/S et Oracle
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
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
E-mail : [email protected] - Web : http://www.nqicorp.com
- 5, rue Soutrane - 06560 Valbonne Sophia-Antipolis E-mail : [email protected] - Web : http://www.nqicorp.com NQI Orchestra 3.3 - Guide d'installation Windows.................................................................
SIO-65291 Page 1 de 5. Applications Web dynamiques. Prof. : Dzenan Ridjanovic Assistant : Vincent Dussault
SIO-65291 Page 1 de 5 1- Objectifs généraux Applications Web dynamiques Prof. : Dzenan Ridjanovic Assistant : Vincent Dussault acquérir les principes et concepts fondamentaux dans le domaine d'applications
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
TP Composants Java ME - Java EE. Le serveur GereCompteBancaireServlet
TP Composants Java ME - Java EE Vous allez, dans ce TP, construire une architecture client serveur, plus précisément MIDlet cliente, servlet serveur. Pour cela, on va d'abord installer la partie serveur
Les processus métiers : concepts, modèles et systèmes
Les processus métiers : concepts, modèles et systèmes Organisation du cours Concepts et notations Modélisation des processus Systèmes de gestion de processus Processus transactionnels Découverte de processus
4. Utilisation d un SGBD : le langage SQL. 5. Normalisation
Base de données S. Lèbre [email protected] Université de Strasbourg, département d informatique. Présentation du module Contenu général Notion de bases de données Fondements / Conception Utilisation :
10. Base de données et Web. OlivierCuré [[email protected]]
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
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
Qu'est-ce que le BPM?
Qu'est-ce que le BPM? Le BPM (Business Process Management) n'est pas seulement une technologie mais, dans les grandes lignes, une discipline de gestion d'entreprise qui s'occupe des procédures contribuant
