JMS,MOM, MDB Java Message Service, Message-Oriented Middleware. Cnam Paris jean-michel Douin, douin au cnam point fr version 12 février 2013

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

Download "JMS,MOM, MDB Java Message Service, Message-Oriented Middleware. Cnam Paris jean-michel Douin, douin au cnam point fr version 12 février 2013"

Transcription

1 JMS,MOM, MDB Java Message Service, Message-Oriented Middleware Message-Driven Bean Cnam Paris jean-michel Douin, douin au cnam point fr version 12 février

2 Sommaire Objectifs Quelques patrons «MOM» issus de la bibliographie JMS une introduction La spécification JMS Un ensemble d interfaces Une implémentation «Open» OpenJMS MDB Message Driven Bean Une démonstration Un exemple basique avec OpenJMS 2

3 Bibliographie utilisée Le support de cours de NSY Tous les Patrons présentés sont extraits de, Gregor Hohpe and Bobby Woolf JMS : L indispensable tutoriel de Sun Architecture réparties en Java, de Annick Fron chez Dunod MDB 3

4 Style RPC-OO/Messaging, schémas d Uwe Zdun RPC-OO java-rmi.net remoting CORBA Messaging JMS* IBM WebSphere MQ Microsoft MSMQ * implementations de Java Message Service 4

5 Message-Oriented Middleware Objectifs Envoi et réception de messages Réceptions synchrone et asynchrone Modèles Point à point Publish-subscribe Fiabilité de la délivrance des messages Différents formats de messages Persistance souhaitable Indépendance des canaux de communication / applications Couplage faible assuré Les canaux de communications sont indépendants des applications Référence aux canaux plutôt qu aux adresses de machines Serveur JMS, un courtier 5

6 Modèles Point à point Plusieurs consommateurs peuvent attendre sur cette file, un seul seulement recevra ce message Publish/subscribe Plusieurs consommateurs peuvent attendre sur cette file, Tous les consommateurs recevront ce message 6

7 Exemples bien connus Le mail d internet Un émetteur envoie un message à un destinataire, Le récepteur reçoit ce message (sans action particulière), Les messages sont persistants, Point à Point, synchrone, asynchrone Les news d internet, ou le forum de jfod Enregistrement d un «client» à un sujet de discussion, Un des «clients» décide de poster un message, Les utilisateurs à leur initiative vont chercher l information, Publish-subscribe, mode pull Les listes de diffusion, logiciels de causerie, («chat») Abonnement d un «client» à une liste de diffusion, Un des «clients» décide de poster un message, Tous les abonnés reçoivent ce message, Publish-subscribe, mode push 7

8 Quelques patrons Patrons à l aide d un «langage graphique» de description d une architecture de type MOM Extraits de Et Mark grand MailBox, Retransmission, Connection Multiplexing, Publish-Subscribe, 8

9 Notation empruntée 9

10 MOM, Les patrons (65)!, selon Gregor Hohpe! 10

11 Message construction Request Reply Return Address Correlation Identifier 11

12 Patron Request-Reply Analogue à l architecture «Client/Serveur» Canaux de communications Point à point «Unidirectionnel» Séparation des requêtes et de la réponse 12

13 Patron Return Address Plusieurs clients/consommateurs Identification du consommateur, «receveur» Dans le contenu du message émis 13

14 Patron Correlation Identifier Le message contient un identificateur de Corrélation Un nombre unique permettant l identification et le bon acheminement du message Message ID GUID (Globally Unique ID) Business key (e.g. ID de bon de commande, de facture) Producteur copie l ID dans le message retourné Le client/consommateur peut ainsi corréler la requête et sa réponse 14

15 MessageConstruction, fin de l extrait Discussion Approche fonctionnelle informelle d un patron. La suite ici 15

16 Message channels Point à Point Publish Subscribe Observateur/Observé? Durable Subscriber Les bases de JMS 16

17 Point à point Envoi d un message sur un canal en point à point, Un seul receveur aura ce message La persistance peut être assurée Surtout si le récepteur n est pas en ligne lors de l émission Réception synchrone ou asynchrone Exemple déjà vu : le mail 17

18 Publish/Subscribe Observateur/Observé «sélectif» Souscription à un sujet/thème (topic) Publication sur ce thème entraîne le réveil des souscripteurs abonnés mode push Si l abonné est absent? Sélection de la souscription? En mode pull, les abonnés devront s enquérir des notifications 18

19 Durable Subscriber Durable Subscriber Sauvegarde/Persistance du message jusqu à ce que le souscripteur soit informé de la «publication» 19

20 Langage de description, à base de patrons MOM, possède les mêmes patrons! Message-oriented middleware (MOM) IBM WebSphere MQ Microsoft MSMQ Java Message Service (JMS) Implementations EAI Suites TIBCO, WebMethods, SeeBeyond, Vitria Asynchronous Web services Sun s Java API for XML Messaging (JAXM) Microsoft s Web Services Extensions (WSE) 20

21 Conclusion intermédiaire Transparents extraits de À lire donc 21

22 JMS, Java Message Service N est qu une spécification Soit en java Un ensemble d interfaces que tout fournisseur est tenu de respecter Une série de tests de «conformité» Comment? «Patron fabrique» Proposés par les fournisseurs JMS Exemple : ConnectionFactory fabrique = contexte.lookup("connectionfactory"); Connection connexion = fabrique.createconnection(); 22

23 Modèles Point à Point Queue Publish Subscribe Topic 23

24 JMS Queue Queue - Point à Point Schéma extrait du tutorial Le courtier/serveur JMS gère les files, les communications, la persistance 24

25 JMS Topic Topic - Publish-Subscribe Schéma extrait du tutorial 25

26 En détail, la session au centre JNDI Context 1) 2) 3) 4) 26

27 Context Recherche de l annuaire, ici OpenJMS JNDI Context // configuration dans le source Java Hashtable<String,String> props; props = new Hashtable<String,String>(); props.put(context.initial_context_factory, "org.exolab.jms.jndi.initialcontextfactory"); props.put(context.provider_url, "tcp://localhost:3035/"); Context contexte = new InitialContext(props); Voir javax.naming.context Ou bien en ligne de commande java -Djava.naming.factory.initial=org.exolab.jms.jndi.InitialContextFactory -Djava.naming.provider.url=tcp://localhost:3035/ Cf. le fichier jndi.properties 27

28 Context Recherche de l annuaire, ici OpenJMS JNDI Context Context contexte = new InitialContext(); // configuration via la ligne de commandes En ligne de commande java - Djava.naming.factory.initial=org.exolab.jms.jndi.InitialContextFactory -Djava.naming.provider.url=tcp://localhost:3035/ Cf. le fichier jndi.properties 28

29 Connection ConnectionFactory fabrique; fabrique = (ConnectionFactory) contexte.lookup("connectionfactory"); Connection connexion = fabrique.createconnection(); connexion.start(); Encapsulation d une connexion avec le courtier JMS Typique une connexion TCP/socket 29

30 Session Session session; session = connexion.createsession(false, Session.AUTO_ACKNOWLEDGE); // en mode transactionnel, commit(), rollback() // session = connexion.createsession(true, Session.AUTO_ACKNOWLEDGE); Création des files de messages et thèmes de publications Ajout des transactions, et d un envoi séquentiel des messages Accusé réception des messages envoyés 30

31 Destination (Queue par exemple) Destination dest; dest = (Destination) contexte.lookup("queue1"); Destination est un Objet JMS Queue / Topic Recherche de ce nom auprès du courtier JMS Avec OpenJMS l administrateur doit préalablement créer ces entrées 31

32 MessageProducer MessageProducer prod = session.createproducer(dest); TextMessage message; message = session.createtextmessage("hello"); prod.send(message); 32

33 MessageConsumer TextMessage message ; Message = (TextMessage)receiver.receive(); System.out.println(message.getText()); 33

34 Réception asynchrone : MessageListener public class Consumer implements MessageListener { public void onmessage(message message){ } TextMessage message ; Message = (TextMessage)receiver.receive(); System.out.println(message.getText()); } 34

35 Graphe de classes Queue QueueConnectionFactory QueueConnection QueueSession QueueSender QueueReceiver extends Destination extends ConnectionFactory extends Connection extends Session extends MessageProducer extends MessageConsumer idem pour Topic 35

36 Fabriques encore ConnectionFactory fabrique = (ConnectionFactory) contexte.lookup("connectionfactory"); QueueConnectionFactory fabrique = (QueueConnectionFactory) contexte.lookup("jmsqueueconnectionfactory"); TopicConnectionFactory fabrique = (TopicConnectionFactory) contexte.lookup("jmstopicconnectionfactory"); 36

37 Point à Point Queue En résumé Persistance des messages Réception synchrone ou asynchrone 37

38 Queue : un exemple extrait de // JNDI contexte InitialContext ctx = new InitialContext(props); QueueConnectionFactory qcf = (QueueConnectionFactory) ctx.lookup("jmsqueueconnectionfactory"); QueueConnection qc = qcf.createqueueconnection(); Queue queue = (Queue) ctx.lookup("queue1"); QueueSession qs = qc.createqueuesession(false, Session.AUTO_ACKNOWLEDGE); QueueReceiver receiver = qs.createreceiver(queue); qc.start(); 38

39 Publish-Subscribe Même schéma De programme, Concept identique au canal de communication Mais les messages publiés ne sont pas persistants Les messages publiés ne sont pas connus du souscripteur avant sa connexion 39

40 Extrait de programme, Publisher // contexte : JNDI contexte = new InitialContext(props); TopicConnectionFactory fabrique = (TopicConnectionFactory) contexte.lookup("jmstopicconnectionfactory"); TopicConnection connexion = fabrique.createtopicconnection(); TopicSession session = connexion.createtopicsession(false, Session.AUTO_ACKNOWLEDGE); Topic topic = (Topic) contexte.lookup(topicname); TopicPublisher sender = session.createpublisher(topic); connexion.start(); 40

41 Publisher, suite : envoi du message TextMessage message = session.createtextmessage("test"); sender.publish(message); Avec cette affectation, voir transparent précédent TopicPublisher sender = session.createpublisher(topic); 41

42 Un extrait : le Subscriber // contexte JNDI contexte = new InitialContext(props); TopicConnectionFactory fabrique = idem Publisher TopicSession session = idem Publisher Topic topic = idem Publisher in = session.createsubscriber(topic); in.setmessagelistener(this); } connexion.start(); public void onmessage(message message) { // traitement du message } 42

43 DurableSubscriber Persistance jusqu à ce que le souscripteur se réveille Même architecture TopicSubscriber subscriber; subscriber = session.createdurablesubscriber( topic, subscriptionname); C est tout 43

44 Souscription avec filtrage Abonnement conditionnel, sélectif Sélection des messages sur La valeur de leurs attributs Syntaxe sous-ensemble de SQL NOT, AND, OR, IS NULL BETWEEN.. LIKE 44

45 Souscription avec filtrage (2) Même architecture TopicSubscriber subscriber; subscriber = session.createdurablesubscriber( topic, subscriptionname, " valeur >10 AND nom LIKE urgent% ", true); Le booléen true inhibe les messages publiés au sein de la même connexion 45

46 Message TextMessage String gettext(), settext() MapMessage <Clé,Valeur> setstring(), getstring() BytesMessage flot de byte writebytes(), readbytes() StreamMessage flot type primitifs writestring(), ObjectMessage Objet sérialisé getobject(), setobject() 46

47 Détail sur les accusés de réception(ack) Mode Session.AUTO_ACKNOWLEDGE ACK, envoyé automatiquement À la fin de la méthode receive (synchone) Ou à la fin de la méthode onmessage (asynchrone) Mode Session.CLIENT_ACKNOWLEDGE ACK, effectué par le récepteur Appel de la méthode message.acknowledge() 47

48 Persistance, fiabilité, défaillance Le serveur JMS s arrête À la remise en état, tous les messages (persistants) sont de nouveau envoyés -> cela engendre donc qu un même message peut être reçu plusieurs fois Mode Session.AUTO_ACKNOWLEDGE Une table des ID des messages est conservée par le client, un test de la présence du message dans cette table évite la duplication Mode Session.DUPS_OK_ACKNOWLEDGE Lorsque la réception multiple ne pose pas de problèmes Mode Session.CLIENT_ACKNOWLEDGE Une exception est levée (ExceptionListener), c est au client d en tenir compte 48

49 Message, quelques méthodes «header» «content» Affectation des champs du «header» Un Message JMSMessageID JMSCorrelationID JMSExpiration JMSReplyTo JMSDestination 49

50 Message suite JMSMessageID: L identificateur unique du message JMSCorrelationID: Identification du message pour le client Lie une réponse à une requête, Le client vérifiera que ce nombre correspond à l identificateur envoyé JMSExpiration: Durée de vie d un message 0 : infini JMSReplyTo: Précisé par le client afin de répondre au message envoyé JMSDestination: Afin de connaître le destinataire 50

51 Patron Request Reply + Correlation ID Message msg = // («header») affectation du champ reply-to producer = session.createproducer(msg.getjmsreplyto msg.getjmsreplyto()); // («content») reply = session.createtextmessage(" ("reply reply"); // («header») Correl-ID == Message-ID reply.setjmscorrelationid(msg.getjmsmessageid msg.getjmsmessageid()); producer.send(reply reply); 51

52 Transaction un schéma public void execute(contexte ctxt){ try{ begintransaction(); envoi_du_message_m1(); envoi_du_message_m2(); committransaction(); }catch(exception e){ rollbacktransaction(); } } } 52

53 Avec JMS session = connection.createsession( true, Session.AUTO_ACKNOWLEDGE); Les Méthodes session.commit() session.rollback(); 53

54 Un exemple, OpenJMS public static void avectransaction() throws NamingException, JMSException { Connection connexion = null; Context contexte = null; try { // initialisation classique, page suivante Session session = null; try { // envoi, d'un message aux 3 files... Seules deux ont été déclarées session=connexion.createsession(true, Session.AUTO_ACKNOWLEDGE); Destination dest = (Destination) contexte.lookup("queue1"); MessageProducer sender = session.createproducer(dest); TextMessage message = session.createtextmessage("envoi_queue1"); sender.send(message); dest = (Destination) contexte.lookup("queue2"); sender = session.createproducer(dest); message = session.createtextmessage("envoi_queue2"); sender.send(message); dest = (Destination) contexte.lookup("queue_introuvable"); session.commit(); } catch (javax.naming.namenotfoundexception e) { System.out.println(e.getMessage() + " est introuvable, rollback"); session.rollback(); } catch (Exception e) {} 54

55 Exemple, 2/2 // initialisation classique, c.f. page précédente Hashtable<String, String> props = new Hashtable<String, String>(); props.put(context.initial_context_factory, "org.exolab.jms.jndi.initialcontextfactory"); props.put(context.provider_url, "tcp://localhost:3035/"); contexte = new InitialContext(props); ConnectionFactory fabrique = (ConnectionFactory) contexte.lookup("connectionfactory"); connexion = fabrique.createconnection(); connexion.start(); 55

56 Conclusion JMS Simple Quelques déclarations Deux modèles Point à point Publish/subscribe Si le courtier est en panne 56

57 MDB Message Driven Bean Intégration/collaboration JMS / serveur J2EE Traitements asynchrones Mail, base de données, impressions, Usage ActivationConfigProperty, 57

58 MDB j2ee Une instance MDB se comportera comme un écouteur «MessageListener», méthode onmessage() l EJB Container qui implémente MessageListener (JMS) Il gère un «pool» de MDB 58

59 Un MDB Annotation afin de devenir = "topic_mail"); // mappedname : c est le nom JNDI, // choisi pour le thème de souscription public class SendMailBean { // implements MessageListener // inutile, c.f. annotation } public void onmessage(message message){ // envoi du message/mail } Voir javax.annotation.resource 59

60 MDB, suite Annotation d annotation afin de devenir MDB, un vrai ce sont surtout les paramètres de configuration = "topic_mail", activationconfig={ // un tableau d // couples clé/valeur propertyname= "destinationtype", propertyvalue="javax.jms.topic"), ) } public class SendMailBean{ } 60

61 MDB, cycle de vie 61

62 Annotation, public class SendMailBean { // implements MessageListener // inutile, c.f. annotation } public void onmessage(message message){ // envoi du message/mail public void postconstruct(){. public void predestroy(){. } 62

63 Conclusion Discussion Démonstration d OpenJMS 63

64 Annexe Point-to-Point and publish-subscribe messaging models Guaranteed delivery of messages Synchronous and asynchronous message delivery Persistence using JDBC Local transactions Message filtering using SQL92-like selectors Authentication Administration GUI XML-based configuration files In-memory and database garbage collection Automatic client disconnection detection Applet support Integrates with Servlet containers such as Jakarta Tomcat Support for TCP, RMI, HTTP and SSL protocol stacks Support for large numbers of destinations and subscribers 64

65 OpenJMS 1) D:\openjms beta-1\bin>set JAVA_HOME=C:\jdk ) D:\openjms beta-1\bin>start startup D:\openjms beta-1\bin>start admin Exemples fournis, D:\openjms beta-1\examples\basic>build D:\openjms beta-1\examples\basic>start run Sender queue1 100 D:\openjms beta-1\examples\basic>start run Receiver queue1 100 D:\openjms beta-1\examples\basic>start run DurableSuscriber meteo 65

66 OpenJMS + hsqldb, /config/ Par défaut derby est utilisée <DatabaseConfiguration> <RdbmsDatabaseConfiguration driver="org.apache.derby.jdbc.embeddeddriver" url="jdbc:derby:openjmsdb;create=true" user="openjms" password="openjms"/> </DatabaseConfiguration> hsqldb <DatabaseConfiguration> <RdbmsDatabaseConfiguration driver="org.hsqldb.jdbcdriver" url="jdbc:hsqldb: user="sa" password=""/> </DatabaseConfiguration> Avec en préalable 1) java -cp../lib/hsqldb1.8.jar org.hsqldb.webserver -port 770 -silent true -database.0 file:openjmsdb -dbname.0 OPENJMSDB 2) dbtool -create -config D:\openjms beta-1\config\openjms.xml 66

67 Alternative à OpenJMS 67

68 Annexe Exemple extrait de Extrait de Context context = // JNDI context ConnectionFactory factory = // connection.start(); Requestor requestor = Requestor.newRequestor(connection,"request","reply","invalid"); Replier replier = Replier.newReplier(connection,"request","invalid"); requestor.send(); requestor.receivesync(); 68

69 Requestor initialize. private Destination replyqueue; private MessageProducer requestproducer; private MessageConsumer replyconsumer; private MessageProducer invalidproducer; Destination requestqueue = JndiUtil.getDestination(requestQueueName); replyqueue = JndiUtil.getDestination(replyQueueName); Destination invalidqueue = JndiUtil.getDestination(invalidQueueName); requestproducer = session.createproducer(requestqueue); replyconsumer = session.createconsumer(replyqueue); invalidproducer = session.createproducer(invalidqueue); } 69

70 Replier initialize. Destination requestqueue = JndiUtil.getDestination(requestQueueName); Destination invalidqueue = JndiUtil.getDestination(invalidQueueName); MessageConsumer requestconsumer = session.createconsumer(requestqueue); MessageListener listener = this; requestconsumer.setmessagelistener(listener); invalidproducer = session.createproducer(invalidqueue); 70

71 Requestor send public void send() throws JMSException { TextMessage requestmessage = session.createtextmessage(); requestmessage.settext("hello world."); requestmessage.setjmsreplyto(replyqueue); requestproducer.send(requestmessage); } } System.out.println("Sent request"); System.out.println("\tTime: " + System.currentTimeMillis() + " ms"); System.out.println("\tMessage ID: " + requestmessage.getjmsmessageid()); System.out.println("\tCorrel. ID: " + requestmessage.getjmscorrelationid()); System.out.println("\tReply to: " + requestmessage.getjmsreplyto()); System.out.println("\tContents: " + requestmessage.gettext()); 71

72 Replier, onmessage public void onmessage(message message) { try { if ((message instanceof TextMessage) && (message.getjmsreplyto()!= null)) { TextMessage requestmessage = (TextMessage) message; System.out.println("Received request"); System.out.println("\tTime: " + System.currentTimeMillis() + " ms"); System.out.println("\tMessage ID: " + requestmessage.getjmsmessageid()); System.out.println("\tCorrel. ID: " + requestmessage.getjmscorrelationid()); System.out.println("\tReply to: " + requestmessage.getjmsreplyto()); System.out.println("\tContents: " + requestmessage.gettext()); String contents = requestmessage.gettext(); Destination replydestination = message.getjmsreplyto(); MessageProducer replyproducer = session.createproducer(replydestination); TextMessage replymessage = session.createtextmessage(); replymessage.settext(contents); replymessage.setjmscorrelationid(requestmessage.getjmsmessageid()); replyproducer.send(replymessage); System.out.println("Sent reply"); System.out.println("\tTime: " + System.currentTimeMillis() + " ms"); System.out.println("\tMessage ID: " + replymessage.getjmsmessageid()); System.out.println("\tCorrel. ID: " + replymessage.getjmscorrelationid()); System.out.println("\tReply to: " + replymessage.getjmsreplyto()); System.out.println("\tContents: " + replymessage.gettext()); } else { // envoi sur invalidproducer 72

73 Requestor receivesync public void receivesync() throws JMSException { Message msg = replyconsumer.receive(); if (msg instanceof TextMessage) { TextMessage replymessage = (TextMessage) msg; System.out.println("Received reply "); System.out.println("\tTime: " + System.currentTimeMillis() + " ms"); System.out.println("\tMessage ID: " + replymessage.getjmsmessageid()); System.out.println("\tCorrel. ID: " + replymessage.getjmscorrelationid()); System.out.println("\tReply to: " + replymessage.getjmsreplyto()); System.out.println("\tContents: " + replymessage.gettext()); } else { // envoi sur invalidproducer 73

74 Traces d exécution avec OpenJMS Notez l affectation de Correl ID, lors de la réponse 74

75 JMS et Chat Extrait de Un bon exemple de mise en oeuvre 75

76 Exemple de déploiement, JMS-MDB Source : 76

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

Plus en détail

MOM: Concepts & Applications

MOM: Concepts & Applications MOM: Concepts & Applications André Freyssinet ScalAgent Distributed Technologies Andre.Freyssinet@scalagent.com www.scalagent.com Plan Introduction Exemple d application (supervision) Synchrone vs Asynchrone

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

Plan du cours. Systèmes et applications asynchrones Middleware à message. Architecture distribuée. Objectifs du cours

Plan du cours. Systèmes et applications asynchrones Middleware à message. Architecture distribuée. Objectifs du cours Plan du cours Systèmes et applications asynchrones Middleware à message Roland Balter ScalAgent Distributed Technologies I. Caractérisation des systèmes asynchrones II. Modèles pour la programmation asynchrone

Plus en détail

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

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

Plus en détail

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

Plus en détail

Android Publish/Subscribe, GCM, Google Cloud Messaging : une introduction

Android Publish/Subscribe, GCM, Google Cloud Messaging : une introduction Android Publish/Subscribe, GCM, Google Cloud Messaging : une introduction jean-michel Douin, douin au cnam point fr version : 8 Décembre 2014 Notes de cours 1 Sommaire Le socle, les fondements Le patron

Plus en détail

Message Oriented Middleware (MOM) Java Message Service (JMS) Didier DONSEZ

Message Oriented Middleware (MOM) Java Message Service (JMS) Didier DONSEZ http://membres-liglab.imag.fr/donsez Message Oriented Middleware (MOM) Java Message Service (JMS) Didier DONSEZ Université Joseph Fourier (Grenoble 1) PolyTech Grenoble - LIG Didier.Donsez@imag.fr Didier.Donsez@ieee.org

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

NSY102. Conception de logiciels Intranet Introduction

NSY102. Conception de logiciels Intranet Introduction Conception de logiciels Intranet Introduction Cnam Paris jean-michel Douin, douin au cnam point fr 6 Février 2009 Une Introduction 1 Sommaire Introduction Généralités Tendances historique API & Intergiciel

Plus en détail

Intégration de systèmes

Intégration de systèmes Intégration de systèmes Préparé par: Marc Barassi, Michel Fraser, Louis Martin, Martin Simoneau Collaboration spéciale: François Boucher et Richard Boutin 3/18/14 Intégration de systèmes «L ensemble des

Plus en détail

Architecture Orientée Service, JSON et API REST

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

Plus en détail

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

PROJET : ETNIC ESB JANUS. Guide technique : WS-Notification - Clustering. BULL Services et Solutions

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

Plus en détail

Mise en œuvre des serveurs d application

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

Plus en détail

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

NFP111 Systèmes et Applications Réparties

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

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

Le MSMQ. Version 1.0. Pierre-Franck Chauvet

Le MSMQ. Version 1.0. Pierre-Franck Chauvet Le MSMQ Version 1.0 Z Pierre-Franck Chauvet 2 [Le MSMQ] [Date : 10/10/09] Sommaire 1 Introduction... 3 2 Le Concept... 5 2.1 Les messages... 5 2.2 Les files d attentes... 5 2.3 WorkGroup... 7 2.4 Active

Plus en détail

J2EE. Java2 Enterprise Edition. Pierre Yves Gibello pierreyves.gibello@experlog.com Mise à jour : 30 Septembre 2004

J2EE. Java2 Enterprise Edition. Pierre Yves Gibello pierreyves.gibello@experlog.com Mise à jour : 30 Septembre 2004 J2EE Java2 Enterprise Edition Pierre Yves Gibello pierreyves.gibello@experlog.com Mise à jour : 30 Septembre 2004 Ce document est couvert par la licence Creative Commons Attribution ShareAlike. This work

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

Une introduction à la technologie EJB (2/3)

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

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

Description de la formation

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

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

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

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

Plus en détail

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

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

Auto-évaluation Programmation en Java

Auto-évaluation Programmation en Java Auto-évaluation Programmation en Java Document: f0883test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION PROGRAMMATION EN

Plus en détail

Android et le Cloud Computing

Android et le Cloud Computing Android et le Cloud Computing 1 Plan de l'exposé Rappels sur Android et le cloud Présentation de GCM Notions fondamentales de GCM Construire un projet GCM Ecrire un client GCM (récepteur GCM) Ecrire un

Plus en détail

Apache Camel. Entreprise Integration Patterns. Raphaël Delaporte BreizhJUG 07.11.2011

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

Plus en détail

Architecture applicative et Cartographie

Architecture applicative et Cartographie Architecture applicative et Cartographie Mineure SOA Idir AIT SADOUNE idir.aitsadoune@supelec.fr Programme 7 nov. 14 nov. 21 nov. Introduction. Enjeux, rôle de l'architecte SI Partie n 1 du cas d'étude

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

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

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

Plus en détail

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

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

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

Plus en détail

La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1

La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1 La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1 Plan 1. Généralités sur la persistance des données dans les applications 2. La connection

Plus en détail

Composants logiciels Exemples : Java Beans, Enterprise Java Beans

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

Plus en détail

Remote Method Invocation (RMI)

Remote Method Invocation (RMI) Remote Method Invocation (RMI) TP Réseau Université Paul Sabatier Master Informatique 1 ère Année Année 2006/2007 Plan Objectifs et Inconvénients de RMI Fonctionnement Définitions Architecture et principe

Plus en détail

Introduction aux applications réparties

Introduction aux applications réparties Introduction aux applications réparties Noël De Palma Projet SARDES INRIA Rhône-Alpes http://sardes.inrialpes.fr/~depalma Noel.depalma@inrialpes.fr Applications réparties Def : Application s exécutant

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

Intégration de systèmes client - serveur Des approches client-serveur à l urbanisation Quelques transparents introductifs

Intégration de systèmes client - serveur Des approches client-serveur à l urbanisation Quelques transparents introductifs Intégration de systèmes client - serveur Des approches client-serveur à l urbanisation Quelques transparents introductifs Jean-Pierre Meinadier Professeur du CNAM, meinadier@cnam.fr Révolution CS : l utilisateur

Plus en détail

Remote Method Invocation en Java (RMI)

Remote Method Invocation en Java (RMI) Remote Method Invocation en Java (RMI) Modélisation et construction des applications réparties (Module M-4102C) J. Christian Attiogbé Fevrier 2015 J. Christian Attiogbé (Fevrier 2015) Remote Method Invocation

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

TP3. Mail. Attention aux fausses manoeuvres lors de ce TP vous pouvez endommager votre mail sur ouindose.

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

Plus en détail

Création d un service web avec NetBeans 5.5 et SJAS 9

Création d un service web avec NetBeans 5.5 et SJAS 9 Sommaire Création d un service web avec NetBeans 5.5 et SJAS 9 1. Présentation... 2 2. Création d un service web avec NetBeans... 2 2.1. Création d une application Web... 2 2.2. Création du service web...

Plus en détail

Les processus métiers : concepts, modèles et systèmes

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

Plus en détail

L EAI. par la pratique. François Rivard. Thomas Plantain. Groupe Eyrolles, 2003 ISBN : 2-212-11199-1

L EAI. par la pratique. François Rivard. Thomas Plantain. Groupe Eyrolles, 2003 ISBN : 2-212-11199-1 L EAI par la pratique François Rivard Thomas Plantain ISBN : 2-212-11199-1 Table des matières Avant-propos................................................ Quel est l objectif de cet ouvrage...............................

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

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

Cette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris :

Cette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris : Développement d un client REST, l application Vélib 1. Présentation L application présentée permet de visualiser les disponibilités des vélos et des emplacements de parking à la disposition des parisiens

Plus en détail

RMI le langage Java XII-1 JMF

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

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

Introduction aux intergiciels

Introduction aux intergiciels Introduction aux intergiciels M. Belguidoum Université Mentouri de Constantine Master2 Académique M. Belguidoum (UMC) Introduction aux intergiciels 1 / 39 Plan 1 Historique 2 Pourquoi l'intergiciel? 3

Plus en détail

OpenPaaS Le réseau social d'entreprise

OpenPaaS Le réseau social d'entreprise OpenPaaS Le réseau social d'entreprise Spécification des API datastore SP L2.3.1 Diffusion : Institut MinesTélécom, Télécom SudParis 1 / 12 1OpenPaaS DataBase API : ODBAPI...3 1.1Comparaison des concepts...3

Plus en détail

Classeur de suivi de l auditeur. Architecture et Ingénierie des Systèmes et des Logiciels

Classeur de suivi de l auditeur. Architecture et Ingénierie des Systèmes et des Logiciels Classeur de suivi de l auditeur Architecture et Ingénierie des Systèmes et des Logiciels 04/12/2012 2 Sommaire Introduction... 4 Objectifs... 4 Méthodologie... 4 Coordonnées... 5 Curriculum vitae de l

Plus en détail

18 TCP Les protocoles de domaines d applications

18 TCP Les protocoles de domaines d applications 18 TCP Les protocoles de domaines d applications Objectifs 18.1 Introduction Connaître les différentes catégories d applications et de protocoles de domaines d applications. Connaître les principaux protocoles

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

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

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

Analyse des techniques et des standards pour l interopérabilité entre plateformes

Analyse des techniques et des standards pour l interopérabilité entre plateformes 550, rue Sherbrooke Ouest, bureau 100 Montréal (Québec) H3A 1B9 Tél. : (514) 840-1234;Téléc. : (514) 840-1244 888, rue St-Jean, bureau 555 Québec (Québec) G1R 5H6 Tél. : (418) 648-8080; téléc. : (418)

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

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40 Déroulement du cours Introduction Concepts Java Remarques Langage et Concepts de Programmation Orientée-Objet Gauthier Picard École Nationale Supérieure des Mines de Saint-Étienne gauthier.picard@emse.fr

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

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

Plan du cours. Autres modèles pour les applications réparties Introduction. Mode de travail. Introduction

Plan du cours. Autres modèles pour les applications réparties Introduction. Mode de travail. Introduction Plan du cours Autres modèles pour les applications réparties Introduction Riveill@unice.fr http://rangiroa.polytech.unice.fr Notre terrain de jeu : les systèmes répartis Un rappel : le modèle dominant

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

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

Le modèle client-serveur

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)

Plus en détail

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes

Plus en détail

BPEL Orchestration de Web Services

BPEL Orchestration de Web Services Orchestration de Web Services Grégory Le Bonniec gregory.lebonniec@zenika.com 26 novembre 2009 1 Zenika Conseil / Développement / Formation Localisation : Paris et Rennes Nos partenaires Mon expérience

Plus en détail

Le passage à l échelle de serveur J2EE : le cas des EJB

Le passage à l échelle de serveur J2EE : le cas des EJB Le passage à l échelle de serveur J2EE : le cas des EJB Sylvain Sicard, Noël De Palma, Daniel Hagimont CFSE 4 5-8 Avril 2005 LSR 1 Plan de la présentation 1. Architecture de serveur J2EE en grappe 2. Problématique

Plus en détail

Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui

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

Plus en détail

JF SMA'14. A3 - Agent Anytime Anywhere. une plateforme à agents distribués. 8-10 Oct. 2014. l'expertise middleware. www.scalagent.

JF SMA'14. A3 - Agent Anytime Anywhere. une plateforme à agents distribués. 8-10 Oct. 2014. l'expertise middleware. www.scalagent. l'expertise middleware JF SMA'14 8-10 Oct. 2014 A3 - Agent Anytime Anywhere une plateforme à agents distribués André Freyssinet Directeur Technique andre.freyssinet@scalagent.com www.scalagent.com Plan

Plus en détail

Tolérance aux Fautes des Grappes d Applications J2EE. Applications Internet dynamiques

Tolérance aux Fautes des Grappes d Applications J2EE. Applications Internet dynamiques Application statique Tolérance aux Fautes des Grappes d Applications J2EE Sara Bouchenak Sacha Krakowiak, Noël de Palma, Stéphane Fontaine Projet SARDES INRIA IMAG CFSE'4, 6-8 avril 2005 Tolérance aux

Plus en détail

Remote Method Invocation Les classes implémentant Serializable

Remote Method Invocation Les classes implémentant Serializable Parallélisme Architecture Eric Goubault Commissariat à l Energie Atomique Saclay Classe qui implémente la méthode distante (serveur): - dont les méthodes renvoient un objet serializable - ou plus généralement

Plus en détail

Java DataBaseConnectivity

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

Plus en détail

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

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

Plus en détail

Business Process Execution Language

Business Process Execution Language Business Process Execution Language Rapport du projet de systèmes distribués d information Markus Lindström 6 mai 2009 Motivation personnelle Le sujet que j ai retenu et présenté dans le cadre du cours

Plus en détail

JADE : Java Agent DEvelopment framework. Laboratoire IBISC & Départ. GEII Université & IUT d Evry nadia.abchiche@ibisc.univ-evry.

JADE : Java Agent DEvelopment framework. Laboratoire IBISC & Départ. GEII Université & IUT d Evry nadia.abchiche@ibisc.univ-evry. : Java Agent DEvelopment framework Laboratoire IBISC & Départ. GEII Université & IUT d Evry nadia.abchiche@ibisc.univ-evry.fr Introduction à la plateforme JADE 1) Modèle d agent 2) Services 3) Norme FIPA

Plus en détail

Skype (v2.5) Protocol Data Structures (French) Author : Ouanilo MEDEGAN http://www.oklabs.net

Skype (v2.5) Protocol Data Structures (French) Author : Ouanilo MEDEGAN http://www.oklabs.net Skype (v2.5) Protocol Data Structures (French) Author : Ouanilo MEDEGAN http://www.oklabs.net : Champ Encodé SKWRITTEN() : Champ Variable défini Précédemment & définissant l état des champs à suivre ECT

Plus en détail

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

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

Plus en détail

Composants Logiciels. Le modèle de composant de CORBA. Plan

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

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

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

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

Plus en détail

Dis papa, c est quoi un bus logiciel réparti?

Dis papa, c est quoi un bus logiciel réparti? Dis papa, c est quoi un bus logiciel réparti? Raphael.Marvie@lifl.fr LIFL IRCICA Equipe GOAL Octobre 2006 10. Des sockets aux bus logiciels répartis 1 0. Une application répartie 2 Objectif Découvrir la

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

Projet gestion d'objets dupliqués

Projet gestion d'objets dupliqués Projet gestion d'objets dupliqués Daniel Hagimont Daniel.Hagimont@enseeiht.fr 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

Plus en détail

Cours Bases de données

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 antoine.cornuejols@agroparistech.fr Transparents Disponibles

Plus en détail

Application web de gestion de comptes en banques

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

Plus en détail

Applet pour visualiser les variables «automate» notifiées

Applet pour visualiser les variables «automate» notifiées Applet pour visualiser les variables «automate» notifiées Sommaire 1. Introduction...2 2. Lecture de variables «automate» notifiées...2 2.1. IHM servant au test :...2 2.2. Codage de l'applet :...2 3. Codage

Plus en détail

Evaluation Idéopass Cahier d analyse technique

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

Plus en détail

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf Introduction à Java Matthieu Herrb CNRS-LAAS http://homepages.laas.fr/matthieu/cours/java/java.pdf Mars 2014 Plan 1 Concepts 2 Éléments du langage 3 Classes et objets 4 Packages 2/28 Histoire et motivations

Plus en détail

Projet de programmation (IK3) : TP n 1 Correction

Projet de programmation (IK3) : TP n 1 Correction Projet de programmation (IK3) : TP n 1 Correction Semaine du 20 septembre 2010 1 Entrées/sorties, types de bases et structures de contrôle Tests et types de bases Tests et types de bases (entiers) public

Plus en détail

Alfstore workflow framework Spécification technique

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

Plus en détail

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

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

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

[APPLICATON REPARTIE DE VENTE AUX ENCHERES]

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

Plus en détail