Web Services Enhancements dans 'net 2'0 - PowerPoint PPT Presentation

1 / 48
About This Presentation
Title:

Web Services Enhancements dans 'net 2'0

Description:

Qu'est-ce qu'un service Web ? Ce sont des processus m tiers ou des donn es accessibles ... On peut envisager gr ce aux services Web de segmenter les applications en ... – PowerPoint PPT presentation

Number of Views:42
Avg rating:3.0/5.0
Slides: 49
Provided by: son4153
Category:

less

Transcript and Presenter's Notes

Title: Web Services Enhancements dans 'net 2'0


1
Web Services Enhancements dans .net 2.0
Adil JiriSenior Developpeur Microsoft
MVPa.jiri_at_netopia-solutions.com
Mouad ElhayadiSenior Developpeur Microsoft
MVPm.hayadi_at_netopia-solutions.com
2
Agenda
  • Web Services Principes fondamentaux
  • Démo Web Service sous Visual .Net 2005
  • Les Services Web sécurisés (WSE)
  • A propos des Web Services Enhancement 3.0
  • Démo Développement dun WS avec WSE 3.0

3
Qu'est-ce qu'un service Web ?
  • Ce sont des processus métiers ou des données
    accessibles via Internet par nimporte quelle
    autre tiers quelle que soit sa nature.
  • Les services Web permettent donc aux
    applications dinteragir entre elles via le web.

4
Qu'est-ce qu'un service Web ?
  • On peut envisager grâce aux services Web de
    segmenter les applications en plusieurs
    composants ou services partagés, qui peuvent
    résider sur des machines différentes et de nature
    complètement hétérogènes.
  • La communication entre les différents acteurs
    se fait via XML et HTTP. Les services Web doivent
    respecter les propriétés suivantes
  • Être accessibles via Internet.
  • Décrire les services qu'ils proposent par un
    fichier descriptif de type XML.
  • Communiquer avec un client sous forme de message
    XML transmis sur Internet via un protocole comme
    HTTP.

5
Exemples de Web Services
  • Exemple de station Météo qui veut vendre ses
    services. Elle veut par exemple partager une
    méthode avec une entreprise tierce (entreprise de
    voyage, de transport, ), cette méthode
    permettrai de trouver la température dune
    région en entrant son code postal 

6
Principe majeur des Web services Interopérabilité
  • Interopérabilité
  • Lindépendance des Langages
  • Lindépendance des platform
  • La possibilité de bien travailler via Internet
  • DCOM, CORBA, RMI insufficient

7
La pile Web Services
UDDI (Discovery)
WSDL (API Description)
SOAP (Messaging)
XML
HTTP (Transport)
8
Comment fonctionne un web service
Northwind Products Web Service
Internet
HTTP
Northwind Products Reseller
9
Principe de fonctionnement dun Web Service
10
Donc Web Service
Définition des applications partagées sur
Internet
Repose sur des protocoles basés sur du XML
UDDI (Universal Description Discovery and
Integration)
WSDL (Web Service Description Langage)
SOAP (Simple Object Access Protocol)
11
Construction des Web Services
12
Construction des Web ServicesASP.NET Web Service
Project
13
Construction des Web ServicesASP.NET Web Service
Project
  • Web.config
  • ASMX file

14
Construction des Web ServicesASPX vs ASMX
  • ASPX
  • ASMX

lt_at_ Page Language"C" AutoEventWireup"true"
CodeFile"Default.aspx.cs" Inherits"_Default" gt
lt_at_ WebService Language"C" CodeBehind"/App_Cod
e/Service.cs" Class"Service" gt
15
Construction Web Services Codebehind Class
using System using System.Web using
System.Web.Services using System.Web.Services.Pro
tocols WebService(Namespace
"http//tempuri.org/") WebServiceBinding(Conform
sTo WsiProfiles.BasicProfile1_1) public class
Service System.Web.Services.WebService
WebMethod public string HelloWorld()
... code ...
16
Construction des Web ServicesPropriétés
  • Propriétés des Informations
  • Description Renvoie ou définit la description
    du service Web.
  • MessageName Renvoie ou définit le nom de la
    méthode qui sera utilisée par les abonnés au
    service web. Par défaut c'est le nom de la
    fonction elle-même qui est employé.

17
Construction des Web ServicesPropriétés
  • Propriétés de Comportement (Behavior)
  • BufferResponse Renvoie ou définit une valeur
    indiquant que la réponse est entièrement traitée
    sur le serveur avant d'être renvoyée vers le
    client (true) ou non (false).
  • CacheDuration Renvoie ou définit le nombre de
    secondes pendant lesquels la réponse sera mise en
    cache.
  • EnableSession Renvoie ou définit une valeur
    booléenne indiquant que l'état de session est
    actif (true) ou non (false).
  • TransactionOption

18
Construction des Web ServicesPropriétés
  • TransactionOption

Renvoie ou définit une option de transaction
(Enumération TransactionOption) du service web.
Les valeurs possibles sont Disabled,NotSupporte
d,Required,Requires,Supported
19
Construction Web Servicesla page de teste du
Framework
20
Construction Web ServicesWSDL Documents
  • XML document qui décrit
  • Les methods de disponibilité
  • Argument de signatures
  • Les types retournés
  • Detail de Protocol
  • Pour voir lajout de ?wsdl à .asmx
  • Basis for proxy class generated by
  • wsdl.exe
  • Visual Studio .NET

21
Construction des Web Services
22
Utilisation des Web Services
23
Utilisation des Web Serviceajouter un Web
Reference
24
Utilisation des Web Serviceajouter un Web
Reference
25
Utilisation des Web ServicesProxy
  • Intermédiaires facilitant la communication /
    interaction
  • Examples IDispatch, COM interop wrappers (RCW)
  • Transparent
  • Manipulation des détails de niveau bas
  • Web service proxy class
  • Represents remote Web service API
  • Derivent de System.Web.Services.Protocols.SoapHttp
    ClientProtocol
  • Manipulation
  • Rassemblement de paramètres
  • Xml sérialisation/déserialisation
  • SOAP Codage/décodage

26
Utilisation des Web ServicesWeb Service Proxy
Class (ctd)
  • Code source dans Référence(.cs)
  • Peux être modifier / étendue
  • Les Changements sont perdus si la référence du
    Web Service est mise à jour
  • Classes Additionnelles pour les types complexes.
  • Trois méthodes pour chaque méthode du Web
  • Une méthodes synchrone
  • Deux asynchronous
  • Propriétés Clefs
  • Url, Timeout, Proxy
  • RequestEncoding, UserAgent
  • AllowAutoRedirection

27
Utilisation Web Servicesappel dun Web Service
NorthwindWS.Northwind nw new NorthwindWS.Northwi
nd() lblProdName.Text nw.GetNameByID(txtID.Text
)
System.Web.Services.Protocols.SoapDocumentMethodA
ttribute("http//www.northwind.com/services/GetNam
eByID", RequestNamespace"http//www.northwind.com
/services", ResponseNamespace"http//www.northwin
d.com/services", UseSystem.Web.Services.Descripti
on.SoapBindingUse.Literal, ParameterStyleSystem.W
eb.Services.Protocols.SoapParameterStyle.Wrapped)
public string GetNameByID(string prodID)
object results this.Invoke("GetNameByID", new
object prodID) return
((string)(results0))
28
Utilisation des Web Service
29
Agenda
  • Web Services Principes fondamentaux
  • Démo Web Service sous Visual .Net 2005
  • Les Services Web sécurisés (WSE)
  • A propos des Web Services Enhancement 3.0
  • Démo Développement dun WS avec WSE 3.0

30
Définition WSE
31
Les Services Web sécurisés (WSE)
  • Objectifs
  • Identification.
  • Confidentialité protection contre la lecture
    non authorisée par un tiers
  • Intégrité des messages Garantie de non
    modfication par un tiers dun contenu.
  • Fiabilité des messages

32
Structure du WSE
Industry-Specific Standards
Workflow
Metadata
Security
Transactions
ReliableMessaging
Messaging
XML
Transport Protocols
33
Les Services Web sécurisés (WSE)
  • Stratégies de sécurité
  • Authentification Authentification Direct /
    Brokered
  • Cryptage Symetrique / asymetrique
  • Couche transport

34
Les différents types Authentification Direct
Participants ? Client. Son rôle est de fournir
les comptes necessaires pour sidentifier . ?
Service. Cest le serivce qui requiert les
comptes nécessaires pour authoriser tout accès au
Web service. ? Identity store. Cest lendroit ou
sont stockés les codes daccès (Domain
controller, Bases de donnèes..)
ProcessEtape 1 nous avons un client qui envoie
la requette Etape 2 Le service lui meme se charge
de vérifier auprés de l'identity Store est ce que
cette utilisateur est authorisé à consulter les
informations Etape 3 Aprés etre sur que
l'utilisateur posséde les droits, le service web
renvoie la réponse au client comme l'indique la
figuer
35
Les différents types Brokered Authentification
Participants ? Client. ? Service?
Authentication broker. ? Identity store.
36
Process Etape 1 Le client envoie la requête
d'authentification vers le Brokerdauthentificati
on Etape 2 le Broker vérifie auprès de
l'identity Store lidentité de lutilisateur. Eta
pe 3 Après validation, le Broker renvoie une
réponse d'authentification (Jeton de sécurité
Security Token) Etape 4 Une fois le jeton est
fourni à l'utilisateur , celui ci envoie sa
requête contenant le jeton vers le service
Etape 5 Le service Web vérifie la validité du
jeton envoyé dans la requête Etape 6 Une fois
validé le service Web emmet la réponse finale
vers le client
37
Cryptage Symètrique
Shared Secret Key
Decrypt
Encrypt
Client
Web Service
Encrypted
Cryptage Asymètrique
38
Scenarios dimplémentation WSE
  • Implémentation Direct Authentication avec
    UsernameToken UsernameOverTransport
  • Implémentation Direct Authentication avec
    UsernameToken UsernameForCertificate

SSL
39
Scenarios dimplémentation WSE
  • Implémentation Brokered Authentication avec
    Kerberos ou X 509
  • Implémentation Brokered Authentication STS
    (Security Token Service)

40
Piliers de WSE 3.0
Indigo
WSE v3.0 combiné avec .NET Framework v2.0 vous
met sur le chemin Indigo
Développement Simplifié de Service-Orientés
systems en utilisant the WS- protocols et
.NET Framework v2.0
Construire des web services facilement
41
  • Les nouveautés WSE 3.0

42
Les nouveautés dans WSE 3.0
  • Simplification de la sécurité des Web services
  • Support de WS- Spécifications WS-Security
    1.1
  • MTOM(Message Transmission Optimization Mechanism
    )
  • SOAP 1.2
  • Accueil (Hosting) Web services en utilisant
    ASP.NET à lextérieur du IIS
  • Gestion de fiabilité de session
  • Plus doutil de sécurité

43
  • Intégration avec VS 2005

44
Intégration avec Visual Studio 2005
45
Console dadministration indépendante de IIS
46
Simplicité de travail un code généré
automatiquement sur la solution
wse3policyCache.config
ltpolicies xmlns"http//schemas.microsoft.com/wse/
2005/06/policy"gt ltpolicy name"MonServiceWeb"gt
ltusernameOverTransportSecuritygt
ltclientTokengt ltusername username"test"
password"test" /gt lt/clientTokengt
lt/usernameOverTransportSecuritygt
ltrequireActionHeader /gt lt/policygt lt/policiesgt
47
Utilisation du WSE 3.0
48
Questions ?
Write a Comment
User Comments (0)
About PowerShow.com