odbc whitebook fr

publicité
PRÉFACE
4D ODBC est un outil de développement d’applications conçu pour adresser les
besoins spécifiques de l’environnement client/serveur. Il est facile à apprendre, à
utiliser et réunit fonctions, productivité et efficacité. 4D ODBC est développé selon
les règles du standard ODBC (Open DataBase Connectivity) mis en place par
Microsoft. Ses caractéristiques en font l’outil idéal de développement d’applications stratégiques, pour le groupe de travail ou pour l’entreprise.
Pour les développeurs qui débutent dans le développement client/serveur, l’environnement graphique de programmation et le langage de 4D permettent de créer
des applications frontales efficaces et solides. Des commandes de haut niveau
simplifient la programmation en SQL, en concaténant les appels ODBC de bas
niveau en macros simples d’utilisation. Il est possible de faire pratiquement abstraction de la programmation SQL en utilisant l’approche graphique par pointer/
cliquer des “contextes” 4D ODBC.
L’ensemble de l’offre s’appuie sur une gamme d’outils puissants, conçus pour le
développement de l’ensemble du système d’information de l’entreprise. 4D Insider
et 4D Compiler, briques essentielles pour les applications stratégiques, seront les
atouts de la performance. L’environnement de développement intègre de manière
transparente les facilités du multi-tâche. L’ajout de fonctionnalités ODBC permet
l’accès à n’importe quelle source de données supportant ce standard d’interrogation.
Le déploiement est simplifié par la petite taille des applications 4ème Dimension.
4D possède des outils indispensables pour configurer la mémoire de manière
optimale. L’architecture d’indépendance de plate-forme de 4ème Dimension
permet un déploiement harmonieux entre les différentes plates-formes d’exécution
de l’entreprise, Windows et Mac OS, sans modification de l’application.
4D ODBC et 4ème Dimension permettent de déployer de 3 manières : avec 4D
Engine, 4D Runtime Classic (disponible avec 4D version 6) ou 4D Server. Quelque
soit la structure de votre entreprise et celle de votre application, il y a une méthode
de déploiement qui leur correspond.
4D ODBC est un des composants de 4D Enterprise, la solution de connectivité
d’ACI, qui réunit 4D et les modules de connectivité :
- 4D SQL Server qui connecte 4D à Sybase SQL Server ou MS SQL Server sur
toutes leurs plates-formes d’exécution
- 4D for ORACLE, qui connecte 4D à ORACLE, sur toutes ses plates-formes d’exécution
INTRODUCTION L’architecture client/serveur connaît une croissance significative. La demande
pour des développeurs, administrateurs et ingénieurs systèmes compétents et
formés s’accroit. Pour adresser cette demande, il faut adopter des outils de développement d’applications faciles à apprendre et à utiliser. 4D ODBC permet aux
entreprises de tirer parti de leur connaissance de 4D ou de la programmation SQL,
ou des deux, et simplifient ainsi l’environnement de développement. L’entreprise
bénéficie alors d’un cycle de développement d’applications très efficace, et de
gains de productivité pour les développeurs et les utilisateurs.
A PROPOS D’ODBC Open Database Connectivity (ODBC) définit une bibliothèque de fonctions qui
permettent à une applications, par exemple 4ème Dimension, d’accéder à un
système de bases de données en utilisant le langage SQL. L’interface ODBC fournit
aux éditeurs un accès neutre aux différents systèmes de bases de données.
L’architecture ODBC possède quatre composants :
• L’application
• un gestionnaire de pilote
• le pilote
• la source de données
• le gestionnaire de pilote est une bibliothèque dynamique (DLL) qui
charge les pilotes, et fournit un point d’entrée unique aux fonctions ODBC
aux différents pilotes.
Application
ODBC Driver
Manager
Oracle
Driver
MS SQL
Server
Driver
EDA/
SQL
Driver
Xbase
Driver
DB2
Gateway
Driver
Text
File
Driver
SQL-Net
Net-Library
EDA Link
dbf Files
Net-Library
Texte file
IBM DB2
Oracle for UNIX
LAN Gateway
Microsoft SQL
Server for
Windows NT
Voici les fonctions principales de tout pilote ODBC :
• connexion/déconnexion d’un serveur de données
• exécution de requêtes et fourniture de zones de stockages et de formats
de données pour les résultats de la requête
• traitement transactionnel en ligne
• fonctions externes à l’interface ODBC (fonctions spécifiques au SGBD)
Le développeur doit sélectionner un pilote ODBC correspondant à la source de
données de l’hôte auquel l’application sera connectée. Les pilotes ODBC proviennent de nombreuses sources, principalement pour ORACLE, Sybase et MS SQL
Server. Si une API native existe pour accéder à la source de données de l’hôte, le
pilote exigera l’installation de l’API.
Lorsque l’on conçoit une application 4D ODBC, il convient en premier lieu de
décider de la base de données à laquelle elle se connectera. ODBC possède les
fonctions qui affichent quelles sont les bases de données disponibles, décrivent
leur type et établissent la connexion.
Une application peut être conçue en fonction d’une cible spécifique. Par exemple,
un service comptabilité peut stocker ses enregistrements dans une base ORACLE.
Lorsqu’il faut concevoir un système de prise de commandes, on sait quels sont les
pilotes ORACLE nécessaires. On connaît également quel est le type de cette base
de données, et quels sont les attributs nécessaires pour s’y connecter. Lorsqu’une
application est conçue pour une source de données cible, on peut tirer parti des
fonctions spécifiques offertes par le SGBD et le pilote.
D’un autre côté, une application peut devoir être conçue pour accéder à n’importe
quelle base de données. Elle ne saura pas a priori quel est le pilote utilisé, ni la base
de données cible. Dans ce cas, le développeur devra faire preuve de prudence, et
n’utiliser que les fonctions communes à toutes les sources de données ODBC.
4D ODBC permet aux développeurs de construire des applications selon ces deux
scénarios.
SIMPLICITÉ
Voici ce qui caractérise la simplicité d’apprentissage de 4D ODBC :
D’APPRENTISSAGE Mise en oeuvre du langage de développement de 4D
4D ODBC, qui se fonde sur l’environnement 4D, solide et éprouvé, combine
développement et déploiement rapide d’applications, performances et fiabilité.
4ème Dimension permet d’utiliser de très nombreux types de données (dont les
sons, les BLOBs, la vidéo, la compression automatique, etc.) qui sont parfaits pour
créer des applications ODBC clientes. Le langage de développement de 4D possède de nombreux outils et commandes pour gérer, vérifier et manipuler tous ces
types de données.
Développement par pointer/cliquer
Les développeurs qui ne maîtrisent pas le langage SQL tireront le meilleur parti
des commandes contextes de 4D ODBC, pour laisser 4D gérer lui-même le langage
SQL. Un contexte est un lien dynamique entre un objet 4D et un objet ODBC.
Un utilisateur peut définir un contexte de manière graphique, par un simple
pointer/cliquer. Une fois le contexte défini, 4D ODBC gère automatiquement la
création et l’exécution de toutes les commandes SQL pour le développeur.
Commandes de programmation de haut niveau
Les commandes de haut niveau de 4D ODBC concatènent les commandes API de
bas niveau en fonctions et commandes de haut niveau, de type macros. Ces commandes réduisent le temps de développement des applications, et le simplifient.
Elles sont conçues pour augmenter les performances en donnant un lieu direct au
noyau de 4D. Les développeurs qui ne maitrisent pas le cycle d’exécution de bas
niveau d’ODBC trouveront dans ces commandes une manière rapide et simple
d’accéder à l’environnement de développement ODBC.
SIMPLICITÉ
D’UTILISATION
Dictionnaire de données intégré
4D Insider fonctionne avec 4ème Dimension et 4D ODBC. Il permet de construire
un dictionnaire de données intégré répertoriant tous les objets utilisés dans le
projet, classe le code en catégories pour chaque objet et l’affiche, prêt à être modifié
ou copié.
Véritable compilateur
4D Compiler compile le code en langage machine, et accélère de manière significative l’exécution de l’application. Il assure également la sécurité des données et
permet une maintenance facile du code. 4D Compiler est le seul compilateur
capable de générer simultanément un véritable code machine pour les environnement Windows, Mac OS 680X0 et Power Macintosh.
Environnement de développement graphique
Les développeurs peuvent tirer le meilleur parti des outils logiques et orientés
objet de 4D grâce à son éditeur de procédures par pointer/cliquer qui analyse et
traduit automatiquement les commandes du langage et gère l’intégrité relationnelle.
Macros ODBC intégrées
4D ODBC possède un jeu de commandes catalogue qui vous permettent de retrouver l’information : liste de tables stockées dans un catalogue de la source de données, liste des noms de colonnes dans des tables précises, index associés à une
table. Avec les commandes catalogue, vous pouvez :
• récupérer la liste des pilotes ODBC installés
• obtenir les informations concernant le schéma des sources de données : tables,
colonnes et index
• accéder aux listes des procédures du serveur et aux listes des colonnes
• obtenir les informations sur les privilèges liés aux tables et aux colonnes
Développer en équipe en temps réel
Avec 4D Server, la version de développement en équipe de 4D, ACI vous permet
d’augmenter la rapidité de développement ainsi que la productivité des
développeurs. 4D Server est le seul environnement de développement permettant
un développement en équipe en temps réel, à la place du modèle contraignant de
“check-in/check-out” .
Les puissantes fonctions de gestion des objets de 4D Server gèrent automatiquement le contrôle des versions et permettent aux programmeurs de partager les
bibliothèques de code qui leur permettront de travailler plus vite.
Environnement multi-process
En affichant plusieurs fenêtres programmables, indépendantes et actives simultanément, 4D ODBC accroît la productivité de l’utilisateur. Par exemple, 4D ODBC
peut afficher les données dans une fenêtre pendant qu’au même instant les utilisateurs mettent à jour un jeu de ces données dans une autre fenêtre.
SOUPLESSE DU
DÉPLOIEMENT
Empreinte réduite
En comparaison avec les autres environnements de développement, 4D ODBC est
une plate-forme de déploiement “minimaliste”. Que vous utilisiez 4D Engine ou
4D Runtime, l’empreinte de l’application est toujours inférieure à 2 MO, quelque
soit la plate-forme de déploiement. La taille de votre structure et de votre fichier
de données dépend de l’application elle-même.
Optimisation de la mémoire
4ème Dimension possède des outils de gestion de la mémoire pour optimiser
l’utilisation de cette dernière en fonction de la plate-forme d’exécution. Ces outils
vous assurent que l’application utilisera la taille mémoire minimum nécessaire,
quelque soit la plate-forme de déploiement.
Architecture indépendante de plate-forme
Vous pouvez développer vos applications indifféremment dans les environnements Mac OS ou Windows et les déployer dans les deux environnements, sans
modifier votre code. 4ème Dimension gère automatiquement les polices, les caractères diacritiques (majuscules, minuscules, caractères accentués), les types image
ainsi que l’interface, sans intervention de programmation. Vous pouvez compiler
les applications 4D ODBC et les déployer en code natif sur sur les trois platesformes windows, et sur Mac OS 680X0 et Power Macintosh lorsque la version Mac
OS de 4D ODBC sera disponible.
Dans l’environnement Windows, 4ème Dimension est une application 100% 32-bit.
Applications monoposte
Si vous devez utiliser l’application hors des limites de votre réseau, vous pouvez
utiliser le moteur de bases de données de 4ème Dimension pour stocker localement les données dont vous avez besoin lorsque le réseau n’est pas disponible.
Cette fonction est particulièrement utile pour des applications nomades, fonctionnant sur des portables.
Localisation
Les applications 4D ODBC peuvent être localisées en 12 langues, dont le suédois,
l’allemand, le japonais et le farsi.
OPTIONS DE
DÉPLOIEMENT
Il existe trois méthodes pour déployer une application 4D ODBC sur les différentes
plates-formes d’exécution, Windows et Mac OS:
4D Engine
Utilisé avec 4D Compiler Pro, 4D Engine permet aux développeurs d’intégrer le
moteur de base de données dans leur développement pour créer un exécutable.
4D Engine permet le déploiement illimité de l’application dans l’entreprise. Il
convient aux très grands sites.
4D Runtime Classic.
Cette option est une version runtime monoposte de 4ème Dimension, qui permet
d’acquérir des licences “par poste de travail”. 4D Runtime peut exécuter plusieurs
applications 4ème Dimension ou 4D ODBC concurrentes compilées sur le même
poste de travail. 4D Runtime Classic sera disponible avec la version 6 de 4D.
4D Server
4D Server permet à une application et à un fichier de données appartenant à un
groupe de travail d’être partagés sur une machine serveur. 4D Server fonctionne
sous Windows ou Mac OS et les applications clientes peuvent être indifféremment
des deux plates-formes. Dans ce cas de figure, 4D ODBC sert 4D Server celles du
groupe de travail.
Le tableau ci-après décrit les trois méthodes de déploiement, ainsi que les composants qu’elles requièrent.
Licence
Composants
4D Engine
Monoposte illimité
4D Compiler Pro
4D Engine
4D ODBC
4D Runtime Classic
(4D V6)
Monoposte /par poste de
travail
4D Runtime Classic
(1 par machine)
4D ODBC
4D Server
Multi-utilisateurs/
licenses simultanées
4D Server
4D Server Expansion
Pack
4D ODBC
CONCEVOIR AVEC 4D ODBC
Avec 4D ODBC vous pouvez transformer 4D en frontal d’une source de données
ODBC. Vous pouvez tirer parti de ses capacités de stockage et de manipulation des
données tout en fournissant à l’utilisateur une interface flexible et simple d’utilisation.
4D
4D ODBC
ODBC Driver
Manager
Oracle
Driver
MS SQL
Server
Driver
EDA/
SQL
Driver
Xbase
Driver
DB2
Gateway
Driver
SQL-Net
Net-Library
EDA Link
dbf Files
Net-Library
IBM DB2
Oracle for UNIX
Microsoft SQL
Server for
Windows NT
LAN Gateway
Une partie de l’efficacité de 4D ODBC dans cette configuration provient du fait que
le système s’appuie sur une architecture client/serveur. Avec 4D ODBC, l’application cliente 4ème Dimension décrit à la source de données les fonctions de manipulation de données qui doivent être effectuées. Le serveur exécute ces fonctions et
retourne les données nécessaires. Dans une application client/serveur, les données
résident toujours sur le serveur.
CHOISIR UNE
ARCHITECTURE
CLIENT/SERVEUR
Lorsque vous allez créer votre application 4D, vous désirerez tirer parti de l’architecture client/serveur dans la conception de votre base de données. La méthode
que vous allez choisir peut avoir un impact significatif sur la vitesse à laquelle les
données seront transférées.
Les paragraphes suivants explique les différentes méthodes d’implémentation
d’une base 4D ODBC
4D ODBC en frontal simple
Lorsque 4ème Dimension est utilisé en frontal, la source ODBC est le lieu unique
de stockage des données et 4D est utilisé pour développer l’interface de l’applica-
tion client/serveur. Dans cette architecture, aucune donnée de l’application n’est
stockée en local dans 4ème Dimension. Cette méthode donne des performances
optimales et ses limites sont celles de la source de données.
La richesse du langage procédural de 4ème Dimension, qui possède de nombreuses fonctions de validation et de manipulation de données fait de 4D un outil tout
à fait adapté au développement d’applications frontales. En outre, 4D Compiler et
4D Insider complètent cet environnement de développement exceptionnellement
robuste et flexible.
Traitement différé avec 4D ODBC
Le traitement différé (Batch Processing) est la méthode par laquelle les données
stockées dans une source de données ODBC centralisée sont régulièrement déchargées dans un moteur de données 4ème Dimension ou 4D Server. Cette architecture
est très efficace dans les cas où il existe des contraintes de ressources sur la source
de données ou le réseau, qui interdisent un accès efficace en temps réel. Cette
méthode est également utilisée par ceux qui veulent tirer parti des fonctions de
reporting et de recherches de 4D, en important les données dans 4ème Dimension
pour utiliser ces fonctions natives. En outre, cette architecture possède un mécanisme qui permet d’alimenter un ordinateur portable avec une source de données
4D, dans le cas d’utilisateurs nomades.
Traitement distribué avec 4D ODBC
Une architecture distribuée vous permet de réunir le meilleur des deux mondes,
en partageant les données entre la source de données ODBC et 4ème Dimension
(ou 4D Server). En répartissant votre structure de données entre les deux environnements, vous pouvez combiner des données en provenance de plusieurs sources.
Bien conçue, cette combinaison de plusieurs sources de données peut être totalement transparente pour les utilisateurs.
Prenons par exemple le cas d’une grande entreprise qui stocke les données de
l’entreprise dans un système de type ORACLE ou Sybase. Ces données concernent
l’ensemble des services. Celles qui concernent un groupe de travail particulier
peuvent être stockées dans une base 4D Server. La puissance et la flexibilité de
4D Server et de 4D ODBC permet de créer des formulaires affichant les données en
provenance des deux sources. Il est également possible d’établir des “relations
virtuelles” entre ces deux systèmes.
CHOIX D’IMPLÉMENTATIONS
CONTEXTES OU ROUTINES DE BAS NIVEAU
Lorsque vous développez votre application, 4D Enterprise vous offre plusieurs
choix. Les routines contextes vous permettent de développer rapidement et efficacement des applications ODBC sans programmer en SQL. Les routines de bas
niveau sont très souples et apportent un contrôle total sur la source de données. En
créant votre application 4ème Dimension, vous voudrez pouvoir choisir le type de
routines qui conviendront le mieux. Ce chapitre expose les différentes méthodes de
programmation d’une base 4D ODBC.
Utilisation des contextes
Lorsque vous utilisez les contextes, vous décrivez la relation entre les champs, les
variables et les tableaux de votre base 4ème Dimension et les colonnes de votre
source de données. Par exemple, vous pouvez vouloir associer la variable 4D
vFirstName avec la colonne FirstName dans la table de la source de données.
Lorsque vous créez un contexte, vous pouvez utiliser les commandes de contextes
de 4D ODBC pour manipuler les données selon les champs, variables et tableaux
de votre base 4D.
Les contextes ont été créés pour vous permettre de mettre en place rapidement et
facilement un système dans lequel les données sont récupérées dans la source de
données, affichées et modifiées dans l’application cliente 4ème Dimension, et
renvoyées à la source de données. Les contextes sont particulièrement efficaces
pour transformer une base 4D existante et la transformer en frontal d’une source
de données. Ils sont également appréciés par les développeurs ne possédant pas
ou peu de connaissances en SQL. Les contextes sont également très utilisés pour
créer des prototypes et pour les développements RAD. Au fur et à mesure que
vous avancez dans votre application et dans la maitrise de SQL, vous pouvez
choisir d’intégrer dans votre base les commandes de bas niveau. Les performances
sont accrues, et vous disposez de toutes les fonctions de l’API native.
Si vous choisissez les contextes, les paragraphes suivants vous donneront des
informations précieuses concernant les problèmes de performances.
“Binds” utilisant les champs de 4ème Dimension
En règle générale, il est recommandé d’éviter de créer des “binds” entre les
champs de 4ème Dimension et les colonnes de la source de données. Créer de tels
“binds” implique que vous devrez maintenir une structure de votre base 4ème
Dimension qui sera le miroir de la structure de votre base source.
Il n’est cependant pas nécessaire de créer un double de la structure pour utiliser
les “binds”. Une approche plus efficace de l’architecture client/serveur réside dans
la création de contextes utilisant variables et tableaux.
Il est utile d’utiliser les “binds” avec des champs lors de traitements différés. Pour
implémenter un tel traitement, les “binds” avec les champs vous serviront à récupérer les données et les stocker localement. Vous pouvez ensuite vous déconnecter
de la source de données et travailler en local. Ensuite, vous rétablierez la con-
nexion à la source de données pour lui retourner les données modifiées.
“Binds” utilisant les tableaux ou variables de 4ème Dimension
Comme mentionné plus haut, les contextes peuvent être construits en utilisant les
variables et les tableaux. Cette approche de l’architecture client/serveur est plus
efficace. Lorsque vous utilisez les variables ou les tableaux de 4ème Dimension
dans vos “binds”, vous n’avez pas à maintenir une base 4D qui duplique la base
hôte. Comme vos “binds” ne s’appuient pas sur les champs 4D, votre base 4D peut
ne contenir qu’une table et un champ. Pour transférer et manipuler les données,
vous créez des formulaires qui affichent les variables et les tableaux dans toutes les
combinaisons ou formats.
Utilisation des commandes de bas niveau
Lors de la conception d’une base de données utilisant les commandes de bas
niveau, vous utilisez des commandes SQL pour indiquer à la base source quelles
sont les manipulations de données à effectuer. Vous pouvez créer des états SQL
pour effectuer tout type de manipulation : sélection, insertion, mise à jour ou
suppression de lignes sur le serveur. La sélection de données peut être faite sur de
multiples conditions y compris les conditions sur données liées.
En règle générale, les commandes de bas niveau sont plus efficaces que les contextes. Avec les contextes, 4D ODBC doit traduire la commande en requêtes SQL
avant d’exécuter la requête sur le serveur. Avec les commandes de bas niveau, la
requête est déjà spécifiée en langage SQL. 4D ODBC utilise l’API de la source de
données pour traduire les demandes de bas niveau en une demande comprise par
la source de données.
Comme les contextes utilisant les variables et les tableaux, les commandes de bas
niveau ne dépendent pas des champs 4ème Dimension. Il n’est donc pas nécessaire
de maintenir une structure de base de données. On peut avoir une application avec
une seule table et un seul champ, pour lesquels vous créerez plusieurs formulaires
affichant les données dans tous les formats requis.
DISPONIBILITÉ
4D ODBC est disponible dans l’environnement Windows. La version Mac OS sera
disponible au cours du dernier trimestre 1996.
4D ODBC est un des composants de 4D Enterprise. 4D Enterprise est la solution
créée par ACI pour accéder à la plupart des serveurs de données SQL grâce aux
modules suivants : 4D SQL Server (pour Sybase et MS SQL Server) 4D for Oracle,
and 4D ODBC. Tous ces produits seront prochainement disponibles dans les deux
environnements Windows et Mac OS.
AUTRES
CONNEXIONS
Outre 4D ODBC, ACI a développé deux autres solutions de connectivité indépendantes de plate-forme.
SQL
Sybase et Microsoft SQL Server
4D SQL Server gère les connexions à Microsoft SQL Server (OS/2 et Windows NT),
Novell SQL Server (NLM), et toutes les plates-formes d’exécution de Sybase.
4D SQL Server ajoute 125 commandes au langage de 4D et fournit le support
complet des procédures stockées de SQL Server, des Remote Procedure Calls et des
appels à Sybase Open Server. Sybase Open Client est fourni avec le module. 4D
SQL Server supporte les fonctions SQL Server suivantes : bufferisation des lignes,
validation à deux phases, types de données texte/image, mode browse et appels
aux procédures distantes.
ORACLE
4D for Oracle communique avec ORACLE Server sur ses 85 plates-formes d’exécution. 4D for ORACLE manipule les données et tables d’une base ORACLE, affiche
la définition des données SQL, les fonctions de contrôle de requêtes et le contrôle
des transaction. 4D for ORACLE tire parti des fonctions de pointeurs et tableaux
de 4D.
4D for ORACLE supporte les fonctions suivantes : gestion des données, manipulation de structure, array processing, mode différé, gestion des BLOBs, bloc PL/SQL,
gestion des valeurs nulles, conversions de type automatique.
Ces deux modules sont inclus dans 4D Enterprise et seront prochainement disponibles dans les deux environnements, Windows et Mac OS.
Téléchargement