Developpement:Services XML

De Wiki1000
Version du 20 mai 2008 à 17:35 par Syfre (discuter | contributions)
(diff) ← Version précédente | Voir la version courante (diff) | Version suivante → (diff)


Sommaire

Services XML et RSS ligne 1000

Mises à Jour


Version Date Motif Parties modifiées
1.0 Création brouillon


SOMMAIRE






















Services XML

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&param2=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.
Paramètre valeur
url URL à exécuter

Ce service fonctionne comme un proxy HTTP/HTTPS, les actions GET et POST sont supportées.

url xslt Non Exécute une transformation XSL
Paramètre valeur
xml URL de la source xml
xsl URL de la feuille de style

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
Paramètre valeur
name Nom de l’objet

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
Paramètre valeur
SID Identifiant 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
Paramètre valeur
username Nom de l’utilisateur
password Mot de passe de l’utilisateur
md5 Valeur HASH MD5 du mot de passe de l’utilisateur
expireinterval Durée de validité de la connexion demandée

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.
Paramètre valeur
SID identifiant de 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.
Paramètre valeur
paramètres de la méthode

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.
Paramètre valeur
Paramètres de la 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
Paramètre valeur
Caption Libellé associé à l’évènement
EventType Type de l’évènement
EventSourceName Source de l’évènement
EventResult Valeur entière associée à l’évènement
EventDataBaseURL Base de données associée à l’évènement
EventSourceInfo1 Valeur chaîne associée à l’évènement
EventSourceInfo2 Valeur chaîne associée à l’évènement
InstanceOID

oidEventObject

Identifiant de l’objet associé à l’évènement
EventObjectClass Nom de la classe de l’objet associé à l’évènement
EventObjectProperty

EventName

EventId

Identifiant de l’évènement
Autres paramètres

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.


image1.png Voir le document sur l’interface utilisateur.
Outils personnels