SlideShare une entreprise Scribd logo
Développement web avec
Visual Studio 2012 et ASP.NET




Module 7 – Intégration d’AJAX et des Services Web

                                                    Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




     Objectifs du module                                                                                      2



   Permettre aux développeurs de créer des services web orientés AJAX
   Permettre aux développeurs d’appeler ces services à partir de JavaScript
   Permettre d’activer le rafraîchissement partiel dans une page web




Module 7 -Intégration d’AJAX et des Services Web                 Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




     Plan du module                                                                                 3



   Technologies AJAX
   Chargement Partiel Des Pages
   Services Web




Module 7 -Intégration d’AJAX et des Services Web       Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




                 4
                                                     Module 7 - Intégration d’AJAX et des Services Web




                                            Section 1 : Technologies AJAX


Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      Introduction à AJAX                                                                                                    5




         Asynchronous Javascript And XML




                                                                                                               Module 7 - Intégration d’AJAX et des Services
         AJAX est un ensemble de technologies intégrant le web 2.0
         AJAX permet d’augmenter la réactivité des pages et des applications web
         Entre autres, AJAX permet le rafraîchissement partiel des pages et




                                                                                                                                    Web
          l’invocation asynchrone des services web
         AJAX est indépendant des plateformes, des navigateurs et des langages de
          programmation


Section 1 : Technologies AJAX                                       Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      Requêtes AJAX                                                                                                          6




         Ajax crée des requêtes de type « XMLHttpRequest » permettant le




                                                                                                               Module 7 - Intégration d’AJAX et des Services
          dialogue avec le serveur
         Plusieurs formats peuvent être utilisés pour les données échangées entre
          serveurs et clients : XML ou JSON (JavaScript Object Notation)




                                                                                                                                    Web
         JSON est de plus en plus apprécié par la communauté des développeurs
          car il permet aux réponses d’être directement manipulées par JavaScript
          et réduit la taille des données



Section 1 : Technologies AJAX                                       Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      Implémentation dans ASP.NET                                                                                                  7




                                ASP.NET AJAX       Serveur




                                                                                                                     Module 7 - Intégration d’AJAX et des Services
                                                                                                                                          Web
                Client




                                                             Client
                                  Microsoft AJAX
                                                                      JQuery
                                      Library



Section 1 : Technologies AJAX                                             Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      Implémentation d’AJAX                                                                                                    8




         Les contrôles côté serveur permettent de fournir au clients des services




                                                                                                                 Module 7 - Intégration d’AJAX et des Services
          leur permettant d’intégrer AJAX aux applications
         Les services peuvent être accédés par des bibliothèques côté client telles
          que « Microsoft AJAX Library » ou « JQuery"




                                                                                                                                      Web
Section 1 : Technologies AJAX                                         Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      Le composant ScriptManager                                                                                             9




         Le composant ScriptManager gère l’intégration d’AJAX dans les




                                                                                                               Module 7 - Intégration d’AJAX et des Services
          applications web
         L’une des fonctionnalités du ScriptManager est de permettre le
          chargement partiel des pages en utilisant le composant UpdatePanel




                                                                                                                                    Web
         ScriptManager permet aussi d’exposer les services web aux clients afin
          d’être invoqués par JavaScript ou des bibliothèques comme JQuery




Section 1 : Technologies AJAX                                       Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012

                                                 Module 7 - Intégration d’AJAX et des Services Web




                 10
                                                                        Pages
                                            Section 2 : Chargement Partiel Des




Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      Le composant UpdatePanel                                                                                    11




          Le composant UpdatePanel permet de définir des régions dans la page qui
           seront sujettes à des rafraîchissements partiels




                                                                                                                  Module 7 - Intégration d’AJAX et des Services
          La coordination des rafraîchissements partiels est effectuée par le
           « ScriptManager »




                                                                                                                                       Web
          Pour les postbacks, le cycle de vie reste le même sauf que lorsque le HTML
           généré, uniquement les régions définies par un UpdatePanel sont mises à
           jour
          UpdateProgress s’affiche lorsqu’une requête de rafraîchissement est
           générée. Il affiche par exemple une GIF animée indiquant le chargement.


Section 2 : Rafraîchissement Partiel des Pages                         Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      UpdatePanel, Principales Propriétés                                                                                                     12



  Classe                                    Description
  ContentTemplate                           Le contenu du panneau




                                                                                                                                              Module 7 - Intégration d’AJAX et des Services
  UpdateMode                                Lorsque « UpdateMode » est à « Conditional », le panneau ne se met à jour
                                            que si le postback provient de l’intérieur du panneau. S’il est à « Always »,
                                            UpdatePanel se met à jour même si le postback provient d’un autre
                                            endroit.




                                                                                                                                                                   Web
Section 2 : Rafraîchissement Partiel des Pages                                                     Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      UpdateProgress, principales propriétés                                                                                                   13



  Classe                                    Description
  AssociatedUpdatePa Le « UpdatePanel » associé. Le « UpdateProgress » ne s’affiche que si un
  nelID Property     postback est généré à partir d’un panneau associé. Si aucun panneau




                                                                                                                                               Module 7 - Intégration d’AJAX et des Services
                     n’est associé, « UpdateProgress » s’affiche avec n’importe quel panneau
                     dans la page
  DisplayAfter                              Temps après lequel le panneau doit s’afficher. Pour éviter l’affichage pour
                                            les requêtes qui sont traitées rapidement.




                                                                                                                                                                    Web
  ProgressTemplate                          Modèle qui définit les balises à afficher lorsqu’il y a une requête AJAX
                                            émise.




Section 2 : Rafraîchissement Partiel des Pages                                                      Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      Tutoriel 7.1 : Rafraîchissement Partiel des Pages                                         14




         • Lancer Tutoriel 7.1, étape 1 et 2




                                                                                                Module 7 - Intégration d’AJAX et des Services
                                                                                                                     Web
Section 2 : Rafraîchissement Partiel des Pages       Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012

                                                    Module 7 - Intégration d’AJAX et des Services Web




                 15
                                            Section 3 : Services Web


Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      Introduction                                                                                                16




          Les services web permet aux clients (consommateurs) des fournir des




                                                                                                                  Module 7 - Intégration d’AJAX et des Services
           fonctionnalités sans avoir accès aux codes et aux binaires de l’application
          Les services web sont un excellent moyen d’assurer l’interopérabilité des
           systèmes vu que le clients et les serveurs peuvent être sur des plateformes




                                                                                                                                       Web
           différentes
          Les services web sont accessibles vu qu’ils utilisent HTTP comme moyen
           de transport



Section 3 : Services Web                                               Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      Windows Communication Foundation                                                                             17




          WCF permet la construction et le déploiement de services web




                                                                                                                   Module 7 - Intégration d’AJAX et des Services
          WCF est une composante du .NET Framework
          Un service WCF est construit en C# comme n’importe quelle application
          Un service WCF peut être hébergé dans IIS, dans un service Windows ou




                                                                                                                                        Web
           dans une application dédiée
          WCF prend en charge tous les protocoles et les formats d’échange
          WCF est configurable via les fichiers de configuration


Section 3 : Services Web                                                Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      Services WCF                                                                                                     18




          Les services WCF sont des modules fonctionnels accessibles en boîte noire via le




                                                                                                                       Module 7 - Intégration d’AJAX et des Services
           réseau ou internet
          Les services sont basés sur des standards internet tels que HTTP, XML ou JSON
          Les consommateurs des services ne sont pas forcément des applications .NET




                                                                                                                                            Web
          Les fonctionnalités sont exposées à travers les services sous forme de contrats
          Grâce aux mécanismes de sérialisation, WCF peut fournir des données sous
           forme d’objets .NET aux clients même dans d’autres plateformes




Section 3 : Services Web                                                    Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      Points d’accès WCF                                                                                     19



 Un point d’accès WCF est un élément permettant de se connecter et de
  consommer un service WCF : il est composé des éléments suivants :




                                                                                                             Module 7 - Intégration d’AJAX et des Services
                                          Adresse




                                                                                                                                  Web
                           Comportement             Binding




                                          Contrat




Section 3 : Services Web                                          Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      WCF / Adresse                                                                                   20



 Utiliser par les clients pour localiser le service
 L’adresse est représentée par une URI




                                                                                                      Module 7 - Intégration d’AJAX et des Services
                                                                                                                           Web
Section 3 : Services Web                                   Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      WCF / Binding                                                                                          21



 Spécifie quel protocole utiliser pour le transport : HTTP ou TCP
 Comment formater et sérialiser les messages (Binaires / XML / JSON)




                                                                                                             Module 7 - Intégration d’AJAX et des Services
 Des contraintes de sécurité comme SSL




                                                                                                                                  Web
Section 3 : Services Web                                          Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      WCF / Contrat                                                                                            22



 Le contrat est l’ensemble des fonctionnalités offertes par le service et
  utilisées par le client




                                                                                                               Module 7 - Intégration d’AJAX et des Services
 Le contrat indique quelles opérations peuvent êtres appelées par les
  clients et avec quels paramètres
 Le contrat indique les données renvoyées par un service




                                                                                                                                    Web
Section 3 : Services Web                                            Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      WCF / Comportements                                                                                   23



 Les comportements définissent certaines contraintes techniques requises
  ou fournies par le service




                                                                                                            Module 7 - Intégration d’AJAX et des Services
 Les comportements définissent des attributs comme la sécurité, le cache,
  le logging ou la gestion de la concurrence




                                                                                                                                 Web
Section 3 : Services Web                                         Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      WCF Exemple de configuration                                                                                                              24


<system.serviceModel>

    <behaviors>

      <endpointBehaviors>

        <behavior name="TestAJAX.ProductServiceAspNetAjaxBehavior">




                                                                                                                                                Module 7 - Intégration d’AJAX et des Services
          <enableWebScript />

        </behavior>

      </endpointBehaviors>

    </behaviors>

    <serviceHostingEnvironment aspNetCompatibilityEnabled="true"




                                                                                                                                                                     Web
      multipleSiteBindingsEnabled="true" />

    <services>

      <service name="TestAJAX.ProductService">

        <endpoint address="" behaviorConfiguration="TestAJAX.ProductServiceAspNetAjaxBehavior"

          binding="webHttpBinding" contract="TestAJAX.ProductService" />

      </service>

    </services>

 </system.serviceModel>



Section 3 : Services Web                                                                             Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      Tutoriel 7.1 : Création d’un Service Web                                                  25




         • Lancer Tutoriel 7.1, étape 3




                                                                                                Module 7 - Intégration d’AJAX et des Services
                                                                                                                     Web
Section 3 : Services Web                             Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      Accès aux Services WCF depuis un client JavaScript                                                     26



 Grâce à la propriété « Services » du composant « ScriptManager »,
  ASP.NET génère des « proxies » qui permettent aux fonctions écrites en




                                                                                                             Module 7 - Intégration d’AJAX et des Services
  JavaScript d’appeler directement des services WCF
 « ScriptManager » permet une intégration transparente avec « Jquery »
  ou « Microsoft Ajax Library »




                                                                                                                                  Web
 Les services peuvent être appelés directement en utilisant « $.ajax » de
  JQuery et l’URL du service




Section 3 : Services Web                                          Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      Tutoriel 7.1 : Invocation du service depuis JavaScript                                  27




         • Lancer Tutoriel 7.1, étape 4




                                                                                              Module 7 - Intégration d’AJAX et des Services
                                                                                                                   Web
Section 3 : Services Web                           Copyright © 2013, Mostefai Mohammed Amine

Contenu connexe

PPTX
Module 5 validation de données
PPTX
Module 6 développement d'applications de bases de données avec asp.net
PPTX
Module 8 programmation avancée d'asp.net
PPTX
Module 4 navigation et homogénéisation des les applications web
PPTX
Module 2 introduction à asp.net web forms
PPTX
Sécurisation des applications ASP.NET
PPTX
Module 3 intégration de traitement dans les applications web asp.net
PPTX
Module 1 introduction au développement web avec visual studio 2012
Module 5 validation de données
Module 6 développement d'applications de bases de données avec asp.net
Module 8 programmation avancée d'asp.net
Module 4 navigation et homogénéisation des les applications web
Module 2 introduction à asp.net web forms
Sécurisation des applications ASP.NET
Module 3 intégration de traitement dans les applications web asp.net
Module 1 introduction au développement web avec visual studio 2012

Tendances (20)

PPTX
Workflow Foundation - Cours 5
PPTX
Développement Web - Module 1 - Introduction
PPT
Asp.net Présentation de L'application "Organizer"
PPTX
Le langage html
PDF
Asp.net Tutorials de L'application "Organizer"
PDF
Mémoire de Licence, site web dynamique sous JEE, application aux entreprises ...
PPT
Présentation WPF
PPTX
Présentation prime facesfinal
PDF
Cv ines ouaz
PDF
J2eeintro
PDF
Application Spring MVC/IOC & Hibernate
PDF
Prototype rapport
PDF
Java Entreprise Edition
PDF
Jsf 110530152515-phpapp01
PPTX
Silverlight 3.MSDays EPITA 11/06/2009
PDF
Cv Ouaz Ines
PPT
Portails Etat De L'art
PPTX
Outillage pour Windows 8 XAML
PDF
Workflow Foundation - Cours 5
Développement Web - Module 1 - Introduction
Asp.net Présentation de L'application "Organizer"
Le langage html
Asp.net Tutorials de L'application "Organizer"
Mémoire de Licence, site web dynamique sous JEE, application aux entreprises ...
Présentation WPF
Présentation prime facesfinal
Cv ines ouaz
J2eeintro
Application Spring MVC/IOC & Hibernate
Prototype rapport
Java Entreprise Edition
Jsf 110530152515-phpapp01
Silverlight 3.MSDays EPITA 11/06/2009
Cv Ouaz Ines
Portails Etat De L'art
Outillage pour Windows 8 XAML
Publicité

En vedette (20)

PPTX
PPTX
Le Langage CSS
PPTX
Microsoft Workflow Foundation - Cours 2
PPTX
Présentation cloud journée azure
PPTX
Introduction to Workflow Foundation
PPTX
Introduction aux technologies mobiles
PPTX
Méthodes Agiles - Généralités
PPTX
Le Manifeste Agile
PPTX
Présentation sharepoint 2013
PPSX
Cours Génie Logiciel - Cours 2 - Cycles de vie
PPTX
Ws asp.net
PPTX
Mieux Filtrer ses listes WordPress avec Ajax et WP_Query
ODP
Ajax et Accessibilite
PPTX
Accéder au développement Dot.Net et Asp.Net
PDF
ASP.NET MVC 6
PDF
Veille et information partagée
PDF
Ajax en Java - GTI780 & MTI780 - ETS - A09
PPTX
Quoi de neuf dans ASP.NET 4.5
PDF
Ajax (Asynchronous JavaScript and XML)
PDF
Design Thinking Assignment
Le Langage CSS
Microsoft Workflow Foundation - Cours 2
Présentation cloud journée azure
Introduction to Workflow Foundation
Introduction aux technologies mobiles
Méthodes Agiles - Généralités
Le Manifeste Agile
Présentation sharepoint 2013
Cours Génie Logiciel - Cours 2 - Cycles de vie
Ws asp.net
Mieux Filtrer ses listes WordPress avec Ajax et WP_Query
Ajax et Accessibilite
Accéder au développement Dot.Net et Asp.Net
ASP.NET MVC 6
Veille et information partagée
Ajax en Java - GTI780 & MTI780 - ETS - A09
Quoi de neuf dans ASP.NET 4.5
Ajax (Asynchronous JavaScript and XML)
Design Thinking Assignment
Publicité

Similaire à Module 7 intégration d'ajax et les services web dans les applications asp.net (20)

PPT
PDF
Ajax - GTI780 & MTI780 - ETS - A08
KEY
Introduction aux RIA (Rich Internet Applications)
PDF
Ajax GTI780 & MTI780 ETS A09
PDF
Ajax intro 2pp
PPT
Introduction aux Technologies Web élaborée par Marouan OMEZZINE
PDF
Normes avancées du Web - GTI780 & MTI780 - ETS - A09
PDF
cours web developpement statique AJAX 2024
PPTX
TypeScript for dummies
PPT
La plateforme Web Microsoft
PDF
Gwt
PDF
Normes avancées du Web - GTI780 & MTI780 - ETS - A08
PPTX
USI 2009 - Du RIA pour SI
PPTX
[TechDays 2012] : Quoi de neuf dans ASP.NET 4.5
PDF
Panel de solutions javascript
PDF
Dotnet j2 ee
PPTX
Présentation2
PDF
Ajax en Java - GTI780 & MTI780 - ETS - A08
PPT
ASP NET-WEB FORMS cours de 2eme tdi asp .net
PDF
Tk08 Silverlight Une Cure De Jouvence Pour Vos Applications Asp Fr
Ajax - GTI780 & MTI780 - ETS - A08
Introduction aux RIA (Rich Internet Applications)
Ajax GTI780 & MTI780 ETS A09
Ajax intro 2pp
Introduction aux Technologies Web élaborée par Marouan OMEZZINE
Normes avancées du Web - GTI780 & MTI780 - ETS - A09
cours web developpement statique AJAX 2024
TypeScript for dummies
La plateforme Web Microsoft
Gwt
Normes avancées du Web - GTI780 & MTI780 - ETS - A08
USI 2009 - Du RIA pour SI
[TechDays 2012] : Quoi de neuf dans ASP.NET 4.5
Panel de solutions javascript
Dotnet j2 ee
Présentation2
Ajax en Java - GTI780 & MTI780 - ETS - A08
ASP NET-WEB FORMS cours de 2eme tdi asp .net
Tk08 Silverlight Une Cure De Jouvence Pour Vos Applications Asp Fr

Plus de Mohammed Amine Mostefai (10)

PPTX
Utilisation de Sharepoint (Collaboration)
PPTX
Utilisation de Sharepoint 2013 - Personnalisation
PPTX
Utilisation Sharepoint (Listes)
PPTX
Utilisation de Sharepoint - Gestion de Documents
PPTX
Utilisation de Sharepoiunt - Introduction
PPTX
Pratiques agiles
PPTX
Introduction à Scrum
PPTX
Méthodes Agiles - La Méthode XP
PPTX
Workflow Foundation Module 4
PPTX
Conduite de projet innovants
Utilisation de Sharepoint (Collaboration)
Utilisation de Sharepoint 2013 - Personnalisation
Utilisation Sharepoint (Listes)
Utilisation de Sharepoint - Gestion de Documents
Utilisation de Sharepoiunt - Introduction
Pratiques agiles
Introduction à Scrum
Méthodes Agiles - La Méthode XP
Workflow Foundation Module 4
Conduite de projet innovants

Dernier (7)

PDF
FORMATION EN Programmation En Langage C.pdf
PPTX
Souveraineté numérique - Définition et enjeux pour les entreprises et les dév...
PDF
FORMATION COMPLETE EN EXCEL DONE BY MR. NYONGA BRICE.pdf
PDF
Modems expliqués- votre passerelle vers Internet.pdf
PDF
Tendances tech 2025 - SFEIR & WENVISION.pdf
PDF
presentation_with_intro_compressee IEEE EPS France
PPTX
Presentation_Securite_Reseaux_Bac+2.pptx
FORMATION EN Programmation En Langage C.pdf
Souveraineté numérique - Définition et enjeux pour les entreprises et les dév...
FORMATION COMPLETE EN EXCEL DONE BY MR. NYONGA BRICE.pdf
Modems expliqués- votre passerelle vers Internet.pdf
Tendances tech 2025 - SFEIR & WENVISION.pdf
presentation_with_intro_compressee IEEE EPS France
Presentation_Securite_Reseaux_Bac+2.pptx

Module 7 intégration d'ajax et les services web dans les applications asp.net

  • 1. Développement web avec Visual Studio 2012 et ASP.NET Module 7 – Intégration d’AJAX et des Services Web Copyright © 2013, Mostefai Mohammed Amine
  • 2. Développement web avec ASP.NET et Visual Studio 2012 Objectifs du module 2  Permettre aux développeurs de créer des services web orientés AJAX  Permettre aux développeurs d’appeler ces services à partir de JavaScript  Permettre d’activer le rafraîchissement partiel dans une page web Module 7 -Intégration d’AJAX et des Services Web Copyright © 2013, Mostefai Mohammed Amine
  • 3. Développement web avec ASP.NET et Visual Studio 2012 Plan du module 3  Technologies AJAX  Chargement Partiel Des Pages  Services Web Module 7 -Intégration d’AJAX et des Services Web Copyright © 2013, Mostefai Mohammed Amine
  • 4. Développement web avec ASP.NET et Visual Studio 2012 4 Module 7 - Intégration d’AJAX et des Services Web Section 1 : Technologies AJAX Copyright © 2013, Mostefai Mohammed Amine
  • 5. Développement web avec ASP.NET et Visual Studio 2012 Introduction à AJAX 5  Asynchronous Javascript And XML Module 7 - Intégration d’AJAX et des Services  AJAX est un ensemble de technologies intégrant le web 2.0  AJAX permet d’augmenter la réactivité des pages et des applications web  Entre autres, AJAX permet le rafraîchissement partiel des pages et Web l’invocation asynchrone des services web  AJAX est indépendant des plateformes, des navigateurs et des langages de programmation Section 1 : Technologies AJAX Copyright © 2013, Mostefai Mohammed Amine
  • 6. Développement web avec ASP.NET et Visual Studio 2012 Requêtes AJAX 6  Ajax crée des requêtes de type « XMLHttpRequest » permettant le Module 7 - Intégration d’AJAX et des Services dialogue avec le serveur  Plusieurs formats peuvent être utilisés pour les données échangées entre serveurs et clients : XML ou JSON (JavaScript Object Notation) Web  JSON est de plus en plus apprécié par la communauté des développeurs car il permet aux réponses d’être directement manipulées par JavaScript et réduit la taille des données Section 1 : Technologies AJAX Copyright © 2013, Mostefai Mohammed Amine
  • 7. Développement web avec ASP.NET et Visual Studio 2012 Implémentation dans ASP.NET 7 ASP.NET AJAX Serveur Module 7 - Intégration d’AJAX et des Services Web Client Client Microsoft AJAX JQuery Library Section 1 : Technologies AJAX Copyright © 2013, Mostefai Mohammed Amine
  • 8. Développement web avec ASP.NET et Visual Studio 2012 Implémentation d’AJAX 8  Les contrôles côté serveur permettent de fournir au clients des services Module 7 - Intégration d’AJAX et des Services leur permettant d’intégrer AJAX aux applications  Les services peuvent être accédés par des bibliothèques côté client telles que « Microsoft AJAX Library » ou « JQuery" Web Section 1 : Technologies AJAX Copyright © 2013, Mostefai Mohammed Amine
  • 9. Développement web avec ASP.NET et Visual Studio 2012 Le composant ScriptManager 9  Le composant ScriptManager gère l’intégration d’AJAX dans les Module 7 - Intégration d’AJAX et des Services applications web  L’une des fonctionnalités du ScriptManager est de permettre le chargement partiel des pages en utilisant le composant UpdatePanel Web  ScriptManager permet aussi d’exposer les services web aux clients afin d’être invoqués par JavaScript ou des bibliothèques comme JQuery Section 1 : Technologies AJAX Copyright © 2013, Mostefai Mohammed Amine
  • 10. Développement web avec ASP.NET et Visual Studio 2012 Module 7 - Intégration d’AJAX et des Services Web 10 Pages Section 2 : Chargement Partiel Des Copyright © 2013, Mostefai Mohammed Amine
  • 11. Développement web avec ASP.NET et Visual Studio 2012 Le composant UpdatePanel 11  Le composant UpdatePanel permet de définir des régions dans la page qui seront sujettes à des rafraîchissements partiels Module 7 - Intégration d’AJAX et des Services  La coordination des rafraîchissements partiels est effectuée par le « ScriptManager » Web  Pour les postbacks, le cycle de vie reste le même sauf que lorsque le HTML généré, uniquement les régions définies par un UpdatePanel sont mises à jour  UpdateProgress s’affiche lorsqu’une requête de rafraîchissement est générée. Il affiche par exemple une GIF animée indiquant le chargement. Section 2 : Rafraîchissement Partiel des Pages Copyright © 2013, Mostefai Mohammed Amine
  • 12. Développement web avec ASP.NET et Visual Studio 2012 UpdatePanel, Principales Propriétés 12 Classe Description ContentTemplate Le contenu du panneau Module 7 - Intégration d’AJAX et des Services UpdateMode Lorsque « UpdateMode » est à « Conditional », le panneau ne se met à jour que si le postback provient de l’intérieur du panneau. S’il est à « Always », UpdatePanel se met à jour même si le postback provient d’un autre endroit. Web Section 2 : Rafraîchissement Partiel des Pages Copyright © 2013, Mostefai Mohammed Amine
  • 13. Développement web avec ASP.NET et Visual Studio 2012 UpdateProgress, principales propriétés 13 Classe Description AssociatedUpdatePa Le « UpdatePanel » associé. Le « UpdateProgress » ne s’affiche que si un nelID Property postback est généré à partir d’un panneau associé. Si aucun panneau Module 7 - Intégration d’AJAX et des Services n’est associé, « UpdateProgress » s’affiche avec n’importe quel panneau dans la page DisplayAfter Temps après lequel le panneau doit s’afficher. Pour éviter l’affichage pour les requêtes qui sont traitées rapidement. Web ProgressTemplate Modèle qui définit les balises à afficher lorsqu’il y a une requête AJAX émise. Section 2 : Rafraîchissement Partiel des Pages Copyright © 2013, Mostefai Mohammed Amine
  • 14. Développement web avec ASP.NET et Visual Studio 2012 Tutoriel 7.1 : Rafraîchissement Partiel des Pages 14 • Lancer Tutoriel 7.1, étape 1 et 2 Module 7 - Intégration d’AJAX et des Services Web Section 2 : Rafraîchissement Partiel des Pages Copyright © 2013, Mostefai Mohammed Amine
  • 15. Développement web avec ASP.NET et Visual Studio 2012 Module 7 - Intégration d’AJAX et des Services Web 15 Section 3 : Services Web Copyright © 2013, Mostefai Mohammed Amine
  • 16. Développement web avec ASP.NET et Visual Studio 2012 Introduction 16  Les services web permet aux clients (consommateurs) des fournir des Module 7 - Intégration d’AJAX et des Services fonctionnalités sans avoir accès aux codes et aux binaires de l’application  Les services web sont un excellent moyen d’assurer l’interopérabilité des systèmes vu que le clients et les serveurs peuvent être sur des plateformes Web différentes  Les services web sont accessibles vu qu’ils utilisent HTTP comme moyen de transport Section 3 : Services Web Copyright © 2013, Mostefai Mohammed Amine
  • 17. Développement web avec ASP.NET et Visual Studio 2012 Windows Communication Foundation 17  WCF permet la construction et le déploiement de services web Module 7 - Intégration d’AJAX et des Services  WCF est une composante du .NET Framework  Un service WCF est construit en C# comme n’importe quelle application  Un service WCF peut être hébergé dans IIS, dans un service Windows ou Web dans une application dédiée  WCF prend en charge tous les protocoles et les formats d’échange  WCF est configurable via les fichiers de configuration Section 3 : Services Web Copyright © 2013, Mostefai Mohammed Amine
  • 18. Développement web avec ASP.NET et Visual Studio 2012 Services WCF 18  Les services WCF sont des modules fonctionnels accessibles en boîte noire via le Module 7 - Intégration d’AJAX et des Services réseau ou internet  Les services sont basés sur des standards internet tels que HTTP, XML ou JSON  Les consommateurs des services ne sont pas forcément des applications .NET Web  Les fonctionnalités sont exposées à travers les services sous forme de contrats  Grâce aux mécanismes de sérialisation, WCF peut fournir des données sous forme d’objets .NET aux clients même dans d’autres plateformes Section 3 : Services Web Copyright © 2013, Mostefai Mohammed Amine
  • 19. Développement web avec ASP.NET et Visual Studio 2012 Points d’accès WCF 19  Un point d’accès WCF est un élément permettant de se connecter et de consommer un service WCF : il est composé des éléments suivants : Module 7 - Intégration d’AJAX et des Services Adresse Web Comportement Binding Contrat Section 3 : Services Web Copyright © 2013, Mostefai Mohammed Amine
  • 20. Développement web avec ASP.NET et Visual Studio 2012 WCF / Adresse 20  Utiliser par les clients pour localiser le service  L’adresse est représentée par une URI Module 7 - Intégration d’AJAX et des Services Web Section 3 : Services Web Copyright © 2013, Mostefai Mohammed Amine
  • 21. Développement web avec ASP.NET et Visual Studio 2012 WCF / Binding 21  Spécifie quel protocole utiliser pour le transport : HTTP ou TCP  Comment formater et sérialiser les messages (Binaires / XML / JSON) Module 7 - Intégration d’AJAX et des Services  Des contraintes de sécurité comme SSL Web Section 3 : Services Web Copyright © 2013, Mostefai Mohammed Amine
  • 22. Développement web avec ASP.NET et Visual Studio 2012 WCF / Contrat 22  Le contrat est l’ensemble des fonctionnalités offertes par le service et utilisées par le client Module 7 - Intégration d’AJAX et des Services  Le contrat indique quelles opérations peuvent êtres appelées par les clients et avec quels paramètres  Le contrat indique les données renvoyées par un service Web Section 3 : Services Web Copyright © 2013, Mostefai Mohammed Amine
  • 23. Développement web avec ASP.NET et Visual Studio 2012 WCF / Comportements 23  Les comportements définissent certaines contraintes techniques requises ou fournies par le service Module 7 - Intégration d’AJAX et des Services  Les comportements définissent des attributs comme la sécurité, le cache, le logging ou la gestion de la concurrence Web Section 3 : Services Web Copyright © 2013, Mostefai Mohammed Amine
  • 24. Développement web avec ASP.NET et Visual Studio 2012 WCF Exemple de configuration 24 <system.serviceModel> <behaviors> <endpointBehaviors> <behavior name="TestAJAX.ProductServiceAspNetAjaxBehavior"> Module 7 - Intégration d’AJAX et des Services <enableWebScript /> </behavior> </endpointBehaviors> </behaviors> <serviceHostingEnvironment aspNetCompatibilityEnabled="true" Web multipleSiteBindingsEnabled="true" /> <services> <service name="TestAJAX.ProductService"> <endpoint address="" behaviorConfiguration="TestAJAX.ProductServiceAspNetAjaxBehavior" binding="webHttpBinding" contract="TestAJAX.ProductService" /> </service> </services> </system.serviceModel> Section 3 : Services Web Copyright © 2013, Mostefai Mohammed Amine
  • 25. Développement web avec ASP.NET et Visual Studio 2012 Tutoriel 7.1 : Création d’un Service Web 25 • Lancer Tutoriel 7.1, étape 3 Module 7 - Intégration d’AJAX et des Services Web Section 3 : Services Web Copyright © 2013, Mostefai Mohammed Amine
  • 26. Développement web avec ASP.NET et Visual Studio 2012 Accès aux Services WCF depuis un client JavaScript 26  Grâce à la propriété « Services » du composant « ScriptManager », ASP.NET génère des « proxies » qui permettent aux fonctions écrites en Module 7 - Intégration d’AJAX et des Services JavaScript d’appeler directement des services WCF  « ScriptManager » permet une intégration transparente avec « Jquery » ou « Microsoft Ajax Library » Web  Les services peuvent être appelés directement en utilisant « $.ajax » de JQuery et l’URL du service Section 3 : Services Web Copyright © 2013, Mostefai Mohammed Amine
  • 27. Développement web avec ASP.NET et Visual Studio 2012 Tutoriel 7.1 : Invocation du service depuis JavaScript 27 • Lancer Tutoriel 7.1, étape 4 Module 7 - Intégration d’AJAX et des Services Web Section 3 : Services Web Copyright © 2013, Mostefai Mohammed Amine