4e Dimension (langage)

Restez toujours informé : suivez-nous sur Google (☆)

Introduction

4 Dimension
Développeur4D
Dernière version4D v12
EnvironnementMicrosoft Windows, Mac OS X
TypeSGBDR
LicencesPropriétaire
Site Webwww.4d.com

4 Dimension (ou 4D) est un système de gestion de base de données dont le slogan est « 4D, When the solution matters » (en français : « 4D, quand c'est la solution qui compte »).

Historique

Le logiciel 4D a été créé par Laurent Ribardière en 1984 et est l'un des premiers (sinon le premier) systèmes de base de données à voir le jour sur la plateforme Apple Macintosh. Cette particularité lui a d'ailleurs longtemps "collé à la peau", mais en 1995 4D devient multiplate-forme et fonctionne également sous Microsoft Windows.

4D v11 SQL release 6 (11.6) est la version actuelle, certifiée Windows 7, Windows Server 2008 SP2 et Mac OS X Snow Leopard 10.6 .

AnnéeVersionRemarques
1984ABCBase
19854D v1
19864D v2
19874D v3
19894D v4Utilisation multiposte - Compiler
19924D v5Environnement client/serveur intégré
19954D v5.5Multi-plateforme Mac OS et Windows
19974D v6Serveur Web intégré
19994D 6.54D 6.5.9r2 est la dernière version de cette ligne
20004D 6.74D 6.7.4 est la dernière version de cette ligne
20014D 6.8Certification Mac OS X (6.8.5) ; la version 6.8.6 est la dernière version de cette ligne.
20034D 2003XML, Web Services et Compilateur intégré ; la version 2003.8r2 est la dernière version de cette ligne.
20044D 2004Interface revue ; intégration des commandes ODBC haut niveau, 4D Customizer, 4D Backup et 4D Engine ; la version 2004.8 est la dernière version de cette ligne.
20074D v11 SQLNouveau moteur de base de données, SQL intégré, support Unicode, gestion SVG, centre de maintenance intégré, zone web,... 4D v11 SQL Release 6 (11.6) est la dernière version actuelle.
20104D v12Nouvelles fonctionnalités, améliorations de l'environnement de développement, multibases, système intégré de synchronisation entre plusieurs bases, support PHP

Logiciel 4D

4D est un Système de Gestion de Base de Données Relationnelle (SGBDR) disposant d'un langage de programmation de la quatrième génération (L4G). Véritable environnement de développement intégré (EDI ou IDE en anglais), 4D intègre un compilateur, un déboggeur, un système complet et automatisé de sauvegarde et de mirroring, un serveur Web, un serveur et client de Web Services, un moteur d'exécution mono-poste et client-serveur multi-plateforme. Récemment, 4D s'est vu enrichi de la suite 4D Web 2.0 Pack, intégrant le plugin 4D Live Window et le composant 4D Ajax Framework.

4D comporte de nombreux plug-ins :

  • de productivité : 4D View (tableur), 4D Write (traitement de texte), 4D Chart (graphes)
  • de connectivité : 4D ODBC, 4D for MySQL, 4D for ADO, 4D for OCI, 4D for PostgreSQL, 4D Internet Commands (ftp, courriel, http), ODBC Driver for 4D, JDBC Driver for 4D, ...
  • d'extensions : 4D Pack (extensions du langage), 4D Live Window (affichage de documents), 4D Ajax Framework (composant), 4D Ajax for Dreamweaver (plugin pour Adobe Dreamweaver), 4D for Flex (librairies pour application cliente Flex), 4D Plugin SDK (développement de plugin), ...

Le logiciel 4D possèdait traditionnellement 3 modes :

  • Le mode structure (ou mode Design) permettant de créer des formulaires et des méthodes, mais aussi de modifier la structure de la base de données, de compiler, de débugger.
  • Le mode utilisation, permettant le lancement à l'unité des programmes réalisés et la modification du contenu de la base de données.
  • Le mode dit menus créés dans lequel les utilisateurs peuvent visualiser une application sur-mesure entièrement « habillée ».

Depuis la version 4D v11 SQL, les modes Structure et Utilisation ont fusionné en un seul mode Développement. Le mode Menus Créés est devenu le mode Application.

4D en quelques notions

  • Langage propriétaire de haut niveau indépendant du système d’exploitation
  • Multi-plateforme : Mac OS X (y compris MacIntel depuis la version 4D 2004.5) et Windows (certification Vista depuis la version 4D 2004.6 et Windows Server 2008 depuis la version 4D v11 SQL 11.3, certification Windows 7 depuis la version 4D V11.5) - voir les matrices de certification sur le site officiel
  • Solutions mono-poste et client/Serveur
  • Architecture extensible : plug-ins, bibliothèques d’objets, composants
  • Possibilité de développer en client/Serveur (développement collaboratif)

Depuis 4D v11 SQL :

  • Moteur SQL natif
  • Prise en charge du SVG
  • Intégration d’Unicode
  • Support étendu de ODBC, XML et des Web Services SOAP

Fonctionnalités principales

  • Ouverture de bases de données en code interprété ou compilé
  • Générateur de formulaires
  • Gestion des accès utilisateurs et mot de passe
  • Éditeur de méthodes
  • Éditeur de menus, bulles d'aide (ou infobulles), de listes, de feuilles de styles, de filtres
  • Correcteur orthographique multilingue
  • Moteur de rendu HTML
  • Débogueur, vérificateur syntaxique
  • Compilateur et générateur d'applications
  • Système intégré de sauvegarde et de mirroring
  • Serveur Web
  • Serveur et Client de Web Services
  • Serveur et Client de données (ODBC, JDBC, Oracle, SQL, MySQL, ...)

Points forts de 4D V11 SQL

  • Que ce soit pour des projets basiques en local ou des solutions en client-serveur avec de nombreux clients, l'évolution se fait en douceur : sans changer une ligne de code, le moteur de 4D prenant tout en charge. La version serveur de la version 11 donne d'excellents résultats en termes de réactivité.
  • Multiplateforme : un même programme peut être porté de Mac OS à MS Windows (et vice-versa) sans changer une seule ligne de code. La compatibilité Linux est espérée…
  • Toute l'administration des bases et leur configuration sont centralisées en un seul point (le Centre de Support et Maintenance)
  • Les sauvegardes sont soit déclenchables dans le code soit programmables à heures régulières
  • l'indexation très puissante permet de faire des recherches en full-text
  • 4D est conforme à toutes les normes du marché :
  • SQL2 (la dernière) : la grande majorité des commandes existantes dans ce langage est implantée dans 4D
  • XML : 4D est "orientée" XML. Les données et la structure sont directement exportables en XML pour une réutilisation avec d'autres produits.
  • Webservices : un assistant permet d'utiliser simplement des Webservices.
  • Web 2.0 : un framework Ajax a été développé afin de simplifier l'intégration des données issues de 4D à des pages web dynamiques
  • Flex : des librairies 4D pour Flex permettent de connecter les données 4D via SQL dans une application cliente riche
  • Oracle : via le driver ODBC, 4D peut communiquer avec les bases oracle
  • UTF8
  • Un traitement de texte (4D Write) et un tableur (4D View) sont intégrés en natif dans 4D. Il existe en plus des objets 4D qui permettent de communiquer directement avec les applications de la suite Office.
  • Un développement complet peut être réutilisé très simplement dans un autre par simple glisser-déposer, grâce à la prise en compte de la programmation orientée composants
  • 4D est à la fois serveur de données, serveur Web, serveur de webservices et serveur SQL.
  • le langage de programmation de 4D est tokennisé : un développement fait avec des commandes en français sera automatiquement traduit en anglais, en allemand, en espagnol ou en japonais selon la version de 4D utilisée.
  • un framework permet de développer des pages web spécifiquement adaptées à l'iphone

Limites

  • 4D est une plateforme fermée, elle rend très difficile le travail collaboratif.
  • La plateforme 4D dont l'architecture intégrée permet une grande simplicité de développement ne destine pas 4D au développement d'applications de gestion visant à supporter plusieurs milliers d'utilisateurs concurrents intensifs.
  • 4D annonce l'intégration d'un langage objet dans une version future proche, mais le langage historique de 4D actuellement disponible n'est pas objet.
  • Le langage de programmation intégré est rustique si on le compare aux technologies actuelles, notamment à la programmation objet. Il est difficile de réutiliser et de factoriser des parties de code.