SData
(→Contrats et Registry SData) |
(→Service SData) |
||
Ligne 63 : | Ligne 63 : | ||
Le protocole SData est centré sur les ressources et permettrait d'accéder à n'importe quelle entité de l'application, néanmoins pour des raisons de sécurité et d'isolation des Services métiers seules les classes de service sont exposées à travers SData. | Le protocole SData est centré sur les ressources et permettrait d'accéder à n'importe quelle entité de l'application, néanmoins pour des raisons de sécurité et d'isolation des Services métiers seules les classes de service sont exposées à travers SData. | ||
− | Les classes exposées sont donc les classes d'entités de service local et doivent être placées dans des paquets de services locaux. | + | Les classes exposées sont donc [[Classe_entité_de_service_local_(stereotype)|les classes d'entités de service local]] et doivent être placées dans des paquets de services locaux. |
Le développement de Services métiers exposés à travers SData est similaire dans son principe au développement de Web Service, la différence est qu'un Service SData expose des ressources (et éventuellement des opérations) alors qu'un Web Service expose des opérations. | Le développement de Services métiers exposés à travers SData est similaire dans son principe au développement de Web Service, la différence est qu'un Service SData expose des ressources (et éventuellement des opérations) alors qu'un Web Service expose des opérations. |
Version du 5 mai 2011 à 16:05
Sommaire |
Introduction
SData est un protocole de communication promu par Sage pour facilité l'interopérabilité entre les produits Sage.
SData est basé sur le protocole HTTP et repose sur les principes de l'architecture RESTFUL.
Pour plus d'information :
URL ligne 1000 SData
L'url d'un Service SData 1000 est :
http://www.example.com/service/server/sdata/l1000/contract/dossier/entity?parameters
section | usage |
---|---|
http://www.example.com/service/server |
Racine de l'url du service ligne 1000 |
sdata | Point d'accès SData |
l1000 | Identification du produit |
contract | Contrat SData |
dossier | Dataset SData |
entity | Entité |
parameters | Paramètres de la requête. |
Authentification
SData est basé sur le protocole HTTP et le mécanisme d'authentification mis en oeuvre est celui de HTTP.
Le comportement du Service 1000 est celui-ci :
- Lors de la première connexion si la requête HTTP ne contient pas d'information d'authentification le service répond 401.
- Le client ré-exécute la requête en ajoutant les informations d'authentification dans WWW-Authenticate de l'entête HTTP
- Le serveur authentifie le Client et crée une session.
- Le serveur répond OK et retourne un cookie contenant l'identifiant de session.
- Par la suite le client passe le cookie de session dans les requêtes HTTP.
Les modes d'authentification supportés sont :
- Basic
- NTLM
Service SData
Le protocole SData est centré sur les ressources et permettrait d'accéder à n'importe quelle entité de l'application, néanmoins pour des raisons de sécurité et d'isolation des Services métiers seules les classes de service sont exposées à travers SData.
Les classes exposées sont donc les classes d'entités de service local et doivent être placées dans des paquets de services locaux.
Le développement de Services métiers exposés à travers SData est similaire dans son principe au développement de Web Service, la différence est qu'un Service SData expose des ressources (et éventuellement des opérations) alors qu'un Web Service expose des opérations.
Client SData
Contrats et Registry SData
Les Services SData sont organisés en Contrat qui décrivent les ressources exposées par les Services.
Pratiquement un Contrat SData est un schéma XML.
Les Contrats supportés par un Service SData sont exposés par une "Registry".
Un Service 1000 implémente une Registry SData qui expose les Contrats supportés par le Service.
Les entrées de la Registry sont définis dans le fichier de configuration du Service :
[\SOFTWARE\Sage\Ligne 1000\Administration\Servers\SYFRE\SData\1] DataSetName=iphone Title=syfre iphone Contract=ndfContract Version=1 Folder=Test iPhone Database=dbTestIPhone Society=
Ces entrées établissent la relation entre la section Dataset de l'URL SData et la configuration des Dossiers 1000 :
Par exemple dans cet url :
http://www.example.com/service/server/sdata/l1000/ndfContract/iphone/expenses
iphone fait référence au dataset "iphone" dont l'entrée dans la Registry est configuré sur le Dossier "Test iPhone"
Configuration spécifique
IIS
L'utilisation de SData avec un serveur HTTP IIS nécessite la mise en place d'un filtre ISAPI pour permettre de gérer correctement les URL SData.
Apache
La mise en oeuvre du midule ReWrite est nécessaire pour véhiculer les informations d'authentification jusqu'au Service :
<Directory "d:\Source\L1000Server\L1000Site"> Options Indexes FollowSymLinks Includes AllowOverride All Allow from all RewriteEngine on RewriteBase / RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L] </Directory>
Ces configurations sont normalement réalisées par les outils d'administration.
Voir aussi :