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 harisson@free.fr 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=" xmlns:soap-env=" xmlns:soap-enc=" xmlns:xsi=" xmlns:xsd=" 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=" <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=" 11

12 Présentation générale : messages SOAP <Formulaire href="harisson.tiff@free.fr"/> <Photo href="harisson.jpeg@free.fr"/> </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=" xmlns:apachesoap=" xmlns:impl="istr.ksoap4" xmlns:intf="istr.ksoap4" xmlns:soapenc=" xmlns:tns2=" xmlns:tns3=" xmlns:wsdl=" xmlns:wsdlsoap=" xmlns:xsd=" <wsdl:types> <schema targetnamespace="istr.ksoap4" xmlns=" <import namespace=" <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=" <wsdl:operation name="getnexttemperature"> <wsdlsoap:operation soapaction=""/> 22

23 Présentation générale : WSDL <wsdl:input name="getnexttemperaturerequest"> <wsdlsoap:body encodingstyle=" namespace="istr.ksoap4" use="encoded"/> </wsdl:input> <wsdl:output name="getnexttemperatureresponse"> <wsdlsoap:body encodingstyle=" 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=" 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) : Publish (publication) : 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 ( 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=" 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

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

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

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

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

É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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Guide des services Web 7.0

Guide des services Web 7.0 Guide des services Web 7.0 Copyright 2010 Sage Technologies Limited, éditeur de ce produit. Tous droits réservés. Il est interdit de copier, photocopier, reproduire, traduire, copier sur microfilm, et

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

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

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

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

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

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv>

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

Workshop e-business ISMIN 3A P2015

Workshop e-business ISMIN 3A P2015 Workshop e-business ISMIN 3A P2015 Philippe Lalevée philippe.lalevee@mines-stetienne.fr 1 Votre semaine Durée : 30 heures (10 x 3h) dont ~6 heures de cours Cours : rappels sur les technologies Web, XML,

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

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

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

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

Plus en détail

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

Fiche de l'awt Intégration des applications

Fiche de l'awt Intégration des applications Fiche de l'awt Intégration des applications Aujourd'hui, plus de 40 % des budgets de développement en informatique sont liés à l'intégration de données dans les systèmes d'information. Il s'agit donc d'une

Plus en détail

Les tableaux de bord de pilotage de nouvelle génération. Copyright 2002-2008 PRELYTIS

Les tableaux de bord de pilotage de nouvelle génération. Copyright 2002-2008 PRELYTIS Les tableaux de bord de pilotage de nouvelle génération Sommaire PRELYTIS en quelques mots LiveDashBoard : principes directeurs et positionnement La couverture fonctionnelle Démonstration Les packages

Plus en détail

Web Application Models

Web Application Models Web Application Models une nouvelle fonction de VisualAge Pacbase au service des applications WebSphere Jean-François Lévi - Bernard Etienne Maîtriser l'évolution des développements Web d'entreprise avec

Plus en détail

Généralités sur le Langage Java et éléments syntaxiques.

Généralités sur le Langage Java et éléments syntaxiques. Généralités sur le Langage Java et éléments syntaxiques. Généralités sur le Langage Java et éléments syntaxiques....1 Introduction...1 Genéralité sur le langage Java....1 Syntaxe de base du Langage...

Plus en détail

SIO-65291 Page 1 de 5. Applications Web dynamiques. Prof. : Dzenan Ridjanovic Assistant : Vincent Dussault

SIO-65291 Page 1 de 5. Applications Web dynamiques. Prof. : Dzenan Ridjanovic Assistant : Vincent Dussault SIO-65291 Page 1 de 5 1- Objectifs généraux Applications Web dynamiques Prof. : Dzenan Ridjanovic Assistant : Vincent Dussault acquérir les principes et concepts fondamentaux dans le domaine d'applications

Plus en détail

Introduction à l'architecture L'objectif premier d'un système d'information, quel qu'il soit, est de permettre à plusieurs utilisateurs d'accéder aux mêmes informations : pour cela, il faut donc regrouper

Plus en détail

Urbanisation des SI Conduite du changement IT 20/03/09. Patrick CHAMBET http://www.chambet.com

Urbanisation des SI Conduite du changement IT 20/03/09. Patrick CHAMBET http://www.chambet.com Urbanisation des SI Conduite du changement IT 20/03/09 Sécuriser ses Web Services Patrick CHAMBET http://www.chambet.com Bouygues Telecom Direction Gouvernance, Outils et Architecture / Sécurité du SI

Plus en détail

Plateforme PAYZEN. Définition de Web-services

Plateforme PAYZEN. Définition de Web-services Plateforme PAYZEN Définition de Web-services Ordre de paiement Version 1.1 Rédaction, Vérification, Approbation Rédaction Vérification Approbation Nom Date/Visa Nom Date/Visa Nom Date/Visa Lyra-Network

Plus en détail

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la

Plus en détail

JOnAS Day 5.1. Clustering

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

Plus en détail

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

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

Plus en détail

Responsable du cours : Héla Hachicha. Année Universitaire : 2011-2012

Responsable du cours : Héla Hachicha. Année Universitaire : 2011-2012 Chapitre 4- WS-Security Responsable du cours : Héla Hachicha Année Universitaire : 2011-2012 1 WS-Security (Microsoft) WS-Security est le standard proposé par IBM, Microsoft, VeriSign et Forum Systems

Plus en détail

Remote Method Invocation en Java (RMI)

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

Plus en détail

Livre Blanc WebSphere Transcoding Publisher

Livre Blanc WebSphere Transcoding Publisher Livre Blanc WebSphere Transcoding Publisher Introduction WebSphere Transcoding Publisher vous permet d'offrir aux utilisateurs des informations Web adaptées à leurs besoins. Il vous permet, par exemple,

Plus en détail

Authentification avec CAS sous PRONOTE.net 2011. Version du lundi 19 septembre 2011

Authentification avec CAS sous PRONOTE.net 2011. Version du lundi 19 septembre 2011 1 Authentification avec CAS sous PRONOTE.net 2011 Version du lundi 19 septembre 2011 2 1 - Vocabulaire employé et documentation... 3 1.1 - SSO (Single Sign-On)... 3 1.2 - CAS (Central Authentication Service)...

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

Faculté de Génie Chaire industrielle en infrastructures de communication. La technologie XML. Wajdi Elleuch

Faculté de Génie Chaire industrielle en infrastructures de communication. La technologie XML. Wajdi Elleuch Faculté de Génie Chaire industrielle en infrastructures de communication La technologie XML Wajdi Elleuch Octobre 2004 SOMMAIRE Content : - XML : Définition - XML : Solution pour des applications réparties

Plus en détail

Les nouvelles architectures des SI : Etat de l Art

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

Plus en détail

4. SERVICES WEB REST 46

4. SERVICES WEB REST 46 4. SERVICES WEB REST 46 REST REST acronyme de REpresentational State Transfert Concept introduit en 2000 dans la thèse de Roy FIELDING Est un style d architecture inspiré de l architecture WEB En 2010,

Plus en détail

Avant-propos 1. Avant-propos...3 2. Organisation du guide...3 3. À qui s'adresse ce guide?...4

Avant-propos 1. Avant-propos...3 2. Organisation du guide...3 3. À qui s'adresse ce guide?...4 Les exemples cités tout au long de cet ouvrage sont téléchargeables à l'adresse suivante : http://www.editions-eni.fr. Saisissez la référence ENI de l'ouvrage EP5EJAV dans la zone de recherche et validez.

Plus en détail

Business Process Execution Language

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

Plus en détail

Adolphe Francois Julien Marmel Dominique Perlat Olivier Printemps SOAP. Simple Object Access Protocol. Encadrant : Chantal Taconet

Adolphe Francois Julien Marmel Dominique Perlat Olivier Printemps SOAP. Simple Object Access Protocol. Encadrant : Chantal Taconet Adolphe Francois Julien Marmel Dominique Perlat Olivier Printemps SOAP Simple Object Access Protocol Encadrant : Chantal Taconet Sommaire Sommaire... 2 Première Partie : Présentation Générale de SOAP...

Plus en détail

Description de la formation

Description de la formation Description de la formation Modalités Ce parcours de formation est un parcours en alternance, d une durée de 2ans, à raison d une semaine de formation par mois, soit 770 heures et de trois semaines de

Plus en détail

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

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

Plus en détail

La carte à puce. Jean-Philippe Babau

La carte à puce. Jean-Philippe Babau La carte à puce Jean-Philippe Babau Département Informatique INSA Lyon Certains éléments de cette présentation sont issus de documents Gemplus Research Group 1 Introduction Carte à puce de plus en plus

Plus en détail

Manuel d implémentation des Web Services Sous Axis1 et Axis2/Tomcat/linux. Par Pr Bouabid EL OUAHIDI

Manuel d implémentation des Web Services Sous Axis1 et Axis2/Tomcat/linux. Par Pr Bouabid EL OUAHIDI Université Mohammed-V Agdal Faculté Sciences Rabat Manuel d implémentation des Web Services Sous Axis1 et Axis2/Tomcat/linux Par Pr Bouabid EL OUAHIDI Email : ouahidi@fsr.ac.ma https://sites.google.com/site/bouabidouahidi/

Plus en détail

Evaluation Idéopass Cahier d analyse technique

Evaluation Idéopass Cahier d analyse technique Evaluation Idéopass Cahier d analyse technique Version 1 GMSIH 374, rue de Vaugirard 75015 Paris. Tel : 01 48 56 72 70. Fax : 01 48 56 07 70 Auteur(s) du document : Contrôle Qualité GMSIH Date : 17/03/2005

Plus en détail

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau) CS WEB Ch 1 Introduction I. INTRODUCTION... 1 A. INTERNET INTERCONNEXION DE RESEAUX... 1 B. LE «WEB» LA TOILE, INTERCONNEXION DE SITES WEB... 2 C. L URL : LOCALISER DES RESSOURCES SUR L INTERNET... 2 D.

Plus en détail

Tour d horizon des différents SSO disponibles

Tour d horizon des différents SSO disponibles Tour d horizon des différents SSO disponibles L. Facq, P. Depouilly, B. Métrot, R. Ferrere ANF Les systèmes d authentification dans la communauté ESR : étude, mise en oeuvre et interfaçage dans un laboratoire

Plus en détail

MQPerf un outil de diagnostic en mode SaaS des performances optimales du MOM JORAM

MQPerf un outil de diagnostic en mode SaaS des performances optimales du MOM JORAM MQPerf un outil de diagnostic en mode SaaS des performances optimales du MOM JORAM Solutions Linux 20 juin 2012 Serge Lacourte Directeur Général serge.lacourte@scalagent.com www.scalagent.com Plan JORAM

Plus en détail

Prise en main du BusinessObjects XI R2 Service Pack 2/ Productivity Pack

Prise en main du BusinessObjects XI R2 Service Pack 2/ Productivity Pack Prise en main du BusinessObjects XI R2 Service Pack 2/ Productivity Pack A propos de ce guide A propos de ce guide Ce guide contient des informations de prise en main du BusinessObjects XI R2 Service Pack

Plus en détail

Hébergement de sites Web

Hébergement de sites Web Hébergement de Solutions complètes et évolutives pour l hébergement de sites Web dynamiques et de services Web sécurisés. Fonctionnalités Serveur Web Apache hautes performances Apache 1. et.0 1 avec prise

Plus en détail

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

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

Plus en détail

Conception de serveurs d'applications ouverts

Conception de serveurs d'applications ouverts Conception de serveurs d'applications ouverts Stéphane Frénot 3 Un modèle d'exécution standard Application Stéphane Frénot 4 1 Répartition "horizontale" d'une application Application de Présentation Application

Plus en détail

Infrastructure RDS 2012

Infrastructure RDS 2012 105 Chapitre 3 Infrastructure RDS 2012 1. Introduction Infrastructure RDS 2012 Une infrastructure RDS 2012 R2 est composée de plusieurs serveurs ayant chacun un rôle bien défini pour répondre aux demandes

Plus en détail

TP1 : Initiation à Java et Eclipse

TP1 : Initiation à Java et Eclipse TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les

Plus en détail

Implémentation libre de Liberty Alliance. Frédéric Péters <fpeters@entrouvert.com>

Implémentation libre de Liberty Alliance. Frédéric Péters <fpeters@entrouvert.com> Lasso Implémentation libre de Liberty Alliance Frédéric Péters Vandœuvre Projet «carte de vie quotidienne» de l'adae Carte démocr@tics Standards PKCS11/15, X.509, etc. Respect

Plus en détail

Sécurité. Objectifs Gestion de PKI Signature Cryptage Web Service Security

Sécurité. Objectifs Gestion de PKI Signature Cryptage Web Service Security Sécurité Objectifs Gestion de PKI Signature Cryptage Web Service Security 1 1. Objectifs Ensemble de protocoles pour sécuriser les échanges XML Les problèmes à résoudre : Authentification des utilisateurs

Plus en détail