Adobe ColdFusion - Adobe ColdFusion

Adobe ColdFusion
Adobe ColdFusion 10
Auteur (s) original (s) JJ Allaire
Développeur (s) Adobe Systems Incorporated
Première version 1995 ; Il y a 26 ans  ( 1995 )
Libération (s) stable (s)
2021 2021/11 novembre 2020 ; il y a 6 mois  ( 11/11/2020 )
2018 Mise à jour 10 (2018, 0, 10, 320417) / 14 juillet 2020 ; il y a 10 mois  ( 14/07/2020 )
2016 Mise à jour 16 (2016,0,16,320445) / 14 juillet 2020 ; il y a 10 mois  ( 14/07/2020 )
Écrit en Java
Système opérateur Multiplateforme
Disponible en Anglais
Taper Serveur d'application
Licence Propriétaire
Site Internet www .adobe .com / products / coldfusion-family .html

Adobe ColdFusion est une plate- forme informatique commerciale de développement rapide d'applications Web créée par JJ Allaire en 1995 (Le langage de programmation utilisé avec cette plate-forme est également communément appelé ColdFusion, bien qu'il soit plus précisément connu sous le nom de CFML .) ColdFusion a été conçu à l'origine pour le rendre plus facile. pour connecter des pages HTML simples à une base de données . Par la version 2 (1996), il est devenu une plate-forme complète qui comprenait un IDE en plus d'un langage de script complet .

Aperçu

L'une des caractéristiques distinctives de ColdFusion est son langage de script associé, ColdFusion Markup Language (CFML). CFML se compare aux composants de script d' ASP , JSP et PHP dans son objectif et ses fonctionnalités, mais sa syntaxe de balise ressemble plus étroitement au HTML , tandis que sa syntaxe de script ressemble à JavaScript . ColdFusion est souvent utilisé comme synonyme de CFML , mais il existe des serveurs d'applications CFML supplémentaires en plus de ColdFusion, et ColdFusion prend en charge les langages de programmation autres que CFML, tels que l' ActionScript côté serveur et les scripts intégrés qui peuvent être écrits dans un langage de type JavaScript appelé CFScript .

À l'origine un produit d' Allaire et sorti le 2 juillet 1995, ColdFusion a été développé par les frères Joseph J. Allaire et Jeremy Allaire . En 2001, Allaire a été racheté par Macromedia , qui à son tour a été acquise par Adobe Systems Inc en 2005.

ColdFusion est le plus souvent utilisé pour les sites Web ou les intranets basés sur les données , mais peut également être utilisé pour générer des services à distance tels que les services REST , les WebSockets , les services Web SOAP ou Flash Remoting. Il est particulièrement bien adapté en tant que technologie côté serveur à l' ajax côté client .

ColdFusion peut également gérer les événements asynchrones tels que les SMS et la messagerie instantanée via son interface de passerelle, disponible dans ColdFusion MX 7 Enterprise Edition.

Caractéristiques principales

ColdFusion fournit un certain nombre de fonctionnalités supplémentaires prêtes à l'emploi. Les principales caractéristiques comprennent:

D'autres implémentations de CFML offrent des fonctionnalités similaires ou améliorées, telles que l'exécution dans un environnement .NET ou la manipulation d'images.

Le moteur a été écrit en C et comportait, entre autres, un langage de script intégré (CFScript), des modules de plugins écrits en Java et une syntaxe très similaire à HTML. L'équivalent d'un élément HTML, une balise ColdFusion commence par les lettres «CF» suivies d'un nom qui indique ce que la balise est interprétée, en HTML. Par exemple, <cfoutput> pour commencer la sortie de variables ou d'autres contenus.

En plus de CFScript et des plugins (comme décrit), CFStudio a fourni une plate-forme de conception avec un écran WYSIWYG . En plus de ColdFusion, CFStudio prend également en charge la syntaxe d'autres langages populaires pour la programmation backend, tels que Perl. En plus de rendre la fonctionnalité backend facilement accessible aux non-programmeurs, (version 4.0 et avant en particulier) s'intègre facilement avec le serveur Web Apache et avec Internet Information Services .

Autres caractéristiques

Toutes les versions de ColdFusion antérieures à 6.0 ont été écrites à l'aide de Microsoft Visual C ++ . Cela signifiait que ColdFusion était en grande partie limité à fonctionner sous Microsoft Windows , bien qu'Allaire ait réussi à porter ColdFusion sur Sun Solaris à partir de la version 3.1.

La société Allaire a été vendue à Macromedia , puis Macromedia a été vendue à Adobe . Les versions antérieures n'étaient pas aussi robustes que les versions disponibles à partir de la version 4.0.

Avec la sortie de ColdFusion MX 6.0, le moteur avait été réécrit en Java et prenait en charge son propre environnement d'exécution, qui était facilement remplacé par ses options de configuration par l'environnement d'exécution de Sun. La version 6.1 comprenait la possibilité de coder et de déboguer Shockwave Flash.

Versions

Fusion froide 3

La version 3, sortie en juin 1997, apportait des balises personnalisées, cfsearch / cfindex / cfcollection basées sur le moteur de recherche Verity, la portée du serveur et l'encodage du modèle (appelé alors «cryptage»). La version 3.1, publiée en janvier 1998, a ajouté la prise en charge de RDS ainsi qu'un port vers le système d' exploitation Sun Solaris , tandis que Cold Fusion studio a obtenu un aperçu de la page en direct et un vérificateur de syntaxe HTML.

ColdFusion 4

Sorti en novembre 1998, la version 4 est lorsque le nom a été changé de "Cold Fusion" à "ColdFusion" - peut-être pour le distinguer de la théorie de la fusion froide . La version a également ajouté l'implémentation initiale de cfscript, la prise en charge du verrouillage (cflock), des transactions (cftransaction), la gestion hiérarchique des exceptions (cftry / cfcatch), la sécurité du sandbox, ainsi que de nombreuses nouvelles balises et fonctions, notamment cfstoredproc, cfcache, cfswitch, et plus.

ColdFusion 4.5

La version 4.5, publiée en novembre 1999, a étendu la possibilité d'accéder aux ressources système externes, y compris COM et CORBA, et a ajouté la prise en charge initiale de l'intégration Java (y compris les EJB, Pojo, servlets et Java CFX). Le service informatique a également ajouté la fonction getmetricdata (pour accéder aux informations sur les performances), des informations supplémentaires sur les performances dans la sortie de débogage de page, des fonctions de conversion de chaîne améliorées et la suppression facultative des espaces blancs.

ColdFusion 5

La version 5 a été publiée en juin 2001, ajoutant une prise en charge améliorée des requêtes, de nouvelles fonctionnalités de création de rapports et de graphiques, des fonctions définies par l'utilisateur et des outils d'administration améliorés. Il s'agissait de la dernière version codée héritée pour une plate-forme spécifique et de la première version de Macromedia après l'acquisition d' Allaire Corporation , annoncée le 16 janvier 2001.

ColdFusion MX 6

Avant 2000, Edwin Smith, un architecte d'Allaire sur JRun et plus tard sur Flash Player, a lancé un projet baptisé "Neo". Ce projet a ensuite été révélé comme un serveur ColdFusion entièrement réécrit à l'aide de Java . Cela a facilité la portabilité et fourni une couche de sécurité sur le serveur, car il s'exécutait dans un environnement d'exécution Java.

En juin 2002, Macromedia a lancé le produit version 6.0 sous un nom légèrement différent, ColdFusion MX, permettant au produit d'être associé à la fois à la marque Macromedia et à sa marque d'origine. ColdFusion MX a été entièrement reconstruit à partir de zéro et était basé sur la plate- forme Java EE . ColdFusion MX a également été conçu pour s'intégrer parfaitement à Macromedia Flash à l' aide de Flash Remoting.

Avec la sortie de ColdFusion MX, l'API du langage CFML a été publiée avec une interface OOP .

ColdFusion MX 7

Avec la sortie de ColdFusion 7.0 le 7 février 2005, la convention de dénomination a été modifiée, rendant le nom du produit «Macromedia ColdFusion MX 7» (le nom de code de CFMX7 était «Blackstone»). CFMX 7 a ajouté des formulaires Web basés sur Flash et XForms , ainsi qu'un générateur de rapports qui sortent au format Adobe PDF ainsi que FlashPaper , RTF et Excel . La sortie Adobe PDF est également disponible en tant que wrapper pour n'importe quelle page HTML, convertissant cette page en un document imprimable de qualité. L'édition entreprise a également ajouté des passerelles . Ceux-ci fournissent une interaction avec des services de requête non HTTP tels que les services de messagerie instantanée, les SMS, les observateurs d'annuaire et une exécution asynchrone. La prise en charge XML a été renforcée dans cette version pour inclure la vérification de schéma native.

ColdFusion MX 7.0.1 (nom de code "Merrimack") a ajouté la prise en charge de Mac OS X , des améliorations aux formulaires Flash, la prise en charge RTF pour CFReport, la nouvelle fonctionnalité CFCPRoxy pour l'intégration Java / CFC, etc. ColdFusion MX 7.0.2 (nom de code "Mystic") comprenait des fonctionnalités avancées pour travailler avec Adobe Flex 2 ainsi que d'autres améliorations pour CF Report Builder.

Adobe ColdFusion 8

Le 30 juillet 2007, Adobe Systems a publié ColdFusion 8 , supprimant «MX» de son nom. Au cours des tests bêta, le nom de code utilisé était "Scorpio" (le huitième signe du zodiaque et la huitième itération de ColdFusion en tant que produit commercial). Plus de 14 000 développeurs dans le monde étaient actifs dans le processus bêta - beaucoup plus de testeurs que les 5 000 systèmes Adobe attendus à l'origine. L'équipe de développement ColdFusion était composée de développeurs basés à Newton / Boston, Massachusetts et offshore à Bangalore, en Inde.

Certaines des nouvelles fonctionnalités sont la balise CFPDFFORM, qui permet l'intégration avec les formulaires Adobe Acrobat , certaines fonctions de manipulation d'images, l' intégration Microsoft .NET et la balise CFPRESENTATION, qui permet la création de présentations dynamiques à l'aide d' Adobe Acrobat Connect , la collaboration Web solution anciennement connue sous le nom de Macromedia Breeze . De plus, l'Administrateur ColdFusion pour la version Entreprise est livré avec une surveillance de serveur intégrée. ColdFusion 8 est disponible sur plusieurs systèmes d'exploitation, notamment Linux , Mac OS X et Windows Server 2003 .

D' autres ajouts à ColdFusion 8 sont intégrés Ajax widgets, manipulation d'archives de fichiers (CFZIP), serveur Microsoft Exchange intégration (CFEXCHANGE), manipulation d'images , y compris automatique CAPTCHA génération (CFIMAGE), multi-threading, les paramètres par application, Atom et RSS des flux , des améliorations de rapport, des bibliothèques de chiffrement plus solides, des améliorations de tableau et de structure, une meilleure interaction avec la base de données, des améliorations de performances étendues, des capacités de manipulation et de fusion de PDF (CFPDF), le débogage interactif, la prise en charge de base de données intégrée avec Apache Derby et un CFSCRIPT plus conforme à ECMAScript .

Pour le développement d'applications ColdFusion, plusieurs outils sont disponibles: principalement Adobe Dreamweaver CS4, Macromedia HomeSite 5.x, CFEclipse, Eclipse et autres. Des "mises à jour de balises" sont disponibles pour ces applications afin de mettre à jour leur prise en charge des nouvelles fonctionnalités de ColdFusion 8.

Adobe ColdFusion 9

ColdFusion 9 (nom de code: Centaur ) est sorti le 5 octobre 2009. Les nouvelles fonctionnalités de CF9 incluent:

  • Possibilité de coder des composants ColdFusion (CFC) entièrement en CFScript.
  • Une portée "locale" explicite qui ne nécessite pas que les variables locales soient déclarées en haut de la fonction.
  • Getters / setters implicites pour CFC.
  • Constructeurs implicites via la méthode appelée "init" ou la méthode du même nom que CFC.
  • Nouvelle balise CFFinally pour la syntaxe de gestion des exceptions et balise CFContinue pour le flux de contrôle .
  • Mappage objet-relationnel (ORM) Intégration de la base de données via Hibernate (Java) .
  • Fichier Server.cfc avec les méthodes onServerStart et onServerEnd.
  • Intégration plus étroite avec Adobe Flex et Adobe AIR .
  • Intégration avec les principaux produits Microsoft, notamment Word, Excel, SharePoint, Exchange et PowerPoint.
  • Dans la gestion de la mémoire - ou système de fichiers virtuel: une capacité à traiter le contenu en mémoire par opposition à l'utilisation du disque dur.
  • Exposé en tant que services - une capacité à accéder, en toute sécurité, aux fonctions du serveur en externe.

Adobe ColdFusion 10

ColdFusion 10 (nom de code: Zeus) est sorti le 15 mai 2012. Les fonctionnalités nouvelles ou améliorées disponibles dans toutes les éditions (Standard, Enterprise et Developer) incluent (mais ne sont pas limitées à):

  • Améliorations de la sécurité
  • Programme d'installation et notification du correctif
  • Planificateur amélioré (basé sur une version de quartz)
  • Prise en charge améliorée des services Web (WSDL 2.0, SOAP 1.2)
  • Prise en charge des sockets Web HTML5
  • Intégration Tomcat
  • Prise en charge des services Web RESTful
  • Améliorations linguistiques (fermetures, etc.)
  • Intégration de la recherche avec Apache Solr
  • Lecteur vidéo HTML5 et Adobe Flash Player
  • Chargement paresseux Flex et Adobe AIR
  • Intégration XPath
  • Améliorations HTML5

Les fonctionnalités supplémentaires nouvelles ou améliorées des éditions ColdFusion Enterprise ou Developer incluent (mais ne sont pas limitées à):

  • Graphiques HTML5 dynamiques et interactifs
  • Planificateur amélioré et repensé (fonctionnalités supplémentaires par rapport à ce qui est ajouté dans la norme CF10)
  • Améliorations du mappage relationnel d'objets

Les listes ci-dessus ont été obtenues à partir des pages du site Web d'Adobe décrivant les «nouvelles fonctionnalités», comme indiqué en premier dans les liens de la liste suivante.

CF10 était à l'origine désigné par le nom de code Zeus, après avoir été confirmé pour la première fois par Adobe lors d' Adobe MAX 2010, et pendant une grande partie de sa période de pré-lancement. Il était aussi communément appelé "ColdFusion next" et "ColdFusion X" dans les blogs, sur Twitter, etc., avant qu'Adobe ne confirme finalement qu'il s'agirait de "ColdFusion 10". Pendant une grande partie de 2010, Adam Lehman, chef de produit ColdFusion, a visité les États-Unis en organisant d'innombrables réunions avec des clients, des développeurs et des groupes d'utilisateurs afin de formuler un plan directeur pour le prochain ensemble de fonctionnalités. En septembre 2010, il a présenté les plans à Adobe, où ils ont reçu le soutien et l'approbation de la haute direction.

La première version bêta publique de ColdFusion 10 a été publiée via Adobe Labs le 17 février 2012.

Adobe ColdFusion 11

ColdFusion 11 (nom de code: Splendor) est sorti le 29 avril 2014.

Les fonctionnalités nouvelles ou améliorées disponibles dans toutes les éditions (Standard, Entreprise et Développeur) comprennent:

  • Développement mobile de bout en bout
  • Une nouvelle édition allégée (ColdFusion Express)
  • Améliorations linguistiques
  • Améliorations de WebSocket
  • Améliorations de la génération PDF
  • Améliorations de la sécurité
  • Améliorations sociales
  • Améliorations REST
  • Améliorations de la cartographie
  • Améliorations de la compression

ColdFusion 11 a également supprimé de nombreuses fonctionnalités précédemment identifiées simplement comme «obsolètes» ou qui n'étaient plus prises en charge dans les versions précédentes. Par exemple, la balise CFLOG offrait depuis longtemps des attributs de date et d'heure qui étaient obsolètes (et redondants, car la date et l'heure sont toujours enregistrées). À partir de CF11, leur utilisation n'entraînerait pas l'échec de la balise CFLOG.

Adobe ColdFusion (version 2016)

Adobe ColdFusion (version 2016), nom de code: Raijin (et également connu sous le nom de ColdFusion 2016) est sorti le 16 février 2016.

Les fonctionnalités nouvelles ou améliorées disponibles dans toutes les éditions (Standard, Entreprise et Développeur) comprennent:

  • Améliorations linguistiques
  • Interface de ligne de commande (CLI)
  • Améliorations de la génération PDF
  • Améliorations de la sécurité
  • Stockage de session externe (Redis)
  • Génération de documents Swagger
  • Prise en charge de NTLM
  • Gestionnaire d'API

Adobe ColdFusion (version 2018)

Adobe ColdFusion (version 2018), connu sous le nom générique de ColdFusion 2018, a été publié le 12 juillet 2018. ColdFusion 2018 portait le nom de code Aether lors de la pré-version.

En juillet 2020, Adobe avait publié 10 mises à jour pour ColdFusion 2018.

Les fonctionnalités nouvelles ou améliorées disponibles dans toutes les éditions (Standard, Entreprise et Développeur) comprennent:

  • Améliorations du langage (y compris NULL, classes et méthodes abstraites, covariantes et finales, fermetures dans les balises, etc.)
  • Programmation asynchrone, utilisant Futures
  • Ligne de commande REPL
  • Capacité de verrouillage automatique
  • Prise en charge du cache distribué (Redis, Memcached, JCS)
  • Capacité de terrain de jeu REST
  • Interface utilisateur d'administration modernisée
  • Ensemble d'outils de surveillance des performances

Adobe ColdFusion (version 2021)

Adobe ColdFusion (version 2021) est sorti le 11 novembre 2020. ColdFusion 2021 s'appelait de code Project Stratus lors de la pré-version.

Les fonctionnalités nouvelles ou améliorées disponibles dans toutes les éditions (Standard, Entreprise et Développeur) comprennent:

  • Installateur léger
  • Gestionnaire de packages ColdFusion
  • Services de stockage dans le cloud
  • Services de messagerie
  • Base de données No-SQL
  • Authentification unique
  • Changements de langue de base
  • Ensemble d'outils de surveillance des performances

Feuille de route de développement

En septembre 2017, Adobe a annoncé la feuille de route prévoyant les versions en 2018 et 2020. Parmi les principales fonctionnalités prévues pour la version 2016 figuraient un nouveau moniteur de performances, des améliorations de la programmation asynchrone, une prise en charge REST remaniée et des améliorations du gestionnaire d'API, ainsi que le support. pour CF2016 projeté jusqu'en 2024. Comme pour la version 2020, les fonctionnalités attendues à l'époque (en 2017) étaient la configurabilité (modularité) des services d'application CF, la refonte des scripts et de la prise en charge orientée objet, ainsi que d'autres améliorations du gestionnaire d'API.

Caractéristiques

Génération PDF

ColdFusion peut générer des documents PDF en utilisant le HTML standard (c'est-à-dire qu'aucun codage supplémentaire n'est nécessaire pour générer des documents à imprimer). Les auteurs CFML placent HTML et CSS dans une paire de balises cfdocument (ou nouveautés dans ColdFusion 11, les balises cfhtmltopdf). Le document généré peut ensuite être enregistré sur le disque ou envoyé au navigateur du client. ColdFusion 8 a également introduit la balise cfpdf pour permettre le contrôle des documents PDF, y compris les formulaires PDF, et la fusion des PDF. Ces balises n'utilisent cependant pas le moteur PDF d'Adobe mais cfdocument utilise une combinaison de la bibliothèque commerciale JPedal Java PDF et de la bibliothèque Java gratuite et open source iText , et cfhtmltopdf utilise une implémentation WebKit intégrée .

Composants ColdFusion (objets)

ColdFusion n'était pas à l'origine un langage de programmation orienté objet comme les versions 3 et inférieures de PHP . ColdFusion appartient à la catégorie des langages OO qui ne prennent pas en charge l' héritage multiple (avec Java, Smalltalk, etc.). Avec la version MX (6+), ColdFusion a introduit la fonctionnalité OO de base avec la construction de langage composant qui ressemble aux classes dans les langages OO. Chaque composant peut contenir n'importe quel nombre de propriétés et de méthodes. Un composant peut également en étendre un autre ( héritage ). Les composants ne prennent en charge que l'héritage unique. L'ensemble des fonctionnalités de gestion des objets et l'amélioration des performances ont eu lieu avec les versions ultérieures. Avec la sortie de ColdFusion 8, les interfaces de style Java sont prises en charge. Les composants ColdFusion utilisent l'extension de fichier cfc pour les différencier des modèles ColdFusion (.cfm).

À distance

Les méthodes de composants peuvent être mises à disposition sous forme de services Web sans codage ni configuration supplémentaires. Tout ce qui est nécessaire est que l'accès d'une méthode soit déclaré «distant». ColdFusion génère automatiquement un WSDL à l'URL du composant de cette manière: http: //path/to/components/Component.cfc? Wsdl. Outre SOAP, les services sont proposés au format binaire Flash Remoting.

Les méthodes déclarées distantes peuvent également être appelées via une requête HTTP GET ou POST. Considérez la demande GET comme indiqué.

http://path/to/components/Component.cfc?method=search&query=your+query&mode=strict

Cela invoquera la fonction de recherche du composant, en passant «votre requête» et «strict» comme arguments.

Ce type d'appel est bien adapté aux applications activées par Ajax . ColdFusion 8 a introduit la possibilité de sérialiser les structures de données ColdFusion en JSON pour la consommation sur le client.

Le serveur ColdFusion générera automatiquement la documentation d'un composant si vous accédez à son URL et insérez le code approprié dans les déclarations du composant. Il s'agit d'une application d'introspection de composants, disponible pour les développeurs de composants ColdFusion. L'accès à la documentation d'un composant nécessite un mot de passe. Un développeur peut afficher la documentation de tous les composants connus du serveur ColdFusion en accédant à l'URL ColdFusion. Cette interface ressemble à la documentation HTML Javadoc pour les classes Java.

Balises personnalisées

ColdFusion propose plusieurs façons d'implémenter des balises de langage de balisage personnalisées , c'est-à-dire celles qui ne sont pas incluses dans le langage de base ColdFusion. Celles-ci sont particulièrement utiles pour fournir une interface familière aux concepteurs Web et aux auteurs de contenu familiers avec HTML mais pas avec la programmation impérative .

La manière traditionnelle et la plus courante est d'utiliser CFML. Une page CFML standard peut être interprétée comme une balise, avec le nom de la balise correspondant au nom de fichier préfixé par "cf_". Par exemple, le fichier IMAP.cfm peut être utilisé comme balise "cf_imap". Les attributs utilisés dans la balise sont disponibles dans la portée ATTRIBUTES de la page d'implémentation de la balise. Les pages CFML sont accessibles dans le même répertoire que la page appelante, via un répertoire spécial dans l'application Web ColdFusion, ou via une balise CFIMPORT dans la page appelante. Cette dernière méthode ne nécessite pas nécessairement le préfixe "cf_" pour le nom de la balise.

Un deuxième moyen est le développement des balises CFX en utilisant Java ou C ++. Les balises CFX sont préfixées par "cfx_", par exemple "cfx_imap". Les balises sont ajoutées à l'environnement d'exécution ColdFusion à l'aide de l'administrateur ColdFusion, où les fichiers JAR ou DLL sont enregistrés en tant que balises personnalisées.

Enfin, ColdFusion prend en charge les bibliothèques de balises JSP issues de la spécification du langage JSP 2.0. Les balises JSP sont incluses dans les pages CFML à l'aide de la balise CFIMPORT.

Interactions avec d'autres langages de programmation

ColdFusion et Java

L'installation standard de ColdFusion permet le déploiement de ColdFusion en tant que fichier WAR ou EAR pour le déploiement sur des serveurs d'applications autonomes, tels que Macromedia JRun et IBM WebSphere . ColdFusion peut également être déployé sur des conteneurs de servlets tels que Apache Tomcat et Mortbay Jetty , mais comme ces plates-formes ne prennent pas officiellement en charge ColdFusion, elles laissent beaucoup de ses fonctionnalités inaccessibles. À partir de ColdFusion 10, Macromedia JRun a été remplacé par Apache Tomcat .

Comme ColdFusion est une application Java EE, le code ColdFusion peut être mélangé avec des classes Java pour créer une variété d'applications et utiliser les bibliothèques Java existantes. ColdFusion a accès à toutes les classes Java sous-jacentes, prend en charge les bibliothèques de balises personnalisées JSP et peut accéder aux fonctions JSP après avoir récupéré le contexte de la page JSP ( GetPageContext () ).

Avant ColdFusion 7.0.1, les composants ColdFusion ne pouvaient être utilisés que par Java ou .NET en les déclarant en tant que services Web. Cependant, à partir de ColdFusion MX 7.0.1, les composants ColdFusion peuvent désormais être utilisés directement dans les classes Java à l'aide de la classe CFCProxy.

Récemment, le développement Java a suscité beaucoup d'intérêt en utilisant des langages alternatifs tels que Jython , Groovy et JRuby . ColdFusion a été l'une des premières plates-formes de script à autoriser ce style de développement Java.

ColdFusion et .NET

ColdFusion 8 prend en charge nativement .NET dans la syntaxe CFML. Les développeurs ColdFusion peuvent simplement appeler n'importe quel assemblage .NET sans avoir besoin de recompiler ou de modifier les assemblys de quelque manière que ce soit. Les types de données sont automatiquement traduits entre ColdFusion et .NET (exemple: .NET DataTable → ColdFusion Query).

Fonctionnalité unique pour un fournisseur Java EE, ColdFusion 8 offre la possibilité d'accéder à distance aux assemblys .NET via un proxy (sans utiliser .NET Remoting ). Cela permet aux utilisateurs de ColdFusion d'exploiter .NET sans avoir à être installé sur un système d'exploitation Windows.

Acronymes

L' acronyme du langage de balisage ColdFusion est CFML . Lorsque les modèles ColdFusion sont enregistrés sur le disque, ils reçoivent généralement l'extension .cfm ou .cfml. L'extension .cfc est utilisée pour les composants ColdFusion. L'extension d'origine était DBM ou DBML, qui signifiait Database Markup Language. Lorsqu'ils parlent de ColdFusion, la plupart des utilisateurs utilisent l'acronyme CF et il est utilisé pour de nombreuses ressources ColdFusion telles que les groupes d'utilisateurs (CFUG) et les sites.

CFMX est l'abréviation courante des versions 6 et 7 de ColdFusion (alias ColdFusion MX).

Environnements de serveur alternatifs

ColdFusion est à l'origine une technologie propriétaire basée sur les normes de l'industrie de la technologie Web. Cependant, elle devient une technologie moins fermée en raison de la disponibilité de produits concurrents. Ces produits alternatifs comprennent (par ordre alphabétique):

  • BlueDragon - Moteur CFML propriétaire basé sur .NET et moteur CFML gratuit basé sur Java Open Source (Open BlueDragon).
  • Créateur Web Coral
  • IgniteFusion
  • OpenBD - La version open source de BlueDragon a été publiée sous le nom d'Open BlueDragon (OpenBD) en décembre 2008.
  • Lucee - Moteur CFML gratuit et open source issu de Railo. L'objectif de Lucee est de fournir la fonctionnalité de CFML en utilisant moins de ressources et en offrant de meilleures performances et de faire passer CFML au-delà de ses racines pour devenir une plate-forme de programmation Web moderne et dynamique. Lucee est soutenu par des sympathisants de la communauté et des membres de l'Association Lucee.
  • Railo - Moteur CFML gratuit et open source. Il est disponible en trois éditions principales du produit et en d'autres versions.
  • SmithProject

L'argument peut être fait que ColdFusion est encore moins lié à la plate-forme que Java EE ou .NET brut, simplement parce que ColdFusion fonctionnera au-dessus d'un serveur d'application .NET (New Atlanta), ou au-dessus de tout conteneur de servlet ou application Java EE serveur ( JRun , WebSphere , JBoss , Geronimo , Tomcat , Resin Server , Jetty (serveur Web) , etc.). En théorie, une application ColdFusion pourrait être déplacée inchangée d'un serveur d'applications Java EE vers un serveur d'applications .NET.

Vulnérabilités

En mars 2013, un problème connu affectant ColdFusion 8, 9 et 10 a laissé la base de données nationale sur les vulnérabilités ouverte aux attaques. La vulnérabilité avait été identifiée et un correctif publié par Adobe pour CF9 et CF10 en janvier.

En avril 2013, une vulnérabilité ColdFusion a été accusée par Linode d'une intrusion dans le site Web du panneau de configuration de Linode Manager. Un bulletin de sécurité et un correctif pour cela avaient été publiés par Adobe une semaine plus tôt.

En mai 2013, Adobe a identifié une autre vulnérabilité critique, qui aurait déjà été exploitée dans la nature, qui cible toutes les versions récentes de ColdFusion sur tous les serveurs sur lesquels l'administrateur Web et l'API n'ont pas été verrouillés. La vulnérabilité permet à des utilisateurs non autorisés de télécharger des scripts malveillants et potentiellement de prendre le contrôle total du serveur. Un bulletin de sécurité et un correctif pour cela ont été publiés par Adobe 6 jours plus tard.

En avril 2015, Adobe a corrigé une vulnérabilité de script intersite (XSS) dans Adobe ColdFusion 10 avant la mise à jour 16 et dans ColdFusion 11 avant la mise à jour 5, qui permettait aux attaquants distants d'injecter un script Web ou HTML arbitraire; cependant, il n'est exploitable que par les utilisateurs qui se sont authentifiés via le panneau d'administration.

En septembre 2019, Adobe a corrigé deux vulnérabilités d'injection de commandes (CVE-2019-8073) qui permettaient du code arbitraire et une traversée de ruelle (CVE-2019-8074).

Voir également

Les références

Liens externes