Un peu de technique
SpiderBus offre des possibilités quasi illimitées en matière d’échange de données, de transformation, routage et filtrage des données. Cette page donne un aperçu de ces possibilités.
Si vous n’y trouvez pas les informations que vous cherchez ou que la technologie dont vous avez besoin n’est pas listée, n’hésitez pas à nous contacter pour nous exposer votre besoin. Vous trouverez les moyens de nous contacter sur la page contact.
Types de conecteurs
Chaque Application prévoit un ou plusieurs moyens pour échanger des données. SpiderBus est à même d’utiliser les technologies suivantes:
API REST
L’API REST est le moyen privilégié pour SpiderBus d’interragir avec un logiciel tiers.
Nous mettons en oeuvre ces API de façon générique, en interprétant le descriptif que l’API met à disposition, ou manuellement, en implémentant le code pour l’exploiter.
Il arrive également que nous implémentions une surcharge par-dessus les opérations proposées par l’API, ce qui permet d’agouter de la logique métier réutilisable pour plusieurs entreprises.
A ce jour, les standards sur lesquels nous pouvons réaliser des implémantations génériques sont les suivants:
- Open API (Swagger)
- OData (Microsoft)
Fichiers / FTP / Dossiers
Nous traitons de façon configurable les fichiers au format CSV et XML et XLSX.
Nous avons également implémenté des échanges de données sur des formats de fichiers propriétaire, par exemple des fichiers structurés avec des données d’en-tête et des positions dans le même fichier.
Il est également possible de transférer des fichiers d’un logiciel à un autre ou depuis/vers un dossier local ou réseau ou encore un serveur SFTP/FTPS.
Base de données
A ce jour, nous avons la possibilité de faire des intégrations sur les moteurs de bases de données suivantes:
|
Si le type de base de données dont vous avez besoin n’est pas listé, n’hésitez pas à nous contacteer pour savoir si son intégration est possible. |
API SOAP
SOAP est une norme apparue à la fin des années 1990 pour permettre aux entreprises de transférer des données entre les réseaux d’entreprise. Cette technologie a progressivement été remplacée par les API REST, mais reste utilisée par un nombre significatif de logiciels.
SpiderBus prends en charge cette technologie et peut donc interagir avec les logiciels proposant une API de ce type.
Procédures RPC
RPC (Remote Procedure Call) est un protocole réseau permettant de faire des appels de procédures sur un ordinateur distant à l’aide d’un serveur d’applications (wikipedia). La norme RPC date de 1981. Certains domaines de l’industrie utilise encore principalement cette technologie, et SpiderBus est à même de communiquer avec les logiciels qui la proposent, dont l’ERP ODOO qui la propose comme API native, alors que l’installation de plugins est nécessaire pour communiquer avec une API REST sur cet ERP.
LDAP / Active Directory
SpiderBus peut également échanger avec Active Directory, localement ou sur Azure et plus généralement avec des annuaires LDAP.
Cela permet par exemple de gérer des comptes utilisateurs et des groupes d’utilisateurs ainsi que leurs membres et donc, de piloter à partir d’un logiciel les droits d’accès des utilisateurs dans l’entreprise.
Opérations
SpiderBus effectue différents traitements qui permettent d’obtenir un résultat spécifique et précis sur chacun des flux de données de l’entreprise.
Modèle de données
Pour chaque flux de données, un modèle est créé pour accueillir toutes les propriétés de chacun des enregistrements.
Chaque propriété peut être d’un type de base (texte, numérique, date, etc..) ou peut être un objet ou une collection d’objet (récursivement), ce qui permet de construire un modèle constituant un arbre de propriétés.
Les données transiteront dans ce modèle une fois transformées depuis leur application source et en attendant leur seconde transformation vers leurs applications de destination.
Cette approche permet de transformer de façon universelle un enregistrement en provenancede de chaque applications vers toute application de destination, en respectant le format de chacune.
Transformations
Sur chaque propriété d’un modèle de données (décrit ci-dessus) peut être appliquée une transformation.
Il n’y a aucune limite à ces transformations qui peuvent être décrites dans le langage JavaScript. L’entier de l’enregistrement source peut être utilisé dans les transformations.
Par exemple, on peut forcer une majuscule comme premier caractère ou concaténer plusieurs propriétés de la source, ou encore effectuer des transformation différentes en fonction de la nature de l’objet source.
Les fonctions de transformation étant asynchrones, il est même possible d’effectuer un appel sur une API depuis ces dernières et d’utiliser leur résultat dans la logique de transformation.
Pour certains de nos clients, nous avons réalisé des logiques de transformation de propriétés de plusieurs centaines de lignes de code lorsque cela s’avérait nécessaire.
Filtres
Sur chaque extraction de données, comme sur chaque point de livraison de données peut être appliqué un filtre.
Ce filtre peut être décrit sous la forme d’une expression ou d’un bloc de code JavaScript et est appliqué à chaque donnée (record) qui lui est soumis. Si le résultat est vrai, la donnée passe et s’il est faux, la donnée est retenue.
Tout comme pour les transformations, il n’a pas de limite sur la complexité de la logique de filtrage qui est elle aussi asynchrone et permet de faire des appels sur des API extérieures.
Il est par exemple possible de faire un Appel sur l’API Google Maps pour obtenir la distance entre un client et votre société (des frais lié à l’utilisation de cette API peuvent s’appliquer).
À nouveau, la limite de ce qu’il est possible de faire sera probablement votre imagination.
Routage
Avec SpiderBus, il n’y a pas de limitations quand à la circulation des données entre les applications. À partir du scénario de base où l’on extrait une donnée d’un logiciel pour l’insérer dans un autre, il est possible de dériver sur des schémas où plusieurs applications sont servies à partir d’un maître (Master Data) ou encore en bidirectionnel entre deux application ou plus.