Developpement:Services XML
Sommaire |
Services XML et RSS ligne 1000
Les services XML sont un ensemble de composants et de fonctionnalité dont le but est de faciliter le l’agrégation de contenu d’origine hétérogène soit à l’intérieur d’une application 1000 soit dans une application externe. (Mashup en anglais).
Ces fonctionnalités inclus :
Les Services REST
Les Services RSS
Les contrôles orientés XML / XSL
Les contrôles orientés mobiles
D’autres technologies peuvent être aussi utilisées :
Les types de données XML
Les transformations XSL
Services REST
Présentation des services REST
REST (Representational State Transfer) est une architecture de service WEB basée sur le protocole HTTP permettant d’accéder à des ressources identifiée par une URI (Unified Resource Identifier). Le résultat de la requête REST est retourné au client sous forme XML, c’est une représentation de la ressource au format XML.
REST n’est pas un protocole standardisé par le W3C mais qui néanmoins repose sur les standards HTTP, URI et XML.
Le serveur REST ligne 1000
Le serveur Ligne 1000 contient un service REST qui permet d’accéder aux différents services techniques du serveur.
Sa fonction première est d’offrir un accès à travers HTTP aux services techniques 1000 et de permettre ainsi une utilisation plus large de ces services.
Le serveur REST 1000 interprète une URI, exécute le service REST concerné et retourne le résultat en XML.
URL de service REST
Les points d’accès aux services REST sont des URL définies à partir de la racine de l’URL du serveur Web.
L’URL d’un service REST est définie ainsi :
http://hostname/servicename/server/rpc.l1000/rest/'rest'Name.restAction1.restAction2?param1=value1¶m2=value2& …
HostName | Nom DNS de la machine Serveur |
ServiceName | Nom du service Ligne 1000 sur la machine |
restName | Nom du service REST à exécuter |
restAction1 | Nom principal de l’action du service REST à exécuter |
restAction2 | Nom auxiliaire de l’action du service REST à exécuter ; généralement pas utilisé |
Couples « paramètre=valeur » | Paramètres de l’action. |
L’appelant doit exécuter une commande HTTP / GET sur l’URL du service.
La réponse d’un service REST est un flux XML dont la structure et le contenu vari suivant le service.
Mode d’authentification
Non
Le service ne requière pas d’authentification.
Anonyme
Le service requière une authentification, si celle-ci n’est pas fournie dans les paramètres de l’appel une session anonyme, rattachée à l’utilisateur du serveur, sera créée.
Oui
Le service requière une authentification passée en paramètre. L’identifiant de session doit être passé dans un paramètre SID ou bien à travers les cookies de session.
Liste des services REST disponibles
Nom du service | Action | Mode Auth. | Usage | ||||||||||||||||||||||||
url | http | Non | Exécute une requête HTML et retourne la réponse.
Ce service fonctionne comme un proxy HTTP/HTTPS, les actions GET et POST sont supportées. | ||||||||||||||||||||||||
url | xslt | Non | Exécute une transformation XSL
Les noms des paramètres xml et xsl sont des URL de service REST. Ces URLs sont résolus et une transformation XSL est exécutée sur les résultats. Le résultat de la transformation est retourné. | ||||||||||||||||||||||||
url | repository | Anonyme | Retourne un objet du référentiel
Le contenu de la réponse HTTP est le contenu de l’objet. le type de contenu est défini à partir du nom de l’objet. | ||||||||||||||||||||||||
rss | nom_du_flux | Oui | Serveur RSS, retourne un flux RSS
Le nom du flux RSS doit être passé dans l’action du service. Ce nom doit correspondre à un objet flux RSS du référentiel. La source de données associée au flux RSS est exécutée et le résultat du flux est retourné en réponse. | ||||||||||||||||||||||||
ind | nom_de_ l’indicateur | Oui | Serveur Indicateurs, retourne un flux indicateur
Le nom de l’indicateur doit être passé dans l’action du service. Ce nom doit correspondre à un objet flux indicateur du référentiel. La source de données de l’indicateur est exécutée et le résultat est retourné en réponse. Le contenu de la réponse dépend du type de l’indicateur, les types supportés sont Flash, SVG et XSL | ||||||||||||||||||||||||
info | session | Non | Vérification de session
Cette action vérifie que la session est valide pour l’utilisateur, cad pour l’adresse TCP de l’appelant. | ||||||||||||||||||||||||
info | login | Non | Ouverture de session
Cette action crée une nouvelle session. Le mot de passe de l’utilisateur peut être soit passé en clair (paramètre password) soit encodé en MD5 (paramètre md5) | ||||||||||||||||||||||||
info | logout | Non | Terminaison d’une session.
Cette action termine une session. | ||||||||||||||||||||||||
info | configuration | Non | Retourne un fichier XML contenant des informations sur la configuration du service. | ||||||||||||||||||||||||
model | classe.methode | Oui | Exécution d’une méthode d’une classe non persistante.
Le service exécute la méthode en lui passant les paramètres et retourne le résultat de la méthode. La méthode ne doit accepter que des paramètres de type simple, si l’appel n’est pas supporté une erreur est retournée. Si la méthode retourne un TxmlDocument le contenu du document est retourné en réponse. Si la méthode retourne un objet la sérialisation de l’objet est retourné Si la méthode retourne une liste de chaîne celle-ci sont retournées dans la réponse. | ||||||||||||||||||||||||
query | nom de la requête | Oui | Exécution d’une requête.
Le service exécute la requête en passant les paramètres d’appel en paramètre de requête ; le résultat de la requête est retourné en format XML. | ||||||||||||||||||||||||
xevent | add | Non | Création d’un évènement métier
Ce service permet de créer un évènement métier, consultez la documentation sur les Processus Métier pour plus d’informations. | ||||||||||||||||||||||||
Service forms :
Ouverture d’un écran avec le service REST form :
http://hostname/servicename/server/rpc.l1000/rest/forms.url?value=frm://wfclassea.dfm/CA10D3D5FB8300190017000000610001/
Service RSS
Présentation du service RSS
Un flux RSS ou fil RSS ("RSS feed" en anglais), de Really Simple Syndication (souscription vraiment simple), ou de Rich Site Summary (Sommaire d'un site enrichi) est un format de de contenu , codé sous forme . Ce système permet de diffuser en temps réel les nouvelles des sites d'information ou des , ce qui permet de rapidement consulter ces dernières sans visiter le site
Objet flux RSS du référentiel
Un objet flux RSS est un objet du référentiel décrivant un flux RSS. Un objet de flux RSS contient notamment l’URI décrivant le fournisseur de données.
L’utilisation d’objet flux RSS présente plusieurs avantages :
Il introduit une modélisation des flux RSS permettant de maintenir une vue cohérente et exhaustive des flux RSS existant au sein d’une application.
Il permet une indirection entre URI définie dans les lecteurs de flux RSS et l’URI utilisé pour le fournisseur de service.
Il permet de gérer le mécanisme d’abonnement et le contrôle d’accès des utilisateurs.
Le service RSS ligne 1000
Le serveur de flux RSS est une variante du serveur REST permettant d’exécuter un flux RSS ; il prend en paramètre une URI identifiant un objet flux RSS et réalise l’exécution de l’URI du fournisseur de données. Le résultat retourné par le fournisseur de donnée identifié par l’URI devant être encodé au format flux RSS (version 2.0).
N’importe quel fournisseur de données interrogeable par REST peut donc produire un flux RSS ; en particulier l’utilisateur pourra :
Définir une requête de flux RSS avec le concepteur de requête
Point d’accès RSS et contrôle d’accès.
Les services RSS peuvent être appelés à partir d’une URL de service REST, néanmoins ils peuvent aussi être appelés à partir d’une URL spécifique :
http://hostname/servicename/server/rss.l1000/nom_du_flux
Cette méthode permet à l’administrateur du flux de gérer une authentification HTTP sur le nom du flux s’il souhaite restreindre l’accès à certain utilisateurs.
Requête de flux RSS
Une requête de flux RSS est une requête dont le résultat est un encodé en flux RSS ; une requête de flux RSS permet de définir les différents éléments du flux RSS et d’effectuer le lien entre les données retournées par la requête et les éléments (Item) définis dans le flux RSS.
Format d’un flux RSS
Voici une description simplifiée d’un flux RSS 2.0 ; un flux RSS est un fichier XML contenant un élément channel identifiant le type de contenu et des un ou plusieurs éléments Item.
Channel :
Title
Link
Description
category
Language
pubDate
lastbuildDate
image
Item :
Title
Link
Guid
Category
Pubdate
Description
La partie Chanel est définie dans l’objet Flux RSS.
Contrôles d’interface orientés XML et HTML
Les contrôles d’interface orientés XML et HTML permettent de manipuler des données issues de sources XML et d’afficher des blocs html à l’intérieur d’interfaces ligne 1000.
TDataSet
Les sources de données, c'est-à-dire les composants TDataSet et leurs dérivés, comportent de nouvelles fonctionnalités permettant d’exposer leurs enregistrements sous format XML.
Les propriétés XML d’un DataSet :
Propriété | Description |
xmlNodeSet | Ensemble des enregistrements du DataSet exposés en format XML |
minBufferSize | Détermine le nombre d’enregistrements exportés dans le fichier XML lorsqu’aucun contrôle n’est rattaché au DataSet |
TxmlControl
Un composant TxmlControl est un composant permettant de configurer la façon dont un DataSet va générer le fichier XML de ses enregistrements.
Propriété | Description |
DataSource | DataSource rattachée au Dataset à configurer |
Columns | Ensemble de paramétrage d’attributs qui doivent être exportés dans le résultat |
Mode | Mode de gestion des enregistrements |
TmobControls
L’ensemble des contrôles TmobControls sont les contrôles destinés à concevoir des applications mobiles, ils héritent du composant TxmlControl
ThtmlCustomControl
La classe ThtmlCustomControl est une classe de base pour les contrôles orientés XML et HTML. Ces contrôles prennent une source de données XML en entrée, la transforme en appliquant une feuille de style XSL et affiche le résultat sous forme HTML.
Voir le document sur l’interface utilisateur. |