décembre
2010
Depuis SQL Server 2005, SQL Server permet de mettre à disposition des services Web XML natifs en utilisant les normes :
¤ HTTP (Hypertext Transfer Protocol)
En tant que protocole principal du Web, HTTP fournit un échange de données Web indépendant de toute plateforme.
¤ SOAP (Simple Object Access Protocol)
SOAP définit la manière d’utiliser XML et HTTP pour accéder à des services, des objets et des serveurs quel que soit le système d’exploitation.
¤ WSDL (Web Services Definition Language)
WSDL est un format de document XML pouvant être utilisé pour décrire des services Web.
Les services Web XML natifs ne sont pas utiles ni recommandés dans les scénarios suivants :
¤ Applications caractérisées par des accès en temps réel à fort taux de simultanéité, avec des transactions très courtes.
¤ Déploiement évolutif de type batterie de serveurs Web.
¤ Comme solution de remplacement pour la couche intermédiaire, en particulier où votre architecture d’applications subit des demandes de logique d’entreprise à grande échelle qui sont gérées le mieux au sein de composants de couche intermédiaire.
Au vu de l’ensemble de ces contraintes, Microsoft affirme la suppression de cette fonctionnalité dans les prochaines versions de SQL Server et suggère donc d’éviter la mise en place des services Web XML natifs dans les applications .
Avant d’oublier cette fonctionnalité, voyons comment elle marche
———————————————————————————————-
–> Architecture
———————————————————————————————-
A partir d’un exemple nous allons voir concrètement comment ça marche…
———————————————————————————————-
–> Création de la procédure stockée
———————————————————————————————-
USE AdventureWorks
GO
CREATE PROCEDURE [dbo].[P_GetContacts]
@LastName VARCHAR(50),@FirstName VARCHAR(50)
AS
BEGIN
SET NOCOUNT ON;
SELECT FirstName,LastName,EmailAddress,Phone
FROM [Person].[Contact]
WHERE FirstName = @FirstName AND LastName = @LastName
END
–Testons la procédure stockée P_GetContacts
EXEC [dbo].[P_GetContacts] Achong, Gustavo
———————————————————————————————-
–> Création du HTTP ENDPOINT pour exposer la procédure stockée GetContacts
———————————————————————————————-
USE AdventureWorks
GO
CREATE ENDPOINT EP_GetContacts STATE = Started
AS HTTP (
PATH = '/GetContacts',
AUTHENTICATION = (INTEGRATED),
PORTS = (CLEAR),
SITE = '*')
FOR SOAP (
WEBMETHOD 'P_GetContacts'
(NAME = 'AdventureWorks.dbo.P_GetContacts'),
WSDL = DEFAULT,
DATABASE = 'AdventureWorks',
NAMESPACE = DEFAULT )
— Vérifions la création du ENDPOINT EP_GetContacts
SELECT *
FROM sys.endpoints
WHERE name = 'EP_GetContacts'
SELECT *
FROM sys.http_endpoints
WHERE name = 'EP_GetContacts'
SELECT *
FROM sys.soap_endpoints
WHERE name = 'EP_GetContacts'
–Prsence de la webmethod GetContacts
SELECT *
FROM sys.endpoint_webmethods
WHERE object_name = '[AdventureWorks].[dbo].[GetContacts]'
———————————————————————————————-
–> Visualisons le WSDL
———————————————————————————————-
Le WSDL est un document XML qui décrit un Web Service. Il spécifie l’emplacement du service et les opérations (ou les méthodes) exposées par le service.
Exécuter dans un navigateur l’url : http://localhost/GetContacts?WSDL
———————————————————————————————-
–> Appel du Webservice
———————————————————————————————-
Nous allons utiliser l’outil SoapUI (http://www.soapui.org/) pour tester notre Web Service.
Après l’installation de SoapUI, lancer le programme SoapUI pour créer un nouveau projet
Entrons le nom du projet et l’Url du WSDL créé précédemment
N’oublions pas le login/password/domain de la machine où est hébergé le web service
Puis cliquons sur le bouton Ok
N’oublions pas de saisir à nouveau le login/password/domain comme ci-dessous
Positionnons-nous sur le menu « Request1″ à gauche
On voit dans la fenêtre du milieu que le Web Service attend les paramètres d’entrée LastName et FirstName:
Donnons comme valeur d’entrée Achong et Gustavo
Puis validons
On obtiens l’affichage suivant
En scrollant en bas la fenêtre de droite on obtient bien la sortie escomptée : Lastname, FirstName, Email, Phone
———————————————————————————————-
–> Que dire de plus ?
———————————————————————————————-
Dans SQL SERVER on peut mettre à disposition :
– des fonctions
– des procédures stockées
– des CLR (Common Language Runtime)
– iFull Text Search
– SIG (Système d’information géographique)
– Web Services
– et beaucoup d’autres choses encore …
Preuve de la richesse de ce SGBD
———————————————————————————————-
— Auteur : Etienne ZINZINDOHOUE
———————————————————————————————-
bonjour,
merci votre explication lorsque j’ai choisi le mode d’authentification INTEGRATED il me demande de saisir mon login et mot de passe pour localhost ??
j’ai choisi dans l’installation de sql server une authentification windows
comment dois je faire?
merci infiniment