Vous êtes sur la page 1sur 9

PARTIE 2 :

ETUDE TEHORIQUE

1. LES SERVICES WEB :

1.1. Le protocole SOAP (Simple Object Access Protocol) :

E st un protocole de communication provenant du monde XML. Il est utilisé dans le


cadre des services Web, Simple et facile à implémenter dans les serveurs Web ou dans
les serveurs d’applications,. Un service SOAP est une fonction que l'on peut appeler
depuis un client sur un serveur distant. Cette fonction peut en théorie accepter n'importe
quelle structure de donnée et donner une réponse tout aussi complexe. Il est également
envisageable qu'il n'y ait pas de réponse. SOAP ne fonctionne pas tout seul, il s'appuie sur un
autre protocole pour fonctionner. À priori, n'importe quel protocole de communication peut
faire l'affaire (HTTP, SMTP, FTP). Dans les faits, le protocole HTTP est le plus utilisé car il
correspond bien aux besoins et aux architectures en place. Son fonctionnement avec le
protocole SOAP est normalisé par le W3C ce qui en fait un standard solide. SOAP implique
souvent un dialogue qui se compose de l'appel à une procédure et d'une réponse de cette
dernière. Des services sans dialogues sont également possibles. Dans le cas où la
programmation orientée objet est utilisée, l'architecture est parfois appelée instanciation à
distance (Remote Invocation). L'idée qui se cache la derrière est de pouvoir accéder à des
objets persistants ou non qui existent réellement sur le serveur distant et cela quel que soit le
langage, l’implémentation, l’architecture ou les systèmes d’exploitation employés pour
l’implémentation des services Web.

Avec la multiplication des systèmes hétérogènes, l'interopérabilité devient un problème


occupant. SOAP répond à ce problème en offrant un standard ouvert d'échange d'information
pour l'informatique distribuée. SOAP a été initialement défini par Microsoft et IBM, puis est
devenu depuis une recommandation du W3C. Le soutien de ce protocole par les grands
acteurs de l'informatique laisse à penser que SOAP va prendre de l'importance dans les années
à venir.

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.

1.2. Le contrat WSDL (Web Service Description Language) :

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é.

L’échange d’information (demande et réponse) entre un Consommateur et un service web


peut être simplifié par le schéma suivant :

Consommateur Service Web


Communication
IIS IIS
XML
Interface FRAMEWORK
SOAP
permettant de
dialoguer avec le
service. C’est
généralement une
classe Proxy.

HTTP/ HTTPS

Transport sur le réseau

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

1.3. L'annuaire de Services Web UDDI (Universal Data Description Interface) :

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.

Consommation du service web Pour consommer un Service Web :

- il faut connaître son emplacement

- il faut obtenir son contrat WSDL nécessaire à la création d'une classe proxy à utiliser par le
consommateur.

1.4. couches 3 tiers :

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),

Les principes de cette architecture sont les suivants :


 La séparation des couches : Présentation, Traitement, Données,
 La communication entre les couches au moyen de fonctions A.P.I.

Trois couches totalement indépendantes composent l’application complète et assurent une


souplesse exemplaire :
 La couche présentation : sans intelligence déportée sur des interfaces multicanales,
c’est à ce niveau qu’intervient le dialogue entre l’utilisateur et les règles de gestion
qu’il doit respecter,
 La couche traitement : le cœur du métier de l’ Activité aérienne y est encapsulé, et
c’est à ce niveau que se trouvent toutes les règles de gestion de l’ Activité aérienne, et
toute l’intelligence de la démarche,
 La couche données : les données y sont stockées et appelées dès qu’il est nécessaire
d’accéder aux informations.

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.

Les avantages de cette architecture sont multiples :


 La Manipulation des données est indépendante du support physique de stockage.
 La Maintenance des traitements est facilitée.
 La Vision des traitements depuis la couche Présentation est amplement simplifiée.
 Le Portage d’un environnement graphique à un autre est très facile.
 Le travail en équipe optimisé.

2. LE WEB 2.0 ET AJAX :

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 :

3.1. Microsoft Framework .net :


Partie2 : Etude théorique Page : 8

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), …

Le Framework .NET constitue également une plate-forme de déploiement et d''exécution


alliant simplicité de déploiement et de configuration avec une grande fiabilité des applications
et des bonnes performances.
Microsoft .NET est la nouvelle génération de plate-forme de développement et d''intégration
fondée sur des standards de l''industrie comme XML et les standards associés aux Services
Web (SOAP, WSDL, …). Elle permet d''implémenter la coopération des services logiciels
entre eux (Service Web), quelle que soit leur localisation, leur implémentation technique,
qu''ils soient internes ou externes, existants ou à inventer.

La plate-forme .NET comprend un modèle de programmation homogène et des outils de


développement multi langages qui accélèrent le développement et l''intégration de Services
Web et de tout autre type d''application. Multi langages et intégrants les standards, la plate-
forme .NET vous laisse toute liberté de développer dans le langage de votre choix. Enfin, de
part son support des standards et son approche moderne, la plateforme .NET est parfaitement
adaptée à la construction d''un architecture orientée services.

3.2. Présentation d’ASP.NET :

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”.

3.2.2. Un nouveau mode de fonctionnement :

ASP.NET se veut puissant et pratique, la partie code est indépendante de l’affichage, on


nomme la partie graphique le webform alors que le code sera le code-behind. Ainsi pour une
seule page web, 2 fichiers seront utilisés : page. Aspx et page. Aspx.cs (“.cs” correspond au
langage utilisé pour coder, dans notre cas le C#, et on aura .vb dans le cas du VB.NET).
- il est également possible de fusionner les deux fichiers. Ceci permet donc de développer
conjointement la partie visible de la partie fonctionnelle. Le webform est constitué de HTML,
Page : 9 Partie1 : Etude théorique

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 :

Une application ASP.NET est composée comme suit :


• les pages ASPX et leurs fichiers de code-behind
• des contrôles ASCX
• des services web ASMX
• un fichier de configuration de l’application “web. Config”
• des dossiers “système” : BIN, APP_CODE, APP_DATA…
• des modules
• un code exécutable
• Des gestionnaires d’événements.
Événements de page :

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.

int numberOfCats; // Juste


int nombreDeChats; // Faux: texte en français
int NOMBREDECHATS; // Faux: tout en majuscules
int list_of_items; // Faux: utilisation des underscores ("_")
int listofitems; // Faux: pas de majuscules pour séparer les mots
int listOfItems; // Juste

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.

void CopyVector(); // Juste


int copyAll(); // Faux: la méthode commence par une minuscule
int SelectData; // Faux: la variable commence par une majuscule
int selectData; // Juste

Liste des préfixes pour les objets créés par l'interface graphique de Visual Studio 2005

Classe Préfixe Exemple


aspxroundpanel rdp rdpMain
Aspxlabel, xrLabel lbl lblFirstName
aspxtextbox txt txtFirstName
UpdatePanel Par defaut Par defaut
Aspxbutton, btn btnApply
AspxbuttonEdit
ASPxDateEdit dte dteFrom
ASPxComboBox cmb
ASPxGridView grd
ASPxNavBar nb
ReportToolbar
ReportViewr
xrPageInfo1 Pas encore
Partie2 : Etude théorique Page : 12

Classe Préfixe Exemple


ASPxMenu mnu mnuReports
ASPxPopupControl pop
ASPxComboBox cmb cmbStation
ASPxPageControl pgc pgcAdress
ASPxRadioButton, rdb rdbFemale
ASPxRadioButtonList

Vous aimerez peut-être aussi