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

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

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

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

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

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

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

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

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

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

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

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

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

Conception et développement d un Service Web Pour l échange d information dans le domaine humanitaire

Conception et développement d un Service Web Pour l échange d information dans le domaine humanitaire Université de Fribourg, Suisse Département d'informatique Bachelor en informatique de gestion TRAVAIL DE BACHELOR Sujet: Conception et développement d un Service Web Pour l échange d information dans le

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

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

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

SOA et Services Web. 23 octobre 2011. Evolution des Systèmes d Information

SOA et Services Web. 23 octobre 2011. Evolution des Systèmes d Information SOA et Services Web 23 octobre 2011 1 Evolution des Systèmes d Information 2 Qu est ce qu une application répartie? Il s agit d une application découpée en plusieurs unités Chaque unité peut être placée

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

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

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 Dan VODISLAV Université de Cergy-Pontoise Master Informatique M1 Cours IED Plan

Services web Dan VODISLAV Université de Cergy-Pontoise Master Informatique M1 Cours IED Plan Services web Dan VODISLAV Université de Cergy-Pontoise Master Informatique M1 Cours IED Plan Principes SOAP WSDL UDDI Services REST Services SOAP en Java Cours IED (UCP/M1): Services web Page 2 Services

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

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

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

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

Étude de faisabilité d'une application SOAP avec un système embarqué

Étude de faisabilité d'une application SOAP avec un système embarqué Étude de faisabilité d'une application SOAP avec un système Titre du projet I04_05s01 Chaîne du froid: Communication par SOAP Numéro du projet 53 École HE-ARC ingénierie informatique Temps imparti Travail

Plus en détail

Méthodes et Langages du Commerce Electronique

Méthodes et Langages du Commerce Electronique ITCE NFE 102 Année 2013-2014! Méthodes et Langages du Commerce Electronique F.-Y. Villemin (f-yv@cnam.fr) http://dept25.cnam.fr/itce Plan! Besoins du commerce électronique! L EDI! ebxml! Les Web Services!

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

UNIVERSITÉ DU QUÉBEC EN OUTAOUAIS

UNIVERSITÉ DU QUÉBEC EN OUTAOUAIS UNIVERSITÉ DU QUÉBEC EN OUTAOUAIS SÉCURITÉ DES SERVICES WEB : RESTAURATION D UN MESSAGE SOAP APRÈS DÉTECTION D UNE ATTAQUE PAR ENVELOPPEMENT SUR UN ÉLÉMENT SIGNÉ MÉMOIRE PRÉSENTÉ COMME EXIGENCE PARTIELLE

Plus en détail

SOAP Concepts Application à Glassfish

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

Plus en détail

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

Programmation d applications distribuées

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

Plus en détail

Formation ESUP Portail Cours 4

Formation ESUP Portail Cours 4 Formation ESUP Portail Cours 4 http://www.esup-portail.org 1 Plan Prérequis Outils Normes Esup portail Canal uportal Publication d'un canal Web services 2 Prérequis Java Ant XML XSL/XSLT 3 Outils http://www.esup-portail.org/consortium/espace/normes_1c/tech/build/index.

Plus en détail

La démarche SOA et l interopérabilité applicative

La démarche SOA et l interopérabilité applicative La démarche SOA et l interopérabilité applicative Retour d'expérience des projets RITA / PRESTO de la Direction Générale de la Modernisation de l'état Abdelaziz Skalli Consultant Tél : +33.630.78.54.75

Plus en détail

ETUDE COMPARATIVE DES SERVICES DE RECHERCHE SUR PROPRIETES

ETUDE COMPARATIVE DES SERVICES DE RECHERCHE SUR PROPRIETES ETUDE COMPARATIVE DES SERVICES DE RECHERCHE SUR PROPRIETES Dhouha Ayed, Chantal Taconet et Guy Bernard GET / INT, CNRS Samovar 9 rue Charles Fourier, 91011 Évry, France {Dhouha.Ayed, Chantal.Taconet, Guy.Bernard}@int-evry.fr

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

Java c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/2012. 1 - Vue générale 2 - Mon premier programme 3 - Types de Programme Java

Java c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/2012. 1 - Vue générale 2 - Mon premier programme 3 - Types de Programme Java 1 - Vue générale 2 - Mon premier programme 3 - Types de Programme 1 2 c est quoi? Technologie développée par SUN Microsystems lancée en 1995 Dans un des premiers papiers* sur le langage JAVA, SUN le décrit

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

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

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

CORBA avec OpenORB. Samir Torki et Patrice Torguet

CORBA avec OpenORB. Samir Torki et Patrice Torguet CORBA avec OpenORB Samir Torki et Patrice Torguet 1 Présentation de CORBA CORBA (Common Object Request Broker Architecture) est un standard décrivant une architecture pour la mise en place d objets distribués.

Plus en détail

Architectures Web Services WS-*

Architectures Web Services WS-* Architectures Web Services WS-* Alexandre Denis Alexandre.Denis@inria.fr Inria Bordeaux Sud-Ouest France ENSEIRB PG306 Services Motivations Intégration d'applications à gros grain Unité : le «service»

Plus en détail

TP 7 : Échange de données. Pascal GRAFFION 2012/12/07 17:55

TP 7 : Échange de données. Pascal GRAFFION 2012/12/07 17:55 TP 7 : Échange de données Pascal GRAFFION 2012/12/07 17:55 Table des matières TP 7 : Échange de données... 3 Hello PetStore!... 3 Outils... 4 Expression des besoins... 4 Vue utilisateur... 5 Diagramme

Plus en détail

Initiation à JAVA et à la programmation objet. raphael.bolze@ens-lyon.fr

Initiation à JAVA et à la programmation objet. raphael.bolze@ens-lyon.fr Initiation à JAVA et à la programmation objet raphael.bolze@ens-lyon.fr O b j e c t i f s Découvrir un langage de programmation objet. Découvrir l'environnement java Découvrir les concepts de la programmation

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

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

Services Web SOAP. Fabrice Rossi. http://apiacoa.org/contact.html. Université Paris-IX Dauphine. Services Web SOAP p.1/44 Services Web SOAP Fabrice Rossi http://apiacoa.org/contact.html. Université Paris-IX Dauphine Services Web SOAP p.1/44 Plan du cours SOAP 1. les évolutions de SOAP 2. l enveloppe SOAP 3. l en-tête SOAP

Plus en détail

Mémoire de fin d études. Pour l obtention du diplôme d ingénieur d état en informatique. Option : Systèmes Informatiques. Thème.

Mémoire de fin d études. Pour l obtention du diplôme d ingénieur d état en informatique. Option : Systèmes Informatiques. Thème. Mémoire de fin d études Pour l obtention du diplôme d ingénieur d état en informatique Option : Systèmes Informatiques Thème Contrôle Surveillance d accès en aux temps plateformes réel des basées réseaux

Plus en détail

Programmabilité du réseau avec l'infrastructure axée sur les applications (ACI) de Cisco

Programmabilité du réseau avec l'infrastructure axée sur les applications (ACI) de Cisco Livre blanc Programmabilité du réseau avec l'infrastructure axée sur les applications (ACI) de Cisco Présentation Ce document examine la prise en charge de la programmabilité sur l'infrastructure axée

Plus en détail

Programmation objet. www.ziggourat.com - Tél : 01 44 61 96 00 N enregistrement formation : 11752861675

Programmation objet. www.ziggourat.com - Tél : 01 44 61 96 00 N enregistrement formation : 11752861675 Programmation objet www.ziggourat.com - Tél : 01 44 61 96 00 enregistrement formation : 11752861675 Modélisation L essentiel du monde Objet... 3 UML et processus méthodologique... 4 Expression du besoin

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

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

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

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

Présentation de l architecture CORBA

Présentation de l architecture CORBA Présentation de l architecture CORBA Common Object Request Broker Architecture Yves LALOUM Conseil Audit de Systèmes d information CISA ylaloum@advisehr.com 29/04/2003 1 1.Introduction Depuis 1989, une

Plus en détail

Programmation Web. Introduction

Programmation Web. Introduction Programmation Web Introduction 1 Introduction 10 séances 1 h cours + 1h TD Notes : contrôle continu DS 1 TP : note de groupe : rapport + code source + démo TD : note personnelle (=0 si 2 absences non justifiées)

Plus en détail

TECHNOLOGIES XML, CONCEPTION, MISE EN OEUVRE

TECHNOLOGIES XML, CONCEPTION, MISE EN OEUVRE XML/ SOA/ Web services TECHNOLOGIES XML, CONCEPTION, MISE EN OEUVRE Réf: PXM Durée : 4 jours (7 heures) OBJECTIFS DE LA FORMATION XML est devenu une technologie incontournable tant sur le poste utilisateur

Plus en détail

SOA facile avec SCA. Christophe Demarey, Damien Fournier. To cite this version: HAL Id: inria-00531338 https://hal.inria.

SOA facile avec SCA. Christophe Demarey, Damien Fournier. To cite this version: HAL Id: inria-00531338 https://hal.inria. SOA facile avec SCA Christophe Demarey, Damien Fournier To cite this version: Christophe Demarey, Damien Fournier. SOA facile avec SCA. Programmez, Programmez, 2010. HAL Id: inria-00531338

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

On Feature Interaction among Web Services Michael Weiss et Babak Esfandiari

On Feature Interaction among Web Services Michael Weiss et Babak Esfandiari On Feature Interaction among Web Services Michael Weiss et Babak Esfandiari Présenté par INF-6251 :: Automne 2005 Présentation Introduction Contexte Bref historique Contexte Affaire (Business) Processus

Plus en détail

Annuaires LDAP et méta-annuaires

Annuaires LDAP et méta-annuaires Annuaires LDAP et méta-annuaires Laurent Mynard Yphise 6 rue Beaubourg - 75004 PARIS yphise@yphise.com - http://yphise.fr T 01 44 59 93 00 F 01 44 59 93 09 LDAP020314-1 Agenda A propos d Yphise Les annuaires

Plus en détail

Architectures Web Services RESTful

Architectures Web Services RESTful Architectures Web Services RESTful Alexandre Denis Alexandre.Denis@inria.fr Inria Bordeaux Sud-Ouest France ENSEIRB PG306 REST REST Representational State Transfer Roy Fielding (2000) Décollage vers 2006-2007

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

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

Introduction. Réalisation d'une application répartie (fournissant un ou plusieurs services)

Introduction. Réalisation d'une application répartie (fournissant un ou plusieurs services) Intergiciels Introduction Réalisation d'une application répartie (fournissant un ou plusieurs services) Bas niveau : Sockets Haut niveau : Intergiciels (Middleware) Appel de procédure à distance (RPC),

Plus en détail

Chapitre 5 CORBA (Common Object Request Broker Architecture)

Chapitre 5 CORBA (Common Object Request Broker Architecture) DÉVELOPPEMENT D APPLICATIONS RÉPARTIES CORBA (Common Object Request Broker Architecture) Amen Ben Hadj Ali amenbha@hotmail.com ISI-L3SIL 2011-2012 Plan 2 Architecture CORBA Le langage IDL CORBA en Java

Plus en détail

Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework

Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework Gaël de Chalendar CEA LIST / LIC2M Journée de Présentation des Technologies WebContent INSTN 14/12/2009 Présentation de gsoap Plan

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

1. QCM (40 points) (1h)

1. QCM (40 points) (1h) Examen 1ère session 2012-2013 page 1 NSY 102 - AISL IPST-CNAM Intranet et Designs patterns NSY 102 Vendredi 26 Avril 2013 Durée : 3 heures Enseignants : LAFORGUE Jacques 1. QCM (40 points) (1h) Mode d'emploi

Plus en détail

WebSSO, synchronisation et contrôle des accès via LDAP

WebSSO, synchronisation et contrôle des accès via LDAP 31 mars, 1er et 2 avril 2009 WebSSO, synchronisation et contrôle des accès via LDAP Clément Oudot Thomas Chemineau Sommaire général Synchronisation d'identités WebSSO et contrôle des accès Démonstration

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

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

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

Plus en détail

Architectures n tiers Intergiciels à objets et services web

Architectures n tiers Intergiciels à objets et services web UMIN406 : thèmes abordés Architectures n tiers Intergiciels à objets et services web Clémentine Nebut LIRMM / Université de Montpellier 2 LIRMM Clementine.nebut@lirmm.fr 1 Distribution d objets Java RMI,.net

Plus en détail

Table des Matières. Qu'est ce qu'un service Web

Table des Matières. Qu'est ce qu'un service Web Table des Matières Etendre les Applications J2EE avec des Services Web... 1 Qu'est ce qu'un service Web... 1 Consommation de services Web existant... 2 Implémentation d'un service web dans une application

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

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

Intergiciel - concepts de base

Intergiciel - concepts de base Intergiciel - concepts de base Ada Diaconescu, Laurent Pautet & Bertrand Dupouy ada.diaconescu _at_ telecom-paristech.fr Rappel : système réparti Système constitué de multiples ressources informatiques

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

M2 MIAGE EVRY RAPPORT DE PROJET TECHNOLOGIE SCA

M2 MIAGE EVRY RAPPORT DE PROJET TECHNOLOGIE SCA M2 MIAGE EVRY RAPPORT DE PROJET TECHNOLOGIE SCA Matière : Architecture orientée service Enseignants : Boccon-Gibod, Godefroy Étudiants : DIALLO Amadou Tidiane GOLAB Barbara 1 IDENTIFICATION DU PROJET Projet

Plus en détail

Les services web. Plan. Définitions et généralités Architecture et technologies au cœur des services web

Les services web. Plan. Définitions et généralités Architecture et technologies au cœur des services web Plan Les services web Clémentine Nebut clementine.nebut@lirmm.fr LIRMM / Université de Montpellier 2 Définitions et généralités Architecture et technologies au cœur des services web SOAP WSDL UDDI Services

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

Architectures n-tiers et déploiement d applications Web

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

Plus en détail

COMMUNICATION AVEC LA BCSS

COMMUNICATION AVEC LA BCSS 21 janvier 2009 26 mars 2009 1 juillet2009 31 août 2009 COMMUNICATION AVEC LA BCSS La préoccupation de l informatique de la BCSS est d être interopérable avec ses partenaires. Elle a opté en 2006 pour

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

Petite définition : Présentation :

Petite définition : Présentation : Petite définition : Le Web 2.0 est une technologie qui permet la création de réseaux sociaux, de communautés, via divers produits (des sites communautaires, des blogs, des forums, des wiki ), qui vise

Plus en détail

Single Sign On. Nicolas Dewaele. Single Sign On. Page 1. et Web SSO

Single Sign On. Nicolas Dewaele. Single Sign On. Page 1. et Web SSO Page 1 Introduction Sommaire I- Présentation de la technologie II- Architectures classiques et étude du marché III- Implémentation en entreprise IV- Présentation de systèmes SSO Annexes Page 2 Introduction

Plus en détail

1. Introduction Générale

1. Introduction Générale Introduction Générale 1. Introduction Générale Les web services sont devenus une technique incontournable pour construire des systèmes distribués faiblement couplés. L architecture Orientée service a été

Plus en détail

Les Architectures Orientées Services (SOA)

Les Architectures Orientées Services (SOA) Les Architectures Orientées Services (SOA) Ulrich Duvent Guillaume Ansel Université du Littoral Côte d Opale 50, Rue Ferdinand Buisson BP 699 62228 Calais Cedex Téléphone (33) 03.21.46.36.92 Télécopie

Plus en détail

Oracle Fusion Middleware Concepts Guide 11g Release 1 (11.1.1) Figure 1-1 Architecture Middleware

Oracle Fusion Middleware Concepts Guide 11g Release 1 (11.1.1) Figure 1-1 Architecture Middleware 1 Introduction Ce chapitre décrit Oracle Fusion Middleware. Il comprend : o Qu'est-ce que Middleware o Les fonction de Middleware o L'architecture de conception Middleware o L'architecture orientée services

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

Manuel d intégration API SOAP SMS ALLMYSMS.COM

Manuel d intégration API SOAP SMS ALLMYSMS.COM Manuel d intégration API SOAP SMS ALLMYSMS.COM 26/02/2014 TABLE DES MATIERES OBJECTIF DU DOCUMENT... 3 LE PROTOCOLE SOAP... 3 ENVOI DE REQUETES SOAP A LA PLATEFORME ALLMYSMS.COM... 3 BACKOFFICE SMS...

Plus en détail

Langage HTML (2 partie) lt La Salle Avignon BTS IRIS

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv> Langage HTML (2 partie) «Je n'ai fait que prendre le principe d - hypertexte et le relier au principe du TCP et du DNS et alors boum! ce fut le World Wide Web!» Tim Berners-Lee

Plus en détail

Architectures n-tiers et déploiement d applications Web

Architectures n-tiers et déploiement d applications Web Architectures n-tiers et déploiement d applications Web Plan Les architectures n-tiers pour le Web Plate-formes Microsoft DNA,.NET Plate-forme J2EE Les Web Services Exemple 29/03/04 D. Caromel, L. Mestre,

Plus en détail

Présentation de l architecture COM Compinent Object Model DCOM/ACTIVEX

Présentation de l architecture COM Compinent Object Model DCOM/ACTIVEX Présentation de l architecture COM Compinent Object Model DCOM/ACTIVEX Yves LALOUM Conseil Audit de Systèmes d information CISA ylaloum@advisehr.com 29/04/2003 1 1.Introduction Les services de composant

Plus en détail

Architectures web/bases de données

Architectures web/bases de données Architectures web/bases de données I - Page web simple : HTML statique Le code HTML est le langage de base pour concevoir des pages destinées à être publiées sur le réseau Internet ou intranet. Ce n'est

Plus en détail

NFP111 Systèmes et Applications Réparties

NFP111 Systèmes et Applications Réparties NFP111 Systèmes et Applications Réparties 1 de 46 NFP111 Systèmes et Applications Réparties Cours 2 - Les appels de procédure distants (Partie 1) Claude Duvallet Université du Havre UFR Sciences et Techniques

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

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

Introduction aux Services Web. Slimane Hammoudi et Denivaldo Lopes

Introduction aux Services Web. Slimane Hammoudi et Denivaldo Lopes Introduction aux Services Web Slimane Hammoudi et Denivaldo Lopes 1 Plan Introduction aux Services Web. Le problème de l Interopérabilité entre systèmes. Les Technologies utilisées (XML, WSDL, UDDI, SOAP,...).

Plus en détail

Patrons de Conception (Design Patterns)

Patrons de Conception (Design Patterns) Patrons de Conception (Design Patterns) Introduction 1 Motivation Il est difficile de développer des logiciels efficaces, robustes, extensibles et réutilisables Il est essentiel de comprendre les techniques

Plus en détail