Académique Documents
Professionnel Documents
Culture Documents
ETUDE TEHORIQUE
Les services web sont des fonctions stockées sur un serveur Web et mises à la disposition de
tout le monde. Ressemblent à des classes classiques. Sont basés sur des protocoles tels que
Page : 5 Partie1 : Etude théorique
XML et SOAP transportés par les protocoles http ou https. Le Framework .NET génère lui-
même les en-têtes SOAP et XML.
Chaque service web est identifié par un contrat WSDL. Ce contrat représente la structure
SOAP/XML du Service Web. Il est nécessaire de faire référence au contrat WSDL du Service
Web si on désire le consommer. Le contrat WSDL est visible soit en cliquant sur le lien
"Service description" soit en ajoutant "? WSDL" à la fin de l'url où se trouve le Service Web.
Le langage WSDL est une partie importante des services Web. C'est une grammaire XML qui
décrit précisément quelles méthodes du service sont accessibles et quels sont les types des
paramètres. Grâce à ce fichier, le développement de client est facilité.
HTTP/ HTTPS
Les protocoles HTTP et HTTPS servent à transporter les données sur le réseau entre le
consommateur et le service web. Les données sont sous le format XML et /ou SOAP. Le
serveur où se trouve le service web devra être capable d’exécuter le code de celui-ci et
Partie2 : Etude théorique Page : 6
nécessitera IIS & le framework.la machine du consommateur devra quant à elle disposer de
IIS
UDDI est à la fois un modèle de données permettant de décrire un service web, la définition
d'une interface permettant de manipuler ce modèle de données et la mise à disposition de la
communauté de UDDI sous forme d'un service universel et gratuit.
- il faut obtenir son contrat WSDL nécessaire à la création d'une classe proxy à utiliser par le
consommateur.
On parle ici de trois couches, la couche présentation (Presentation Logic Layer), la couche
métier (Business Logic Layer BLL), et la couche donnée (Data Acces Layer DLL),
Sur un plan technique, l’approche 3 Tiers permet de décomposer une application en trois
parties distinctes :
l’interface : c’est à ce niveau qu’intervient le dialogue entre l’utilisateur et le système,
les échanges entre l’interface et le processus se font via des événements,
le processus : il décrit la logique de l’entreprise ; les communications entre le
processus et les objets se font via des requêtes,
Page : 7 Partie1 : Etude théorique
les objets : ils référencent les données et les règles spécifiques du métier ; ils sont
appelés dès que nécessaire.
Largement forgé par Tim O’Reilly, le concept de "Web 2.0" rassemble des techniques et des
pratiques interactives dédiées à l'Internet. La plupart de ces systèmes ne sont pas nouveaux.
Web 2.0 désigne une nouvelle philosophie de l'usage de l'Internet avant tout. Avec le Web
1.0, les internautes étaient des consommateurs passifs. Avec le Web 2.0, ils génèrent et
échangent des contenus. Quelques exemples classiques: les wikis, les webblogs, les réseaux
sociaux, les portails de photos et de vidéos, les sites de partage (Ebay, Youtube, Wikipedia,
Xing, etc.).
Web 2.0 n'est pas un numéro de version. Web 2.0 est un concept qui marque l'Internet comme
plate-forme qui favorise des modes de conception et des modèles commerciaux pour la
prochaine génération de logiciels. Par souci de simplicité, ma définition du web 2.0 est
l'utilisation de différentes technologies sur une plate-forme de la connexion à beaucoup de
choses pour beaucoup de raisons.
AJAX (Asynchronous JavaScript And XML) désigne une méthode de développement
d'applications pour le Web. Ajax correspond en réalité à l'utilisation conjointe d'un certain
nombre de technologies Web dans le but de produire des contenus interactifs et réactifs ne
nécessitant que peu d'appels au serveur hébergeant la page pour rendre cette dernière
dynamique.
Sur une page Web traditionnelle, chaque choix de l'utilisateur (validation d'un formulaire,
suivi d'un lien hypertexte) est suivi de l'envoi d'une requête au serveur qui héberge la page.
Celui-ci retourne ensuite une nouvelle page correspondant aux informations reçues. Bien
souvent, la page d'origine et la page de résultat sont très proches : les informations en
commun sont dont envoyées deux fois.
Avec la méthode Ajax, les échanges avec le serveur se limitent aux informations nécessaires.
La quantité de données qui transite entre le serveur et le client est donc réduite et les
applications gagnent en réactivité.
Ajax combine les langages HTML (ou dérivés) et CSS (Cascading Style Sheets - feuilles de
style), pour organiser la présentation de l'information, aux langages Javascript, DOM
(Document Object Model), XML, XSLT et à l'objet XMLHttpRequest pour la manipulation,
l'interaction et l'échange de données avec le serveur Web sur lequel est hébergé la page, sans
que celle-ci soit nécessairement rechargée.
3. LE FRAMEWORK.NET 2.0 :
La plate-forme Microsoft .NET est une solution complète pour développer, déployer et
exécuter des Applications de tous types, y compris des Services Web. Fondée sur des
standards de l''industrie (HTTP, XML, SOAP, WSDL), la plate-forme .NET est un moyen
simple et puissant d''implémenter la coopération des services logiciels entre eux, quelle que
soit leur localisation, leur implémentation technique, qu''ils soient internes ou externes,
existants ou à inventer. La plate-forme Microsoft .NET repose sur le système d''exploitation
Windows et est composée du Framework .NET.
Le Framework .NET propose un Modèle de programmation unifié avec la prise en
considération des différents types de clients (Web-HTML, Windows, PocketPC) et serveurs
(services transactionnels, applications internet/intranet). Le Framework .NET est multi
langages avec des langages supporté par Microsoft (VB.NET, C#, C++, J#) et par ses
partenaires tels que Microfocus et Cobol, Borland (Delphi), …
3.2.1. La technologie :
ASP.NET est une technologie serveur permettant de créer des ensembles de pages web qui
forment une application (au contraire d’ASP qui permettait la création de pages orphelines).
Cette application est interprétée par le Framework .NET sur un serveur IIS. ASP.NET est
résolument orienté objets, en fait tout dans cette technologie est un objet, même la page elle-
même. Ces objets sont des “contrôles web”. Le développeur construit sa page web (webform)
comme une application desktop (winform), il lui suffit de glisser-déposer des contrôles sur la
page. Le Framework .NET fera la conversion “Web Control –> HTML”.
de JavaScript, … comme les pages web habituelles, mais elles contiennent également des
balises basées sur un format XML.
Le fonctionnement :
ASP.NET n’est pas un langage interprété tel quel, comme le sont PHP et ASP. ASP.NET est
converti avant d’être exécuté. Cette conversion ne se produit qu’une seule fois à chaque
modification dans le code. Cette première compilation rend le premier affichage de chaque
version un peu plus long et réinitialise toute activité en cours. Ceci est un point négatif car il
oblige à oublier ce comportement qui consiste à effectuer des modifications et à copier les
fichiers sources directement sur le serveur. Il faut désormais planifier ses mises à jour et les
faire lorsqu’elles n’impacteront que très peu l’utilisation des clients.
Notion de contrôles :
Comme nous l’avons déjà dit, sous ASP.NET tout est contrôle. Il existe deux types de
contrôles :
• les contrôles serveur – exécutés côté serveur
Les contrôles serveur ASP.NET sont un ensemble de contrôles développés afin de
fournir un modèle de programmation structuré pour l'accès aux propriétés, méthodes et
événements des contrôles d'interface utilisateur à partir du code côté serveur. Outre les
contrôles intégrés, la structure de page ASP.NET vous permet de créer des contrôles
utilisateur et des contrôles personnalisés.
• les contrôles client – exécutés côté client
Le principal intérêt de cette orientation est la modularité du code. Il devient très facile de
partager ses objets métiers entre diverses applications.
Composition d’une application ASP.NET :
Pendant le cycle de vie d'une page ASP.NET, quelques événements standards exposés à partir
de l'objet Page sont fréquemment utilisés. La structure de page ASP.NET se connecte
automatiquement aux instances déléguées appropriées lors de l'exécution pour ces méthodes.
Cela vous évite de devoir écrire le « code colle » nécessaire. La liste suivante présente les
instances déléguées qui sont connectées au moment de l'exécution dans l'ordre de leur
déclenchement :
• Page_Init : Pendant cet événement, vous pouvez initialiser des valeurs ou connecter
tout gestionnaire d'événements dont vous disposez.
• Page_Load : Pendant cet événement, vous pouvez effectuer une série d'actions pour
créer votre page ASP.NET pour la première fois ou répondre aux événements côté
Partie2 : Etude théorique Page : 10
clients qui résultent d'une publication. La page et le statut d'affichage du contrôle ont
été restaurés avant cet événement. Utilisez la propriété de page IsPostBack pour
vérifier s'il s'agit du premier traitement de cette page. Si c'est le cas, effectuez une
liaison de données. Par ailleurs, lisez et mettez à jour les propriétés du contrôle.
• Page_DataBind : L'événement DataBind se produit quand la méthode DataBind est
appelée au niveau de la page. Si vous appelez DataBind sur des contrôles individuels,
il ne fait que déclencher l'événement DataBind des contrôles situés sous lui.
• Page_PreRender : L'événement PreRender est déclenché juste avant que l'état
d'affichage soit enregistré et que les contrôles soient affichés. Vous pouvez utiliser cet
événement pour effectuer toute opération de dernière minute sur vos contrôles.
• Page_Unload : Une fois qu'une page a été affichée, l'événement Page_Unload se
déclenche. Cet événement est approprié à la réalisation d'un travail final de nettoyage,
tel que le nettoyage des connexions ouvertes de base de données, la suppression
d'objets ou la fermeture de fichiers ouverts.
Gestion de l'état :
Le protocole HTTP est un protocole sans état. Chaque demande est satisfaite comme elle
vient ; une fois la demande traitée, toutes les données sont rejetées. Aucun état n'est maintenu
d'une demande à l'autre, même pour le même client. Toutefois, il est très utile de maintenir
l'état d'une demande à l'autre pour certaines solutions. ASP.NET vous permet de maintenir à
la fois l'état de l'application et l'état de la session grâce à l'utilisation de variables d'application
et de variables de session.
Mise en cache :
Le cache ASP.NET est un cache à usage général pour les applications Web. Il procure à la
fois une interface simple pour la mise en cache et une interface plus avancée qui expose les
services d'expiration et de dépendance de modification
Liaison de données :
La liaison de données ASP.NET vous permet de lier des composants à des sources de
données, ainsi qu'à des propriétés simples, des collections, des expressions et des méthodes.
Cela procure une flexibilité accrue lors de l'utilisation de données à partir d'une base de
données ou autre source
Sécurité :
ASP.NET vous procure un contrôle accru sur l'implémentation de la sécurité dans votre
application. La sécurité ASP.NET fonctionne conjointement avec la sécurité Microsoft
Internet Information Services (IIS) et inclut des services d'authentification et d'autorisation
pour implémenter le modèle de sécurité ASP.NET. ASP.NET propose également une
fonctionnalité de sécurité basée sur les rôles, que nous pouvons implémenter pour les comptes
d'utilisateurs Microsoft Windows et non-Windows
Configuration :
La configuration implique de nombreux éléments allant des paramètres d'application (tels que
les connexions aux bases de données) aux détails de sécurité, en passant par des informations
sur la manière dont les erreurs doivent être gérées. Les fichiers de configuration constituent un
Page : 11 Partie1 : Etude théorique
emplacement pour les informations spécifiques aux ordinateurs et aux applications que vous
pouvez modifier sans avoir à recompiler le code.
Modules HTTP et gestionnaires http :
Les modules HTTP et gestionnaires HTTP font partie intégrante de l'architecture ASP.NET.
Chaque demande ASP.NET est traitée par plusieurs modules HTTP (par exemple, le module
d'authentification et le module de session) et ensuite traitée par un seul gestionnaire HTTP.
Une fois que le gestionnaire a traité la demande, celle-ci est renvoyée par le biais des modules
HTTP.
Convention de programmation :
Nomenclature :
D'une manière générale, les noms utilisent la convention Unix: les noms sont en minuscules,
ne contiennent pas de "_" et les mots sont mis en évidence en mettant la première lettre de
chaque mot en majuscule (le cas de la première lettre du nom dépend du type; cf. infra). On
utilise une formulation anglaise des noms.
Ces règles s'appliquent aux noms de classes, de variables, de méthodes, de types, etc.
Fonctions et variables :
• Les noms des méthodes commencent par une majuscule alors que
• Les noms des variables commencent par une minuscule.
Liste des préfixes pour les objets créés par l'interface graphique de Visual Studio 2005