Classe entité de service distant (stereotype)

De Wiki1000
(Différences entre les versions)
 
(10 révisions intermédiaires par 2 utilisateurs sont masquées)
Ligne 1 : Ligne 1 :
 +
{{tip|Ces classes s'utilisent dans un scénario Client pour consommer des ressources SData}}
 +
 
Les classes entité de service distante non persistante sont des classes permettant de manipuler des ressource exposées par un Service SData.  
 
Les classes entité de service distante non persistante sont des classes permettant de manipuler des ressource exposées par un Service SData.  
  
Il faut appeler une méthode sur le serviceprovider et choisir donc l'objet à poster.
+
Il y a deux façon d'utiliser ces classes :
 
+
 
{{tip|Lors de l'import d'un Contrat SData, c'est ce stéréotype qui est utilisé.}}
+
* Avec un objet fournisseur de Service.
 +
:Dans ce cas vous devez créer un objet de la classe TSDataServiceProviderInfo et définir manuellement les valeurs de ses propriétés puis utiliser cet objet pour effectuer les opérations GET,POST,PUT,DELETE SData.
 +
 
 +
* Avec un fournisseur de Service enregistrée dans l'administration.
 +
:Dans ce cas vous devez définir les propriétés du Service dans les Fournisseurs de Service de l'administration, associer ce fournisseur à la base de données de l'application puis appeler directement les méthodes du stéréotype pour effectuer les opérations GET,POST,PUT,DELETE SData.  
  
 
===Attributs du stéréotype===
 
===Attributs du stéréotype===
Ligne 12 : Ligne 18 :
 
|-
 
|-
 
|[[SDataKey (TSDataRemoteObjectNP)|SDataKey]]
 
|[[SDataKey (TSDataRemoteObjectNP)|SDataKey]]
|Identifiant unique SData
+
|[http://interop.sage.com/daisy/sdata/AnatomyOfAnSDataFeed/190-DSY.html Identifiant de clé primaire SData]
 
|-
 
|-
 
|[[SDataEtag (TSDataRemoteObjectNP)|SDataEtag]]
 
|[[SDataEtag (TSDataRemoteObjectNP)|SDataEtag]]
Ligne 19 : Ligne 25 :
 
|[[SDataUUID (TSDataRemoteObjectNP)|SDataUUID]]
 
|[[SDataUUID (TSDataRemoteObjectNP)|SDataUUID]]
 
|Identifiant de correlation
 
|Identifiant de correlation
 +
|-
 +
|[[SDataServiceProvider (TSDataRemoteObjectNP)|SDataServiceProvider]]
 +
|Fournisseur de service SData
 
|}
 
|}
  
Ligne 24 : Ligne 33 :
 
{|class="wikitable"
 
{|class="wikitable"
 
|-
 
|-
|
+
|[[Get (TSDataRemoteObject)|Get]]
|
+
|Retrouve une ressource par son identifiant SData
 +
|-
 +
|[[GetWhere (TSDataRemoteObject)|GetWhere]]
 +
|Retrouve une ressource par une clause Where
 +
|-
 +
|[[GetList (TSDataRemoteObject)|GetList]]
 +
|Retrouve une liste de ressources
 +
|-
 +
|[[Post (TSDataRemoteObject)|Post]]
 +
|Crée la ressource sur le serveur distant
 +
|-
 +
|[[Put (TSDataRemoteObject)|Put]]
 +
|Met à jour la ressource sur le serveur distant
 +
|-
 +
|[[Delete (TSDataRemoteObject)|Delete]]
 +
|Supprime la ressource sur le serveur distant.
 +
|-
 +
|[[DeleteByKey (TSDataRemoteObject)|DeleteByKey]]
 +
|Supprime la ressource sur le serveur distant.
 
|}
 
|}
  
 
Exemple :
 
Exemple :
  
Création d'une ressource sur un Service SData :
+
Création d'une ressource sur un Service SData en utilisant un objet [[Fournisseur de Service (sdata)|fournisseur de Service]] :
  
 
<source lang="delphi">
 
<source lang="delphi">
 +
var inst:remoteEntity; prv:TSDataServiceProviderInfo;
 
begin
 
begin
  // build a remote sdata entity
 
  data := remoteEntity.create;
 
  data.code := remoteCode;
 
  ...
 
 
 
   // create an instance of sdata service provider
 
   // create an instance of sdata service provider
 
   prv := TSDataServiceProviderInfo.Create;
 
   prv := TSDataServiceProviderInfo.Create;
Ligne 45 : Ligne 68 :
 
   prv.EndPointURL := endpoint;
 
   prv.EndPointURL := endpoint;
 
   
 
   
   // create this entity
+
   // Build a ressource
   // this will emit a HTTP POST request
+
   //
   try
+
   inst := remoteEntity.create;
    prv.postEntity(data);
+
  inst.code := remoteCode;
    progressMessage('OK');
+
   ...
   except
+
  prv.PostEntity(inst);
    progressMessage('Update failed');
+
  end;
+
 
end;
 
end;
 
</source>
 
</source>
 +
 +
Création d'une ressource sur un Service SData en utilisant un [[Fournisseur de Service (sdata)|fournisseur de Service]] enregistré dans l'administration :
 +
 +
<source lang="delphi">
 +
var inst:remoteEntity;
 +
begin
 +
  // build a remote sdata entity
 +
  //
 +
  inst := remoteEntity.create;
 +
  inst.code := remoteCode;
 +
  ...
 +
  inst.Post;
 +
end;
 +
</source>
 +
 +
 +
{{warning|Pour fonctionner, les classes qu'on souhaite instancier doivent appartenir à un paquet dont le module est lié à la base de données,courante.}}
  
 
Voir aussi :
 
Voir aussi :
  
* [[TSDataServiceProviderInfo (class)|TSDataServiceProviderInfo]]
+
* [[TSDataServiceProviderInfo (class)|Classe fournisseur de Service]]
 +
* [[Gestion des relations des classes entité de service distant]]
  
 
[[Category:Stereotype]]
 
[[Category:Stereotype]]
 
[[Category:SData]]
 
[[Category:SData]]
 +
[[Category:Stéréotype entité de service distant]]

Version actuelle en date du 15 mars 2013 à 09:08

Tip-20px.png Tip : Ces classes s'utilisent dans un scénario Client pour consommer des ressources SData

Les classes entité de service distante non persistante sont des classes permettant de manipuler des ressource exposées par un Service SData.

Il y a deux façon d'utiliser ces classes :

  • Avec un objet fournisseur de Service.
Dans ce cas vous devez créer un objet de la classe TSDataServiceProviderInfo et définir manuellement les valeurs de ses propriétés puis utiliser cet objet pour effectuer les opérations GET,POST,PUT,DELETE SData.
  • Avec un fournisseur de Service enregistrée dans l'administration.
Dans ce cas vous devez définir les propriétés du Service dans les Fournisseurs de Service de l'administration, associer ce fournisseur à la base de données de l'application puis appeler directement les méthodes du stéréotype pour effectuer les opérations GET,POST,PUT,DELETE SData.

Attributs du stéréotype

SDataID Identifiant de ressource
SDataKey Identifiant de clé primaire SData
SDataEtag Identifiant de version
SDataUUID Identifiant de correlation
SDataServiceProvider Fournisseur de service SData

Méthode du stéréotype

Get Retrouve une ressource par son identifiant SData
GetWhere Retrouve une ressource par une clause Where
GetList Retrouve une liste de ressources
Post Crée la ressource sur le serveur distant
Put Met à jour la ressource sur le serveur distant
Delete Supprime la ressource sur le serveur distant.
DeleteByKey Supprime la ressource sur le serveur distant.

Exemple :

Création d'une ressource sur un Service SData en utilisant un objet fournisseur de Service :

var inst:remoteEntity; prv:TSDataServiceProviderInfo;
begin
  // create an instance of sdata service provider
  prv := TSDataServiceProviderInfo.Create;
  prv.UserName := userName;
  prv.UserPassword := jeton; 
  prv.EndPointURL := endpoint;
 
  // Build a ressource
  //
  inst := remoteEntity.create;
  inst.code := remoteCode;
  ...
  prv.PostEntity(inst);
end;

Création d'une ressource sur un Service SData en utilisant un fournisseur de Service enregistré dans l'administration :

var inst:remoteEntity;
begin
  // build a remote sdata entity 
  //
  inst := remoteEntity.create;
  inst.code := remoteCode;
  ...
  inst.Post;
end;


Exclam-20px.png Attention : Pour fonctionner, les classes qu'on souhaite instancier doivent appartenir à un paquet dont le module est lié à la base de données,courante.

Voir aussi :





Whos here now:   Members 0   Guests 1   Bots & Crawlers 0
 
Outils personnels