Les Web Services. Rapport de TE. Étudiants Cyrielle Lablanche Florens Seine Sébastien Gastaud. Encadrant Hervé Chang
|
|
|
- Gilles Léger
- il y a 10 ans
- Total affichages :
Transcription
1 Université de Nice-Sophia Antipolis Licence d Informatique 3 ème année Les Web Services Rapport de TE Étudiants Cyrielle Lablanche Florens Seine Sébastien Gastaud Encadrant Hervé Chang
2 Table des matières 1 Introduction Historique et Origine des Concepts Motivations Principes Organisation Architecture RPC Définition Principe de fonctionnement Interface Processus serveur Squelette calcul_server.c (cf Figure 1.2) Processus client Squelette calcul_client.c (cf Figure 1.3,1.4,1.5) Conclusion Annexes RPC XML Définition Le prédécesseur de XML sur le Web : HTML Exemple de code HTML De HTML à XML Règles d écriture au format XML Ce que XML va rendre possible Les espaces de nommage (namespaces) Les langages de présentation (style) : CSS et XSL XML Schema Les langages de lien et d adressage L avenir prévisible de XML Annexes XML SOAP Définition Avantages Appels de procédure SOAP et XML L enveloppe SOAP Représentation XML Modèle de données Traduction d une structure i
3 5.7.2 Traduction d une liste (ou tableau) Le modèle RPC Exemple UDDI Définition Données du registre UDDI (cf Figure 4.1) Pages blanches Pages jaunes Pages Vertes Enregistrement de types de services UDDI et SOAP (cd Figure 4.2) API (Messages SOAP) Interagir avec XML Implémentation Conclusion Annexes UDDI WSDL Définition Les définitions Les noms d espace Exemple WSDL (cf Figures 5.*) Annexes WSDL Web services et entreprises Définition Construction d un projet informatique Introduction Etapes EAI Définition L intégration d applications Fonctions de l EAI Les processus métiers Définition Dialogues Les processus e-business BPML (Business Process Modeling Language) Conclusion Sécurité et fiabilité des Web Services Quels mécanismes veut-on mettre en place pour assurer la sécurité des Web Services? Authentification Autorisation d accès Mécanisme d encryptage et de décryptage des données Signature digitale Sécurisation des services Web Sécurisation de l infrastructure Sécurisation des connexions Authentification et contrôle d accès Sécurisation de SOAP Standards XML de sécurité XML Signature ii
4 9.3.2 XKMS XML Key Management Specifications SAML Security Assertion Markup Language WS-Security Conclusion Apports Limites Evolution des Web Services Enrichissement personnel page iii de 48
5 Chapitre 1 Introduction Selon la définition du W3C (World Wide Web Consortium), un Web service (ou service Web) est une application appelable via Internet - par une autre application d un autre site Internet - permettant l échange de données (de manière textuelle) afin que l application appelante puisse intégrer le résultat de l échange à ses propres analyses. Les requêtes et les réponses sont soumises à des standards et normalisées à chacun de leurs échanges. 1.1 Historique et Origine des Concepts Les Web services sont nés de l effort de plusieurs organisations qui ont partagé un intérêt commun en développant et en maintenant "un marché électronique". Celles-ci souhaitaient pouvoir communiquer plus simplement et sans avoir à se concerter sur chacune de leur transaction pour pouvoir interpréter leurs différentes données. Elles souhaitaient supprimer l isolement de leur système informatique avec les autres C est ainsi que naquit en 1975 l EDI (Échange de Données Informatisées). L EDI peut être défini comme l échange, d ordinateur à ordinateur, de données concernant des transactions en utilisant des réseaux et des formats normalisés. Il s agit d un format standard permettant l échange d un certain type de données. D un développement assez semblable à la création du code Morse, EDI permettait à des personnes d une langue donnée d envoyer des messages via câble à des interlocuteurs similaires situés dans un autre lieu. L EDI permet l entente entre les différentes applications sur la modélisation des échanges et sur les protocoles de communication. L EDI a l avantage de ne pas avoir à retaper les données. Elle permet donc un gain de temps et d argent, en réduisant les erreurs de saisie. L EDI reste tout de même incomplète. Le système mis en place est difficile à implémenter. Les techniques employées sont complexes et coûteuses. Vers la fin des années 80, l évidence fut que l âge des systèmes informatiques isolés touchait à son terme tandis que différents ordinateurs, de tailles, de capacités et de formes variées, apparaissaient au sein d une même organisation. Les départements informatiques voulurent bien évidemment exploiter au mieux et au plus bénéfique la précieuse puissance d analyse qu ils avaient à disposition. Il fallut donc rendre les applications informatiques capables de déplacer leurs travaux, c est-à-dire de procéder à un véritable traitement distributif. Pour répondre à cette nouvelle situation, de nouvelles technologies apparurent telles que CORBA (Common Object Request Broker Architecture) ou la version qu en fit Microsoft, le Component Object Model (COM). CORBA, est une architecture logicielle, pour le développement de composants. Ces composants, qui sont assemblés pour la construction d applications complètes, ont la possibilité d être écrits dans des langages de programmation différents, d être exécutés dans 1
6 des processus dissociés, voire d être déployés sur des machines distinctes. Les composants CORBA utilisent une approche essentiellement orientée objet (du point de vue d un langage de programmation, toutes les méthodes sont virtuelles, il n y a pas de polymorphisme paramétrique, ni méthodes protégées ou privées, ni surcharge d opérateurs, ni fonctions de première classe). Chaque composant est décrit sous la forme d une interface écrite en langage IDL (Interface Description Language) qui est un langage permettant de définir l interface de composants logiciels (IDL permet donc de faire interagir des modules développés dans des langages distincts). Une correspondance a été introduite entre le langage IDL et plusieurs langages de programmation. Des pré-compilateurs spécifiques sont capables de générer automatiquement la structure de l interface IDL dans un langage précisé. Ils produisent aussi le code qui garantie le transfert et la réponse des appels de fonctions distantes (appelées skeleton et stub). Un module dont l interface est présentée en IDL pourra ainsi être implémenté en C++, alors que les modules Java qui l utiliserait, effectueraient des appels sur une interface Java générée à partir de la même présentation IDL. L architecture CORBA assure l acheminement des appels entre les processus. Les applications et les composants CORBA associent typage statique et dynamique, ainsi, chaque composant est présenté statiquement par une interface mais les composants qui utilisent celui-ci doivent vérifier dynamiquement que l interface est effectivement implantée. L inconvénient majeur de cette méthode est qu elle nécessite une reprogrammation continuelle des architectures suivant les organisations qui l utilisent. Ce qui implique une perte de temps, et d argent à chaque changement d application puisque tout doit être reprogrammé pour aller dans le sens de la nouvelle architecture. Les années 90 furent témoin non seulement de la recrudescence des ordinateurs personnels, mais aussi du décollage phénoménale d Internet avec une demande grandissante de standards susceptibles de travailler sur n importe quelle plateforme. A la fin des années 90, l e-speak d Hewlett Packard fit son apparition en même temps que XML. HP voulait ainsi concurrencer l e-business d IBM qui par leur campagne de publicité retentissante donnait la forte sensation d être les inventeurs du système d e-services utilisant les protocoles établis comme l HTTP et XML pour permettre de passer outre les différences entre les divers systèmes coexistants dans un même réseau. Sans le savoir, les services Web étaient nés. L e-speak passa pratiquement inaperçu, seuls quelques observateurs s en souvinrent. Microsoft et IBM avait déjà pensé à une alternative grâce à EDI. Ils tentèrent de coder des transactions EDI en XML pour permettre de facilité les relations interentreprises grâce au Web. EDI réussit à survivre grâce à ses notions de sécurité qui faisait énormément défaut aux services Web. Un nouveau standard était né : ebxml. A peu près à la même époque, un regroupement d organisations recherchant une façon de structurer et d échanger des documents XML créa un protocole appelé Simple Object Access Protocol (SOAP) qui permet la transmission de messages entre applications distantes, ce qui veut dire qu il autorise un objet d une application à invoquer des méthodes d objets physiquement situés sur une autre machine et pouvant être codé par une autre application. Le transfert se fait le plus générale grâce au protocole HTTP, mais peut tout aussi bien se faire par d autres protocoles, comme SMTP. Le protocole SOAP se compose d une partie qui joue le rôle d enveloppe contenant des informations sur le message lui-même afin de permettre son transfert et son traitement, et d une partie qui joue le rôle de modèle de données, caractérisant le format du message, c est-à-dire les informations à transférer. Le SOAP a été conçu à partir des concepts qui avaient produit, entre autres, des technologies comme CORBA et EDI, en lui ajoutant les composants XML et HTTP de telle façon que les applications puissent interagir entre elles, même à travers les firewalls des entreprises. Le SOAP a été largement accepté, probablement grâce à ce que son nom vante : sa simplicité. Le SOAP ne définit au final aucune sémantique, il ne fait que livrer une programmation dans une enveloppe protectrice, sans se préoccuper de son type. On peut donc l assimiler dans ce sens à un messager discret qui - se doutant peut-être que le contenu de son paquet est important - mènerait quoi qu il arrive à bien son devoir de livraison à la personne certifiée pour analyser ce qu on lui apporte. On peut affirmer que c est avec SOAP que le concept de services Web est page 2 de 48
7 définitivement apparu renforcé par la création de WSDL (Web Services Description Language) qui donne la description au format XML des Web Services. Aujourd hui, les services Web provoquent un intérêt certain auprès des architectes et des décideurs. Dès à présent, les Web Services sont sortis du champ des échanges interentreprises pour s adapter à celui du référencement et de la mise à disposition des ressources de l entreprise, empiétant en ce sens sur les technologies de type EAI. Cette utilisation à elle seule prouve la qualité du modèle et sa pérennité, notamment au niveau des couches les plus basses. Par contre, la normalisation complète d une architecture distribuée construite sur les Web Services n est pour l instant pas encore tout à fait établie. Par ailleurs, ce modèle n échappe pas à des problèmes de performance : les données sont transférées en ASCII dans une encapsulation XML elle-même intégrée dans une enveloppe SOAP puis HTTP... Le problème du choix de la bonne granularité du service, commun à toutes les architectures distribuées, se présente dans le cas des Web Services de manière plus aiguë encore. Même si ils n ont pas acquis la maturité nécessaire à leur industrialisation, les Web services se présentent plus que jamais comme la solution appropriée aux problématiques d échange de données et d intégration d applications. 1.2 Motivations Un Web service est un mécanisme qui tend à donner plus d interactions pour permettre à deux entités hétérogènes (entreprises, clients, applications, etc....) de dialoguer au travers du réseau Internet. Les logiciels écrits dans divers langages de programmation (C#, Visual Basic, Java, etc....), sur diverses plateformes (Linux, Windows, etc....) et avec diverses architectures peuvent employer des services Web pour échanger des données à travers des réseaux informatique. Chaque Web service doit pouvoir être découvert et invoqué dynamiquement par les applications. Les aspects purement pratiques n ont eux rien de fondamentalement novateurs. Au contraire, l architecture des services Web s est imposée (tout comme le langage XML) grâce à sa simplicité, à sa lisibilité et à ses fondations normalisées. L objectif principal des services Web est de faciliter le plus possible l accès aux applications entre entités et ainsi de simplifier les échanges de données. Cette interopérabilité est due à l utilisation de normes ouvertes. L OSI et le W3C sont les comités de coordination responsables de l architecture et de standardisation des services Web. Pour améliorer l interopérabilité entre les réalisations de service Web, l organisation WS-I a développé une série de profils pour faire évoluer les futures normes impliquées. L aspect le plus important des Web Services est qu ils reposent sur plusieurs standards qui permettent la structuration des architectures. Cette collection de normes et de protocoles est appelée Web Services Protocol Stack. Elle contient entre autre XML et SOAP pour le formatage des données, WSDL pour la description des services Web et UDDI pour la recherche des services Web nécessaire au bon fonctionnement des applications. Une des raisons principales pour lesquelles les services Web sont employés semble être qu ils se fondent sur le Internet et HTTP pour fonctionner. Pour comprendre ceci, il faut garder à l esprit que beaucoup d organisations se sont protégées en employant des firewalls qui filtrent et bloquent beaucoup de trafic d Internet pour des raisons de sécurité. Dans ce milieu, beaucoup de ports (voire quasiment tous) sont fermés au trafic entrant et sortant, et les administrateurs des réseaux n ont pas l envie de les ouvrir. Il en est un qui par contre est toujours ouvert, celui des navigateurs par lequel transite le protocole HTTP. De cette façon les applications peuvent continuer à interagir entre elle et ce sans modifier la configuration de sécurité des organisations. Si l on devait résumer les raisons de la création des services Web, les qualificatifs tels que la simplicité des échanges, l amélioration de la communication entre les applications en seraient les points principaux. En ajoutant à cela l interopérabilité des programmes indifféremment de leur page 3 de 48
8 langage et de leur plateforme, les services Web nous prouvent une nouvelle fois que leur technologie est très attrayante. Le véritable point fort du concept c est la normalisation des données au travers de standards connus et acceptés par tous. Fonctionnement globale d un échange de données grâce aux services Web : source : http :// 1. L application construit sa requête et la normalise grâce aux standards. 2. Le service Web traduit la requête, recherche l application nécessaire. 3. Les données sont traitées. 4. Le service Web normalise la réponse de la requête et envoie le résultat vers l application appelante. 5. Les données réponses sont reçues par l application. Elles peuvent directement être interprétées. page 4 de 48
9 Chapitre 2 Principes Les motivations de simplicité et d interopérabilité pour les services Web impliquent une structure bien huilée pour un fonctionnement facilité et efficace. Les protocoles des services Web reposent donc sur des organisations et des architectures prédéfinies. 2.1 Organisation La normalisation actuelle autour des Web Services est cependant une organisation complexe qui va bien au-delà de la simple invocation d une méthode d un objet distant. Différents travaux ont ainsi démarré pour permettre d établir une véritable infrastructure distribuée, capable de satisfaire l ensemble des besoins d une application distribuée, aussi bien en terme de normalisation des échanges qu en terme de services transverses. Cette organisation par comités de normalisation peut être schématisée selon le découpage matriciel suivant : Cette normalisation des services transverses se fait sur trois axes horizontaux : Couche de transport : Définition de la structure des messages utilisés par les applications pour se découvrir et dialoguer entre elles. Cette couche est à l heure actuelle la seule réellement normalisée et qui ne souffre d aucune contestation. Elle s appuie sur le protocole SOAP pour l échange des messages et sur le langage WSDL pour la définition du contrat de l interface. Couche de sémantique : Normalisation des données participant aux échanges selon des critères métier. Les initiatives de définition de la couche de sémantiques des messages sont nombreuses et n ont pour le moment pas conduit à une quelconque normalisation. Deux types d organisation sont actuellement ouverts, l une établie selon les différents corps de métier, l autre suivant une approche plus globale autour de consortium tel que OASIS (initiateur de ebxml) ou RosettaNet. Couche de gestion des processus : Standardisation de la gestion des processus métier qui s étendent sur plusieurs applications disponibles sur Internet. L orchestration de transactions B2B (Business to Business) complexes, fondée sur une architecture normalisée des messages est aussi une tentative qui n avance pas assez rapidement et sur des standards non murs. Cette normalisation des services transverses de fait aussi sur trois axes verticaux : 5
10 Service d annuaire : Standardisation des moyens d accès à un service à partir d une requête portant sur le contenu d un service ou sur un fournisseur. La première proposition d annuaire UDDI aurait du apporter une solution définitive. Le constat est qu il n en est rien et que la trame, trop globale, du projet ne suffit pas à régler cette problématique d échanges entre applications se connaissant. Une deuxième proposition d annuaire, WS- Inspection, vient concurrencer celle-ci. Moins ambitieuse puisque consistant en une simple exposition, par agrégation, des services d une application, elle est toutefois plus adaptée à cette seconde problématique. Service de sécurité : Normalisation des moyens permettant de couvrir les problématiques d authentification et de gestion des droits d accès. La gestion de la sécurité est actuellement le frein le plus important à la mise en place d architectures distribuées à base de Web Services. Plusieurs organisations sont ouvertes mais aucune n est réellement acceptée. Il semblerait que la norme XACML (extensible Access Control Markup Language) puisse supplanter SAML (Security Assertion Markup Language) et s imposer à terme comme standard de sécurité. Service de transaction : Normalisation des moyens permettant de garantir l intégrité des transactions longues impliquant plusieurs Web Services. Le problème reste le même que pour la sécurité. Les standards ne sont pas tout à fait établis. La lutte pour l obtention d une norme est beaucoup plus ouverte que pour celle de la sécurité, même si BTP (Business Transaction Protocol ) semble plus soutenu actuellement. Modélisation de la normalisation transverse que les différents axes : source : http :// 2.2 Architecture Pour comprendre le fonctionnement d une architecture de services Web, il faut commencer par revoir certains principes. Si l on reprend la définition de Mark Colan, Web Service and XML Chief Advocate chez IBM, les Web Services sont des "applications modulaires basées sur Internet qui exécutent des tâches précises et qui respectent un format spécifique". Ce sont donc des unités logiques applicatives qui sont accessibles grâce au protocole Internet. Une définition conceptuelle du terme service Web mettrait en avant les qualités d une fonctionnalité commerciale présentée par une entité hétérogène quelconque sur Internet afin de fournir un moyen d user de ce service à distance. Pour l aspect opérationnel, les services Web ne sont que des applications modulaires qui peuvent être présentées, publiées, situées et invoquées dans un réseau et ce automatiquement. Ainsi, les applications peuvent faire appel à des fonctionnalités situées sur d autres machines dans d autres applications. Au final, on peut affirmer que le but initial d un service Web est de rendre possible l utilisation d un composant applicatif de façon distribuée. page 6 de 48
11 L apport majeur de ce modèle d échange de données est d introduire ces services comme des "boîtes noires". En effet, les requêtes-réponses d un service Web sont administrées dans le contenu de messages dont on sait la forme grâce à des interfaces clairement présentées et sur lesquelles l implémentation interne du traitement et le langage employé ne jouent pas au niveau de l architecture. Grâce à cela on obtient un haut niveau de modularité et d interopérabilité. Ce modèle de message permet donc d oublier la structure, le langage ou encore la plate-forme qui va porter le service : il suffit juste que le message suive une architecture donnée pour qu il puisse être analysé. Il s agit maintenant d identifier chaque acteur de ses Web services et de comprendre comment ils interagissent les uns avec les autres. Les trois éléments les plus importants des services Web sont les fournisseurs de service, les annuaires de services et les consommateurs de service. Le fournisseur (ou serveur) crée le service Web et publie toutes ces caractéristiques dans l annuaire de service. L annuaire rend disponible les interfaces d accès aux service et donnant le contrat et l architecture employée pour permettre les interactions. Le consommateur (ou client) quant à lui, accède à l annuaire pour rechercher les service Web dont il a besoin et avec lui les normalisation à obtenir. Il peut ainsi envoyer ses requêtes au service désiré et obtenir les réponses qu il pourra analysé. Cette architecture fonctionne de la manière suivante : source : http :// 1. Le client envoie une requête à l annuaire de Service pour trouver le service Web dont il a besoin. 2. L annuaire cherche pour le client, trouve le service Web approprié et renvoie une réponse au client en lui indiquant quel serveur détient ce qu il recherche. 3. Le client envoie une deuxième requête au serveur pour obtenir le contrat de normalisation de ses données. page 7 de 48
12 4. Le serveur envoie sa réponse sous la forme établie par WSDL en langage XML. 5. Le client peut maintenant rédiger sa requête pour traiter les données dont il a besoin. 6. Le serveur fait les calculs nécessaires suite à la requête du client, et renvoie sa réponse sous la même forme normalisée. page 8 de 48
13 Chapitre 3 RPC 3.1 Définition La programmation utilise de nos jours couramment l appel de fonctions, c est pourquoi ce mécanisme s applique désormais dans des applications distribuées. Les appels se font ainsi sur des machines distantes, expliquant ainsi le nom de «Remote Procedure Call». Le système RPC est utilisé pour toutes sortes d applications client / serveur. On peut prendre en exemple l utilisation d un ordinateur à effectuant des calculs spécifiques. Celui-ci servira donc de serveur et un autre ordinateur de client qui appellera la procédure distante pour que le serveur effectue les calculs et que le client récupère les résultats. Il existe de nombreux systèmes RPC, ce qui n encourage pas la compatibilité. Un standard se démarque cependant, le «Sun RPC» développé par Sun Microsystems. En effet, ses spécifications sont dorénavant dans le domaine public. Son but est de servir de base au système NFS ( Network File System ), très utilisé sous Linux. 3.2 Principe de fonctionnement Le système RPC est transparent pour le programmeur, c est-à-dire que la sémantique habituelle est respectée. La fonction locale à très souvent le même nom que la fonction distante. Mais celleci appelle en réalité d autres fonctions de la librairie RPC prenant en charge les connexions, paramètres et résultats. Du côté serveur, c est sensiblement le même principe exepté pour l attente des clients, le renvoi des résultats, etc. La prise en charge des connexions réseaux se fait par l intermédiaire de fonctions dites «stub». Ainsi il faut rajouter au programme client et à la fonction distante un stub pour le client et le serveur. La construction des «stubs» peut être automatisée par le programme «rpcgen» produisant du code C. 3.3 Interface On utilise l IDL (Interface Definition Language) de RPC. Il sert a la sp ecification des interfaces entre les clients et les serveurs. Description d une fonction distante poss edant 2 paramètres, rend la somme ainsi qu un code d erreur (cf Figure 1.1). Cette définition est enregistrée dans le fichier calcul.x. Il contient une description : ici, le programme s appelle CALCUL, il est en version VERSION_UN et contient deux procédures CAL- CUL_NULL et CALCUL_ADDITION. 9
14 Le numéro de CALCUL (ici 0x ) identifie le programme de manière unique dans le monde. C est notamment le cas pour le daemon NFS. Dans notre cas, le numéro est choisi dans l intervalle allant de 0x à 0x3FFFFFFF, réservé pour les utilisateurs. Il ne peut donc pas entrer en conflit avec des programmes tournant déjà sur la machine. Chaque procédure à un nom et un numéro. La procédure de numéro 0 (ici CALCUL_NULL) est toujours requise. Elle sert de «ping» ou de procédure de test. Le système RPC n accepte qu un seul argument en paramètre et en retour c est pourquoi on utilise des structures. Le programme rpcgen consomme ensuite ce fichier de définition : > rpc a calcul.x L option -a permet de produire un squelette pour le client (calcul_client.c) et le serveur (calcul_server.c). calcul.h (entête), calcul_clnt.c (stub client), calcul_svc.c (stub serveur) et calcul_xdr.c (routines XDR) sont également produits. Le format XDR (external Data Representation) définit les types utilisés pour l échange de variables entre le client et le serveur. Cela permet d adapter le programme sur différentes plateformes. Ainsi, tous les types utilisés sont filtrés par XDR. > gcc -c calcul_xdr.c Les stubs fournis sont complets. > gcc -c calcul_clnt.c > gcc -c calcul_svc.c 3.4 Processus serveur Squelette calcul_server.c (cf Figure 1.2) On peut remarquer quelques différences. RPC travaille sur des pointeurs pour accélérer le déroulement du programme (pas de copie). On travaille sur des variables déclarées «static» car on doit passer l adresse d une variable existant encore après la fin de la fonction. La fonction «main» est située dans le stub serveur. Il s occupe de recevoir et de distribuer les appels de fonctions. > gcc -c calcul_server.c > gcc -o server calcul_svc.o calcul_server.o calcul_xdr.o 3.5 Processus client Squelette calcul_client.c (cf Figure 1.3,1.4,1.5) Des variables sont déclarées pour les arguments et les valeurs de retour. Chaque appel de procédure est suivi d un test qui détecte les erreurs de niveau «RPC» (serveur ne répondant pas, machine inexistante, etc.). L erreur éventuelle est alors explicitée par la fonction clnt_perror(). Quand une erreur de niveau «RPC» se produit, le pointeur renvoyé est NULL. Cette valeur (nonvaleur plutôt!) est réservée à RPC ; donc pour un niveau d erreur autre que RPC, la valeur de retour ne doit pas être NULL. Pour faire un vrai programme, il nous faut donner des valeurs aux paramètres et il faut utiliser effectivement les résultats des appels distants. > gcc -c calcul_client.c > gcc -o client calcul_client.o calcul_clnt.o calcul_xdr.o >./server& >./client localhost page 10 de 48
15 Addition avec et 10 Resultat : Addition avec et 10 Overflow > Le client prend en paramètre le nom de la machine serveur (ici localhost car le processus serveur a été démarré sur la même machine). Le nom peut être court (machine) pour une machine du même domaine que le client ou complet (machine.domaine.com). 3.6 Conclusion Aujourd hui des systèmes plus perfectionnés ont fait leur apparition comme par exemple CORBA. Les RPC peuvent être considérés comme les ancêtres de CORBA car il ne s agit plus de fonctions mais d objets distants servant à la programmation orientée objet. 3.7 Annexes RPC Sources : GNU/Linux & Hurd Magazine France page 11 de 48
16 Fig. 3.1 page 12 de 48
17 Fig. 3.2 page 13 de 48
18 Fig. 3.3 Fonction de test de l addition Fig. 3.4 Fonction de calcul page 14 de 48
19 Fig. 3.5 Fonction principale du client page 15 de 48
20 Chapitre 4 XML 4.1 Définition XML (Extensible Markup Language, ou Langage Extensible de Balisage) est le langage destiné à succéder à HTML. Comme HTML (Hypertext Markup Language) c est un langage de balisage (markup) : il représente de l information encadrée par des balises. XML est un métalangage, ce qui veut dire que contrairement à HTML qui possède un ensemble de balises de présentation prédéfinies, il va permettre d inventer de nouvelles balises d isolement d informations ou d agrégats élémentaires que peut contenir une page Web. XML a avec HTML un ancêtre commun : le SGML (Standard Generalized Markup Language). L une de ses caractéristiques était la séparation du formatage et du contenu. En effet, le format décrit indépendamment du contenu du document permettait d obtenir un rendu identique pour une feuille de n importe quel format. Ce principe est appliqué dans le sens où les données et le schéma du document sont séparés, le schéma représentant la structure et les types de données, incluant la sémantique ( importante pour que le document puisse interagir avec différents langages de programmation et systèmes ). 4.2 Le prédécesseur de XML sur le Web : HTML Exemple de code HTML red <H2>Bibliotheque</H2> <UL> <LI>Victor Hugo, <I>Les miserables</i>, 1995,Dupond,Paris </LI> <LI>Frederic Beigbeider, <I>Windows on the world</i>, 2004,Fayard,Paris </LI> </UL> <-> Résultat 16
21 Bibliotheque Victor Hugo, Les miserables, 1995, Dupond, Paris Frederic Beigbeider,Windows on the world, 2004, Fayard, Paris Toutes les balises d une page HTML ne sont relatives qu à sa présentation. Rien ne permet à un logiciel de connaître le sens (la sémantique) du texte autrement dit, dans notre exemple, de savoir que Victor Hugo est l auteur d un livre intitulé Les misérables, que Windows à été édité en 2004 par Fayard, etc De HTML à XML red <?xml version= 1.0 encoding= ISO ?> <BIBLIO SUBJECT= XML > <LIVRE ISBN= LANG= fr SUBJECT= applications > <AUTEUR> <PRENOM>Victor</PRENOM> <NOM>Hugo</NOM> </AUTEUR> <TITRE>Les miserables</titre> <EDITEUR> <NOM>Dupond</NOM> <LIEU>Paris</LIEU> </EDITEUR> <DATEPUB>1999</DATEPUB> </LIVRE> <LIVRE ISBN= LANG= fr SUBJECT= général > <AUTEUR> <PRENOM>Frederic</PRENOM> <NOM>Beigbeider</NOM> </AUTEUR> <TITRE>Windows on the world</titre> <EDITEUR> <NOM>Fayard</NOM> <LIEU>Paris</LIEU> </EDITEUR> <DATEPUB>2004</DATEPUB> </LIVRE> </BIBLIO> Ici, aucune des balises ne décrit la présentation finale. On remarque, en revanche, que maintenant les balises ont un sens et une hiérarchie. Par exemple, l élément AUTEUR comprend le prénom (balise PRENOM ) et le nom (balise NOM ) de l auteur. On remarque aussi que des informations supplémentaires (langue, sujet, n ISBN), ont pu être ajoutées sous forme d attributs situés à l intérieur même des balises (cf Figure 2.1). 4.3 Règles d écriture au format XML Les informations doivent être : Encadrés obligatoirement par des balises ouvrantes et fermantes. Ces éléments ne doivent pas se chevaucher. Les éléments vides sont permis, selon le format<elementvide/>. page 17 de 48
22 Soit incluses à l intérieur même des balises : on parle alors d attributs. Exemple :<LIVRE SUJET= XML >. Ici l attribut SUJET de l élément LIVRE a la valeur XML. Soit encore définies sous forme d entités. Les entités sont des abréviations. Par ex ; si Extensible Markup Language est déclaré comme une entité associée à la notation xml ; cette chaîne de caractères pourra être abrégée en &xml ; dans tout le fichier XML. Une entité peut aussi représenter un fichier XML externe tout entier. Ainsi un même fichier XML (par exemple notre bibliographie) pourra être utilisé par plusieurs pages XML différentes (par exemple une page spécifiquement consacrée à XSL pourra présenter à la fin la bibliographie spécifique d XSL extraite automatiquement de notre bibliographie XML) La DTD (Définition de Type de Document). La structure arborescente du document XML (intitulé des balises, imbrications des balises, caractère obligatoire ou facultatif des balises et de leur ordre de succession...) peut être déclarée formellement dans le corps du document XML ou dans un fichier à part. Cette déclaration s appelle une Définition de Type de Document (DTD). Elle s effectue selon un formalisme particulier défini lui-aussi dans la spécification XML. En XML cette déclaration est facultative, ce qui donne une grande souplesse aux développeurs. On n écrira donc une DTD que lorsqu il y aura vraiment intérêt à le faire (par exemple pour contraindre la saisie/mise à jour du document XML) Lorsqu un document XML possède une DTD associée et la respecte, on dit qu il est valide. Lorsqu il respecte seulement les règles de la grammaire XML (balises fermées, correctement imbriquées...) on dit qu il est bien formé. La spécification XML se trouve à l adresse http :// 4.4 Ce que XML va rendre possible XML va permettre : aux utilisateurs : de saisir (ou mettre à jour) le contenu : sans se soucier de la présentation ou des traitements futurs, sans avoir à saisir des libellés tels que auteur, sans avoir à mettre les titres en italique. Et d en générer ensuite automatiquement : de multiples présentations (en tableau, en texte suivi...) avec éventuellement tris, sélections, réorganisations, génération automatique de libellés, tables des matières, index, etc. et ce sur de multiples médias (écran, papier, terminal Braille, etc.) aux logiciels de comprendre/exploiter au mieux le contenu de ces pages, rendu désormais explicite par un balisage spécifique, indépendant de toute application. 4.5 Les espaces de nommage (namespaces) Cela va permettre de lever les ambiguïtés éventuelles concernant les balises. Le titre peut être affecté à un livre comme à une personne par exemple. Ce mécanisme va nous permettre de les différencier avec personne :titre et biblio :titre. Ces préfixes doivent être associés à une URL. Elle peut être fictive. red <BIBLIO xmlns= http :// xmlns :personne= http :// > Ici, les balises non préfixées sont censées se rapporter à l espace de nommage par défaut, soit page 18 de 48
23 l URL fictive http :// tandis que les balises préfixées par perso : se rapportent à l espace de nommage associé à http :// 4.6 Les langages de présentation (style) : CSS et XSL Le document XML va être balisé uniquement en fonction de son contenu et donc de sa sémantique, tout ceci indépendamment de la restitution dont il fera l objet sur papier, terminal, synthèse vocale, etc. ainsi que tout autre traitement automatique qui pourra lui être appliqué. Cela va lui conférer : l interopérabilité la durabilité/réutilisabilité (le document pourra être utilisé ne deviendra pas obsolète avec l évolution des techniques informatiques ; il pourra sans difficulté être incorporé, en tout ou partie, dans des documents de nature très différente, être traité par des applications non prévues, voire non-existantes au départ...). En ce qui concerne sa restitution, l utilisation du langage de transformation normalisé XSLT (XSL Transformation) va permettre de transformer une DTD orientée contenu en une autre DTD orientée restitution (c est-à-dire constituée d objets formateurs ). L ordre de restitution final y sera établi (par exemple, classement de la bibliographie, mise en forme de certaines lignes, g en eration de tables des mati eres, liens (logiques) de navigation, etc.). Le niveau d indépendance au niveau du support est conservé. La spécification à XSLT se trouve a l adresse http :// Le langage normalisé de feuille de style XSL (Extensible Style Language) va permettre ensuite de spécifier comment un type de document (DTD orientée restitution ) donné va être restitué sur un support donné. C est à ce niveau que seront réglés les problèmes de saut de page, les pied de page, les liens de navigation, etc. La spécification de XSL se trouve à l adresse http :// Appel d un feuille de style XSL : red <?xml-stylesheet href= biblio.xsl type= text/xsl?> Le langage normalisé de feuille de style CSS (Cascading Style Sheets) déjà utilisé avec HTML, pourra également être utilisé concurremment où à au lieu de XSL : red <?xml-stylesheet href= biblio.css type= text/css?> 4.7 XML Schema XML Schema est un formalisme qui doit permettre de définir des contraintes en matière de syntaxe, de structure et de valeurs applicables à une classe de documents HTML. Il va permettre entre autres choses d effectuer des contrôles de validité lors de la saisie/mise à jour de documents XML (exactement comme pour la saisie/mise à jour d une bases de données). Par exemple, dans le cas de notre bibliographie, XML Schema va permettre de déclarer que l élément DATEPUB doit être une date limitée à l année, etc. Le projet XML Schema se subdivise actuellement en deux parties : Partie : Structures : http :// page 19 de 48
24 Types de données (Datatypes) : http :// Le Modèle objet de document est un langage normalisé d interface va permettre à un programme Java par exemple de naviguer dans un arbre XML (ou HTML) et d en lire ou d en modifier le contenu Utilisation : red Livre = Doc.documentElement.firstChild ; Sujet = Livre.getAttributeNode( SUJET ).text ; Auteur = Livre.selectSingleNode( AUTEUR ) ; Auteur = Auteur.nextSibling ; La spécification Document Object Model (DOM) se subdivise en deux niveaux : Niveau 1 : http :// Niveau 2 : http :// 4.8 Les langages de lien et d adressage Les mécanismes de lien (linking) et d adressage associés à XML sont en cours de spécification au sein de trois documents : XPath (XML Path Language). XPath est le langage d expression de chemins à l intérieur d un document XML, destiné à être utilisé à la fois par XSLT et par Xpointer. Sa spécification se trouve en http :// XPointer (XML Pointer Language). XPointer est le langage d adressage des contenus d un document XML. Sa spécification se trouve en http :// XLink (XML Linking Language). XLink spécifie les indications à insérer dans les ressources XML pour décrire des liens entre objets. Il utilise la syntaxe XML pour créer des structures qui peuvent décrire non seulement des hyperliens unidirectionnels tels que ceux permis aujourd hui HTML mais aussi des liens plus complexes typés et à terminaisons multiple. Sa spécification se trouve en http :// 4.9 L avenir prévisible de XML Il est à prévoir que l usage d XML va déborder largement le WWW, en provoquant la convergence de deux mondes informatiques jusqu ici séparés ; celui des documents et celui des données. Il est très probable qu il va de ce fait devenir très rapidement la lingua franca de l informatique, parlée tout autant par les SGBD que par les outils de bureautique et de documentation, par les logiciels de gestion aussi bien que par les applications techniques et scientifiques. Qu il va rendre possible une automatisation des activités administratives et logistiques sans commune mesure avec ce que permettent les outils d aujourd hui. Et qu il va considérablement simplifier l Échanges de Données Informatisé (EDI) Annexes XML Sources : http ://fr.wikipedia.org/wiki/xml page 20 de 48
25 Fig. 4.1 Le même fichier XML affiché par Microsoft Internet Explorer sans feuille de style sous forme d arborescence dépliable et repliable (signes + et - ) Fig. 4.2 Exemple de présentation pour un fichier XML utilisé ici pour trier le tableau par année page 21 de 48
26 Chapitre 5 SOAP 5.1 Définition C est un protocole de dialogue par appels de procédures à distance entre objets logiciels. Sa syntaxe d utilisation est fondée sur XML et ses commandes sont envoyées sur Internet par l intermédiaire du protocole HTTP mais aussi SMTP et POP sous forme de texte structuré. Il permet aux systèmes objets distribués de solliciter et d obtenir des services rendus par d autres objets, il est moins lourd à mettre en oeuvre que d autres protocoles et c est pour cela qu il est de plus en plus adopté. Le protocole SOAP est une note du Consortium W3C dont Microsoft fait partie, mais qui n est pas spécifique à Microsoft et Windows. IBM a également participé à l élaboration de ce protocole. De plus il existe des implémentations Java, et Borland vient déjà d implémenter SOAP sous Windows dans Delphi 6 et sous Linux avec Kylix. Bien qu il soit utilisable avec d autres protocoles de transport, HTTP est le plus couramment utilisé. Le deuxième standard, XML, utilisé pour la structuration des données sous forme de messages est quand à lui le seul utilisé. 5.2 Avantages Par rapport à tous les autres protocoles de RPC, SOAP est inter opérable, ainsi il est indépendant des plates-formes et langages de programmation. L autre avantage réside dans le déploiement des applications. Pour communiquer entre deux sociétés via Internet, il est très souvent désagréable d utiliser autre chose que HTTP ou POP/SMTP à cause des Firewalls, qui doivent êtres reconfigurés engendrant ainsi des trous de sécurité. De plus, cela implique de longues négociations entre administrateurs réseaux. 5.3 Appels de procédure Les appels de procédures à distance sont de deux types. Ils sont appelés middleware : RPC et ORB (Object Request Broker), le second étant orienté objet. 22
27 Les approches sont différentes. En effet, avec ORB, le poste client suspend l activité de l application pendant le traitement des données par la méthode invoquée sur le serveur qui renvoie ensuite sa réponse. RPC, au contraire, envoie un message au serveur (initiant le traitement de celui-ci) par un processus client qui suspend ses activités, ainsi l application sur le poste client continue, elle, de tourner. Un autre message est envoyé au processus client quand la procédure appelée s achève. 5.4 SOAP et XML SOAP repose sur une approche RPC, basée donc sur des messages dont le contenu est structuré en XML. Exemple de requête HTTP contenant du code SOAP L envoi d un message SOAP correspond à une requête HTTP POST red POST /StockQuote HTTP/1.1 Host : Content-Type : text/xml ; charset="utf-8" Content-Length : nnnn SOAPAction : "Some-URI" red<soap-env :Envelope xmlns :SOAP-ENV="http ://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV :encodingstyle="http ://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV :Body> <m :GetLastTradePrice xmlns :m="some-uri"> <symbol>dis</symbol> </m :GetLastTradePrice> </SOAP-ENV :Body> </SOAP-ENV :Envelope> Réponse HTTP correspondante redhttp/ OK Content-Type : text/xml ; charset="utf-8" Content-Length : nnnn red<soap-env :Envelope xmlns :SOAP-ENV="http ://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV :encodingstyle="http ://schemas.xmlsoap.org/soap/encoding/"/> <SOAP-ENV :Body> <m :GetLastTradePriceResponse xmlns :m="some-uri"> <Price>34.5</Price> </m :GetLastTradePriceResponse> </SOAP-ENV :Body> </SOAP-ENV :Envelope> Il s agit ici de répondre à une requête SOAP (un message contenu dans une requête HTTP, donc) demandant au serveur le montant d un prix. La définition d une "enveloppe" SOAP est page 23 de 48
28 obligatoire : elle caractérise le message SOAP. Une "enveloppe" SOAP se subdivise en un en-tête facultatif et un corps obligatoire. SOAP est un protocole de communication d ordinateur à ordinateur sous HTTP très simple, écrit en XML. Il permet l échange de données, quelque soit les systèmes d exploitation. Les messages SOAP sont des transmissions en sens unique d un émetteur vers un récepteur. C est maintenant un standard stabilisé et déjà employé. 5.5 L enveloppe SOAP Elle contient : un en-tête optionnel qui est un mécanisme générique d extension de SOAP. un corps obligatoire avec un contenu structuré : traduction du modèle de données en XML basé sur les schémas du W3C 5.6 Représentation XML red<?xml version="1.0"?> <env :Envelope xmlns :env=="http ://schemas.xmlsoap.org/soap/envelope/"> <env :Header> <! en-tête > </env :Header> <env :Body> <! corps > </env :Body> </env :Envelope> 5.7 Modèle de données Types fondamentaux : Ceux des schémas du W3C (http :// Entiers, réels, chaînes de caractères, binaire, etc. Dates, durée, URI, etc. Types composés : énumération (une valeur parmi une liste) Struct (compound) : accès nommé Liste (array) : accès numéroté Traduction d une structure red<?xml version="1.0" encoding="iso "?> <pers :personne xmlns :pers="http ://apiacoa.org/teaching/xml/personnes" xmlns :env="http ://schemas.xmlsoap.org/soap/envelope/" xmlns :xsi="http :// xmlns :xsd="http :// env :encodingstyle="http ://schemas.xmlsoap.org/soap/encoding/"> page 24 de 48
29 <nom xsi :type="xsd :string">seine</nom> <prénom xsi :type="xsd :string">florens</prénom> </pers :personne> Traduction d une liste (ou tableau) red<enc :Array xmlns :env="http ://schemas.xmlsoap.org/soap/envelope/" xmlns :xsi="http :// xmlns :xsd="http :// env :encodingstyle="http ://schemas.xmlsoap.org/soap/encoding/"> xmlns :enc="http ://schemas.xmlsoap.org/soap/encoding/" enc :arraytype="xsd :ur-type[4]"> <x xsi :type="xsd :int">1</x> <y xsi :type="xsd :decimal">15.23</y> <! les noms n importent pas > <x xsi :type="xsd :int">-34</x> <x xsi :type="xsd :string">bla bla bla</x> </enc :Array> 5.8 Le modèle RPC Un appel de fonction (une opération dans la terminologie services web) est décrit par un message SOAP particulier : L appel est représenté par une structure : Le nom de la structure est celui de la fonction appelée Chaque paramètre de l appel est considéré comme un champ de la structure Le résultat est représenté par une structure Le modèle de fonction autorise 3 modes de passage pour les paramètres : Mode in : paramètre utilisé mais non modifié,apparaît seulement dans l appel Mode in/out : paramètre utilisé et modifié,apparaît dans l appel et la réponse Mode out : paramètre de retour uniquement, apparaît dans la réponse seulement 5.9 Exemple Appel de la fonction CtoF (Celsius vers Fahrenheit) : red<?xml version="1.0" encoding="iso "?> <env :Envelope xmlns :env="http ://schemas.xmlsoap.org/soap/envelope/" xmlns :xsd="http :// xmlns :xsi="http :// <env :Body> <ns1 :CtoF env :encodingstyle="http ://schemas.xmlsoap.org/soap/encoding/" xmlns :ns1="urn :TempConverterIntf-ITempConverter"> <val xsi :type="xsd :int">40</val> </ns1 :CtoF> </env :Body> </env :Envelope> Un seul paramètre, val, de type xsd :int page 25 de 48
30 Résultat de l appel red<?xml version="1.0" encoding= UTF-8?> <SOAP-ENV :Envelope xmlns :SOAP-ENV="http ://schemas.xmlsoap.org/soap/envelope/" xmlns :xsd="http :// xmlns :xsi="http :// xmlns :SOAP-ENC="http ://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV :Body> <NS1 :CtoFResponse xmlns :NS1="urn :TempConverterIntf-ITempConverter" SOAP-ENV :encodingstyle="http ://schemas.xmlsoap.org/soap/encoding/"> <return xsi :type="xsd :int">86</return> </NS1 :CtoFResponse> </SOAP-ENV :Body> </SOAP-ENV :Envelope> Remarques : Convention classique pour le nom de la structure : nom de la fonction suivi de Response Convention classique pour le nom de valeur renvoyée par la méthode : return (obligatoire en SOAP 1.2) page 26 de 48
31 Chapitre 6 UDDI 6.1 Définition D une manière générale, l Universal Description Discovery and Integration est une interface XML regroupant d autres services en ligne. C est une norme d annuaire de services Web appelée via le protocole SOAP. Il contient les registres Internet globaux regroupant les services et descriptions business depuis septembre D autres services sont attendus ainsi que de nombreuses compagnies. Cette technologie doit être utilisée avec un pare-feu. Plus de 2000 entreprises sont enregistrées. Pour publier un nouveau service Web, il faut générer un document appelé Business Registry, il sera enregistré sur un UDDI Business Registry Node (IBM, Microsoft et SAP en hébergent chacun un). Les nodes sont répliqués entre eux suivant un mécanisme analogue aux DNS. 6.2 Données du registre UDDI (cf Figure 4.1) Pages blanches Nom du business Texte de Description Liste de chaînes de caractères de plusieurs langues Informations Noms, Numéros de téléphone, fax, sites Web, etc Identifications connues : Liste d identificateurs connus par DUNS, Thomas, et autres Pages jaunes Services organisés en catégories de business 3 grandes parties en V1 : Industrie : NAICS (Codes industriels Gouvernement US) Produits/Services : UN/SPSC (ECMA) Lieu : Classification géographique La classification est implémenté comme des paires Nom-Valeur pour faire correspondre un identificateur à une page blanche. 27
32 6.2.3 Pages Vertes Ensemble d informations décrivant comment faire du e-commerce avec ces compagnies. Processus marquétiques Descriptions des services rendus Programmation, Plateforme, Implémentation Catégorie de services 6.3 Enregistrement de types de services Nom d espace où le type de service est décrit Ce que les programmeurs doivent savoir pour utiliser le service Identificateur pour le publicateur Identificateur pour l enregistrement du type de service appelé tmodelkey Utilisé comme signature par les sites Web implémentant ces services 6.4 UDDI et SOAP (cd Figure 4.2) API (Messages SOAP) Renseignements Recherche find_business find_service find_binding find_tmodel Obtention de d etails get_businessdetail get_servicedetail get_bindingdetail get_tmodeldetail Interagir avec XML Publication Sauvegarde Suppression Sécurité save_business delete_business get_authtoken save_service delete_service discard_authtoken save_binding delete_binding save_tmodel delete_tmodel Le codage doit être en UTF-8 et encapsulé dans une enveloppe SOAP. red <?xml version= 1.0 encoding= UTF-8?> <Envelope xmlns= http ://schemas.xmlsoap.org/soap/envelope/ > <Body> Code </Body> </Envelope> Le contenu de peut être n importe quelle requête du schéma UDDI. Exemple de retour d informations sur Microsoft : red <find_business generic="1.0" xmlns="urn :uddi-org :api"> <name>microsoft</name> page 28 de 48
33 </find_business> Implémentation Exemple par l intermédaiire d un fichier JScript (code Java) une page HTML avec le contrôle XMLHTTP fourni par MSXML : red http=new ActiveXObject("Microsoft.XMLHTTP") ; http.open("post",url,false) ; http.setrequestheader("accept","text/xml") ; http.setrequestheader("cache-control","no-cache") ; http.setrequestheader("soapaction", "" ) ; http.send(msg) ; On n accepte que les résultats texte/xml. On désactive la mise en cache pour avoir des résultats directs. On définit le SOAPAction dans le header http. Le retour est du XML. Ici, on va obtenir une liste détaillée des éléments <businessinfo> actuellement enregistrés pour Microsoft. red <businesslist generic="1.0" operator="microsoft Corporation" truncated="false" xmlns="urn :uddi-org :api"> <businessinfos> <businessinfo businesskey="0076b468-eb27-42e5-ac cff462a3"> <name>microsoft Corporation</name> <description xml :lang="en"> Procure aux utilisateurs des logiciels puissants À tout moment, partout et sur tous les dispositifs, il y a la vision Microsoft. En tant que leader mondial des logiciels pour l informatique personnelle et l informatique d entreprise, nous nous efforçons de produire des produits et des services novateurs qui répondent aux besoins de nos clients. </description> <serviceinfos> <serviceinfo businesskey="0076b468-eb27-42e5-ac cff462a3" servicekey="1ffe1f71-2af3-45fb-b788-09af7ff151a4"> <name>services Web pour recherche intelligente</name> </serviceinfo> <serviceinfo businesskey="0076b468-eb27-42e5-ac cff462a3" servicekey="a8e4999a-21a3-47fa-802e-ee50a88b266f"> Web UDDI</name> </serviceinfo> </serviceinfos> </businessinfo> </businessinfos> </businesslist> <name>sites page 29 de 48
34 On va maintenant essayer d obtenir des informations sur le dernier service en reportant sa businesskey dans une balise de recherche de service : red<find_service generic= 1.0 xmlns= urn :uddi-org :api businesskey= 0076B468-EB27-42E5-AC CFF462A3 > <name>services Web UDDI</name> </find_service> Cela retourne les informations sur ce service : red<servicelist generic="1.0" operator="microsoft Corporation" truncated="false" xmlns="urn :uddi-org :api"> <serviceinfos> <serviceinfo businesskey="0076b468-eb27-42e5-ac cff462a3" servicekey="d2bc296a-723b-4c45-9ed4-494f9e53f1d1"> <name>services Web UDDI</name> </serviceinfo> </serviceinfos> </servicelist> On utilise le servicekey retourné : red <get_servicedetail generic= 1.0 xmlns= urn :uddi-org :api > <servicekey>d2bc296a-723b-4c45-9ed4-494f9e53f1d1</servicekey> </get_servicedetail> Cela retourne les <bindingtemplates> suivants : red<servicedetail generic="1.0" operator="microsoft Corporation" truncated="false" xmlns="urn :uddi-org :api"> <businessservice businesskey="0076b468-eb27-42e5-ac cff462a3" servicekey="d2bc296a-723b-4c45-9ed4-494f9e53f1d1"> <name>services Web UDDI</name> <description xml :lang="en"> Interfaces programmatiques des services Web UDDI basées sur les messages SOAP/XML. </description> <bindingtemplates> <bindingtemplate bindingkey="a9cafbe4-11c6-4bfe-90f d3de24" servicekey="d2bc296a-723b-4c45-9ed4-494f9e53f1d1"> <description xml :lang="en"> Serveur de production UDDI, Interface de demande d information </description> <accesspoint URLType="http"> http ://uddi.microsoft.com/inquire </accesspoint> <tmodelinstancedetails> <tmodelinstanceinfo tmodelkey="uuid :4CD7E4BC-648B-426D EAAC8AE23"> <description xml :lang="en"> Interface de demande d information UDDI SOAP </description> page 30 de 48
35 </tmodelinstanceinfo> </tmodelinstancedetails> </bindingtemplate>... </bindingtemplates> <categorybag> <keyedreference keyname="keyword" keyvalue="api" tmodelkey="uuid :A035A07C-F362-44DD-8F95-E2B134BF43B4"> </keyedreference> <keyedreference keyname="keyword" keyvalue="soap" tmodelkey="uuid :A035A07C-F362-44DD-8F95-E2B134BF43B4"> </keyedreference> <keyedreference keyname="keyword" keyvalue="xml" tmodelkey="uuid :A035A07C-F362-44DD-8F95-E2B134BF43B4"> </keyedreference> </categorybag> </businessservice> </servicedetail> Les informations obtenues deviennent de plus en plus précises sur le service. Cela nous indique qu il y a un point d accès de production sur http ://uddi.microsoft.com et que les points d accès UDDI de demande d information sont publiquement adressables via HTTP, et que les points d accès de publication sont sous protection HTTPS. On pourra ensuite utiliser les informations tmodelkey pour trouver toutes les entreprises enregistrées fournissant un service Web UDDI : red<find_business generic= 1.0 xmlns= urn :uddi-org :api > <tmodelbag> <tmodelkey>uuid :4CD7E4BC-648B-426D EAAC8AE23</tModelKey> </find_business> </tmodelbag> 6.5 Conclusion Si vous créez des applications qui doivent se connecter dynamiquement à des services fournis par des partenaires commerciaux externes, vous devez alors impérativement penser à relier vos applications au registre UDDI. Imaginez cela comme le DNS pour la couche application métier. Il serait intéressant de pouvoir ajouter, changer et supprimer des points d accès en temps réel, et d éviter ainsi la semaine de retard, ou plus, qu implique la propagation DNS. Après avoir trouvé une société et ses services dans l annuaire UDDI. Et bien, UDDI ne prétend pas tout résoudre. Tenter de créer une spec du protocole b2b principal qui englobe tout ce qui a jamais été inventé est une lourde tâche, qui ne verra probablement jamais le jour. Voici en quoi consiste la théorie UDDI : vos applications sauront comment traiter avec certains types de protocoles bien connus, et ces protocoles seront décrits de telle manière que vous pourrez trouver dynamiquement d autres entreprises qui reconnaissent ce protocole. Alternativement, vous pouvez avoir un petit nombre de partenaires commerciaux de confiance, bien connus à travers le monde, avec qui vous utilisez simplement UDDI pour trouver les nouveaux services que ces derniers fournissent. Dans ce cas, vous avez déjà probablement établi d autres canaux sûrs afin de télécharger les adaptateurs nécessaires pour vous connecter à chaque service. page 31 de 48
36 6.6 Annexes UDDI Fig. 6.1 Données du registre UDDI Sources : http :// page 32 de 48
37 Fig. 6.2 Couplage d une solution SOAP avec UDDI Fig. 6.3 Navigateur UDDI de SAP page 33 de 48
38 Fig. 6.4 Recherche d un service sur UDDI par l intermédiaire de SAP page 34 de 48
39 Chapitre 7 WSDL 7.1 Définition C est un format de schéma XML permettant de décrire un service Web en précisant les méthodes disponibles, les formats des messages d entrée et de sortie et comment y accéder. Il définit un espace de travail extensible pour décrire des interfaces de Services Web. Il a été premièrement développé par Microsoft et IBM et soumit au W3C devant une commission de 25 compagnies (fait exceptionnel). Il est au cœur de l espace de travail d un service Web, desservant une façon de représenter les types de données envoyés dans les messages, les opérations à effectuer sur les messages, et l envoi des messages sur les réseaux. Comme les autres technologies XML, WSDL est tellement extensible et possède un si grand nombre d options qu assurer une compatibilité et une interopérabilité entre les différentes implémentations serait difficile. Si l expéditeur et le destinataire d un message peuvent partager et comprendre le même fichier WSD de la même façon, alors l interopérabilité sera assuré. WSDL permet de décrire : Types des données Messages Opérations Binding Ces descriptions doivent être exhaustives et pr ecises, pour exemple l api amazon n ecessite 1150 lignes WSDL pour 23 op erations et 200 lignes pour google pour 3 op erations. Concepts liés à WSDL : Service : une collection de ports (port ou endpoints) Port : une adresse réseau et un binding Binding : un protocole et un format de données associé à un type de port (port type) Type de port : un ensemble d opérations (proche d une interface au sens Java) Opération : une action proposée par un service web, décrite par ses messages (proche d une méthode au sens Java) Message : un ensemble de données Donnée : une information typée selon un système de type comme celui des schémas du W3 Chaque élément principal peut être spécifié dans un document XML et importé dans différentes combinaisons pour créer une description de service Web finale, ou ils peuvent tous êtres définis ensemble dans un seul document. Les définitions de type de données déterminent la structure et le contenu des messages. Les opérations abstraites déterminent les opérations effectuées sur le 35
40 contenu du message, et les services à rendre déterminent le réseau de transport qui acheminera le message à destination. 7.2 Les définitions La partie définitions inclut les définitions de types de données, les messages et les opérations abstraites, qui sont similaires aux définitions d interfaces en CORBA ou DCOM. Les messages peuvent avoir plusieurs parties et être définies avec un style d interaction procédurale, orienté document ou les deux. Les définitions de type en WSDL sont basées sur des schémas XML, mais on peut utiliser un autre système équivalent ou similaire. Par exemple, les types de données définis en CORBA IDL (Interface Definition Language) peuvent être utilisés à la place des schémas de définitions XML. (Si un autre système de définition de type est utilisé, les deux parties du service Web doivent être capable de le comprendre). 7.3 Les noms d espace Les noms d espaces XML sont utilisés pour assurer l unicité des noms d éléments XML utilisés dans chacun des trois parties principales de WSDL. Quand les éléments WSD sont déveleoppés séparement et importés dans un seul fichier, les noms d espaces utilisés dans les fichiers ne doivent pas se chevaucher. Les schémas associés sont utilisés pour valider les fichiers, messages et opérations WSDL définis. WSDL inclut beaucoup d extensions, de changements et d additions en tant que service Web «mature». Comme SOAP, WSDL est un espace de travail XML extensible pouvant être adapté à de multiples systèmes d applications de type de données, définitions de types de messages, opérations, transports. 7.4 Exemple WSDL (cf Figures 5.*) Description d un service de mini annuaire de personnes. On pourra effectuer un ajout de personne puis une recherche de personne en fonction du nom. 7.5 Annexes WSDL Sources : http ://developpeur.journaldunet.com/tutoriel /xml/021107xml_wsdl1b.shtml page 36 de 48
41 Fig. 7.1 Code WSDL XML de définition de types, déclaration de messages et de types de port page 37 de 48
42 Fig. 7.2 Code WSDL XML de déclaration d engagement et de service Fig. 7.3 Code WSDL XML d implémentation page 38 de 48
43 Chapitre 8 Web services et entreprises 8.1 Définition Avec l essor d Internet, il devient de plus en plus intéressant pour les entreprises d utiliser un support électronique pour leurs transactions commerciales. Le commerce électronique ne se limite maintenant plus à l échange de messages. En effet, les entreprises veulent désormais permettre à leurs partenaires d affaires d accéder directement aux fonctions de leur système d information. Une nouvelle notion a été introduite, puisqu elles veulent de plus que les différents logiciels de gestion (ERP, SCM CRM) communiquent entre eux, on l appelle l intégration entre différents systèmes d information. Les Web services sont une solution à cette approche d intégration. Ils promettent l interopérabilité entre toutes les applications. En se basant sur XML et en utilisant Internet comme un canal de communication, ils permettent en théorie de faire communiquer entre elles les entreprises. On se dirige donc vers une intégration des applications utilisant des langages propriétaires. C est ce qui En outre, elles pourront, en retour, ouvrir leurs applications à d autres sociétés. 8.2 Construction d un projet informatique Introduction XML est désormais utilisé pour décrire les projets business des entreprises. Pour diffuser toutes les informations vers des applications et d autres entreprises lorsqu il y a collaboration, des technologies telles que XSLT leurs servent. C est un langage qui complète XML dans le sens où il va permettre l échange d informations entre applications. Ce système représente 80% de l utilisation de XML dans les projets informatiques. En résumé, XSLT diffuse les données formatées et structurées en XML Etapes La cartographie et la formalisation des processus métiers est réalisée en XML et va permettre à l entreprise de maîtriser les ressources qui entrent en jeu dans le projet ainsi que d uniformiser son système informatique. Le système devient alors capable de considérer la dimension métier, il peut alors comprendre et interpréter les acteurs de l organisation, ce qu ils doivent faire et de quelle façon ils vont collaborer. La mise en place des infrastructures B2B va permettre la connexion des applications de l entreprise avec celles de ses partenaires. 39
44 L adoption d un langage commun signifie la mise en place des dialogues entre entreprises, il va pouvoir les transactions avec les partenaires. XML sera employé pour toutes ces étapes car il va s adresser à tous ces besoins. Il mettra de plus d accord les différents acteurs sur des standards. 8.3 EAI Définition L Entreprise Application Integration est un concept. C est le fait de regrouper un ensemble des méthodes, technologies et outils qui permettent de consolider et coordonner l ensemble des applications hétérogènes d une entreprise. L objectif est d aboutir à une urbanisation du système d information de l entreprise. Les Web services servent de base à l EAI. Ce sont de véritables systèmes de composants pouvant être utilisé pour l intégration d applications L intégration d applications L EAI fait communiquer et collaborer les applications d une même entreprise. L intégration des applications est devenue l une des priorités des entreprises car elle pourra mettre en place une uniformisation de leur système informatique. Jusqu à très peu de temps, les systèmes d information étaient souvent composés d applications non communicantes. Prenons l exemple d applications de gestion, si les applications ne savent pas communiquer, les commandes seront saisies en plusieurs endroits : à savoir dans le logiciel de traitement des commandes, dans le logiciel de facturation, etc. L intégration des différentes applications permet d éviter les doublons, les informations erronées et d améliorer la traçabilité Fonctions de l EAI Interfaçage : extraction et injection des données dans une application. On se sert de WSDL en particulier. On utilise les Web services car ils ont l avantage de pouvoir être accédés à partir de n importe quel langage de programmation sur n importe quelle plate-forme. Grâce à WSDL, on va pouvoir donner une description normalisée des fonctionnalités offertes par les applications. Transformation : conversion des données. C est le rôle de XSLT. Cela permet en particulier de convertir des informations comprises par une application en informations comprises par une autre. Par exemple, si une application de gestion des commandes transmet une description de commande à une application de facturation dans le but de générer une facture, et que ces deux applications n ont pas la même façon de modéliser une commande, une opération de transformation est nécessaire. Routage : transport des données vers le destinataire avec SOAP. Gestion : suivi de l état du processus. Pour cela on utilise la gestion des processus métiers avec BPML. 8.4 Les processus métiers Définition L objectif des processus métiers est de formaliser l exécution d activités par des applications de manière collaborative dans le but d atteindre un objectif métier. Formellement, un processus métier peut être défini comme un enchaînement d activités. Dans un page 40 de 48
45 processus métier, on tient compte des différents participants d une opération, de leur rôle, de l objectif de cette opération et des moyens mis en œuvre (messages, documents). On peut agir sur ceux-ci en définissant des règles métier, des règles de sécurité, des règles de transactions. On peut ensuite lancer l exécution du modèle (automate à états finis) et vérifier le fonctionnement théorique des différents processus. BPML est un standard émergeant s occupant de cela. Un processus métier est interne à une entreprise et une seule. Il décrit les activités nécessitant la collaboration de plusieurs entités Dialogues Un dialogue définit une collaboration entre plusieurs entreprises (partenaires), sous la forme d échange de messages. Un dialogue comprend : La définition des messages échangés entre partenaires ; Le séquencement de ces messages ; Les rôles des différents partenaires Les processus e-business Un dialogue fait abstraction des processus métiers implémentés par chaque partenaire. Pour lier dialogues et processus métiers, On utilise la notion de processus e-business. Un processus e-business est composé de deux parties : Une interface publique : définition du dialogue précisant l interaction entre les participants du processus e-business. Elle est commune à tous les participants. Deux interfaces privées (une par partenaire) : définition des processus métiers implémentés par chaque partenaire BPML (Business Process Modeling Language) C est un méta langage de modélisation des processus métiers dont les premières spécifications sont apparues au printemps Il définit un modèle abstrait d interaction entre collaborateurs participant à une activité de l entreprise, voire entre une organisation et ses partenaires. Il est basé sur XML et exécuté par un moteur. BPML spécifie si les processus supportent les transactions courtes ou longues (mécanisme de undo). Un des objectifs de BPML est d intégrer les applications existantes de l entreprise dans des processus métiers, afin de les utiliser dans les processus e-business. 8.5 Conclusion L EAI garanti que chaque nouvelle application s insère correctement et interagit avec les applications existantes. Mais une entreprise qui veut offrir ses applications à l extérieur aura nécessairement besoin des web services explique Didier Martineau, le directeur des services de l éditeur de logiciels XML Software AG. En effet, pour lui, l EAI prend tout son sens dans un rôle interne à l entreprise. Ainsi, compter sur l utilisation des web services en interne pour l intégration d applications, en lieu et place des outils d EAI, n aurait pas de sens. Les Web services ne vont pouvoir exister que du fait de la présence de l EAI. Même si toutes les applications entre les entreprises communiquent via les Web services, les EAI page 41 de 48
46 seront toujours présents pour assurer la transformation, le routage et le transport des données au sein de l entreprise. page 42 de 48
47 Chapitre 9 Sécurité et fiabilité des Web Services 9.1 Quels mécanismes veut-on mettre en place pour assurer la sécurité des Web Services? Les Web Services doivent intégrer les méthodes de base de la sécurité afin de permettre une meilleur sécurité et une bonne fiabilité. Parmis les stratégies utilisées on peut citer celles-ci : Authentification L authentification consiste à mettre en place un système de login et de mot de passe afin d identifier l entité qui tente de se connecter au système. L authentification permet de : 1. vérifier si l utilisateur est connu du système ; 2. déterminer les droits et privilèges affectés à l utilisateur ; 3. contrer l usurpation frauduleuse de l identité d un utilisateur, de l administrateur ou d un serveur ; 4. limiter l intrusion sur le réseau à partir d un accès externe ou même interne. L authentification a pour but d assurer qu un utilisateur, une application ou une interface peut ou non dialoguer avec une application Autorisation d accès Il s agit d un contrôle d accès aux ressources d un système d information. Le contrôle d accès assure que l utilisateur a accès aux ressources autorisées. Pour cela on met en oeuvre des filtres qui ne laissent transiter que les flux autorisés. Dans un contexte d intégration de services, après l authentification d un utilisateur ou d une interface, le système permettra a chacun d assumer ses rôles Mécanisme d encryptage et de décryptage des données Afin que les données qui transitent sur le réseau ne puissent être lues par une tierce personne, il est utile de mettre en place un mécanisme d encryptage et de décryptage des données. Le cryptage a pour but de protéger l information et de la rendre incompréhensible a toute autre personne que le destinataire du message Signature digitale La signature digitale utilise la notion de cryptographie à clé publique. La signature électronique permet l authentification du signataire, chaque signature n appartient qu à un seul document et 43
48 ne peut pas être réutilisée ni imitée. Les signatures électroniques permettent pour les Web Services d identifier les entités émettrices de messages. 9.2 Sécurisation des services Web Les Web Services ne supportent pas explicitement les mécanismes de sécurité. Afin de sécuriser les Web Services il faudrait commencer par sécuriser l infrastructure informatique puis sécuriser spécifiquement les Web Services : Pour cela on peut rendre sûres les connexions et les données en utilisant les standards existants Sécurisation de l infrastructure Les Web Services reposant sur une infrastructure informatique, il est logiquement nécessaire de commencer par sécuriser celle-ci. Une telle sécurisation de l infrastructure informatique nécessite plusieurs technologies integrées dans un plan de sécurité global. Cela suppose une identification des risques liés à l environnement (virus, pirates, evenements imprevisibles risquant de nuire à l infrastructure(incendie,...etc)). Mais il est aussi nécessaire d intégrer des mesures de sécurité à tous les niveaux du réseau Sécurisation des connexions Pour sécuriser les Web Services la solution la plus simple à mettre en oeuvre est la sécurisation de la connexion entre le client et le serveur. Pour cela plusieurs moyens sont envisageables : Système de pare-feu Les règles de pare-feu permettent de limiter l accès à une liste d adresses IP connues. Cette technique sera utilisée au sein d un réseau privé. Protocole SSL SSL (Secure Sockets Layer) permet d établir des connexions sécurisées sur un réseau non sécurisé(internet). SSL est en fait un système de cryptage/décryptage des messages qui circulent entre un client et un serveur. SSL crypte le message envoyé par un client. Ainsi ce message ne peut pas être lu pendant son transfert. SSL décrypte le message une fois que celui-ci est parvenu au serveur et vérifie la bonne identité de l expéditeur(authentification). SSL utilise le concept de certificat pour l authentification : Voici un petit exemple 1. Supposons un consommateur A et un site proposant des services B ; 2. A envoit son certificat à B. Ce certificat contientla clé publique de A ; 3. Après réception d un message par B génère un message aléatoire et l envoie à A ; 4. A crypte ce message avec sa clé privée et le renvoie à B ; 5. B décrypte le message avec la clé pulique de A. B compare le message avec le message initial. seul A a pû renvoyer le message : Son identité est vérifiée, le message n a pas été envoyé par un usurpateur car seul A connait sa clé privée. Lorsque HTTP est associé à SSL, on parle de HTTPS. L avantage de SSL est qu il est déjà très employé sur Internet. Cependant, SSL est uniquement disponible avec TCP/IP, or, le protocole SOAP peut être employé hors du contexte de TCP/IP. SSL est efficace en ce qui concerne la sécurité mais pèse beaucoup sur les performances. page 44 de 48
49 9.2.3 Authentification et contrôle d accès L authentification consiste à vérifier l identité de l émetteur d un message. On dit que que l authentification nécessite des informations d identification : un mot de passe peut être information d identification. Le système vérifie ces informations d identification et si elles sont valides authentifie l entité. C est seulement après cette authentification que des autorisations sont accordées selon le client. certains client ont accès à des taches ou des données inaccessibles à d autres clients. La plupart des Web Services utilisent les fonctions d authentification du protocole HTTP. Pour assurer l interopérabilité entre les Web Services il est nécessaire que les méthodes utilisées étendent la norme SOAP intégrant ainsi la sécurité directement dans les Web Services Sécurisation de SOAP Il est nécessaire de sécuriser le protocole SOAP. Les messages seront encryptés afin de les protéger en ce qui concerne la confidentialité. Pour cela il existe plusieurs moyens : Encrypter le corps du mesage SOAP ; Utiliser SLL pour encrypter le trafic HTTP. 9.3 Standards XML de sécurité XML Signature XML Signature permet d intégrer directement dans le document XML la signature et le certificat. L avantage pour les Web Services est que les élements nécessaires à la sécurité sont inclus dans le documen XML. XML Signature est totalement adapté aux Web Services et intègre : 1. Une protection du document par cryptage 2. L authentification de l entité qui a envoyé le document 3. l intégrité du document Les principaux avantages de la signature XML sont que des parties de documents ou des documents entiers peuvent être protégés et les documents sont protégés même en dehors du transfert des documents. Cependant ce standard ne couvre pas tous les éléments de sécurités comme par exemple la gestion des droits d accès XKMS XML Key Management Specifications La spécification XKMS offre une infrastructure de gestion es clés publiques afin de généraliser l utilisation de XML Signature. Pour faciliter l emploi et le développement de XML Signature, il faut fournir des entités de confiance qui supportent la gestion de clés publiques, et plus seulement se limiter à l utiliqation de certificats qui est très contraignante. Dans cette approche, on identifie un service Web de confiance qui offre une implémentation d un service XKMS permettant : d enregistrer une paire de clés et d obtenir en contrepartie un certificat. de rechercher une clé publique. de supprimer une paire de clés. Autrement dit, l entité qui fournit l implantation XKMS joue le rôle d une autorité de certifcation SAML Security Assertion Markup Language Le standard SAML a pour but de favoriser l interopérabilité entre les solutions de gestion des droits utilisateurs sur Internet. page 45 de 48
50 SAML définit des formats de messages XML et un vocabulaire pour véhiculer des informations qui composent une procédure d authentification. Il est composé de deux schémas XML suivants : Déclaration de nom : Il s agit d un document XML signé contenant une proposition de trois éléments : le type d authentification, la source d authentifiction et le sujet authentifié. Habilitation : Il s agit d un document XML signé décrivant les renseignements relatifs aux autorisations d un sujet identifié. L habilitation suit l utilisateur d un domaine à l autre pendant tout le cours d une transaction WS-Security Cette spécification qui a été proposée à l origine dans le but de décrire l ensemble des pratiques de sécurité les plus couramment utilisées. Objectif à terme : élaborer une interface qui assure l interopérabilité entre solutions de sécurité d entreprise, reposant sur des technologies hétérogènes. L ensemble des méthodes prises en compte WS-Security couvre en premier lieu l authentification de la partie cliente, c est-à-dire l émetteur du message SOAP. Dans le cas d une architecture de Web Services, ce client peut renvoyer à un individu mais également à une application (ou composant) ou encore à une machine. D où la prise en compte par la spécification de divers mécanismes : le couple identifiant/mot de passe, la méthode du jeton de sécurité et celles des certificats notamment. "Concrètement, WS-Security définit la manière de décrire au sein d un message SOAP les droits utilisateur correspondant à ces différents systèmes de sécurité". Comment éviter que la connexion entre deux Web Services ne soit "sur écoute"? Ici, entre en jeu le chiffrement et la gestion de l intégrité des messages, pour lesquels le langage propose un vocabulaire de gestion de certificats : des outils qui peuvent être utilisés aussi bien pour chiffrer un document électronique que pour le signer. page 46 de 48
51 Chapitre 10 Conclusion 10.1 Apports Les Web Services possèdent une simplicité de mise en oeuvre : Ils rendent en effet accessibles depuis Internet des fonctionnalités d une application exixtante tout en ne modifiant pas en profondeur le systeme d information de l entreprise.il s agit de l ajout de briques suplémentaires. Pour cela, les Web Services exploitent les standards d échange Internet. Les services Web avec ses protocoles et ses standards avance vers toujours plus de normalisation. Déjà, le protocole d échange de messages SOAP et le langage WSDL pour la définition de l interface standardsent la couche de transport. Les Web Services reposent sur des bases solides(soap et WSDL)qui ont prouvé leur efficacité et leur maturité même si un normalisation complète n existe pas encore. Cette standardisation permet une grande interopérabilité entre des applications de technologie différente : les protocoles SOAP, WSDL et UDDI permettent de simplifier l utilisation des services auxquels ils sont liés par l utilisation de fichiers textuels, donc lisibles par l utilisateur. Leur contenu se limitant aux éléments essentiels d interopérabilité, ces standards assurent une grande indépendance de l implémentation par rapport au système d exploitation, à l architecture de la machine ou au standard utilisé. Un des avantages principaux des Web Services est qu ils sont basé sur Internet qui est on le sait fiable et mature Limites Les Web Services ont cependant des limites qui sont : Toutes les normes ne sont pas établies notament en matière de sécurité ; Les performances sont relativement faibles ; Des contournements de sécurité sont possibles. Aucune norme de sécurité n existe dans les Web Services. En effet les standards qui exitent peuvent très bien ne pas être utilisés ou peuvent n assurer qu une partie des éxigeances se sécurité. De plus, les Web Services utilisent HTTP et héritent des problèmes de celui-ci : Les firewall peuvent être contournés. En ce qui concerne les performances des Web Services, l échange de messages est particulièrement lent du fait que la quantité d informations vehiculée est importante Evolution des Web Services Là où les architectures précédentes demandaient des resources importantes, en terme de développement comme de déploiement, les Web Services héritent du pragmatisme des technologies du 47
52 Net, ce qui facilite leur adoption. Mais les Web Services sont encore en cours de stabilisation des standards. Il sera notament nécesaire de definir des normes de sécurité qui posent un gros problème. Cependant les Web Services gagnent en maturité ce qui peut promettre qu ils seront adoptés massivement comme la réponse appropriée aux problématiques d échanges de données et d intégration d applications. Il est donc prévu un augmentation d utilisation des Web Services par les entreprises dans les années à venir Enrichissement personnel Ce travail d études nous a permis d aborder une nouvelle technologie et d en étudier divers aspects : Les principes de fonctionnement et ses mises en oeuvre avec l étude des differentes technologies qui accompagnent les Web Services. L étude des Web Services nous a également permis de mieux comprendre les enjeux dans le domaine du Web dans les entreprises autant sur le plan de l importance du Web que sur les exigeances qui en découlent(sécurité, fiabilité, performances,...). page 48 de 48
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.................................
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
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
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
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 [email protected] Sécurité en ingénierie du Logiciel p.1/21 Agenda (partie 1) 1/2 Introduction Services
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.
CORBA. (Common Request Broker Architecture)
CORBA (Common Request Broker Architecture) Projet MIAGe Toulouse Groupe 2 1 CORBA, introduction (1/4) Les systèmes répartis permettent de créer des applications basées sur des composants auto-gérables,
Cours CCNA 1. Exercices
Cours CCNA 1 TD3 Exercices Exercice 1 Enumérez les sept étapes du processus consistant à convertir les communications de l utilisateur en données. 1. L utilisateur entre les données via une interface matérielle.
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
XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition)
Présentation du langage XML 1. De SGML à XML 17 2. Les bases de XML 18 2.1 Rappel sur HTML 18 2.2 Votre premier document XML 19 2.3 Les avantages de XML 21 3. La syntaxe XML 21 3.1 La première ligne du
Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web»
Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web» Sana Sellami [email protected] 2014-2015 Plan Partie 1: Introduction aux Services Web (SW) Partie 2: Vers une
Introduction aux «Services Web»
Introduction aux «Services Web» Sana Sellami [email protected] 2014-2015 Modalité de contrôle de connaissances Note de contrôle de continu Note projet Evaluation du projet la semaine du 17 novembre
Programmation Internet Cours 4
Programmation Internet Cours 4 Kim Nguy ên http://www.lri.fr/~kn 17 octobre 2011 1 / 23 Plan 1. Système d exploitation 2. Réseau et Internet 3. Web 3.1 Internet et ses services 3.1 Fonctionnement du Web
Méthodes et Langages du Commerce Electronique
ITCE NFE 102 Année 2013-2014! Méthodes et Langages du Commerce Electronique F.-Y. Villemin ([email protected]) http://dept25.cnam.fr/itce Plan! Besoins du commerce électronique! L EDI! ebxml! Les Web Services!
18 TCP Les protocoles de domaines d applications
18 TCP Les protocoles de domaines d applications Objectifs 18.1 Introduction Connaître les différentes catégories d applications et de protocoles de domaines d applications. Connaître les principaux protocoles
Autour du web. Une introduction technique Première partie : HTML. Georges-André SILBER Centre de recherche en informatique MINES ParisTech
Autour du web Une introduction technique Première partie : HTML Georges-André SILBER Centre de recherche en informatique MINES ParisTech [email protected] http://www.cri.ensmp.fr/people/silber/cours/2010/web
Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION. Mentions Ingénierie des Systèmes d Information Business Intelligence
É C O L E D I N G É N I E U R D E S T E C H N O L O G I E S D E L I N F O R M A T I O N E T D E L A C O M M U N I C A T I O N Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION Mentions
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
Introduction aux concepts d ez Publish
Introduction aux concepts d ez Publish Tutoriel rédigé par Bergfrid Skaara. Traduit de l Anglais par Benjamin Lemoine Mercredi 30 Janvier 2008 Sommaire Concepts d ez Publish... 3 Système de Gestion de
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,
Principes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle
2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA Stéphane Vialle [email protected] http://www.metz.supelec.fr/~vialle 1 Principes 2 Architecture 3 4 Aperçu d utilisation
Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6
Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6 1 BERNIER François http://astronomie-astrophotographie.fr Table des matières Installation d un serveur HTTP (Hypertext Transfer
Module BD et sites WEB
Module BD et sites WEB Cours 8 Bases de données et Web Anne Doucet [email protected] 1 Le Web Architecture Architectures Web Client/serveur 3-tiers Serveurs d applications Web et BD Couplage HTML-BD
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
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
OS Réseaux et Programmation Système - C5
OS Réseaux et Programmation Système - C5 Rabie Ben Atitallah [email protected] RPC - XDR Rappel RPC: Remote Procedure Call Besoin d un environnement de haut niveau pour le développement
L architecture des services Web
Chapitre 1 L architecture des services Web La combinaison des canons esthétiques et idéaux politiques, reflets de leur époque, et de la généralisation de nouveaux matériaux préside souvent au développement
2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant. http://robert.cireddu.free.
2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES 2.2 Architecture fonctionnelle d un système communicant Page:1/11 http://robert.cireddu.free.fr/sin LES DÉFENSES Objectifs du COURS : Ce cours traitera essentiellement
SII Stage d informatique pour l ingénieur
SII Stage d informatique pour l ingénieur Création d un site Web École nationale supérieure de techniques avancées SII Stage d informatique pour l ingénieur 1 / 15 L informatique et le temps qui passe...
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
Glossaire. www.themanualpage.org ( themanualpage.org) soumises à la licence GNU FDL.
Glossaire Ce glossaire contient les termes techniques et de spécialité les plus employés dans cette thèse. Il emprunte, pour certaines d entre elles, les définitions proposées par www.themanualpage.org
Introduction à Microsoft InfoPath 2010
Introduction à Microsoft InfoPath 2010 Couplé à Microsoft SharePoint Designer 2010, InfoPath 2010 simplifie la création de solutions de bout en bout sur SharePoint Server 2010, qui contiennent des formulaires
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:...
Web Services : Beyond the peer-to-peer architecture
Faculté des Sciences Département d Informatique Web Services : Beyond the peer-to-peer architecture Jérémy De Roey Mémoire présenté sous la direction du Professeur Esteban Zimányi et de Ir. François Deliège
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
Urbanisation des SI. Des composants technologiques disponibles. Urbanisation des Systèmes d'information Henry Boccon Gibod 1
Urbanisation des SI Des composants technologiques disponibles Urbanisation des Systèmes d'information Henry Boccon Gibod 1 Plan de l'exposé Technologies à la mode disponibles. Bus de données, ETL et EAI
HTML. Notions générales
1 HTML Le langage HTML est le langage de base permettant de construire des pages web, que celles-ci soient destinées à être affichées sur un iphone/android ou non. Dans notre cas, HTML sera associé à CSS
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
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
Cisco Certified Network Associate
Cisco Certified Network Associate Version 4 Notions de base sur les réseaux Chapitre 3 01 Quel protocole de la couche application sert couramment à prendre en charge les transferts de fichiers entre un
Cours Base de données relationnelles. M. Boughanem, IUP STRI
Cours Base de données relationnelles 1 Plan 1. Notions de base 2. Modèle relationnel 3. SQL 2 Notions de base (1) Définition intuitive : une base de données est un ensemble d informations, (fichiers),
Les outils de création de sites web
Tuto 1ère séance - p1 Les outils de création de sites web Sources : Réalisez votre site web avec HTML5 et CSS3 de Mathieu Nebra (Edition Le Livre du Zéro) site fr.openclassrooms.com (anciennement «site
BES WEBDEVELOPER ACTIVITÉ RÔLE
BES WEBDEVELOPER ACTIVITÉ Le web developer participe aux activités concernant la conception, la réalisation, la mise à jour, la maintenance et l évolution d applications internet/intranet statiques et
Services Réseaux - Couche Application. TODARO Cédric
Services Réseaux - Couche Application TODARO Cédric 1 TABLE DES MATIÈRES Table des matières 1 Protocoles de gestion de réseaux 3 1.1 DHCP (port 67/68)....................................... 3 1.2 DNS (port
Évaluation et implémentation des langages
Évaluation et implémentation des langages Les langages de programmation et le processus de programmation Critères de conception et d évaluation des langages de programmation Les fondations de l implémentation
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
Urbanisation des Systèmes d'information
Urbanisation des Systèmes d'information Des composants technologiques disponibles Urbanisation des Systèmes d'information - Henry Boccon-Gibod 1 Plan de l'exposé Technologies à la mode disponibles. Bus
Appui SIE :Développement de services web ADES/SIE
Appui SIE :Développement de services web ADES/SIE Rapport final BRGM/ RP-55128-FR Décembre 2006 Appui SIE : Développement de services web ADES/SIE Rapport final BRGM/ RP-55128-FR décembre 2006 Étude réalisée
Bien architecturer une application REST
Olivier Gutknecht Bien architecturer une application REST Avec la contribution de Jean Zundel Ce livre traite exactement du sujet suivant : comment faire pour que les services web et les programmes qui
Internet. DNS World Wide Web. Divers. Mécanismes de base Exécution d'applications sur le web. Proxy, fire-wall
Internet DNS World Wide Web Mécanismes de base Exécution d'applications sur le web Divers Proxy, fire-wall 1 Les services usuels de l Internet Services principaux (applications) disponibles sur l Internet
Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués
Architecture JEE. Objectifs attendus Serveurs d applications JEE Systèmes distribués Architectures JEE Normes JEE couches logicielles, n-tiers framework JEE et design patterns 2007/02/28 Eric Hé[email protected]
Supplément de renseignements : Examens d applications et pare-feux d applications web clarifiés Normes : Normes en matière de sécurité des données de
Supplément de renseignements : Examens d applications et pare-feux d applications web clarifiés Normes : Normes en matière de sécurité des données de la PCI (PCI DSS) Version : 1.2 Date : Octobre 2008
Architecture Orientée Service, JSON et API REST
UPMC 3 février 2015 Précedemment, en LI328 Architecture générale du projet Programmation serveur Servlet/TOMCAT Aujourd hui Quelques mots sur les SOA API - REST Le format JSON API - REST et Servlet API
Solutions de gestion de la sécurité Livre blanc
Solutions de gestion de la sécurité Livre blanc L intégration de la gestion des identités et des accès avec l authentification unique Objectif : Renforcer la politique de sécurité et améliorer la productivité
Groupe Eyrolles, 2004 ISBN : 2-212-11504-0
Groupe Eyrolles, 2004 ISBN : 2-212-11504-0 Table des matières Avant-propos................................................ 1 Quel est l objectif de cet ouvrage?............................. 4 La structure
WysiUpStudio. CMS professionnel. pour la création et la maintenance évolutive de sites et applications Internet V. 6.x
WysiUpStudio CMS professionnel pour la création et la maintenance évolutive de sites et applications Internet V. 6.x UNE SOLUTION DE GESTION DE CONTENUS D UNE SOUPLESSE INÉGALÉE POUR CRÉER, MAINTENIR ET
Chapitre VI- La validation de la composition.
Chapitre VI- La validation de la composition. Objectifs du chapitre : Expliquer les conséquences de l utilisation de règles de typage souples dans SEP. Présenter le mécanisme de validation des connexions
Software Engineering and Middleware A Roadmap
Software Engineering and Middleware A Roadmap Ecrit par: Dr. Wolfgang Emmerich Présenté par : Mustapha Boushaba Cours : IFT6251 Wolfgang Emmerich Enseignant à University College London: Distributed Systems
ASP 3.0 Professionnel
Introduction On dit que, toute sa vie, chacun se souvient exactement de ce qu il fait et de l endroit où il est lorsque des faits marquants se produisent, par exemple le décès de Lady Diana ou l élection
Les services usuels de l Internet
Les services usuels de l Internet Services principaux (applications) disponibles sur l Internet Courrier électronique (mail) - protocole SMTP (Simple Mail Transfer Protocol) inclut maintenant tous types
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
Devenez un véritable développeur web en 3 mois!
Devenez un véritable développeur web en 3 mois! L objectif de la 3W Academy est de former des petits groupes d élèves au développement de sites web dynamiques ainsi qu à la création d applications web
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
Sécurisation des architectures traditionnelles et des SOA
Sécurisation des architectures traditionnelles et des SOA Un livre blanc de Bull Evidian Gestion SAML des accès SSO aux applications classiques et J2EE. Max Vallot Sommaire Émergence des architectures
TP1. Outils Java Eléments de correction
c sep. 2008, v2.1 Java TP1. Outils Java Eléments de correction Sébastien Jean Le but de ce TP, sur une séance, est de se familiariser avec les outils de développement et de documentation Java fournis par
TIC. Réseau informatique. Historique - 1. Historique - 2. TC - IUT Montpellier Internet et le Web
Réseau informatique TIC TC - IUT Montpellier Internet et le Web Ensemble d'ordinateurs reliés entre eux et échangeant des informations sous forme de données numériques But : Rendre disponible l information
Nom de l application
Ministère de l Enseignement Supérieur et de la Recherche Scientifique Direction Générale des Etudes Technologiques Institut Supérieur des Etudes Technologiques de Gafsa Département Technologies de l Informatique
basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML
basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML http://olivier-augereau.com Sommaire Introduction I) Les bases II) Les diagrammes
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
SECTION 5 BANQUE DE PROJETS
SECTION 5 BANQUE DE PROJETS INF 4018 BANQUE DE PROJETS - 1 - Banque de projets PROJET 2.1 : APPLICATION LOGICIELLE... 3 PROJET 2.2 : SITE WEB SÉMANTIQUE AVEC XML... 5 PROJET 2.3 : E-LEARNING ET FORMATION
Chapitre IX. L intégration de données. Les entrepôts de données (Data Warehouses) Motivation. Le problème
Chapitre IX L intégration de données Le problème De façon très générale, le problème de l intégration de données (data integration) est de permettre un accès cohérent à des données d origine, de structuration
4. Utilisation d un SGBD : le langage SQL. 5. Normalisation
Base de données S. Lèbre [email protected] Université de Strasbourg, département d informatique. Présentation du module Contenu général Notion de bases de données Fondements / Conception Utilisation :
Conception Exécution Interopérabilité. Déploiement. Conception du service. Définition du SLA. Suivi du service. Réception des mesures
Software propose une offre d intégration unique, qui apporte l équilibre parfait entre investissements et performances pour les entreprises qui doivent sans cesse améliorer leurs processus. Des caractéristiques
D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information.
PACBASE «Interrogez le passé, il répondra présent.». Le Module e-business Les entreprises doivent aujourd hui relever un triple défi. D une part, elles ne peuvent faire table rase de la richesse contenue
L3 informatique TP n o 2 : Les applications réseau
L3 informatique TP n o 2 : Les applications réseau Sovanna Tan Septembre 2009 1/20 Sovanna Tan L3 informatique TP n o 2 : Les applications réseau Plan 1 Transfert de fichiers 2 Le Courrier électronique
Introduction au projet ebxml. Alain Dechamps
Introduction au projet ebxml Alain Dechamps 1 Introduction ebes Plan Le pourquoi de la réunion Contexte et projet ebxml Fonctionnement Avantages 2 Lexique Business process = processus métier Core component
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
Le modèle client-serveur
Le modèle client-serveur Olivier Aubert 1/24 Sources http://www.info.uqam.ca/~obaid/inf4481/a01/plan.htm 2/24 Historique architecture centralisée terminaux passifs (un seul OS, systèmes propriétaires)
Workflow et Service Oriented Architecture (SOA)
White Paper Workflow et Service Oriented Architecture (SOA) Présentation Cet article offre une approche pragmatique de la SOA et du workflow à travers des problématiques d'entreprises, une méthodologie
Problématiques de recherche. Figure Research Agenda for service-oriented computing
Problématiques de recherche 90 Figure Research Agenda for service-oriented computing Conférences dans le domaine ICWS (International Conference on Web Services) Web services specifications and enhancements
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,
Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)
Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines) Module 1 : Programmer une application informatique Durée
Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2
éducalgo Manuel d utilisation 26 juin 2011 Table des matières 1 Tâche à effectuer : écrire un algorithme 2 2 Comment écrire un algorithme? 3 2.1 Avec quoi écrit-on? Avec les boutons d écriture........
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
Service On Line : Gestion des Incidents
Service On Line : Gestion des Incidents Guide de l utilisateur VCSTIMELESS Support Client Octobre 07 Préface Le document SoL Guide de l utilisateur explique comment utiliser l application SoL implémentée
Trois nouveaux formulaires sont donc nécessaires : Pour l affichage de la liste, un formulaire de sortie WEB_Liste associé à la table des [Films] ;
De la base 4D au site Web 20 Conception des formulaires Web Trois nouveaux formulaires sont donc nécessaires : Pour le dialogue, un formulaire WEB_Trouver associé à la table des [Paramètres] ; Pour l affichage
Conception, architecture et urbanisation des systèmes d information
Conception, architecture et urbanisation des systèmes d information S. Servigne Maître de Conférences, LIRIS, INSA-Lyon, F-69621 Villeurbanne Cedex e-mail: [email protected] 1. Introduction
COMMUNICATION TECHNIQUE N TCV060 Ed. 01. OmniVista 4760 Nb de pages : 18 Date : 12-07-2005 URGENTE NON URGENTE TEMPORAIRE DEFINITIVE
COMMUNICATION TECHNIQUE N TCV060 Ed. 01 OmniVista 4760 Nb de pages : 18 Date : 12-07-2005 URGENTE NON URGENTE TEMPORAIRE DEFINITIVE OBJET : GESTION ANNUAIRE Veuillez trouver ci-après une documentation
LA VAGUE EAI (ENTREPRISE APPLICATION INTEGRATION)
Informatique de gestion et systèmes d information Isnet 40 LA VAGUE EAI (ENTREPRISE APPLICATION INTEGRATION) Projet déposé dans le cadre du programme Réserve stratégique de la HES-SO Février 2002 Requérant
Pré-requis pour les serveurs Windows 2003, Windows 2008 R2 et Windows 2012
Fiche technique AppliDis Pré-requis pour les serveurs Windows 2003, Windows 2008 R2 et Windows 2012 Fiche IS00812 Version document : 1.08 Diffusion limitée : Systancia, membres du programme Partenaires
Firewall IDS Architecture. Assurer le contrôle des connexions au. [email protected] Sécurité 1
Sécurité Firewall IDS Architecture sécurisée d un réseau Assurer le contrôle des connexions au réseau [email protected] Sécurité 1 Sommaire général Mise en oeuvre d une politique de sécurité
Application des Spécifications détaillées pour la Retraite, architecture portail à portail
Pour Application des Spécifications détaillées pour la Retraite, architecture portail à portail Version 1.0 ON-X S.A. est une société du Groupe ON-X 15, quai Dion Bouton 92816 PUTEAUX cedex. Tél : 01 40
Catalogue des formations Edition 2015
Antidot - Formations Catalogue des formations Edition 2015 : catalogue_formation_2015 Révision du 06.01.2015 Sommaire!!"##$%&'( )! $*$+,(-'(."##'+.'&( /!,'.0+"1"2%'( /!!."3'( /! $(3&"3"!(-4(5(.$,$1"24'(-'!(6"&#$,%"+!(7('-%,%"+()89:(;(
FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères
FORMATION PcVue Mise en œuvre de WEBVUE Journées de formation au logiciel de supervision PcVue 8.1 Lieu : Lycée Pablo Neruda Saint Martin d hères Centre ressource Génie Electrique Intervenant : Enseignant
