Presentation Web Services

  • Uploaded by: api-3827804
  • 0
  • 0
  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Presentation Web Services as PDF for free.

More details

  • Words: 2,648
  • Pages: 47
DEI

Web Services Présentation et cas d’usage.

Référence : Page : 1

Les Web Services DEI

◗Les concepts ◗ Les standards technologiques ◗La conception d’un service web / J2EE ◗Limites, questions essentielles ◗Au delà du simple service web ◗Références DEILab

Référence : Page : 2

Les Web Services DEI

◗Les Concepts  Contexte

 C’est quoi un service ?  C’est quoi un web service ?  Avantages  Nouveaux rôles

Référence : Page : 3

Web Services / Contexte DEI

◗Problématique posée : interaction entre des applicatifs  distants, hétérogènes,  dans des contextes multi-entreprises

◗Historiquement :  DCOM  CORBA-IIOP  MOM

◗Solution : an 2000, initiative Web Service  s ’organise autour des leaders de l’informatique (IBM, SUN, HP, SAP, …) et les organismes de normalisation (W3C, OASIS, WS-I)  avec pour objectif de normaliser les techniques de communication entre les applicatifs distribués Référence : Page : 4

Web Services / Définitions DEI

◗Service  Un service est une fonction qui reçoit des messages et qui les restitue après traitement  Abstrait. ●

L ’implémentation interne est masquée au consommateur (boîte noire).

 Les modalités d’utilisation sont décrites dans un contrat ●

contraintes sécurité, aspects transactionnels, Localisation

 Réutilisable / Fonctionnalités mutualisées  Sans état / Autonome ●

ne nécessite pas la présence d ’un contexte d ’exécution

 Combinable  Administrable Gourvernable

‘ C ’est un niveau logique d ’accès aux traitements ’ ‘ Seul le contrat importe ’

Référence : Page : 5

Web Services / Typologie DEI

◗Typologie des services  Services de données (exposition de silos de données)  Services intermédiaires (façades, adaptateur technologique pour legacy)  Services unités de traitement (logique applicative, processus back office)  Service d’entreprise (ouverture du SI)  Service d’infrastructure (authentification, traces, …)

Référence : Page : 6

Web Services / Découverte DEI

◗Le concept de service intervient à plusieurs niveaux dans l ’architecture du SI.

Référence : Page : 7

Web Services / Découverte DEI

◗Service Métier  Correspond à un périmètre fonctionnel que l’on souhaite exposé  Sens pour le métier (ie, pour maîtrise d ’ouvrage)  Découvert et spécifié au moment de la modélisation des processus (cahier des charges - diagrammes d ’activités)  Usage métier / fonctionnel ●

exposition d ’une fonctionnalité à des organisations clientes tierces qui consomment le service

 Usage technique  Indépendant des choix d’architecture applicatives  Un processus permet d ’enchaîner un ou plusieurs service métier

Référence : Page : 8

Web Services / Découverte DEI

◗Service exposé par une catégorie FWK)

(BusinessService -

 Issu d’un travail d’architecture applicative  Découverts à partir des catégories UML  Son implémentation se base sur la sollicitation d ’une ou plusieurs entités physiques (composants)

Référence : Page : 9

Web Services / Définitions DEI

◗Web Service C ’est un service ...  Accessible depuis Internet/Intranet (dont le contrat et les modalités d ’invocations sont basées sur des standards technologiques, à savoir ceux du WEB) ●

HTTP (Hyper Text Transport Protocol)



XML (eXtensible Markup Language)



WSDL (Web Service Description Langage)

SOAP  Utilise XML pour l’encodage des données échangées,  N’est lié à aucun système d’exploitation ni aucun langage de programmation.  Usage est restreint aux services métiers (« coarse grained ») ●

Référence : Page : 10

Web Services / usage des web services DEI

◗Fourniture d’informations aux briques du SI Partage d’information. Exposition des référentiels.

◗Services payant (créer de la business value) Transaction payante pour les clients. Système de réservation, système de vérification de crédit etc…

◗Externalisation de processus Echange d’information avec les partenaires et intégration des processus. Les WS sont dont utilisés pour augmenter l’étendue du SI.

◗Architecture EAI légère Les WS pourraient à terme fournir une alternative légère et peu coûteuse aux solutions traditionnelles d’EAI.

Référence : Page : 11

Web Services / avantages DEI

◗Coût de mise en place d ’une communication entre applicatifs distants et hétérogènes chute de manière considérable.  Les sous-systèmes exposent des connecteurs SOAP-XML (+WSDL)

◗Interopérabilité est enfin au rendez-vous ◗Les équipes informatiques capitalisent sur un même standard et une même technologie. ◗Ouverture du SI devient possible (interne, externe). ◗Peu/Pas d’impact sur les infrastructures techniques (pas de rupture) Référence : Page : 12

Web Services / nouveaux rôles DEI

◗Fournisseur  Entité qui publie le service  Responsable de son exécution  Assure compatibilité ascendante ●

gestion des versions

 Publie la description du service

◗Consommateur  Entité qui invoque le service  Dispose d’une description du service

◗Registre  Tiers intermédiaire  Consommateur: localiser un service  Fournisseur : publie un service Référence : Page : 13

Web Services / nouveaux rôles DEI

Référence : Page : 14

Les Web Services DEI

◗ Les standards technologiques  Modèle de communication  HTTP, XML, SOAP, WSDL, UDDI  Basic Profile 1.0  Infrastructure technique

Référence : Page : 15

Web Services / Modèle de communication DEI

◗ Modèles de communication  Synchrone ou RPC  Asynchrone ou évènementiel ● ●

point-à-point publication-abonnement

 Conversationnel

Référence : Page : 16

Web Services / Principe synchrone DEI 1. le client récupère une référence vers le service 2. le client émet une requête et attends la réponse 3. le service exécute le traitement et renvoie une réponse 4. le client récupère la réponse et reprend son exécution Contrat de service

1-2

Contexte

Requête

Serveur interface

Client

Document métier XML

implémentation

3 Service

4

Réponse

Référence : Page : 17

Web Services / standards technologiques DEI

◗ HTTP (HyperText Transfer Protocol)  Application Web : assure le transport des formulaires Web  WS : assure le transport des messages échangés (format SOAP)  L ’URL permet d ’atteindre un service web

◗XML (eXtensible Markup Language)  Utilisé pour décrire les messages échangés entre applicatifs.  Offre une représentation en mode texte  XML-Schema permet de manipuler des données structurées et typées.

Référence : Page : 18

Web Services / standards technologiques DEI

◗ Protocole SOAP  Protocole de communication entre applications: Sans état ● Unidirectionnel ● Indépendant du protocole de communication.  Basé sur XML et les namespaces.  Permet d’utiliser les protocoles du Web (HTTP, SMTP, …)  Indépendant de la plateforme (windows, unix, mac, …)  Simple et extensible  Bientôt un standard w3c (SOAP 1.2). ●

Référence : Page : 19

Web Services / standards technologiques DEI

◗ Protocole SOAP  Permet d’envoyer des messages XML entre deux machines.  Les messages sont encapsulés dans une enveloppe SOAP ● ●

L’enveloppe SOAP utilise un XML schéma prédéfini Le schéma du message dépend de l’application

Application Message SOAP Envelope

Référence : Page : 20

Web Services / standards technologiques DEI

◗ Focus : Enveloppe SOAP  Enveloppe technique qui encapsule message XML - Format d ’échange  Constitué de deux parties ●



le

une partie entête (header) - Facultative •

véhicule des données techniques



exploitée par l ’infrastructure

une partie données (body) - charge utile (payload) - Obligatoire •

véhicule des données métier

 Sa génération est automatique ●

pas d ’effort de la part du développeur



API JAX-RPC Référence : Page : 21

Web Services / standards technologiques DEI

◗ Exemple de message SOAP

Référence : Page : 22

Web Services / standards technologiques DEI

◗ Modélisation des messages XML  Style Document/RPC  Encodage Literal/Encoded

Référence : Page : 23

Web Services / standards technologiques DEI

◗ WSDL (Web Service Description Langage)

WD W3C

 C’est un document XML (possède son propre schéma)  Standardise la description des services web (carte d’identité)  On y trouve : ●

le nom du service, comment on y accède (adresse)



le noms de ses opérations (traitements)



format des messages échangés



protocole de communication utilisé pour le transport

 …Mais rien sur ce qu ’ils font vraiment  Généré automatiquement par les outils  Sert de point de départ pour la génération des consommateurs de web services.  V1.2 (WS-I Basic Profil 1.0 : v1.1) Référence : Page : 24

Web Services / standards technologiques DEI

Référence : Page : 25

Web Services / standards technologiques DEI

◗ Exemple WSDL GIDE

Référence : Page : 26

Web Services / standards technologiques DEI

◗ UDDI (Universal Description Discovery and Integration)  Standard d ’annuaire pour les web services  Contient les données utilisées pour la classification et la recherche des services  Rôle de tiers intermédiaire  UDDI est donc plus une « registry » qu’un « repository »  Le consommateur d ’adresse à l ’annuaire pour rechercher et localiser un service.  Le fournisseur y enregistre ses services  V3.0 (WS-I Basic Profile 1.0 : v2.0)

Référence : Page : 27

Web Services / Basic Profile DEI

◗ Le Basic Profile 1.0  Ensemble de recommandations édictées par le WS-I (web Service Interoperability) ● SOAP 1.1, WSDL 1.1, UDDI 2.0, XML 1.0, XML-Schema ● supporté par les plateformes J2EE et .NET  Objectif : favorises l ’interopérabilité des web services  surtout destinées aux éditeurs de logiciel de parseur SOAP  Quelques règles à connaître : ● Exclusion du SOAP Encoding ● Utilisation du mode RPC-Literal ou Document-Literal ● Utilisation SOAP/HTTP ● Utilisation du HTTP POST (pas GET) ● Utilisation WSDL 1.1 pour décrire les WS Référence : Page : 28

Web Services / infrastructure technique DEI

◗Réutilisation de l ’infrastructure web existante - pas de rupture  Firewall, IDS (Intrusion Detection System), serveur HTTP, serveur d ’application, outils d ’administration et de développement

◗Extensions possibles  Les Firewalls XML / Proxy XML ●

vérifier la validité des messages / schéma



Détecter du code malicieux



jouer un rôle de filtrage/routage (XPATH)



fournir un mécanisme de cache



apporter des fonctionnalités de sécurité (SAML, XML-DS, XML-Encryption)

 Boîtiers « clef en main » ●

IBM (datapower), CISCO

 Catalogue de Web Service Référence : Page : 29

Les Web Services DEI

◗La conception d’un web service J2EE  Démarche top/down | bottom/up Principe de fonctionnement Les API /JSR  Outillage

Référence : Page : 30

Web Services / Démarche DEI

◗Création d ’un Web Service : approche Top/Down

implémentation du service

Référence : Page : 31

Web Services / Démarche DEI

◗Création d ’un web service : approche Bottom/Up ◗Toute classe Java peut-être automatiquement exposée comme un service (style RPC) Une opération par méthode Génération des messages SOAP Sérialisation/déserialisation des types courants Gestion des exceptions Génération automatique du WSDL

Référence : Page : 32

Web Services / Démarche DEI

◗Création du client (consommateur WS)  Point d’entrée : WSDL du Service WEB  La génération des classes Java s ’opère depuis l’atelier de développement (fournit les wizards adéquats)  Génération automatique ● des messages SOAP ● Sérialisation/déserialisation des types courants Gestion des erreurs ● Conversion des SOAP Faults en exceptions java Génération de “stubs” à partir du WSDL: ● Un objet local qui invoque automatiquement le service web correpondant Référence : Page : 33

Web Services / Démarche DEI

◗Création du client (suite)  Il est possible de compléter le code générer : ●

ajouter un système de cache pour les données en lecture uniquement (évite les appels inutiles)



mettre en place un mécanisme de bouchon (facilite les tests d ’intégration du client)



masquer les éventuels appels à un annuaire UDDI





 Les clients d ’applications J2EE ●

possibilité de localiser un web service à partir de l ’annuaire JNDI

Référence : Page : 34

Web Services / Principe de fonctionnement DEI

import javax.xml.rpc.Service ; import com.icdc.webservices.HelloWorld ; import com.icdc.webservices.HelloWorldService ; HelloWorldService service = ... // récupération du service // on récupère un stub du web service « HelloWorld » // (l’interface HelloWorld est l’interface du SEI du web service) HelloWorld helloWorld = (HelloWorld) service.getHelloWorld (); // on appelle le web service HelloWorld String result = helloWorld.hithere("toto");

Référence : Page : 35

Web Services / Les JSR à connaître DEI

◗JSR 101 : spécification de JAX-RPC 1.1 (JSR 224 : JAX-RPS 2.0)  Principes de mapping entre WSDL et Java  + une API pour traiter les flux SOAP  Spécification du cycle de vie de la servlet à l ’écoute du flux SOAP

◗JSR 31 : spécification de JAXB 1.0 (JSR 222 : JAXB 2.0)  Permet d’associer des classes Java à des schemas XML et des instances de ces classes aux documents XML.

◗JSR 109 : spécification des modes d ’implémentation des endpoint  Sous la forme d ’une servlet (JSR 101)  Sous la forme d ’un EJB Session Stateless Spécifie l’usage des fichiers de déploiement Référence : Page : 36

Web Services / outillage DEI

◗Ces normes font désormais partie intégrante de la plateforme J2EE 1.4 ◗Situation de la Caisse des dépôts  Websphere 5.1 est compatible J2EE 1.3 et JAX-RPC 1.0 (JSR101) et JSR 109. Tomcat n ’est pas un conteneur J2EE (uniquement WEB)

◗Les web services sont développés :  Eclipse 3.2 + Web Tools Platform 1.5  s ’appuie sur Axis 1.3 (implémentation SOAP d ’Apache - Open Source)  Web service sont déployés sous la forme d ’une aplication Web ●

Peut être utilisée avec tout serveur J2EE Référence : Page : 37

Web Services / outillage DEI

◗Démo création d ’un web service avec Eclipse 3.2

Référence : Page : 38

Les Web Services DEI

◗Limites et Questions essentielles

Référence : Page : 39

DEI

Les Web Services / Limites -Questions essentielles

◗Systèmes monolothiques  impossible ou trop coûteux d ’exposer des web services

◗Définir la bonne granularité  Problème de performance ●

Privilégier d ’autres technologies (EJB, …) ?

◗Web Services Hell  Mise en place d ’une politique de gestion des versions  Prolifération des services web ●

Eviter le couplage point-à-point des applications

◗Principal mode de communication : synchrone Référence : Page : 40

◗Peu adaptés aux batchs, au transfert en masse de données

DEI

Les Web Services / Limites -Questions essentielles

◗Aspects transactionnels ◗Audit / Traçabilité ◗Mettre en place une politique de tests  comme pour les applications web classiques

◗Mettre en place une politique de Bench  Validé la robustesse du service

Référence : Page : 41

Les Web Services DEI

◗Au delà du simple Service Web  Les exigences de sécurité des web services  Des standards qui évoluent

Référence : Page : 42

Les Web Services / La sécurité DEI

◗ La sécurité est sans doute le sujet le plus important lorsque l ’on expose son système d ’information à travers des services web.  Vérification de l ’identité de l’émetteur  Confidentialité des données échangées  Intégrité des données  Habilitations  Protection contre les attaques  Non-répudiation

Référence : Page : 43

Les Web Services / La sécurité DEI

◗ Vérification de l ’identité de l’émetteur  Echanges entre serveurs d ’assertions de sécurité (jetons de sécurité, certificats, …)  WS-Security(XML Digital Signature) - SAML Filtrage adresse IP

◗ Confidentialité des données échangées  HTTPS (HTTP over SSL) - VPN  WS-Security(XML-Encryption)

◗ Intégrité des données  Utilisation d ’algorithme MAC (Message Authentification Code) pour détecter les modifications des messages

Référence : Page : 44

Les Web Services / La sécurité DEI

◗ Habilitations  XACML (XML Access Control Markup Langague) - OASIS ●

une syntaxe XML standard de description de contrôle d ’accès aux ressources



un protocole de requête/réponse permettant de vérifier un droit d ’accès

 JAAS

◗ Protection contre les attaques Firewalls, IDS, ...

Référence : Page : 45

DEI

Les Web Services / Des standards qui évoluent

◗Transaction BTP, WS-Transaction & Coordination

◗Intégrité, confidentialité XML Encryption, WS Security

◗Single Sign On SAML

◗Gestion de clés publiques/privées XKMS

◗Représentation des processus BPEL, BPML, XLANG, WSFL, WSCI, WS Choreography

Référence : Page : 46

Les Web Services DEI

◗Références DEILab  Mise en œuvre de Web Services avec J2EE (DSE13/FB/04-470)  Guide création web service (C-LABPR_WS_06-245)  Accès à un Service Web J2EE (C-LABPR_WS_06-250)

Référence : Page : 47

Related Documents

Presentation Web Services
November 2019 3
Web Services
November 2019 38
Web Services
November 2019 48
Web Services
November 2019 43
Web Services
November 2019 37