Approche globale du framework Tango.js

CONNECTIVITE AUX BASES DE DONNEES

Gestion des Tiers

Connectez vos bases de données et gérez les efficacement avec les modèles de données.

Profitez de la puissance du service dataApi pour réaliser les opérations de traitement de données de façon abstraite, et conserver le contrôle parfait sur vos données.

Utilisez les composants d'accès aux données, pour manipuler facilement vos données depuis les interfaces de vos applications Tango.js.



Le composant tgxDbProvider, nécessaire à l'accès aux base de données, propose des fonctionnalités abstraites pour la manipulation des bases de données.

Des traducteurs spécifiques sont proposés par défaut pour :

  • dbTranslateJS (Mysql/MariaDB + Node.js)
  • dbTranslatePHP (Mysql/MariaDB + PHP via ajax)
  • dbTranslateJS-sqlite (Sqlite + Sqlite plugin cordova)

Ce composant supporte également la gestion de requêtes multiples avec rollback possibles en cas d'échec sur les traducteurs compatibles.


L'association des composants tgxDbProvider et tgxServiceProvider ouvre les possibilités de requêtage à des bases de données distantes.

Les applications Tango.js disposent ainsi de capacités de :

  • requêtage aux bases locales
  • requêtage aux bases distantes

Le service dataApi, spécialisé dans le traitement de données, offre une surcouche supplémentaire permettant une manipulation simple et uniforme des bases de données.

Les modèles de données proposent un ensemble de fonctions et d'évènements permettant de réaliser l'ensemble des traitements de données :

Traitements standards :

  • get (Récupération de données)
  • add (Ajout)
  • update (Modification)
  • delete (Suppression)
  • updateOrAdd (Modification si existant ou ajout)
  • copy (Copie)

Evènements :

  • onBeforeQuery (Ajustements de requêtes avant requêtage)
  • onAfterQuery (Ajustements de résultats de requêtage)
  • onBeforeApplyAdd (Traitements spécifiques avant ajout)
  • onAfterApplyAdd (Traitements spécifiques après ajout)
  • onBeforeApplyUpdate (Traitements spécifiques avant modification)
  • onAfterApplyUpdate (Traitements spécifiques après modification)
  • onBeforeApplyDelete (Traitements spécifiques avant suppression)
  • ...

Autres :

  • Les "fonctions spéciales" permettent de créer des traitements ou des comportements complémentaires aux modèles de données (avec ou sans lien avec des traitements de données standards)
  • Les "dataDomain" permettent de préciser les champs d'application des traitements (filtres, base de données, options...)
  • Les "filtres spéciaux" permettent d'activer d'éventuels traitements spécifiques à un contexte
  • Les "contextes" permettent de définir des traitements automatiques en fonction de conditions liés à des valeurs des données traitées
  • ...

Certains composants proposés dans le framework, comme le composant tgxClientDataSet, exploitent directement le service dataApi, permettant ainsi des interactions fluides et transparentes entre interfaces, contrôleurs d'interface, modèles de données et bases de données.


Des modules MVC proposés par le framework sont spécialisés dans la gestion des modèles de données et des bases de données.

  • sys_classes : module de gestion des modèles de données (définition des champs de bases, champs virtuels, comportements sur composants de saisie (popup de sélection, assistants de saisie, auto-complétion...) )
  • sys_databases : module de gestion des bases de données (versions de schéma, relations entre bases de données, modèles d'héritage...)

Les modèles de données bénéficient de paramétrages, permettant de définir différents comportements d'héritage entre base de données .

Ces paramétrages offrent ainsi les options :

  • Copie à l'initialisation : copie des données d'une table d'une base "A" vers une base "B"
  • Héritage : exploitation automatique des données (lecture seule) d'une table d'une base "A" lors du requêtage d'une base "B" (idéal pour la gestion de bases de références)
  • ...

Les paramétrages d'héritage peuvent également être rassemblés dans des modèles d'héritage, permettant ainsi d'appliquer globalement des contextes d'héritage sur des bases de données spécifiques.


L'utilisation de moteur de base de données proposant des centralisations natives de Merge (exemple Merge MyISAM) peut permettre une mise en place rapide et fiable pour les conceptions d'applications multi-dossiers ou de modules d'infocentrage.


Vous souhaitez en savoir plus ? Parlons-en de vive voix !