Sybase’s iAnywhere’s Advantage Database Server Qui est Sybase iAnywhere? Sybase iAnywhere Sybase subsidiary formé en 2000 Sybase est la plus grande entreprise de logiciels et services exclusivement focalisée sur la gestion et la mobilisation de l’information. Suite de produits dédiés Information Management Information Mobility Acheminement sécurisé de l’information Anywhere, Anytime… Bases de données Sybase Contrairement aux autres éditeurs de bases de données qui ont tendance à avoir une approche monolithique, Sybase propose un ensemble de technologies de gestion des données optimisé pour des usages et environnements spécifiques. Extreme Transactions Analytics Sybase ASE Sybase IQ Sybase ASE Cluster Edition Sybase RAP Workgroup & Embedded Mobile & Wireless Advantage Database Server SQL Anywhere UltraLite SQL Anywhere Qu’est-ce que Advantage ? Advantage Database Server (ADS)…un système de base de données robuste, évolutif et de haute performance, vous permettant de créer facilement et rapidement des applications métiers performantes. 16 ans de développement continue Implémentation simplifiée dans vos applicatifs Administration légère – pas de DBA requis Complet et léger Small footprint, moins de 8MB Advantage pour les développeurs FoxPro … 9 Conservation Données DBF existantes Fonctions spéc. pour FoxPro Accès Client/Serveur Accès concurrentiel aux données 9 PAS DE CONVERSION DES DBF Supporte l’héritage des données DBF Support type de données VFP 9 Support pour grandes tables DBF(>2GB) Possibilité de masquer les tables DBF PERFORMANCE ACCRUE Support multi-plateforme Accès via ODBC, OLE DB, cursor adapters et SQL pass-through Full text search, backup et replication Chiffrement des données – table, index, memo et communications 9 MIGRATION Partage tables DBF avec Visual Studio Conversion vers Client/Serveur Migration des modules nécessaires Extension pour le web Advantage Database Server et Visual FoxPro Principales fonctionnalités Accès aux données:Local, distant, Internet ISAM/navigational data access Vérrouillage au niveau des champs et index XBase expression engine Filtres Advantage-optimisés Full text search SQL data access ANSI 2003 SQL scripting Transactions Procédures stockées Triggers (déclencheurs) Events (notifications) Views (Vues) Fonctions définies par l’ utilisateur Intégrité référentielle Contraintes sur les enregistrements et colonnes Backup et restauration Replication Encryption Contrôle de l’accès utilisateur Types de serveurs Advantage Advantage Database Server (ADS) “remote” server Base de Données client/serveur LAN, WAN et Internet Advantage Local Server (ALS) Une application charge une DLL, au lieu de se connecter à un serveur de BDD Permet un accès aux données lorsqu’un serveur est indisponible Plateformes supportées Advantage Database Server Service pour Windows (32-bit et 64-bit) Daemon pour Linux (32-bit et64-bit) NLM pour Novell Netware Advantage Local Server DLL pour Windows Shared Object pour Linux Evolutivité d’une application Pas de nécessité de créer une application spécifique pour chaque environnement – Une seule application peut supporter: NetWare, Windows NT/2000/2003, et Linux networks Communication IP et IPX Accès aux données sur un serveur de fichiers utilisant ADS Accès distant aux données via une connection Internet Gestion Installation simple Légère – installation en quelques minutes Nécessite très peu d’info. De la part de l’utilisateur Option d’installation silencieuse Extension Utilitaire pour extension simplifiée Mises à jour Le serveur détecte automatiquement et supprime les versions antérieures du serveur. Les mises à jour ne nécessitent pas de ré-entrer les informations d’enregistrement. Full text search (FTS) Recherche de contenu (caractères, memo, champs BLOB) accélérée Disponible dans les filtres de table et les requêtes SQL Utilise des index FTS crées sur les champs de recherche spécifiés Comme AOFs, les index FTS sont entièrement dynamiques et utilisent les tables mises à jour Système de traitement des transactions Définit une unité de travail logique ou “business transaction” Mises à jour, insertions, et suppressions multiples dans une ou plusieurs tables sur un serveur, peuvent être effectuées en une seule transaction Soit tous les changements sont effectues,soit rien n’est change Rollback automatique en cas de panne sur la station de travail ou le réseau Niveau d’isolation des transactions Read-committed Mises à jour, insertions, et suppression sont invisibles jusqu’à leur validation (commit) Points de restauration des transactions pour un rollback partiel Intégrité des données Valeurs par défaut Contraintes Champs: contraintes minimum, maximum et null-valid Enregistrements: expressions d’évaluation de l’enregistrement entier avant de le poster Intégrité réferentielle Advantage supporte les mises à jour et suppressions en cascade Règles de suppression et mises à jour– Restrict, Cascade, Set NULL, Set Default L’intégrité réferentielle n’est supportée qu’avec des tables ADT Sécurité des données Encryption Données transitant sur le réseau sont encryptées Données stockées sur le serveur encryptées Algorithme d’encryption 160-bit, compatible RC4 Sécurité des tables Vérification des droits utilisateurs (réseau/OS) Ignorer les droits utilisateurs (réseau/OS) Pour les connexions libres, la sécurité est appliquée sur les tables Sécurité de la BDD Comptes et groupe d’utilisateurs Utilisateurs et groupes Groupes d’utilisateurs par défaut DB:Admin DB:Backup DB:Debug DB:Public Permissions sur les objets de la BDD Standard: Read, Update, Insert, Delete, Execute, Link_Access, Inherit Administration: Alter, Create, Drop, With Grant Backup et restauration Backup en ligne Capture et sauvegarde un snapshot (vue) de la BDD Les utilisateurs peuvent être connecté et faire des modifications durant le backup Support pour le backup Backup complet de la BDD Backups différentiels Replication Mise à jour des modifications d’une table dans une BDD vers une autre BDD La réplication peut-être mono ou bi-directionnelle Le Chaînage (forwarding) est supporté L’intégrité transactionnelle et référentielle est maintenue Résolution des conflits gérée par le type CONFLICT trigger Advantage implémente une réplication de type “push” Pourquoi Advantage est différent Qu’est ce qui rend Advantage unique? Supporte l’héritage des données DBF et des données Visual FoxPro 9 Permet l’accès concurrent entre les applications nouvelles et les applications pré-existantes Fournit une encryption des tables Les tables peuvent être masquées (“hiding”) Supprime la limite de 2go Full Text Search sur les tables DBF Types de données FoxPro Money TimeStamp Autoinc Varchar Varbinary NoCPTrans Character Memo Varchar Accès concurrentiel Conversion incrémentielle vers C/S Migration des modules lorsque nécessaire Non ADS et ADS en même temps Pas de conversion de données C/S vers DBF existant Outil de migration permet de créer de nouvelles applications Accès aux données* Applications Existantes Accès par le biais de DBC Peuvent-être converties pour une utilisation en mode client/serveur Nouvelles Applications Accès par le biais de Advantage Data Dictionary Peut utiliser n’importe quel client ADS Aucune nécessité de convertir les données Les outils existants n’ont pas besoin d’être modifiés Limite des tables: VFP 2GB VFP ne supporte que l’utilisation de table inférieures à 2GO L’utilisation du pilote Advantage supprime cette limite Tables >2GB ne peuvent plus être ouverte en natif par VFP Tables >4GB ne peuvent plus être ouvertes par une autre application en dehors d’ADS Enregistrements toujours limités à 2 milliards Full Text Search Remplacement pour ATC ou $ Content options Performance accrue grâce aux index Index de contenu non reconnu par VFP Peuvent-être placés dans un fichier d’index non-structurel Différents chemins de Migration Accès des applications aux données locales DBF Accès des applications aux données locales via client/serveur Client/Serveur ADS ADS •Stabilité •Performance •Transactions •Triggers •Triggers •Procedures •Proceduresstockées stockées •Contraintes •Contraintes •Intégrité •Intégritéréferencielle réferencielle ADS ADS DBF Accès local et ADS managed Data ADS ADSmanaged manageddata data •DBF •DBF>2GB >2GB •Masquage •Masquagedes desDonnées Données •Encryption •Encryption •Replication •Replication •Hot •HotBackup Backup •... •... ADS ADS DBF Certains modules accèdent en local, d‘autres utilisent ADS Managed Data Migrer MigrerModule Modulepar parModule Module ADS ADS DBF Diverses applications accèdent en local et ADS managed Data Ajout Ajoutd‘applications d‘applications .NET ASP.NET PHP Silverlight Win32 Linux Java ADS ADS DBF Finalement: Toutes les données sont gérées par ADS .NET ASP.NET PHP Silverlight Win32 Linux Java ADS ADS DBF Accèder à Advantage depuis FoxPro Accèder à Advantage Convertit les DBC existantes Utilitaire de conversion DBC Accèder aux données Advantage Pilote ODBC Fournisseur OLEDB Méthodes Visual FoxPro SQL Passthrough (SPT) Remote Views (vues distantes) Cursor Adapters Convertir votre DBC DBCConvert.prg Utilitaire pour convertir un DBC en ADD Installé avec le fournisseur OLE DB Ce qu’il fait: Crée un dictionnaire de données Advantage (Advantage Data Dictionary) Ajoute au ADD toutes les tables présentes dans DBC Ajoute les valeurs par défaut & les contraintes de champs Note: Requis pour les noms de champs longs! Ajoute au ADD toutes les vues présentes dans le DBC Crée des règles RI dans ADD pour toutes les relations avec DBC Logs de tous les messages d’erreur et les états Vue distante (Remote View) Pour/Contre* Avantages: Certainement la manière la plus simple de travailler avec des données distantes View Designer est disponible Contrôle concurrentiel des mises à jour: embarqué Désavantages: Les requêts SELECT et connexions sont “static” Les vues sont dépendantes du schémas back-end Le DBC doit être maintenu/fourni SQL Passthrough Pour/Contre* Avantages SPT permet aux développeurs de contrôler plus de propriétés Les requêtes SQL peuvent être modifiées à “la volée” Pas besoin d’un DBC Utilisation possible des Procédures Stockées (Stored Procedures) Désavantages Le développeur doit tout coder Ne peux pas ajouter un curseur SPT au DataEnvironment des form/report Créer un curseur se mettant à jour peut se révéler complexe Utiliser SPT peut-être plus difficile que de d’utiliser des vues distantes (remote views) CursorAdapter Pour/Contre Avantages Il est plus facile de convertir un application existante pour une utilisation des CursorAdapters que d’utiliser le SQL Passthrough Les données provenant d’un CursorAdapter peuvent être utilisées n’import où Changer les sources de données est facile Comme SPT, peut récupérer des données provenant de procédures stockées (Stored Procedures) Désavantages – pas tant que cela! Apprentissage Les CursorAdapters ont été introduits tardivement De fait, nombre d’applications utilisent d’autres méthodes d’accès aux données Fonctionnalités non supportées Index binaires (prévus pour la prochaine version) Utilisation des champs Memo/BLOB dans des fonctions scalaires Traduction des données entre pages de code Vues contenant un ORDER BY Certaines collations ne sont pas supportées Problèmes eventuels de compatibilité FoxPro ne pourra pas ouvrir une table avec un index FTS basé sur un champs memo FoxPro n’ouvrira pas de table > 2GO ADS ne peut lire/écrire des champs génériques (General fields) ADS pourra tout de même ouvrir la table FoxPro ne reconnaîtra pas des index utilisant des opérateurs de concaténation binaires (;) http://devzone.advantagedatabase.com Ressources Advantage sur le Web Exemples: http://devzone.advantagedatabase.com/CodeCentral/Project.aspx?ProjID=140 Utiliser FoxPro Data Tech-Tip: http://devzone.advantagedatabase.com/dz/content.aspx?Key=42&ID=62 Partage de données FoxPro: http://devzone.advantagedatabase.com/jeremym/fox_sharing/fox_sharing.html Introduction à Advantage et FoxPro http://devzone.advantagedatabase.com/jeremym/fox1/fox1.html Blogs Vues d’un “évangéliste” Advantage: http://blog.advantageevangelist.com JD Was Here: http://jdmullin.blogspot.com