Infrastructure tools to support an effective radiation oncology learning health system

4D (auparavant 4e Dimension) est un système de gestion de base de données associé à un langage de programmation de quatrième génération fonctionnant à la fois sur les plateformes macOS et Windows. La version la plus récente est 4D v20.

Historique[1]

En 1984, Laurent Ribardière crée le logiciel 4e Dimension qui devient l'un des premiers systèmes de base de données sur la plateforme Apple Macintosh[2]. En 1995, 4D devient multiplateforme pour également fonctionner sous Microsoft Windows et deux ans plus tard il embarque un serveur web.

Année Version Remarques
1984 ABCBase
1985 4D v1
1986 4D v2
1987 4D v3
1989 4D v4 Utilisation multiposte - Compiler
1992 4D v5 Environnement client/serveur intégré
1995 4D v5.5 Multiplateforme Mac OS et Windows
1997 4D v6 Serveur Web intégré
1999 4D 6.5 4D 6.5.9r2 est la dernière version de cette ligne
2000 4D 6.7 4D 6.7.4 est la dernière version de cette ligne
2001 4D 6.8 Certification Mac OS X (6.8.5) ; la version 6.8.6 est la dernière version de cette ligne.
2003 4D 2003 XML, Web Services et Compilateur intégré ; la version 2003.8r2 est la dernière version de cette ligne.
2004 4D 2004 Interface 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.
2007 4D v11 SQL Nouveau moteur de base de données, SQL intégré, support Unicode, gestion SVG, centre de maintenance intégré, zone web ; 4D v11 SQL Release 9 (11.9) est la dernière version de cette ligne.
2010 4D v12 Nouvelles fonctionnalités, améliorations de l'environnement de développement, multibases, système intégré de synchronisation entre plusieurs bases, support PHP ; 4D v12.4 est la dernière version de cette ligne.
2012 4D v13 Nouveau serveur HTTP multithread, gestion des sessions automatique, nouveau client HTTP extensible, intégration de webkit et support étendu de Javascript, list box enrichie, gestion de documents externes.
2014 4D v14 Création de Web apps avec 4D Mobile: Applications multiplateforme disponibles sur Mobile, Tablette et tout type de navigateur. Objets structurés JSON, vues SQL, nouveaux outils de maintenance et de monitoring.
2015 4D v15 4D Server 64 bits pour macOS ; Nouvelle couche réseau; Première version de 4D Write Pro; support LDAP; fonctions avancées d'analyse et d'optimisation[3]
2017 4D v16 Nouveau système de gestion de cache; multithreading préemptif; généralisation du 64 bits; messages asynchrones entre processus[4]
2018 4D v17 Introduction de ORDA acronyme pour Object Relational Data Access
2020 4D v18 Mode projet, Chiffrement des données, 4D for iOS, 4D Write Pro, 4D View Pro
2021 4D v19 Support Natif pour Apple Silicon, Classes

Logiciel 4D

4D est un système de gestion de base de données relationnelle disposant d'un langage de programmation de la quatrième génération (L4G). Environnement de développement intégré (EDI ou IDE en anglais), 4D intègre :


4D permet à tout développeur d'écrire ses propres plug-ins et propose les siens :

  • Productivité : 4D View pro (tableur), 4D Write pro (traitement de texte)
  • Connectivité : 4D Internet Commands (ftp, courriel), ODBC Driver for 4D
  • Extensions : 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éboguer.
  • 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
  • Multiplateforme : 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)
  • 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

Points forts de 4D V11 SQL

  • Que ce soit pour des projets élémentaires en local ou des solutions en client-serveur avec de nombreux clients : 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 du point de vue de la réactivité.
  • Multiplateforme : un même programme peut être porté de macOS à MS Windows (et vice-versa) sans changer une seule ligne de code.
  • 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 (plein-texte)
  • 4D est conforme à toutes les normes du marché :
    • SQL2 (la dernière) : la grande majorité des commandes existantes dans ce langage sont implémentées 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 bibliothèques 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.
  • Le déploiement client/serveur est d'une grande simplicité.

Compatibilité

Systèmes d’exploitation / Version 4D V18 v17 v16 v15 v14 v14 serveur v13 v12 v11 2004
Windows 10 Certifié Certifié Certifié  Non  Non  Non  Non  Non  Non  Non
Windows 8.1 64 bits Certifié Certifié Certifié Certifié Certifié (32 bits) Certifié Certifié  Non  Non  Non
Windows 8.1 32 bits  Non Compatible Certifié Certifié (32 bits) Certifié Compatible Certifié  Non  Non  Non
Windows 8 64 bits Certifié  Non Certifié Certifié Certifié (32 bits) Certifié Certifié Compatible  Non  Non
Windows 8 32 bits  Non  Non Certifié Certifié Certifié Compatible Certifié Compatible  Non  Non
Windows 7 64 bits Certifié Certifié Certifié Certifié (32 bits) Certifié Certifié Certifié Certifié  Non
Windows 7 32 bits  Non Compatible Certifié Certifié Certifié Compatible Certifié Certifié Certifié  Non
Windows Vista  Non  Non  Non  Non  Non  Non Certifié Certifié Certifié Certifié
Windows XP  Non  Non  Non  Non  Non  Non Certifié Certifié Certifié Certifié
Windows Server 2016 Certifié Certifié  Non  Non  Non  Non  Non  Non  Non
Windows Server 2012 R2 Certifié Certifié Certifié Certifié (32 bits) Compatible Certifié  Non  Non  Non
Windows Server 2012 Certifié Certifié Certifié Certifié (32 bits) Compatible Certifié Compatible  Non  Non
Windows Server 2008 R2  Non  Non Certifié Certifié Certifié (32 bits) Compatible Certifié Certifié  Non  Non
Windows Server 2008 64 bits  Non  Non| Non Certifié Compatible Compatible Certifié Certifié Certifié  Non
Windows Server 2008 32 bits  Non  Non  Non  Non  Non  Non Certifié Certifié Certifié  Non
Windows Server 2003  Non  Non  Non  Non  Non  Non Certifié Certifié Certifié Certifié
Windows Server 2000  Non  Non  Non  Non  Non  Non  Non  Non  Non Certifié
Mac OS X 10.15 Certifié  Non  Non  Non  Non  Non  Non  Non  Non  Non
Mac OS X 10.14 Certifié Certifié  Non  Non  Non  Non  Non  Non  Non  Non
Mac OS X 10.13 Certifié Certifié Certifié  Non  Non  Non  Non  Non  Non  Non
Mac OS X 10.12 Certifié Certifié  Non  Non  Non  Non  Non  Non  Non
Mac OS X 10.11  Non  Non Certifié  Non  Non  Non  Non  Non  Non  Non
Mac OS X 10.10  Non  Non Certifié Certifié  Non  Non  Non  Non  Non  Non
Mac OS X 10.9  Non  Non  Non Certifié Certifié Certifié Certifié  Non  Non  Non
Mac OS X 10.8  Non  Non  Non Certifié Certifié Certifié Certifié Certifié  Non  Non
Mac OS X 10.7  Non  Non  Non  Non Certifié Certifié Certifié Certifié  Non  Non
Mac OS X 10.6  Non  Non  Non  Non  Non  Non Certifié Certifié Certifié  Non
Mac OS X 10.5  Non  Non  Non  Non  Non  Non  Non Compatible Certifié Certifié
Mac OS X 10.4  Non  Non  Non  Non  Non  Non  Non  Non Certifié Certifié
Mac OS X 10.3  Non  Non  Non  Non  Non  Non  Non  Non  Non Certifié
Mac OS X 10.2  Non  Non  Non  Non  Non  Non  Non  Non  Non Compatible

Limites

  • La plateforme 4D n'est pas destinée au développement d'applications de gestion visant à supporter plusieurs milliers d'utilisateurs concurrents intensifs.
  • Le langage de programmation de 4D n'est pas orienté objet en natif mais commence à s'y ouvrir depuis la v17.
  • 4D pour macOS est disponible en versions 32 et 64 bits à compter de la 15R5. 4D Server pour Windows est disponible en versions 32 et 64 bits depuis la version 12. Le 32 bit est désormais obsolète et ne doit être utilisé qu'au titre de la compatibilité ; 4D 17R5 qui préfigure 4D v18 n'est disponible qu'en 64 bit.
  • Le langage 4D évolue à chaque version, mais n'offre pas nécessairement de compatibilité descendante. Ainsi, il n'est pas possible pour un programmeur de compiler une application pour une version antérieure de 4D. Si une application doit être développée pour plusieurs versions de 4D, elle devra donc être programmée et maintenue de façon indépendante dans chacune de ces versions. Cette limitation est particulièrement contraignante lorsqu'une application doit être disponible sous plusieurs systèmes d'exploitation (ex: Windows XP et Windows 8).

Liens externes

Notes et références

  1. Voir Généalogie des SGBDR
  2. Voir les articles : DE PAUL OTLET A INTERNET, extrait : "Logiciel de base de données : 4D, développé par le Français Laurent Ribardière ; il deviendra le standard SGBD pour les Macintosh d'Apple" / L'aventure Apple, extrait : "Heureusement pour Apple, lors de la sortie du Mac Plus, beaucoup de logiciels avaient fait leur apparition : Word 3, 4d, Excel ou Cricket Draw." / L'histoire Apple, extrait : "En même temps que ce MacPlus arrivèrent de nombreuses applications comme Word 3, Excel ou 4D."
  3. (de) heise Developer, « 4Dv15 mit neuem Datenfeldtyp und verbessertem Monitoring ausgestattet », sur heise Developer (consulté le )
  4. (de) heise Developer, « Entwicklungsumgebung: Mehr Leistung in 4D v16 », sur heise Developer (consulté le )