| Annexes / Application Web : une couverture fonctionnelle sans limite ! | |
Le WebService (ou Service Web) permet à des applications de dialoguer à distance via Internet et indépendamment des plates-formes et des langages sur lesquels ces applications reposent (interopérabilité).
Cette unité d’application logique fournit des données et des services à d’autres applications Web. Ces applications communiquent entre elles grâce à des langages standards et des normes d’échange (XML, WSDL, Soap et UDDI).
Véritable standard en terme d'intégration et d'échanges B2B, le WebService est l’un des principaux composants de l’offre ACE RETAIL .
Le principe de base est simple : le WebService utilise une chaîne de caractères en entrée et restitue une chaîne de caractères en retour. Ces chaînes de caractères sont convertibles au format XML.
La publication d’un acte de gestion d’ACE sous forme de WebService n’impacte pas le comportement de cet acte de gestion.
ACE vous propose plusieurs WebServices :
Les WebServices ACE sont des WebServices standards activés via SOAP, une norme d'échange de messages au format XML. Les paramètres d’entrée sont d’ailleurs organisés au format XML.
Le serveur de webservice se présente sous la forme d'un web module.
Le déploiement de WebService est limité uniquement aux serveurs d'application Oracle (9.0.4 10g).
Dans le web module contenant les webservices, la Servlet "ServletControl" doit être paramétrée afin de se charger automatiquement au démarrage. En effet, elle initialise les variables d'environnements pour l'ensemble des API .
Par contre, on ne publie pas la "ServletControl" dans le web module (fichier web.xml).
<servlet>
<servlet-name>ServletControl</servlet-name>
<display-name>ServletControl</display-name>
<servlet-class>fr.ACE.technicalframework.application.ServletControl</servlet-class>
<load-on-startup>1</load-on-startup> <!-- This is requiered for webservices. Don't remove. -->
<security-role-ref>
<description>root</description>
<role-name>root</role-name>
<role-link>super-user</role-link>
</security-role-ref>
</servlet>
Une section "webservice_def" du fichier de configuration (dans l'élément "application") vous permet de personnaliser vos WebServices.
|
|
Pour en savoir plus, consultez la documentation de référence « Web : le fichier de configuration ». |
Le nœud "webservice_def" contient les valeurs par défaut.
Les nœuds "webservice" représentent la définition d'un webservice particulier :
| Nom de l'attribut | Description |
| name | Clé primaire d'accès à la définition d'un webservice. |
| entity | Entité (voir documentation Multi-entités) |
| target | Cible (ex: VCLI, GART,…) |
| user | Nom de l'utilisateur qui exécute le service. |
| language | Langue des messages d'erreur. |
Exemple :
Cet exemple définit le webservice "GestionEvenement"
<webservice_def entity="1" target="MENU" user="DECONNINCK" language="FRA">
<webservice name="GestionEvenement" target="VCDT"/>
<webservice name="LoginManager"/>
</webservice_def>
La structure du flux d’entrée de ce service d’intégration est spécifiée par un schéma XML commenté.
|
|
Pour en savoir plus, consultez la documentation de référence « GCEServiceassimilate ». |
L’utilisation de ce service s’adresse à un public initié aux concepts de base d’ACE : les événements, les flux d’événements, les tiers, les produits,…Comme il est d’abord utilisé par des intégrateurs de produit, toutes les parties visibles, et notamment la description du flux, sont rédigées en anglais.
Ce WebService permet d’exécuter des transactions de base (CRUD) dans la base ACE (tables) via une couche fonctionnelle (objets métiers).
Il suffit d’utiliser en paramètre d’entrée le nom de la table concernée et les champs-clés de votre action (CRUD).
|
|
Pour en savoir plus sur ce WebService et la modélisation de nos données, consultez les documentations de référence : « WebService WSCRUDManager », « Les Structures web ACE » et « Les tables ACE ». |
|
|
Pour en savoir plus, consultez la documentation de référence « Répartition analytique des postes de commandes en provenance de la place de marché QUADREM » |
Les éléments en gras sont invariables.
Les éléments "egx_ws" et "bean_in" sont obligatoires.
L'élément "ctx" est optionnel. Quand il est présent, il est prioritaire sur les paramètres fixés par la définition du webservice dans la configuration.
La partie contenue dans l'élément "bean_in" est complètement variable et dépend de l'API qui est invoquée.
<egx_ws>
<ctx language="ENG" user="scott" password="tiger" target="CLI" entity="1"/>
<bean_in>
<fr.generix.metier.bc4j.evenement.common.GestionEvenementcreerEvenementIn>
<tiers>
<typtie>CLI</typtie>
<sigtie>CLI001</sigtie>
</tiers>
</fr.generix.metier.bc4j.evenement.common.GestionEvenementcreerEvenementIn>
</bean_in >
</egx_ws>
Les éléments en gras sont invariables.
Les éléments "egx_ws" et "bean_out" sont obligatoires.
L'élément "ctx" n'existe pas.
La partie contenue dans l'élément "bean_out" est complètement variable et dépend de l'API qui est invoquée.
<egx_ws>
<bean_out>
<fr.generix.metier.bc4j.evenement.common.GestionEvenementcreerEvenementOut>
<codsoc>6601</codsoc>
<evenement>
<achvte>V</achvte>
<typeve>CDE</typeve>
<numeve>245</numeve>
</evenement>
<tiers>
<typtie>CLI</typtie>
<sigtie>CLI002</sigtie>
</tiers>
<datexp>20030721</datexp>
<datliv>20030723</datliv>
</fr.generix.metier.bc4j.evenement.common.GestionEvenementcreerEvenementOut>
</bean_out >
</egx_ws>
<egx_ws>
<bean_out>
<fr.generix.metier.bc4j.evenement.common.GestionEvenementcreerEvenementOut>
<codsoc>1</codsoc>
<tiers>
<sigtie>BRCLI101</sigtie>
<typtie>CLI</typtie>
</tiers>
<evenement>
<achvte>V</achvte>
<typeve>CDT</typeve>
<numeve>999</numeve>
</evenement>
<error>
<code>ELT_EXISDE</code>
<paramList>EVE</paramList>
<paramList>V/CDT/999</paramList>
<affi>false</affi>
<val>false</val>
<trace>false</trace>
<label>Element déjà existant ! EVE V/CDT/999</label>
</error>
</fr.generix.metier.bc4j.evenement.common.GestionEvenementcreerEvenementOut>
</bean_out >
</egx_ws>