Java et les WebServices :

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

Download "Java et les WebServices :"

Transcription

1 SOAP/kSOAP Conservatoire National des Arts et Métiers Java et les WebServices : SOAP/kSOAP Mr Rajoharison Hans 1

2 Sommaire Présentation générale : Introduction et Historique SOAP WSDL UDDI Conclusion,présentation des outils existants en Java Démos (clients SOAP) ksoap ou SOAP pour les systèmes embarqués : Présentation et principe de fonctionnement de ksoap Présentation de Brazil ksoap server (+Demos) : Sur la Tini J2SE avec les Javacard 2

3 Présentation générale : Introduction Communication de deux sous-systèmes d'architectures semblables ou différentes de manière standard dans le but d'échanger des services ou des traitements applicatifs Passage vers une société de services WebServices (au sens SOAP) : moyen de distribuer un service de manière standard en utilisant XML Webservices (W3C) : SOAP,WSDL,XML,UDDI Microsoft : ORPC pour DCOM OMG : IIOP pour Corba Sun Microsystems : JRMP (Java Remote Method Protocol) 3

4 Présentation générale : historique Historique de SOAP : Septembre 1999 : SOAP 0.99 : spécifications par Microsoft,DevelopMentor,UserLand Novembre/Decembre 1999 : SOAP 1.0 : soumission des spécifications à l'ietf Avril/Mai 2000 : SOAP 1.1 : soumission au W3C nombreuses associations/partenariats : IBM,HP,Lotus,Compaq,Intel (XIDL : rapprochement avec Corba Septembre 2000 : création d'un groupe de travail W3C pour la standardisation de SOAP Septembre 2000-mai 2002 : SOAP 1.2 (refonte de SOAP 1.1) Mai 2003 : SOAP 1.2 devient une recommandation W3C 4

5 Présentation générale : SOAP SOAP (Simple Object Access Protocol) : Protocole d'invocation de méthodes sur des services distants Protocole de transmission asynchrones de messages Ensemble de règles pour la structuration des messages Utiliser pour exécuter des dialogues requête-réponse (type RPC) N'est pas lié à un protocole de transport : HTTP/HTTPs (le plus utilisé) SMTP (SOAP par ) MOM (JMS Java Messaging Service) etc N'est pas lié à un système d'exploitation ou à un langage de programmation 5

6 Présentation générale : messages SOAP Un message SOAP est un document xml valide,il doit utiliser une enveloppe SOAP et des espaces de nommage(namespaces) d'encodage SOAP Il doit suivre les regles suivantes : Une déclaration XML (qui est optionnelle) Une enveloppe SOAP constitué de : - en-tête SOAP (SOAP-Header qui est optionelle) - un corps SOAP (SOAP-Body) Arbre de message soap : 6

7 Présentation générale : messages SOAP Structure classique : 7

8 Présentation générale : messages SOAP Structure avec faute : 8

9 Présentation générale : messages SOAP Structure avec attachement : 9

10 Présentation générale : messages SOAP Exemple de requête SOAP : 1.Une méthode : int doubleaninteger(int numbertodouble) 2.Une requête SOAP : une entête xml (optionnelle): <?xml version="1.0" encoding="utf-8" standalone="no"?> Une enveloppe SOAP (sans SOAP-Header) : <SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/ xmlns:soap-enc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/1999/xmlschema-instance" xmlns:xsd="http://www.w3.org/1999/xmlschema"> 10

11 Présentation générale : messages SOAP Le body de l'enveloppe : <SOAP-ENV:Body> <ns1:doubleanintegerresponse xmlns:ns1="urn:mysoapservices" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <return xsi:type="xsd:int">246</return> </ns1:doubleanintegerresponse> </SOAP-ENV:Body> Fermeture de l'enveloppe </SOAP-ENV:Envelope> Exemple de SOAP-Body avec attachement (exemple methode String demandeinfoclient : <SOAP-ENV:Body> <ns1:demandeinfoclient xmlns:ns1="urn:infoownerservice" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> 11

12 Présentation générale : messages SOAP <Formulaire <Photo </ns1:doubleanintegerresponse> </SOAP-ENV:Body> Note : l'entête soap (qui est optionnelle) contient des éléments de type non applicatifs Sessions,Transactions,Authentification,Sécurité (XAML,SAML,etc) Un attribut mustunderstand (nécessaire pour interopérer avec.net ou pour l'utilisation de WebServices Proxy) =0 pour l'application réceptrice =1 l'élément doit être compris de l'application réceptrice 12

13 Présentation générale : messages SOAP La gestion des erreurs avec SOAP : Les erreurs HTTP utilisent l'infrastructure HTTP ( ex : 500) Les erreurs SOAP applicatives : utilisent les éléments SOAP PDU (Protocole Data Unit) Modèles standard pour toutes les erreurs Extensible pour prendre en compte les exceptions Exemple de message SOAP Fault <SOAP:Envelope xmlns:soap="urn:schemas-xmlsoap-org:soap.v1> <SOAP:Body> <SOAP:Fault> <faultcode>200</faultcode> <faultstring> Erreur d'execution </faultstring> <runcode>1</runcode> </SOAP:Fault> </SOAP:Body> </SOAP:Envelope> 13

14 Présentation générale : messages SOAP Sérialisation/désérialisation des données avec le modèle SOAP : 14

15 Présentation générale : messages SOAP Passage d'un objet Java à un objet SOAP : Dépend de l'implémentation du programme utilisée (JAXB pour cette opération est utilisé par exemple pour l'api de Sun) Structuration des données XML : Assuré par un parseur XML 2 modèles : SAX1/SAX2 (Simple Api for XML) DOM (Document object Model) Dans le monde Java,il existe un grand nombre de parser XML (liste non exhaustive) : Xerces : parser XML,créé par la fondation Apache JAXP : api Java,crée par SUN Microsystems 15

16 Présentation générale : messages SOAP Picollo XML Java Parser : qui est une petite api supportant les spécifications SAX1,SAX2 et JAXP Exemple de mapping (correspondance entre objet) des objets XML/Java : 16

17 Présentation générale : WSDL WSDL (Web Services Definition Language) Historique : Septembre 2000 : spécifications de WSDL par IBM,Ariba,Microsoft Mars 2001 : v1.1 note du W3C juillet 2002-juin 2003 : v1.2 en cours Format de représentation des interfaces de Service Web en XML Standardise l'envoi d'un ordre à une application distante Spécifie le prototype des services comprenant les signatures des méthodes et les différents types utilisés Equivalent à IDL(Interface definition language,corba) et MIDL (Microsoft,COM) 17

18 Présentation générale : WSDL Structure des fichiers WSDL : Types : Contient les définition de types utilisant un système de typage (comme XSD) Message : Décrit les noms et types d'un ensemble de champs à transmettre Paramêtres d'une invocation, valeur du retour Operation : action supportée par le service PortType : Décrit un ensemble d'opérations. Chaque opération a zero ou un message en entrée, zero ou plusieurs message de sortie ou de fautes Binding : Spécifie une liaison d'un <porttype> à un protocole concret (SOAP1.1, HTTP1,MIME,...). Un porttype peut avoir plusieurs liaisons Port : Spécifie un point d'entrée (endpoint) comme la combinaison d'un <binding> et d'une adresse réseau. 18

19 Présentation générale : WSDL Service : Une collection de points d'entrée (endpoint) relatifs. Fichier xml généralement très volumineux,l'utilisation d'outils générant automatiquement est à préconiser (quitte après à le modifier à la main pour qu'il corresponde parfaitement à la description du service : WSDL2Java : crée un fichier.wsdl d'une fichier class Java Java2WSDL : crée les fichiers classes nécessaires àla localisation et au déploiement du service à partir d'un fichier WSDL 19

20 Présentation générale : WSDL Exemple de fichier WSDL (DS1921ProxyService.wsdl,une méthode) : <?xml version="1.0" encoding="utf-8"?> <wsdl:definitions targetnamespace="istr.ksoap4" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="istr.ksoap4" xmlns:intf="istr.ksoap4" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns2="http://adapter.onewire.dalsemi.com" xmlns:tns3="http://onewire.dalsemi.com" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/xmlschema"> <wsdl:types> <schema targetnamespace="istr.ksoap4" xmlns="http://www.w3.org/2001/xmlschema"> <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/> <complextype name="ds1921proxy"> <sequence> <element name="idbutton" nillable="true" type="xsd:string"/> 20

21 Présentation générale : WSDL <element name="description" nillable="true" type="xsd:string"/> <element name="message" nillable="true" type="xsd:string"/> <element name="propertycount" type="xsd:int"/> <element name="temperature" type="xsd:float"/> <element name="timestamp" type="xsd:long"/> </sequence> </complextype> </schema> </wsdl:types> <wsdl:message name="getnexttemperatureresponse"> <wsdl:part name="getnexttemperaturereturn" type="impl:ds1921proxy"/> </wsdl:message> <wsdl:message name="getnexttemperaturerequest"> </wsdl:message> 21

22 Présentation générale : WSDL <wsdl:porttype name="ds1921proxyservice"> <wsdl:operation name="getnexttemperature"> <wsdl:input message="impl:getnexttemperaturerequest" name="getnexttemperaturerequest"/> <wsdl:output message="impl:getnexttemperatureresponse" name="getnexttemperatureresponse"/> </wsdl:operation> </wsdl:porttype> <wsdl:binding name="ds1921proxyservicesoapbinding" type="impl:ds1921proxyservice"> <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="getnexttemperature"> <wsdlsoap:operation soapaction=""/> 22

23 Présentation générale : WSDL <wsdl:input name="getnexttemperaturerequest"> <wsdlsoap:body encodingstyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="istr.ksoap4" use="encoded"/> </wsdl:input> <wsdl:output name="getnexttemperatureresponse"> <wsdlsoap:body encodingstyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="istr.ksoap4" use="encoded"/> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="ds1921proxyservice"> <wsdl:port binding="impl:ds1921proxyservicesoapbinding" name="ds1921proxyservice"> <wsdlsoap:address location="http:// :8080/ds1921proxyservice/?service=ds1921proxyservice"/> 23

24 Présentation générale : WSDL </wsdl:port> </wsdl:service></wsdl:definitions> Fichier d'origine (source DS1921ProxyService.java) : package istr.ksoap4; import com.dalsemi.onewire.adapter.tiniexternaladapter; import com.dalsemi.comm.*; import com.dalsemi.onewire.adapter.onewireioexception; import com.dalsemi.onewire.container.onewirecontainer; import com.dalsemi.onewire.onewireexception; public class DS1921ProxyService { //declaration et initialisation du DS1921 private DS1921 ds1921=null; public DS1921ProxyService() {} 24

25 Présentation générale : WSDL public DS1921Proxy getnexttemperature(){ DS1921Proxy ds1921proxy=new DS1921Proxy(); try { // le code du service } } Structure générale d'un document wsdl : 25

26 Présentation générale : UDDI UDDI (Universal Description Discovery and Integration) Historique : Septembre 2000 : UDDI V1.0 specifications publiées Juin 2001 : UDDI V2.0 Aout 2003 : UDDI V3.0 Annuaire des WebServices basé lui aussi sur XML Crée par IBM,Ariba et Microsoft Architecture complexe et centralisée Orienté Business to Business Objectif : fournir un annuaire mondial permettant de retrouver des services web sur le même principe que les pages jaunes 26

27 Présentation générale : UDDI 27

28 Présentation générale : UDDI Principe de fonctionnement des WebServices Pour expliquer le fonctionnement des WebServices, il convient de distinguer plusieurs étapes : Recherche dans un annuaire UDDI : le client cherche un service particulier, il s adresse à un annuaire qui va lui fournir la liste des prestataires habilités à satisfaire sa demande. L'annuaire UDDI peut être comparé à un moteur de recherche sauf que les documents sont remplacés par des services. Recherche de l'interface du composant à contacter : une fois la réponse reçue (en XML) de l'annuaire, le client va chercher à communiquer via une interface. Cette interface décrite en langage WSDL fournit l'ensemble des services disponibles. Elle offre la possibilité de vérifier que le contrat correspond bien aux besoins demandés. 28

29 Présentation générale : UDDI Invocation du service : le client doit maintenant passer les paramètres attendus par le service et assurer la communication avec le serveur. L' outil utilisé pour cela est le proxy, c'est l'objet qui permet la communication entre le client et le serveur. Il est généré par le client en utilisant l'interface WSDL Note : la recherche et la publication de WebServices dans un annuaire UDDI nécessite une api supplémentaire cliente (exemple : UDDI4J d'ibm) dont les url seront définies par : Inquiry (recherche) :http://nom_site.foo/nom_registry/inquiry Publish (publication) :http://nom_site.foo/nom_registry/publish 29

30 Présentation générale : UDDI Exemple : portail de services : 30

31 Conclusion présentation outils en Java Récaptitulatif : SOAP est le protocole WebServices (SOAP=HTTP+XML) WSDL est l'interface des WebServices UDDI est l'annuaire des WebServices Pour approfondir le sujet : Ajout de BPEL4WS (Business Process Execution Language for WebServices) couche orientée business (OASIS) SAML,XACML,XKMS (la sécurité dans les WebServices) : trois niveaux de sécurité dans la diffusion de message soap : au niveau des WebServices (soap security) : trois systèmes SAML(Security Assertion Markup Language),XACML (extensible Acces Control Markup Language),XKMS(XML Key Management Specification) 31

32 Conclusion présentation outils en Java au niveau de la couche de présentation des données on a deux éléments XML security (XML Sig,XML Enc) au niveau de la couche de transport avec HTTPs : SSL(secure socket layer)/tls(transport Layer Security),S/MIME,PGP 32

33 Conclusion présentation outils en Java Management de l'identification,authentification,autorisation : Projet Liberty Alliance (vs Passport pour Microsoft) :regroupement d'un ensemble d'entreprises (FT R&D,Nokia,American Express...) Outils Java pour développer et déployer des WebServices : Solutions de Sun : Ensemble d'api Java pour le développement de WebServices JAXM (déprécié): Java API for XML messaging (api qui standardise l'envoi et la réception de messages en faisant abstraction des protocoles) JAXP :Java API for XML Processing (support des XML schemas API intégrant DOM,SaX et XSLT). JAX-RPC : Java API for XML RPC interface aux protocoles de transport de message XML de type RPC 33

34 Conclusion présentation outils en Java JAXB : Java API for XML Data Binding Correspondance automatique entre des objets Java et des données XML JAXTX : XML Transactioning API for Java interface pour l encaspulation et le transport de contextes transactionnels ACID et avancées dans SOAP SAAJ : Soap with Attachements api for java (api qui standardise l'envoi et la réception de messages en faisant abstraction des protocoles,remplace JAXM pour SOAP) L'ensemble de ces apis a été réuni dans un pack JWSDP (Java WebService Developement Pack,licence propriétaire SUN) A l'heure actuelle, excepté le WebService Pack de Sun faisant office de RI (Reference Implementation), il n'existe aucun produit intégrant toutes ces APIs. 34

35 Conclusion présentation outils en Java Le JWSDP inclut en plus un registry Java WSDP Registry Server,Tomcat,des outils Ant et les apis de sécurité 35

36 Conclusion présentation outils en Java Apache SOAP (extension SOAP du serveur Apache,OpenSource) Serveur SOAP Apache Axis (OpenSource licence APL) comprenant : Tomcat container Sevlet/JSP JUDDi : un registry UDDI en Java OpenSource (licence Apache) fonctionnant avec de nombreuses bases de données : HSQLDB,MySQL,PostGresSQL... des outils de génération de fichier WSDL : Java2WSDL et WSDLJava Glue : société themindelectric (commercial,propriétaire) WebSphere (version 5): société IBM (commercial)+uddi4j outils pour les clients UDDI OpenSource) WASP Server (commercial,propriétaire) Mozilla (>=1.5) : client OpenSource(MPL) SOAP,WSDL,UDDI 36

37 Conclusion présentation outils en Java Critiques sur les WebServices : Technologie encore assez jeune Simplicité par rapport à RMI, CORBA ou DCOM Limitations : pas de services plus complexes garbage collector, communications bidirectionnelles,activation à distance,cycle de vie des objets,sécurité pas assez éprouvée Performances : temps de réponse et utilisation de ressources inférieures à celle des autres protocoles de distribution d'objet rendant l'utilisation de SOAP improbable dans la réalisation d'applications fortes consommatrices en ressources ou nécessitant des performances optimales Un certain nombre d'implémentations de SOAP incompatibles entre elles 37

38 Conclusion présentation outils en Java SOAP s'avère simple et demandant un développement peu important. Ceci permet de se concentrer sur le développement du service à offrir, sans trop se soucier des problèmes de communication qui sont (presque) transparents. Cependant, il souffre de sa jeunesse notamment par un manque de documentation conséquente (il en est de même pour les outils nécessaires à sa mise en oeuvre) et pose toutefois des contraintes concernant le type des données à transmettre et leur sérialisation. Comme toute autre technologie, il ne constitue pas la solution ultime à tous les problèmes mais une solution particulièrement adaptée à certains cas de figures, et il convient de bien analyser si les services que l'on souhaite offrir fait partis de ces cas favorables. 38

39 Conclusion présentation outils en Java Bibliographie : Java & SOAP,1re édition, janvier 2003,Robert Englander,Editions O'reilly,ISBN : Programming Webservices with SOAP(en anglais),december 2001,James Snell,Doug Tidwell,Pavel Kulchenko,Editions O'reilly,ISBN: Web Services Essentials (en anglais),february 2002,Ethan Cerami,Editions O'reilly,ISBN: Java WebServices ( en anglais),march 2002,Dave Chappell, Tyler Jewell,Editions O'reilly,ISBN: Java Web Services in a Nutshell (en anglais),june 2003,Kim Topley,Editons O'reilly,ISBN: Java et XML,2e édition, mars 2002,Brett McLaughlin,Editions O'reilly,ISBN : Services Web avec J2EE et.net,septembre 2003,Libero Maesano, Christian Bernard, Xavier Le Galles,Edition Eyrolles,ISBN : Web Service Patterns: Java Edition,P.Monday,Apress,ISBN :

40 Conclusion présentation outils en Java Liens Web : Outils : (Apache SOAP,Apache Axis,jUDDI) (JWSDP de SUN) (WebSphere 5.x +UDDI4J) (Glue) Consortium,Communauté,W3C: (W3C spécifications SOAP,WSDL) (consortium spécifications UDDI,BPEL4WS,ebXML) (consortium oasis implémentations,informations UDDI) (consortium Liberty Alliance authentification...) Informations sur les WebServices,XML : (informations générale spécifications,outils...) (informations en français webservices,soap) (portail informations francophone sur les WebServices et XML) 40

41 Conclusion présentation outils en Java Liens Web : Informations WebServices,tutoriaux : (portail O'reilly sur les WebServices informations,tutoriels) (code camps Paris 2004,J2EE,WebServices,J2ME, présentations et tutoriels) (portail informations sur les serveurs J2EE +WebServices...) (informations + scripts pour l'utilisation des WebServices avec Mozilla nécessite une version de mozilla >=1.5) UDDI Registry en ligne : (annuaire UDDI historique permettant de tester des WebServices) (quelques exemples de WebServices) (registries IBM,SAP,Microsoft) 41

42 Demos Partie 1(Client SOAP) Client Mozilla : Mozilla possède dans son moteur Gecko des composants lui permettant avec l'aide de Javascript de devenir un client pour les WebServices (support de SOAP1.1 ->à partir de Mozilla 1.0,WSDL -> à partir de mozilla 1.4a,UDDI client methode inquiry à partir de 1.6 et plus ou Netscape à partir de la version 7.1) xmethods.org : Annuaire UDDI de WebServices invocation des services à l'aide d'une applet Java 42

43 ksoap : SOAP pour l' embarqué ksoap : SOAP pour les Systèmes embarqués (téléphones compatibles J2ME (CLDC/MIDP), Cartes Tini ( CDC /Java)) 43

44 ksoap : Présentation Historique : Mai 2001 : 1ère version expérimentale de ksoap Janvier 2002 : ksoap 1.0 Juin 2002 : ksoap 1.2 Aout 2003 : ksoap 2.0 Implémentation de SOAP à l'origine pour les téléphones portables compatibles j2me (MIDP/CLDC) de la communauté OpenSource Enhydra (http://enhydra.org) ksoap est constitué de trois composants (API) : kobject : pour le mapping des objets Java en objets SOAP KXML : pour le parsing des données XML ksoap : pour la constitution des messages SOAP et le transport des données par HTTP 44

45 KSOAP : Présentation Caractéristiques de ksoap (licence EPL pour la version 1.2 et BSD pour la version 2.0) : Sous ensemble minimal de SOAP version 1.1 Support du protocole Wap avec un ensemble de classes : Wbxml,WbxmlParser,WbxmlWriter,WmlParser,WmlWriter... Pas de support de WSDL Pas de support de UDDI (il existe un client kuddi pour les registries UDDI v1.0 non maintenu,buggué et abandonné) Nécessite 3 classes pour son bon fonctionnement : SOAPObject,HTTPTransport,ClassMap Prend en compte les fautes/exceptions SOAP (classe SOAPFault pouvant faire de la récupération d'exception) 45

46 KSOAP : Présentation Faible taille de l'api complète (ksoap+kobject+kxml) : ~ 40 Ko pour la version 1.2 ~ 56 Ko pour la version 2.0 Interopérable avec un grand nombre d'implémentation SOAP (cf tableau tests d'interopérabilité dans la partie liens) Adaptation de HTTPTransport pour être compatible avec J2SE (cas de la carte Tini ou les Applets) et ajout de classes supplémentaires pour le support de types non supportés dans J2ME Mapping automatique de 4 types primitifs de base : int,long,string,boolean Pas de support de tableaux multidimensionnels 46

47 KSOAP Présentation Il existe plusieurs manières de sérialiser/déserialiser les objets avec ksoap : Création d'une classe qui implémente l'interface KvmSerializable Public class Nom_classe implements org.kobjects.serialization.kvmserialzable Création d'un SoapObject avec ajout des propriétés de l'objet méthode addproperty(string nom_propriété,string valeur_de_la propriété ) Le Marshalling : création d'une classe implémentant l'interface Marshall 47

48 KSOAP : Principes de fonctionnement Les 4 règles de parsing des éléments SOAP: Si l'élément SOAP fait parti des 4 types primitifs de bases supportés par défaut il est converti automatiquement en objet Java correspondant Si l'élément SOAP n'a pas de noeud enfant (i.e un type primitif) il est converti en un objet une SoapPrimitive Si l'élément SOAP possède un noeud enfant (i.e un type complexe) il est converti en un objet KvmSerializable (qui est une interface) Un noeud enfant de type complexe suit les 3 mêmes règles précédentes est converti en properties (chacune d'entre elle est associée à un Object PropertyInfo contenant le nom de l'élément SOAP et le type de l'objet Java ) 48

49 KSOAP : Principes de fonctionnement Schéma : 49

50 KSOAP : Principes de fonctionnement Le classmap : Met en correspondance les classes Java avec les éléments XML il s'agit d'une HashTable La méthode addmapping définit un mapping direct à partir d'un namespace et le nom d'une classe Java Le Marshalling : Permet d 'étendre le mapping des objets Java en objets SOAP Indique au parser ce mapping Permet d'ajouter ses propres objets Java au ClassMap et étendre le mapping SOAP la méthode register(classmap) permet d'enregistrer l'objet dans le classmap 50

51 KSOAP : serveur Brazil ksoap La partie Serveur ksoap dans le modèle d'origine est assurée par une servlet à utiliser avec un conteneur (par exemple Tomcat ou Tynamo pour la carte Tini) : comprend la servlet,le service et l'objet utilisé par le service Le modéle modifié pour Brazil comprend un Handler qui délivre le service et qui gère la transormation du message requete XML en objet SOAP requete et la transformation de l'objet «SOAP reponse en message reponse XML. 51

52 KSOAP : serveur Brazil ksoap Principe de fonctionnement : Le client crée un message requête SOAP avec les paramètres d'invocation Le client envoie la requête SOAP au Brazil Server ksoap à travers le protocole HTTP (la classe HTTPTransport s'occupe de ça) Le Brazil Server invoque la méthode du ServiceHandler correspondant grace à l'extraction des parametres du message SOAP Le serveur compose la valeur de retour le met dans le message SOAP réponse Le client reçoit la réponse et le message réponse et parse les valeurs retournées en un objet Java 52

53 KSOAP : serveur Brazil ksoap 53

54 KSOAP : Démo 1 ksoap sur la carte Tini Protocole d'utilisation : Une carte Tini avec un serveur Brazil ksoap port 8080 Un CLC client ksoap en ligne de commandes Un brazil ksoap handler client sur un Informations : Taille du serveur avec un service (Service DS1921Proxy) : ~92 Ko (fichier tini comprenant l'api ksoap,un serveur Brazil Minimal) Consommation mémoire : ~50 Ko à 200 Ko (suivant la nature du service Temps de réponse : ~10-30 s 54

55 KSOAP : Démo 1 ksoap sur la carte Tini Schéma fonctionnement : 55

56 KSOAP : Démo 1 ksoap sur la carte Tini Objet java KvmSerializable : package istr.ksoap4; import org.kobjects.serialization.propertyinfo; import org.kobjects.serialization.elementtype; public class DS1921Proxy implements org.kobjects.serialization.kvmserializable{ private float tempbutton = 0; private static int PROP_COUNT = 1; private static PropertyInfo PI_ds1921temp = new PropertyInfo ("ds1921temp",elementtype.float_class); private static PropertyInfo[] PI_PROP_ARRAY = {PI_ds1921temp}; public DS1921Proxy(){} public void settemperature(float tempbutton) this.tempbutton=tempbutton;} public float gettemperature(){ return tempbutton; } 56

57 KSOAP : Démo 1 ksoap sur la carte Tini public Object getproperty(int param) { if ( param == 0 ) { return new Float(getTemperature()); } else { //message d'erreur } } public void setproperty(int param, Object obj) { if ( param == 0 ) { float ds1921temp = ((Float) obj).floatvalue(); settemperature(ds1921temp); } else { //message d'erreur } } public int getpropertycount() { return PI_PROP_ARRAY.length; } public void getpropertyinfo(int param, org.kobjects.serialization.propertyinfo propertyinfo) { propertyinfo.name = PI_PROP_ARRAY[param].name; propertyinfo.nonpermanent = PI_PROP_ARRAY[param].nonpermanent; } propertyinfo.copy(pi_prop_array[param]); 57

58 KSOAP : Démo 1 ksoap sur la carte Tini Exemple du client en ligne de commande : package istr.ksoap4; import java.sql.timestamp; import java.io.ioexception; import org.ksoap.soapobject; import org.ksoap.transport.httptransportse; import org.ksoap.classmap; import org.ksoap.marshal.marshalfloat; public class DS1921ProxyClient2 { public DS1921ProxyClient2(){} public static void main(string args[]) { try{ String serviceurl="http:// :8080/ds1921proxyservice/"; ClassMap classmap = new ClassMap(); MarshalFloat mf=new MarshalFloat(); mf.register(classmap); 58

59 KSOAP : Démo 1 ksoap sur la carte Tini classmap.addmapping("istr.ksoap4", "DS1921Proxy",new DS1921Proxy().getClass() ); SoapObject rpc = new SoapObject("istr.ksoap4","getNextTemperature"); HttpTransportSE tx = new HttpTransportSE(serviceUrl+"?service=DS1921ProxyService","getNextTemperature"); tx.setclassmap( classmap ); tx.debug=true; DS1921Proxy ds1921proxy = (DS1921Proxy)tx.call( rpc ); System.out.println(tx.requestDump); System.out.println(tx.responseDump); float temp = ds1921proxy.gettemperature(); long timestamp = ds1921proxy.gettimestamp(); Timestamp ts = new Timestamp(timeStamp); String time = ts.tostring(); String idbutton =ds1921proxy.getidbutton(); 59

60 KSOAP : Démo 1 ksoap sur la carte Tini String descbutton=ds1921proxy.getdescription(); String message=ds1921proxy.getmessage(); System.out.println(message); System.out.println("La temperature du DS1921 : "+descbutton+" ID " +idbutton+" aujourd'hui :"+time+" est de :"+temp+" degres celsius"); } catch(ioexception e) { e.printstacktrace(); } } } 60

61 KSOAP : Démo 2 ksoap J2SE+Javacard Protocole d'utilisation : PursePhoto (Porte monnaie+image) 2 serveurs Brazil ( handler client ksoap PursePhotoRequestHandler port 9000 et handler de service PursePhotoProxyServiceHandler sur le port 9001) CLC : client ksoap en ligne de commande Wireless ToolKit 1.04 (client J2ME ksoap) Javacard Development Kit (support de javacard rmi ) +simulateur JCREF Api OpenCardFramework partie client proxy javacard 2 fichiers jar sont nécessaires : base-core.jar base-opt.jar 61

62 KSOAP : Démo 2 ksoap J2SE+JavaCard Schéma fonctionnement : 62

63 KSOAP : Démo 2 ksoap J2SE+JavaCard Nous avons pu voir au travers des démos le fonctionnement de ksoap ainsi qu'une implémentation d'un serveur SOAP Brazil. Il se pose trois problèmes avec cette implémentation (du au fait qu'il n'y ait pas de support de WSDL et de UDDI) : 1)Nous connaissons déjà l'adresse url du serveur fournissant les services 2)Nous connaissons les méthodes ainsi que les paramètres de chaque service 3)Nous possédons les classes Java nécessaires côté client Une solution serait-elle de coupler cette implémentation avec Jxta/Jxme pour la localisation des serveurs et des services? Ou bien de créer un support WSDL et un annuaire UDDI? 63

64 Conclusion Bibliographie : Enterprise J2ME: Developing Mobile Java Applications,Oct. 24th 2003,Michael Juntao Yuan,Prentice Hall,ISBN: Liens web : (spécifications J2ME du Java Community Process) (site historique officiel de ksoap,versions =< 1.2 hébergées) (site proposant les implémentations de ksoap 2,kXML2,kobjects) (article sur ksoap tutoriel,sur le site WebServices d'oreilly) (article sur javaworld sur ksoap) (lien sur des résultats d'analyses de parser XML dont kxml) (tableaux de résultats d'intéropérabilité) 64

Intégration d'applications à "gros grain" Unité d'intégration : le "service" (interface + contrat)

Intégration d'applications à gros grain Unité d'intégration : le service (interface + contrat) Motivations Motivations Intégration d'applications à "gros grain" Unité d'intégration : le "service" (interface + contrat) Contraintes Applications conçues indépendamment, sans avoir prévu une intégration

Plus en détail

Services Web WSDL. Fabrice Rossi. http://apiacoa.org/contact.html. Université Paris-IX Dauphine. Services Web WSDL p.1/40

Services Web WSDL. Fabrice Rossi. http://apiacoa.org/contact.html. Université Paris-IX Dauphine. Services Web WSDL p.1/40 Services Web WSDL Fabrice Rossi http://apiacoa.org/contact.html. Université Paris-IX Dauphine Services Web WSDL p.1/40 Plan du cours WSDL 1. Présentation 2. Structure générale 3. Les types 4. Les messages

Plus en détail

Présentation générale des Web Services

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

Plus en détail

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

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

Plus en détail

Architectures et Web

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

Plus en détail

SOA et Services Web Institut Telecom Telecom SudParis Département INFormatique

SOA et Services Web Institut Telecom Telecom SudParis Département INFormatique SOA et Services Web Institut Telecom Telecom SudParis ormatique 05/09/2012 Références Web http://www-inf.it-sudparis.eu/cours/csc4503/ http://www-inf.it-sudparis.eu/cours/webservices/ Site de W3C (normes)

Plus en détail

Web Services. SLenoir@ugap.fr 17/01/2009

Web Services. SLenoir@ugap.fr 17/01/2009 Web Services SLenoir@ugap.fr 17/01/2009 1. Pourquoi les Web Services? 1.1. Historique des SI 1.2. Exigences actuelles 1.3. SOA 1.4. Mise en place de services 17/01/2008 Web Services 2 1.1. Historique des

Plus en détail

Qu'est-ce qu'un Web Service?

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

Plus en détail

Services Web. Samir Tata Département INFormatique TELECOM SudParis http://www-inf.it-sudparis.eu/cours/webservices

Services Web. Samir Tata Département INFormatique TELECOM SudParis http://www-inf.it-sudparis.eu/cours/webservices Services Web Samir Tata Département INFormatique TELECOM SudParis http://www-inf.it-sudparis.eu/cours/webservices 1 Introduction Source: Fabien HACQUEBART 2 Références Web http://www-inf.it-sudparis.eu/cours/webservices/

Plus en détail

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

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

Plus en détail

Java, développement d'applications mobiles (J2ME) XML 21/03/2007. Formation ITIN

Java, développement d'applications mobiles (J2ME) XML 21/03/2007. Formation ITIN Java, développement d'applications mobiles (J2ME) XML Rappels rapides XML est un acronyme pour extensible Markup Language. Utilisation de tags pour délimiter le contenu et représenter une structure. XML

Plus en détail

Services Web. Fabrice Rossi. http://apiacoa.org/contact.html. Université Paris-IX Dauphine. Services Web p.1/26

Services Web. Fabrice Rossi. http://apiacoa.org/contact.html. Université Paris-IX Dauphine. Services Web p.1/26 Services Web Fabrice Rossi http://apiacoa.org/contact.html. Université Paris-IX Dauphine Services Web p.1/26 Plan du cours 1. Introduction 2. SOAP 3. WSDL 4. UDDI Site du cours : http://apiacoa.org/teaching/webservices/

Plus en détail

Services Web. Plan du cours

Services Web. Plan du cours Services Web Fabrice Rossi http://apiacoa.org/contact.html. Université Paris-IX Dauphine Services Web p.1/26 Plan du cours 1. Introduction 2. SOAP 3. WSDL 4. UDDI Site du cours : http://apiacoa.org/teaching/webservices/

Plus en détail

Plan du cours. Services Web. Un service web? Plan de l introduction. 1. Introduction 2. SOAP 3. WSDL 4. UDDI

Plan du cours. Services Web. Un service web? Plan de l introduction. 1. Introduction 2. SOAP 3. WSDL 4. UDDI Plan du cours Services Web Fabrice Rossi http://apiacoa.org/contact.html. Université Paris-IX Dauphine 1. Introduction 2. SOAP 3. WSDL 4. UDDI Site du cours : http://apiacoa.org/teaching/webservices/ Services

Plus en détail

Service Web (SOAP) Urbanisation des SI NFE107. Fiche de lecture Y. BELAID

Service Web (SOAP) Urbanisation des SI NFE107. Fiche de lecture Y. BELAID Service Web (SOAP) Urbanisation des SI NFE107 Fiche de lecture Y. BELAID Plan Définitions Web Service Terminologie Communication avec les Web Service REST XML-RPC SOAP Qu est ce qu un Web Service Un Web

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

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

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

Plan. Environnement Client/Serveur. Cours 6 Rappels Java (suite) Appel de méthode à distance. Utilité. static

Plan. Environnement Client/Serveur. Cours 6 Rappels Java (suite) Appel de méthode à distance. Utilité. static Plan Environnement Client/Serveur Cours 6 Rappels Java (suite) Appel de méthode à distance kn@lri.fr http://www.lri.fr/~kn 1 Rappels sur les systèmes d'exploitations / Communication par mémoire partagée

Plus en détail

UFR Mathématique et Informatique SOAP. Pierre Gançarski. http://dpt-info.u-strasbg.fr/~gancars

UFR Mathématique et Informatique SOAP. Pierre Gançarski. http://dpt-info.u-strasbg.fr/~gancars SOAP http://dpt-info.u-strasbg.fr/~gancars Pierre Gançarski Architecture 3-tiers 1. Présentation Interface Homme-Machine Conversationnel, Transactionnel, Web-based 2. Partie métier Enchaînement des traitements

Plus en détail

SOA Services Web Etendus SOAP : Communiquer

SOA Services Web Etendus SOAP : Communiquer SOA Services Web Etendus SOAP : Communiquer Mickaël BARON 2010 (Rév. Janvier 2011) mailto:baron.mickael@gmail.com ou mailto:baron@ensma.fr Licence Creative Commons Contrat Paternité Partage des Conditions

Plus en détail

LE TRIPTYQUE SOAP/WSDL/UDDI

LE TRIPTYQUE SOAP/WSDL/UDDI LE TRIPTYQUE SOAP/WSDL/UDDI Eric van der Vlist (vdv@dyomedea.com) Le triptyque SOAP/WSDL/UDDI Web Services Convention Juin 2004 Eric van der Vlist (vdv@dyomedea.com) SOAP-- WS Convention 2004 -- Page 1

Plus en détail

Les services web. Module 04 Les Services Web. Campus-Booster ID : 697. www.supinfo.com. Copyright SUPINFO. All rights reserved

Les services web. Module 04 Les Services Web. Campus-Booster ID : 697. www.supinfo.com. Copyright SUPINFO. All rights reserved Les services web Module 04 Les Services Web Campus-Booster ID : 697 www.supinfo.com Copyright SUPINFO. All rights reserved Les services web Objectifs de ce module En suivant ce module vous allez: Comprendre

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

Etapes de conception des services web

Etapes de conception des services web Les services web Introduction Un service web est un composant logiciel i l qui permet la communication entre deux applications ou systèmes qui peuvent être dans un environnement hétérogène et / ou distribué.

Plus en détail

Les Web Services. UE: Informatique Ambiante. Spécialité: Electronique et Optique Option: Vision Embarquée. Binôme: Ehouarn Perret & Thomas Angenault

Les Web Services. UE: Informatique Ambiante. Spécialité: Electronique et Optique Option: Vision Embarquée. Binôme: Ehouarn Perret & Thomas Angenault Spécialité: Electronique et Optique Option: Vision Embarquée UE: Informatique Ambiante Les Web Services Binôme: Ehouarn Perret & Thomas Angenault Enseignant: Christophe Léger mercredi 19 octobre 2011 Plan

Plus en détail

Modèle spagetthi et solution EAI

Modèle spagetthi et solution EAI EAI Définition L'EAI est une notion ancienne mais toujours d'actualité. En effet, le besoin de faire communiquer des applications développées à des moments différents, dans des technologies différentes

Plus en détail

Web Services. Introduction à l aide d un exemple. Urs Richle

Web Services. Introduction à l aide d un exemple. Urs Richle Web Services Introduction à l aide d un exemple Urs Richle 7/12/2005 Problématique Requête Windows Mac Linux HTML XHTM CSS XML SVG XTM... ASP PHP Java Applet JSP Servlet... IIS Apache Tomcat... Data Oracle

Plus en détail

Modèle client-serveur

Modèle client-serveur Modèle client-serveur Daniel Hagimont IRIT/ENSEEIHT 2 rue Charles Camichel - BP 7122 31071 TOULOUSE CEDEX 7 Daniel.Hagimont@enseeiht.fr http://hagimont.perso.enseeiht.fr 1 Plan Principes généraux Modèle

Plus en détail

XML, PMML, SOAP. Rapport. EPITA SCIA Promo 2004 16 janvier 2003. Julien Lemoine Alexandre Thibault Nicolas Wiest-Million

XML, PMML, SOAP. Rapport. EPITA SCIA Promo 2004 16 janvier 2003. Julien Lemoine Alexandre Thibault Nicolas Wiest-Million XML, PMML, SOAP Rapport EPITA SCIA Promo 2004 16 janvier 2003 Julien Lemoine Alexandre Thibault Nicolas Wiest-Million i TABLE DES MATIÈRES Table des matières 1 XML 1 1.1 Présentation de XML.................................

Plus en détail

Le cadre des Web Services Partie 1 : Introduction

Le cadre des Web Services Partie 1 : Introduction Sécurité en ingénierie du Logiciel Le cadre des Web Services Partie 1 : Introduction Alexandre Dulaunoy adulau@foo.be Sécurité en ingénierie du Logiciel p.1/21 Agenda (partie 1) 1/2 Introduction Services

Plus en détail

Les services Web vers l'interopérabilité des applications réparties sur internet. Tarek Melliti

Les services Web vers l'interopérabilité des applications réparties sur internet. Tarek Melliti Les services Web vers l'interopérabilité des applications réparties sur internet Tarek Melliti Plan de la présentation Introduction aux services Web Approche conceptuel orienté service : SOA Les services

Plus en détail

Déclaration des mouvements de main-d œuvre par échange de données informatisées. Informations de mise en œuvre

Déclaration des mouvements de main-d œuvre par échange de données informatisées. Informations de mise en œuvre Ministère du Travail, des Relations sociales, de la Famille et de la Solidarité Déclaration des mouvements de main-d œuvre par échange de données informatisées Informations de mise en œuvre Mai 2008 1/11

Plus en détail

Conservatoire Nationale des Arts et Métiers

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

Plus en détail

Les Services Web. Sana Sellami. sana.sellami@univ-amu.fr

Les Services Web. Sana Sellami. sana.sellami@univ-amu.fr Les Services Web Sana Sellami sana.sellami@univ-amu.fr 2015-2016 PLAN 1. Qu est ce qu un service Web? 2. Architecture des Services Web 3. Création et déploiement des Services Web SOAP en Java 4. Services

Plus en détail

Les Systèmes et Applications Réparties et leur Programmation

Les Systèmes et Applications Réparties et leur Programmation Les Systèmes et Applications Réparties et leur Programmation Samia Bouzefrane Maître de Conférences Laboratoire CEDRIC Conservatoire National des Arts et Métiers 292 rue Saint Martin 75141 Paris Cédex

Plus en détail

SOA et Services Web. 23 octobre 2011. SOA: Concepts de base

SOA et Services Web. 23 octobre 2011. SOA: Concepts de base SOA et Services Web 23 octobre 2011 1 SOA: Concepts de base 2 Du client serveur à la SOA N est Nest pas une démarche entièrement nouvelle: années 1990 avec les solutions C/S Besoins d ouverture et d interopérabilité

Plus en détail

Modèle client-serveur

Modèle client-serveur Modèle client-serveur Daniel Hagimont IRIT/ENSEEIHT 2 rue Charles Camichel - BP 7122 31071 TOULOUSE CEDEX 7 Daniel.Hagimont@enseeiht.fr http://hagimont.perso.enseeiht.fr Remerciements Michel Riveill 1

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

Services Web. Définition. Évolution. Table des matières

Services Web. Définition. Évolution. Table des matières Par Alberto Gonzalez 2005 (repris par Laurent Magnin) IFT6802 Commerce électronique : systèmes et architectures o o Définition Un service Web est un système conçu pour soutenir l'interaction machine-à-machine

Plus en détail

L'objectif du TP est de: mettre en pratique un exemple simple de service Web, de programmer un service Web calculatrice, et son client.

L'objectif du TP est de: mettre en pratique un exemple simple de service Web, de programmer un service Web calculatrice, et son client. MASTER SSR - SERVICES WEB! Version 2011 L'objectif du TP est de: mettre en pratique un exemple simple de service Web, de programmer un service Web calculatrice, et son client. Introduction Nous proposons

Plus en détail

Examen 1ère session 2014-2015 page 1 NSY 205. 1ère Session NSY 205

Examen 1ère session 2014-2015 page 1 NSY 205. 1ère Session NSY 205 Examen 1ère session 2014-2015 page 1 NSY 205 IPST-CNAM Intranet et Designs patterns NSY 205 Jeudi 5 Février 2015 Durée : 2 h 30 Enseignant : LAFORGUE Jacques 1. QCM (35 points) Mode d'emploi : 1ère Session

Plus en détail

DotNet Remoting. Assia HACHICHI. dr.hachichi@gmail.com (basé sur un cours de Lionel Seinturier) Page 1

DotNet Remoting. Assia HACHICHI. dr.hachichi@gmail.com (basé sur un cours de Lionel Seinturier) Page 1 DotNet Remoting Assia HACHICHI dr.hachichi@gmail.com (basé sur un cours de Lionel Seinturier) Page 1 I Introduction 1. Introduction 2. Modèle de programmation 3. Caractéristiques techniques Invocation

Plus en détail

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

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

Plus en détail

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

IFIPS 5 / Nouvelles Architectures Logicielles Projet : Bus de web services avec «moteur» BPEL

IFIPS 5 / Nouvelles Architectures Logicielles Projet : Bus de web services avec «moteur» BPEL IFIPS 5 / Nouvelles Architectures Logicielles Projet : Bus de web services avec «moteur» BPEL Un bus de services Un bus de services (ESB) permet d assembler des web services existants, le résultat de cet

Plus en détail

Master 2 MIAGE NTDP Nom : Le Prof! UE «Web Services et SOA», Prénom

Master 2 MIAGE NTDP Nom : Le Prof! UE «Web Services et SOA», Prénom Master 2 MIAGE NTDP Nom : Le Prof! UE «Web Services et SOA», Prénom Epreuve écrite individuelle 8 Décembre 2008, durée 45 mns Aucun document autorisé => Finalement, autorisés et semble-t-il utiles!!...

Plus en détail

Programmation des Applications Réparties. Parsers XML DOM et SAX

Programmation des Applications Réparties. Parsers XML DOM et SAX Programmation des Applications Réparties Parsers XML DOM et SAX Luiz Angelo Steffenel luiz-angelo.steffenel@univ-reims.fr Steffenel Programmation des Applications Réparties Master M1-2007-2008 1 Comment

Plus en détail

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

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

Plus en détail

Gestion des immeubles

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

Plus en détail

Java pour le Web. Cours Java - F. Michel

Java pour le Web. Cours Java - F. Michel Java pour le Web Cours Java - F. Michel Introduction à JEE 6 (ex J2EE) Historique Qu'est-ce que JEE JEE : Java Entreprise Edition (ex J2EE) 1. Une technologie outils liés au langage Java + des spécifications

Plus en détail

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

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

Plus en détail

LES WEB SERVICES AUTEUR : ALBERT RITCH HEG GENÈVE DÉPARTEMENT D'INFORMATIQUE DE GESTION LABORATOIRE DE TECHNOLOGIES OBJET PROFESSEUR : PETER DAEHNE

LES WEB SERVICES AUTEUR : ALBERT RITCH HEG GENÈVE DÉPARTEMENT D'INFORMATIQUE DE GESTION LABORATOIRE DE TECHNOLOGIES OBJET PROFESSEUR : PETER DAEHNE LES WEB SERVICES AUTEUR : ALBERT RITCH HEG GENÈVE DÉPARTEMENT D'INFORMATIQUE DE GESTION LABORATOIRE DE TECHNOLOGIES OBJET PROFESSEUR : PETER DAEHNE Albert Ritch Les Web Services Page 1 novembre 2003 v1.0

Plus en détail

Ecole Nationale Supérieure des Télécommunications Les outils XML

Ecole Nationale Supérieure des Télécommunications Les outils XML Ecole Nationale Supérieure des Télécommunications Les outils XML Page 1 sur 13 SOMMAIRE 1 Introduction 3 2 Parseur XML et processeur XSLT 4 2.1 Le Parseur XML v2 4 2.1.1 Les API DOM et SAX 4 2.1.2 Le parseur

Plus en détail

Web services en Java (services Web) JMF (Tous droits réservés) 1

Web services en Java (services Web) JMF (Tous droits réservés) 1 Web services en Java (services Web) JMF (Tous droits réservés) 1 Web services (services web) : qu'est ce? Une architecture orientée objet et distribuée où les messages sont en syntaxe XML Ce n'est pas

Plus en détail

Introduction aux services Web Exemple de PHENOPSIS DB

Introduction aux services Web Exemple de PHENOPSIS DB Introduction aux services Web Exemple de PHENOPSIS DB Vincent NEGRE, vincent.negre@supagro.inra.fr JIEA 2010 1/27 Introduction aux services Web JIEA 2010 2/27 Pourquoi utiliser des services Web? Achats

Plus en détail

Systèmes d'informations historique et mutations

Systèmes d'informations historique et mutations Systèmes d'informations historique et mutations Christophe Turbout SAIC-CERTIC Université de Caen Basse-Normandie Systèmes d'informations : Historique et mutations - Christophe Turbout SAIC-CERTIC UCBN

Plus en détail

Objets distribués et Appel de Méthodes à Distance 2009-2010

Objets distribués et Appel de Méthodes à Distance 2009-2010 Objets distribués et Appel de Méthodes à Distance 2009-2010 1 Objectif : construire une application où différents modules peuvent être situés sur des machines différentes, en utilisant un modèle à objets

Plus en détail

NFP111 Systèmes et Applications Réparties

NFP111 Systèmes et Applications Réparties NFP111 Systèmes et Applications Réparties 1 de 16 NFP111 Systèmes et Applications Réparties Cours 10 - Les Enterprise Java Beans ( aux serveurs ) Claude Duvallet Université du Havre UFR Sciences et Techniques

Plus en détail

Le cadre des Web Services Partie 9 : Introduction à Web Services Definition Language (WSDL)

Le cadre des Web Services Partie 9 : Introduction à Web Services Definition Language (WSDL) Sécurité en ingénierie du Logiciel Le cadre des Web Services Partie 9 : Introduction à Web Services Definition Language (WSDL) Alexandre Dulaunoy adulau@foo.be Sécurité en ingénierie du Logiciel p.1/16

Plus en détail

objectif : plan : Java, CORBA et RMI A. Le Grand,1997 1 JAVA, CORBA et RMI

objectif : plan : Java, CORBA et RMI A. Le Grand,1997 1 JAVA, CORBA et RMI JAVA, CORBA et RMI objectif : développer des applications client/serveur incluant des objets répartis Java / CORBA : client/serveur hétérogènes Java / RMI : client/serveur homogènes plan : l architecture

Plus en détail

Sémantique formelle et synthèse de client pour services Web

Sémantique formelle et synthèse de client pour services Web Sémantique formelle et synthèse de client pour services Web Séminaire «Services Web» 24 Janvier 2006 sylvain.rampacek@univ-reims.fr CReSTIC LAMSADE Plan Introduction Services Web Description de la plate-forme

Plus en détail

CHAPITRE 1. Introduction aux web services. 1.1 Définition. Contenu du chapitre : Env. De dev. Langage Visual Studio Java EE Qt Creator C#

CHAPITRE 1. Introduction aux web services. 1.1 Définition. Contenu du chapitre : Env. De dev. Langage Visual Studio Java EE Qt Creator C# CHAPITRE 1 Introduction aux web services Contenu du chapitre : Env. De dev. Langage Visual Studio Java EE Qt Creator C# NetBeans JavaScript Eclipse Objective C Xcode PHP HTML Objectifs du chapitre : Ce

Plus en détail

Vulgarisation Java EE Java EE, c est quoi?

Vulgarisation Java EE Java EE, c est quoi? Paris, le 1 Février 2012 Vulgarisation Java EE Java EE, c est quoi? Sommaire Qu est ce que Java? Types d applications Java Environnements Java Versions de Java Java EE, c est quoi finalement? Standards

Plus en détail

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

*4D, quand c est la solution qui compte. 4D démocratise les services Web

*4D, quand c est la solution qui compte. 4D démocratise les services Web *4D, quand c est la solution qui compte. 4D démocratise les services Web Table des matières I. INTRODUCTION page 3 II. VERS UNE DEFINITION DES SERVICES WEB 1. Qu est ce que c est? page 3 2. A quoi ça sert?

Plus en détail

Web services en Java (services Web) Jean-marc Farinone

Web services en Java (services Web) Jean-marc Farinone Web services en Java (services Web) Jean-marc Farinone Web services (services web) : qu'est ce? Une architecture orientée objet et distribuée où les messages sont en syntaxe XML. Une définition : Les Services

Plus en détail

Les Extensions de SOAP

Les Extensions de SOAP Les Extensions de SOAP «Contourner» les limitations 11/03/2010 Présentation: S. Lavirotte Auteurs : et al* 40 Limitations de SOAP Sécurité : Limité à la sécurisation de HTTP? Transfert de données : Données

Plus en détail

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

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

Plus en détail

Sensibilisation à RMI (Remote Method Invocation)

Sensibilisation à RMI (Remote Method Invocation) Jini Sensibilisation à RMI (Remote Method Invocation) Le rêve de tout système distribué L idéal serait d avoir un système distribué utilisant la technologie objet et permettant : 1) d invoquer une méthode

Plus en détail

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

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

Plus en détail

Programmation Avancée pour le Web

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

Plus en détail

Java RMI. Programmation des applications réparties. Olivier Flauzac URCA. Master EEAMI-Informatique première année

Java RMI. Programmation des applications réparties. Olivier Flauzac URCA. Master EEAMI-Informatique première année Java RMI Programmation des applications réparties Olivier Flauzac URCA Master EEAMI-Informatique première année Olivier Flauzac (URCA) PAR : Java RMI MSTIC-INFO 1 1 / 30 1 RMI 2 Architecture 3 Développement

Plus en détail

Sommaire. Introduction La technologie ebxml EDI conventionnels versus ebxml Web Services et ebxml Acteurs de l ebxml Conclusion

Sommaire. Introduction La technologie ebxml EDI conventionnels versus ebxml Web Services et ebxml Acteurs de l ebxml Conclusion ebxml Sommaire Introduction La technologie ebxml EDI conventionnels versus ebxml Web Services et ebxml Acteurs de l ebxml Conclusion Introduction Pourquoi L EDI EDI : échange de données informatisé Remplacer

Plus en détail

Architectures à composants

Architectures à composants Interaction requête/réponse Architectures à composants!communication par requête/réponse client requête réponse serveur Gaël Thomas gael.thomas@lip6.fr Université Pierre et Marie Curie Master Informatique

Plus en détail

Examen terminal Architectures n-tiers : Intergiciels à objets et services web

Examen terminal Architectures n-tiers : Intergiciels à objets et services web GMIN20 - Juin 2013 Tous documents autorisés. Le barème est donné à titre indicatif. 1 Corba (5 points) Un fichier IDL vous est donné au listing 1. On vous donne aussi un fichier d implémentation au listing

Plus en détail

Les servlets Le langage Java Les Servlets XVII-1 JMF

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

Plus en détail

Programmation du Web : Présentation du Web dynamique

Programmation du Web : Présentation du Web dynamique Programmation du Web : Présentation du Web dynamique Jean-Baptiste Vioix (Jean-Baptiste.Vioix@u-bourgogne.fr) IUT de Dijon-Auxerre - LE2I http://jb.vioix.free.fr 1-8 Présentation Nécessité du web dynamique

Plus en détail

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

Plus en détail

Programmation n-tiers. Chapitre III - Les Servlets

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

Plus en détail

TP Java RMI. Alexandre Denis Alexandre.Denis@inria.fr. Inria Bordeaux Sud-Ouest France ENSEIRB PG306

TP Java RMI. Alexandre Denis Alexandre.Denis@inria.fr. Inria Bordeaux Sud-Ouest France ENSEIRB PG306 TP Java RMI Alexandre Denis Alexandre.Denis@inria.fr Inria Bordeaux Sud-Ouest France ENSEIRB PG306 Paradigme RMI RMI (Remote Method Invocation) RPC orientés objet (encapsulation, héritage,...) objet :

Plus en détail

L architecture orientée services

L architecture orientée services 1 Introduction La première difficulté à laquelle on se heurte lorsqu on aborde le vaste sujet des technologies de services Web est d ordre terminologique. Un exemple, désormais bien connu, du désordre

Plus en détail

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

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

Plus en détail

Faculté des Sciences Tidjani HADDAM Département de l Informatique. Mémoire. Pour l obtention du diplôme de MASTER. Spécialité : Informatique

Faculté des Sciences Tidjani HADDAM Département de l Informatique. Mémoire. Pour l obtention du diplôme de MASTER. Spécialité : Informatique - Faculté des Sciences Tidjani HADDAM Département de l Informatique Mémoire Pour l obtention du diplôme de MASTER Spécialité : Informatique Option : Modèles Intélligents et Décision (MID) Présenté par

Plus en détail

Projet de Veille Technologique

Projet de Veille Technologique Projet de Veille Technologique Programmation carte à puce - JavaCard Ing. MZOUGHI Ines (i.mzoughi@gmail.com) Dr. MAHMOUDI Ramzi (mahmoudr@esiee.fr) TEST Sommaire Programmation JavaCard Les prérequis...

Plus en détail

Architecture des Systèmes d'information

Architecture des Systèmes d'information Architecture des Systèmes d'information Cours "Réseaux et systèmes répartis" NFP 214 par Jacques LAFORGUE (jacques.laforgue@neuf.fr) version du 23/10/2009 slide numéro 1 Définition d'un Système d'information

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

PRotocole d'echange STandard Ouvert

PRotocole d'echange STandard Ouvert PRotocole d'echange STandard Ouvert 28 février 2007 Frédéric Law-Dune Direction Générale de la modernisation de l'etat 1 Contexte L administration électronique monte en puissance De nombreux services sont

Plus en détail

Les serveurs d applications :une introduction

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

Plus en détail

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

Cours client-serveur Web : Java et RMI (Remote Method Invocation)

Cours client-serveur Web : Java et RMI (Remote Method Invocation) Cours client-serveur Web : Java et RMI (Remote Method Invocation) 1 Java: Rappel sur les threads Cycle de vie d un thread (1) Né -> prêt appel de la méthode start du thread Prêt Exécution Distribution

Plus en détail

Interactions audio sur le site web du LIA Documentation Technique

Interactions audio sur le site web du LIA Documentation Technique 2007 Interactions audio sur le site web du LIA Documentation Technique Projet 13 - IUP Avignon Master1 TAIM 28/05/2007 2 Projet 13 : Interactions audio sur le site web du LIA Sommaire Composants de l'application...

Plus en détail

Les Services Web. Jean-Pierre BORG EFORT http://www.efort.com

Les Services Web. Jean-Pierre BORG EFORT http://www.efort.com Les Services Web Jean-Pierre BORG EFORT http://www.efort.com 1 Introduction Un "Service Web" est une application logicielle à laquelle on peut accéder à distance à partir de différents langages basés sur

Plus en détail

RPC Remote Procedure Call. Benmoussa Yahia Université M hamed Bougara de Boumerdès yahia.benm@gmail.com

RPC Remote Procedure Call. Benmoussa Yahia Université M hamed Bougara de Boumerdès yahia.benm@gmail.com RPC Remote Procedure Call Benmoussa Yahia Université M hamed Bougara de Boumerdès yahia.benm@gmail.com Objectifs Le rôle de RPC comme middleware Positionner RPC dans le modèle OSI Développement d application

Plus en détail

La plate-forme Java RMI

La plate-forme Java RMI La plate-forme Java RMI Frank Singhoff Bureau C-202 Université de Brest, France Lab-STICC/UMR 3192 singhoff@univ-brest.fr UE systèmes à objets répartis, Université de Brest Page 1/25 Sommaire 1. Le modèle

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

Créer une architecture distribuée.net

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

Plus en détail

VisualAge Pacbase 3.0 et WebSphere

VisualAge Pacbase 3.0 et WebSphere VisualAge Pacbase 3.0 et WebSphere Conférence VisualAge Pacbase 13 décembre 2001 Fernand Bonaguidi Jean-François Lévi 1 La plateforme logicielle WebSphere Applications de s et de Partenaires Accélérateurs

Plus en détail

Programmation par RPC et Java-RMI :

Programmation par RPC et Java-RMI : 2A-SI 3 Prog. réseau et systèmes distribués 3.2 et JavaRMI Stéphane Vialle Stephane.Vialle@supelec.fr http://www.metz.supelec.fr/~vialle Support de cours élaboré avec l aide de l équipe pédagogique du

Plus en détail

Systèmes d Information Avancés (et répartis)

Systèmes d Information Avancés (et répartis) Systèmes d Information Avancés (et répartis) Université Lyon 1 MIAGE L. Médini, mars 2005 Plan des cours Protocole HTTP et programmation serveur Architectures réparties Objets distribués Introduction aux

Plus en détail