Adobe ColdFusion es una plataforma informática comercial para el desarrollo rápido de aplicaciones web creada por JJ Allaire en 1995. [ 3 ] (El lenguaje de programación utilizado con esa plataforma también se llama comúnmente ColdFusion, aunque se conoce con mayor precisión como CFML ). ColdFusion fue diseñado originalmente para facilitar la conexión de páginas HTML simples a una base de datos . Para la versión 2 (1996) se había convertido en una plataforma completa que incluía un IDE además de un lenguaje de scripting completo .
Descripción general
Una de las características distintivas de ColdFusion es su lenguaje de scripting asociado, ColdFusion Markup Language (CFML). CFML se compara con los componentes de scripting de ASP , JSP y PHP en cuanto a propósito y características, pero su sintaxis de etiquetas se asemeja más a HTML , mientras que su sintaxis de scripts se asemeja a JavaScript . ColdFusion se usa a menudo como sinónimo de CFML , pero existen otros servidores de aplicaciones CFML además de ColdFusion, y ColdFusion admite lenguajes de programación distintos de CFML, como ActionScript del lado del servidor y scripts integrados que se pueden escribir en un lenguaje similar a JavaScript conocido como CFScript .
Originalmente un producto de Allaire y lanzado el 2 de julio de 1995, ColdFusion fue desarrollado por los hermanos Joseph J. Allaire y Jeremy Allaire . En 2001, Allaire fue adquirida por Macromedia , que a su vez fue adquirida por Adobe Systems Inc. en 2005.
ColdFusion se utiliza con mayor frecuencia para sitios web o intranets basados en datos , pero también puede emplearse para generar servicios remotos como servicios REST , WebSockets , servicios web SOAP o Flash remoting. Es especialmente adecuado como tecnología del lado del servidor para la funcionalidad AJAX del lado del cliente .
ColdFusion también puede gestionar eventos asíncronos, como SMS y mensajería instantánea , a través de su interfaz de puerta de enlace, disponible en ColdFusion MX 7 Enterprise Edition.
Características principales
ColdFusion ofrece una serie de funciones adicionales de serie. Las principales funciones incluyen:
- Acceso simplificado a la base de datos
- Gestión de caché de cliente y servidor
- Generación de código del lado del cliente, especialmente para widgets de formularios y validación.
- Conversión de HTML a PDF
- Recuperación de datos de sistemas empresariales comunes como Active Directory , LDAP , SMTP , POP , HTTP , FTP , Microsoft Exchange Server y formatos de datos comunes como RSS y Atom.
- Servicio de indexación y búsqueda de archivos basado en Apache Solr.
- Administración de la interfaz gráfica de usuario
- Ámbitos de servidor, aplicación, cliente, sesión y solicitud
- Análisis, consulta (XPath) , validación y transformación (XSLT) de XML .
- Agrupación de servidores
- Programación de tareas
- Elaboración de gráficos e informes
- Manipulación de archivos simplificada, incluyendo gráficos rasterizados (y CAPTCHA ) y archivos zip (la introducción de la manipulación de vídeo está prevista para una futura versión).
- Implementación simplificada de servicios web (con generación automatizada de WSDL / manejo transparente de SOAP tanto para crear como para consumir servicios; por ejemplo, ASP.NET [ 4 ] no tiene un equivalente nativo para [ 5 ] ).
<CFINVOKEWEBSERVICE="http://host/tempconf.cfc?wsdl"METHOD="Celsius2Fahrenheit"TEMP="#tempc#"RETURNVARIABLE="tempf">
Otras implementaciones de CFML ofrecen funcionalidades similares o mejoradas, como la ejecución en un entorno .NET o la manipulación de imágenes.
El motor estaba escrito en C e incluía, entre otras cosas, un lenguaje de scripting integrado (CFScript), módulos de complementos escritos en Java y una sintaxis muy similar a HTML. El equivalente a un elemento HTML, una etiqueta de ColdFusion comienza con las letras "CF" seguidas de un nombre que indica su interpretación en HTML. Por ejemplo, <cfoutput> para mostrar variables u otro contenido .
Además de CFScript y los complementos (como se describe), CFStudio proporcionaba una plataforma de diseño con una interfaz WYSIWYG . Además de ColdFusion, CFStudio también admite la sintaxis de otros lenguajes populares para la programación de backend, como Perl. Además de facilitar el acceso a la funcionalidad de backend a usuarios sin conocimientos de programación (en particular, la versión 4.0 y posteriores) se integraba fácilmente con el servidor web Apache y con los Servicios de Información de Internet .
Otras características
Todas las versiones de ColdFusion anteriores a la 6.0 se escribieron utilizando Microsoft Visual C++ . Esto significaba que ColdFusion estaba prácticamente limitado a ejecutarse en Microsoft Windows , aunque Allaire logró portar ColdFusion con éxito a Sun Solaris a partir de la versión 3.1.
La empresa Allaire fue vendida a Macromedia , y posteriormente Macromedia fue vendida a Adobe . Las versiones anteriores no eran tan robustas como las versiones disponibles a partir de la versión 4.0.
Con el lanzamiento de ColdFusion MX 6.0, el motor se reescribió en Java y admitía su propio entorno de ejecución, que se podía reemplazar fácilmente mediante sus opciones de configuración con el entorno de ejecución de Sun. La versión 6.1 incluía la capacidad de codificar y depurar Macromedia Flash .
Versiones
Fusión fría 3
La versión 3, lanzada en junio de 1997, incorporó etiquetas personalizadas, las funciones cfsearch/cfindex/cfcollection basadas en el motor de búsqueda Verity, el ámbito del servidor y la codificación de plantillas (denominada entonces "encriptación"). La versión 3.1, lanzada en enero de 1998, añadió compatibilidad con RDS, así como una adaptación al sistema operativo Sun Solaris , mientras que ColdFusion Studio incorporó una vista previa de página en tiempo real y un verificador de sintaxis HTML.
ColdFusion 4
Lanzada en noviembre de 1998, la versión 4 cambió su nombre de "Cold Fusion" a "ColdFusion", posiblemente para distinguirla de la teoría de la fusión fría . Esta versión también incorporó la implementación inicial de cfscript, soporte para bloqueos (cflock), transacciones (cftransaction), manejo jerárquico de excepciones (cftry/cfcatch), seguridad de entorno aislado (sandbox), así como muchas etiquetas y funciones nuevas, incluyendo cfstoredproc, cfcache, cfswitch y más.
ColdFusion 4.5
La versión 4.5, lanzada en noviembre de 1999, amplió la capacidad de acceder a recursos externos del sistema, incluidos COM y CORBA, y añadió soporte inicial para la integración con Java (incluidos EJB, POJO, servlets y Java CFX). También incorporó la función getmetricdata (para acceder a información de rendimiento), información de rendimiento adicional en la salida de depuración de página, funciones mejoradas de conversión de cadenas y la opción de eliminar espacios en blanco.
ColdFusion 5
La versión 5 se lanzó en junio de 2001, incorporando soporte mejorado para consultas, nuevas funciones de informes y gráficos, funciones definidas por el usuario y herramientas de administración optimizadas. Fue la última versión con código heredado para una plataforma específica y la primera versión de Macromedia tras la adquisición de Allaire Corporation , anunciada el 16 de enero de 2001.
ColdFusion MX 6
Antes del año 2000, Edwin Smith, arquitecto de Allaire en JRun y posteriormente en Flash Player , Tom Harwood y Clement Wong iniciaron un proyecto con nombre en clave "Neo". [ 6 ] Posteriormente se reveló que este proyecto era un servidor ColdFusion completamente reescrito en Java . Esto facilitó la portabilidad y proporcionó una capa de seguridad al servidor, ya que se ejecutaba dentro de un entorno de ejecución de Java.
En junio de 2002, Macromedia lanzó la versión 6.0 con un nombre ligeramente diferente, ColdFusion MX, lo que permitió asociar el producto tanto con la marca Macromedia como con su marca original. ColdFusion MX se reconstruyó por completo desde cero y se basó en la plataforma Java EE . Además, se diseñó para integrarse perfectamente con Macromedia Flash mediante Flash Remoting.
Con el lanzamiento de ColdFusion MX, se publicó la API del lenguaje CFML con una interfaz orientada a objetos .
ColdFusion MX 7
Con el lanzamiento de ColdFusion 7.0 el 7 de febrero de 2005, se modificó la nomenclatura, pasando a llamarse "Macromedia ColdFusion MX 7" (el nombre en clave de CFMX7 era "Blackstone"). CFMX 7 incorporó formularios web basados en Flash y XForms , y un generador de informes que generaba informes en Adobe PDF , FlashPaper , RTF y Excel . La salida en Adobe PDF también está disponible como contenedor para cualquier página HTML, convirtiéndola en un documento imprimible de alta calidad. La edición empresarial también añadió Gateways . Estos permiten la interacción con servicios que no utilizan HTTP, como servicios de mensajería instantánea, SMS, monitores de directorio y ejecución asíncrona. En esta versión se mejoró la compatibilidad con XML para incluir la comprobación de esquemas nativos.
ColdFusion MX 7.0.1 (nombre en clave "Merrimack") añadió compatibilidad con Mac OS X , mejoras en los formularios Flash, compatibilidad con RTF para CFReport, la nueva función CFCPRoxy para la integración de Java/CFC y más. ColdFusion MX 7.0.2 (nombre en clave "Mystic") incluyó funciones avanzadas para trabajar con Adobe Flex 2, así como más mejoras para el Generador de informes CF.
Adobe ColdFusion 8
El 30 de julio de 2007, Adobe Systems lanzó ColdFusion 8 , eliminando "MX" de su nombre. [ 7 ] Durante las pruebas beta, el nombre en clave utilizado fue "Escorpio" (el octavo signo del zodíaco y la octava iteración de ColdFusion como producto comercial). Más de 14 000 desarrolladores de todo el mundo participaron activamente en el proceso beta, muchos más evaluadores de los 5000 que Adobe Systems esperaba inicialmente. El equipo de desarrollo de ColdFusion estaba compuesto por desarrolladores con sede en Newton/Boston, Massachusetts, y en Bangalore, India.
Algunas de las nuevas características son la etiqueta CFPDFFORM, que permite la integración con formularios de Adobe Acrobat , algunas funciones de manipulación de imágenes, la integración con Microsoft .NET y la etiqueta CFPRESENTATION, que permite la creación de presentaciones dinámicas mediante Adobe Acrobat Connect , la solución de colaboración web anteriormente conocida como Macromedia Breeze . Además, ColdFusion Administrator para la versión Enterprise incluye monitorización de servidor integrada. ColdFusion 8 está disponible para varios sistemas operativos, incluidos Linux , Mac OS X y Windows Server 2003 .
Otras novedades de ColdFusion 8 son los widgets Ajax integrados , la manipulación de archivos comprimidos (CFZIP), la integración con el servidor Microsoft Exchange (CFEXCHANGE), la manipulación de imágenes, incluida la generación automática de CAPTCHA (CFIMAGE), la multihilo, la configuración por aplicación, las fuentes Atom y RSS , las mejoras en los informes, las bibliotecas de cifrado más robustas, las mejoras en la estructura y las matrices, la interacción mejorada con la base de datos, las amplias mejoras de rendimiento, las capacidades de manipulación y fusión de PDF (CFPDF), la depuración interactiva, la compatibilidad con bases de datos integradas mediante Apache Derby y un CFSCRIPT más compatible con ECMAScript .
Para el desarrollo de aplicaciones ColdFusion, existen diversas herramientas disponibles: principalmente Adobe Dreamweaver CS4, Macromedia HomeSite 5.x, CFEclipse, Eclipse y otras. Para estas aplicaciones, se encuentran disponibles actualizadores de etiquetas que permiten actualizar su compatibilidad con las nuevas funciones de ColdFusion 8.
Adobe ColdFusion 9
ColdFusion 9 (nombre en clave: Centaur ) se lanzó el 5 de octubre de 2009. Las nuevas características de CF9 incluyen:
- Capacidad para programar componentes ColdFusion (CFC) completamente en CFScript.
- Un ámbito "local" explícito que no requiere que las variables locales se declaren al principio de la función.
- Métodos getter/setter implícitos para CFC.
- Constructores implícitos mediante un método llamado "init" o un método con el mismo nombre que CFC.
- Nueva etiqueta CFFinally para la sintaxis de manejo de excepciones y etiqueta CFContinue para el flujo de control .
- Mapeo objeto-relacional (ORM) Integración de bases de datos a través de Hibernate (Java) .
- Archivo Server.cfc con los métodos onServerStart y onServerEnd.
- Mayor integración con Adobe Flex y Adobe AIR .
- Integración con los principales productos de Microsoft, incluidos Word, Excel, SharePoint, Exchange y PowerPoint.
- En la gestión de memoria, o sistema de archivos virtual: capacidad para tratar el contenido en memoria en lugar de utilizar el disco duro.
- Expuesto como servicios: capacidad para acceder, de forma segura, a las funciones del servidor desde el exterior.
Adobe ColdFusion 10
ColdFusion 10 (nombre en clave: Zeus) se lanzó el 15 de mayo de 2012. Las nuevas características o mejoras disponibles en todas las ediciones (Standard, Enterprise y Developer) incluyen (pero no se limitan a):
- Mejoras de seguridad
- Instalador de parches y notificación
- Planificador mejorado (basado en una versión de Quartz)
- Soporte mejorado para servicios web (WSDL 2.0, SOAP 1.2)
- Compatibilidad con sockets web HTML5
- Integración de Tomcat
- Compatibilidad con servicios web RESTful
- Mejoras lingüísticas (cierres y más)
- Integración de búsqueda con Apache Solr
- Reproductor de vídeo HTML5 y Adobe Flash Player
- Carga diferida con Flex y Adobe AIR
- Integración de XPath
- Mejoras de HTML5
Las nuevas funciones o las mejoras adicionales incluidas en las ediciones ColdFusion Enterprise o Developer son (entre otras):
- Gráficos HTML5 dinámicos e interactivos
- Planificador mejorado y renovado (con funciones adicionales respecto a las incluidas en CF10 Standard).
- Mejoras en el mapeo objeto-relacional
Las listas anteriores se obtuvieron de las páginas del sitio web de Adobe que describen las "nuevas funciones", tal como aparecen en primer lugar en los enlaces de la siguiente lista.
Inicialmente, CF10 se conocía con el nombre en clave Zeus, tras ser confirmado por Adobe en Adobe MAX 2010, y durante gran parte de su período de prelanzamiento. También se le conocía comúnmente como "ColdFusion next" y "ColdFusion X" en blogs, Twitter, etc., antes de que Adobe confirmara finalmente que sería "ColdFusion 10". Durante gran parte de 2010, el gerente de producto de ColdFusion, Adam Lehman, recorrió Estados Unidos organizando innumerables reuniones con clientes, desarrolladores y grupos de usuarios para elaborar un plan maestro para el siguiente conjunto de características. En septiembre de 2010, presentó los planes a Adobe, donde recibieron el pleno apoyo y aprobación de la alta dirección. [ 8 ]
La primera versión beta pública de ColdFusion 10 fue lanzada a través de Adobe Labs el 17 de febrero de 2012.
Adobe ColdFusion 11
ColdFusion 11 (nombre en clave: Splendor) fue lanzado el 29 de abril de 2014.
Las nuevas funciones o las mejoras disponibles en todas las ediciones (Estándar, Empresarial y Desarrollador) incluyen:
- Desarrollo móvil integral
- Una nueva edición ligera (ColdFusion Express)
- Mejoras lingüísticas
- Mejoras de WebSocket
- Mejoras en la generación de PDF
- Mejoras de seguridad
- Mejoras sociales
- Mejoras REST
- Mejoras en la representación gráfica
- Mejoras de compresión
ColdFusion 11 también eliminó muchas funciones que antes se consideraban simplemente "obsoletas" o que ya no eran compatibles en versiones anteriores. Por ejemplo, la etiqueta CFLOG ofrecía atributos de fecha y hora que estaban obsoletos (y eran redundantes, ya que la fecha y la hora siempre se registran). A partir de CF11, su uso no provocaría fallos en la etiqueta CFLOG.
Adobe ColdFusion (versión 2016)
Adobe ColdFusion (versión 2016), con nombre en clave Raijin (y también conocido genéricamente como ColdFusion 2016), fue lanzado el 16 de febrero de 2016.
Las nuevas funciones o las mejoras disponibles en todas las ediciones (Estándar, Empresarial y Desarrollador) incluyen:
- Mejoras lingüísticas
- Interfaz de línea de comandos (CLI)
- Mejoras en la generación de PDF
- Mejoras de seguridad
- Almacenamiento de sesión externo (Redis)
- Generación de documentos Swagger
- Compatibilidad con NTLM
- Administrador de API
Adobe ColdFusion (versión 2018)
Adobe ColdFusion (versión 2018), conocido genéricamente como ColdFusion 2018, se lanzó el 12 de julio de 2018. [ 9 ] ColdFusion 2018 fue nombrado en clave Aether durante su prelanzamiento. [ 10 ]
A marzo de 2023, Adobe había lanzado 16 actualizaciones [ 11 ] para ColdFusion 2018.
Las características nuevas o mejoradas disponibles en todas las ediciones (Estándar, Empresarial y Desarrollador) incluyen: [ 12 ]
- Mejoras del lenguaje (incluyendo NULL, clases y métodos abstractos, covariantes y finales, cierres en etiquetas y más).
- Programación asíncrona, utilizando Futures.
- REPL de línea de comandos
- Capacidad de bloqueo automático
- Compatibilidad con caché distribuida (Redis, memcached, JCS)
- Capacidad del patio de juegos REST
- Interfaz de administración modernizada
- Conjunto de herramientas de monitorización del rendimiento
Adobe ColdFusion (versión 2021)
Adobe ColdFusion (versión 2021) se lanzó el 11 de noviembre de 2020. Durante la fase previa al lanzamiento, ColdFusion 2021 se conocía con el nombre en clave de Project Stratus.
Las nuevas funciones o las mejoras disponibles en todas las ediciones (Estándar, Empresarial y Desarrollador) incluyen:
- Instalador ligero
- Gestor de paquetes ColdFusion
- Servicios de almacenamiento en la nube
- Servicios de mensajería
- Base de datos NoSQL
- Inicio de sesión único
- Cambios en el idioma principal
- Conjunto de herramientas de monitorización del rendimiento
Adobe ColdFusion (versión 2023)
Adobe lanzó ColdFusion 2023 el 17 de mayo de 2023. Durante su fase de prelanzamiento, ColdFusion 2023 se conocía con el nombre en clave de Project Fortuna.
Las nuevas funciones disponibles son las siguientes: [ 13 ]
- Plataforma Google Cloud (GCP): almacenamiento, Pub/Sub, FireStore
- Servidor de configuración central (CCS)
- Integración de SSO CF Admin (SAML/LDAP) incluyendo actualizaciones de la API de CF Admin
- Tokens web JSON
- Serialización Avro y Protocol Buffer
- Nuevo motor de PDF
- Actualizaciones de bibliotecas (Java, Solr, Hibernate)
- Compatibilidad nativa con consultas GraphQL
- Corrección de errores
Adobe ColdFusion (versión 2025)
Adobe lanzó ColdFusion 2025 el 25 de febrero de 2025. Durante la fase previa al lanzamiento, ColdFusion 2025 se denominó simplemente "cfnext".
Hoja de ruta de desarrollo
En septiembre de 2017, Adobe anunció la hoja de ruta que anticipaba lanzamientos en 2018 y 2020. [ 14 ] Entre las características clave anticipadas para el lanzamiento de 2016 estaban un nuevo monitor de rendimiento, mejoras en la programación asíncrona, soporte REST renovado y mejoras en el Administrador de API, así como soporte para CF2016 proyectado para 2024. En cuanto al lanzamiento de 2020, las características anticipadas en ese momento (en 2017) eran la configurabilidad (modularidad) de los servicios de la aplicación CF, soporte renovado para scripts y orientado a objetos, y mejoras adicionales en el Administrador de API.
Características
Generación de PDF
ColdFusion puede generar documentos PDF usando HTML estándar (es decir, no se necesita codificación adicional para generar documentos para impresión). Los autores de CFML colocan HTML y CSS dentro de un par de etiquetas cfdocument (o, como es nuevo en ColdFusion 11, etiquetas cfhtmltopdf). El documento generado se puede guardar en el disco o enviar al navegador del cliente. ColdFusion 8 también introdujo la etiqueta cfpdf para permitir el control sobre documentos PDF, incluidos formularios PDF, y la fusión de PDF. Sin embargo, estas etiquetas no usan el motor PDF de Adobe, sino que cfdocument usa una combinación de la biblioteca comercial JPedal Java PDF y la biblioteca Java gratuita y de código abierto iText . La biblioteca utilizada por cfhtmltopdf desde cf11 ha sido una IMPLEMENTACIÓN WebKit integrada. [ 15 ] Desde cf2023, Adobe ha licenciado PDFReactor para que sea el motor predeterminado subyacente a cfhtmltopdf.
Componentes de ColdFusion (Objetos)
ColdFusion originalmente no era un lenguaje de programación orientado a objetos como las versiones 3 y anteriores de PHP . ColdFusion pertenece a la categoría de lenguajes OO que no admiten herencia múltiple (junto con Java, Smalltalk, etc.). [ 16 ] Con la versión MX (6+), ColdFusion introdujo funcionalidad básica de OO con la construcción de lenguaje de componentes que se asemeja a las clases en los lenguajes OO. Cada componente puede contener cualquier número de propiedades y métodos. Un componente también puede extender a otro ( herencia ). Los componentes solo admiten herencia simple. El conjunto de características de manejo de objetos y la mejora del rendimiento se han producido con versiones posteriores. Con la versión ColdFusion 8, se admiten interfaces de estilo Java. Los componentes de ColdFusion utilizan la extensión de archivo .cfc para diferenciarlos de las plantillas de ColdFusion (.cfm).
Remoto
Los métodos de los componentes pueden estar disponibles como servicios web sin necesidad de codificación ni configuración adicionales. Basta con declarar el acceso al método como «remoto». ColdFusion genera automáticamente un WSDL en la URL del componente de la siguiente manera: http://path/to/components/Component.cfc?wsdl . Además de SOAP, los servicios se ofrecen en formato binario Flash Remoting.
Los métodos declarados como remotos también pueden invocarse mediante una solicitud HTTP GET o POST. Considere la solicitud GET que se muestra a continuación.
http://path/to/components/Component.cfc?method=search&query=your+query&mode=strictEsto invocará la función de búsqueda del componente, pasando "tu consulta" y "estricto" como argumentos.
Este tipo de invocación es ideal para aplicaciones que utilizan Ajax . ColdFusion 8 introdujo la capacidad de serializar estructuras de datos de ColdFusion a JSON para su consumo en el cliente.
El servidor ColdFusion generará automáticamente la documentación de un componente si accedes a su URL e insertas el código correspondiente en sus declaraciones. Esta es una aplicación de introspección de componentes, disponible para desarrolladores de componentes ColdFusion. El acceso a la documentación de un componente requiere una contraseña. Un desarrollador puede consultar la documentación de todos los componentes conocidos por el servidor ColdFusion accediendo a su URL. Esta interfaz se asemeja a la documentación HTML Javadoc para clases Java.
Etiquetas personalizadas
ColdFusion ofrece varias maneras de implementar etiquetas de lenguaje de marcado personalizadas , es decir, aquellas que no están incluidas en el lenguaje ColdFusion básico. Estas son especialmente útiles para proporcionar una interfaz familiar a diseñadores web y creadores de contenido familiarizados con HTML pero no con la programación imperativa .
La forma tradicional y más común es mediante CFML. Una página CFML estándar se puede interpretar como una etiqueta, cuyo nombre corresponde al nombre del archivo precedido por "cf_". Por ejemplo, el archivo IMAP.cfm se puede usar como la etiqueta "cf_imap". Los atributos utilizados dentro de la etiqueta están disponibles en el ámbito ATTRIBUTES de la página de implementación de la etiqueta. Se puede acceder a las páginas CFML en el mismo directorio que la página que las llama, a través de un directorio especial en la aplicación web ColdFusion o mediante una etiqueta CFIMPORT en la página que las llama. Este último método no requiere necesariamente el prefijo "cf_" para el nombre de la etiqueta.
Una segunda opción es el desarrollo de etiquetas CFX mediante Java o C++. Las etiquetas CFX llevan el prefijo "cfx_", por ejemplo, "cfx_imap". Se añaden al entorno de ejecución de ColdFusion mediante el administrador de ColdFusion, donde se registran archivos JAR o DLL como etiquetas personalizadas.
Por último, ColdFusion admite las bibliotecas de etiquetas JSP de la especificación del lenguaje JSP 2.0. Las etiquetas JSP se incluyen en las páginas CFML mediante la etiqueta CFIMPORT.
Interacciones con otros lenguajes de programación
ColdFusion y Java
La instalación estándar de ColdFusion permite su implementación como un archivo WAR o EAR en servidores de aplicaciones independientes, como Macromedia JRun e IBM WebSphere . ColdFusion también se puede implementar en contenedores de servlets como Apache Tomcat y Mortbay Jetty , pero dado que estas plataformas no lo admiten oficialmente, muchas de sus funciones resultan inaccesibles. A partir de ColdFusion 10 , Macromedia JRun fue reemplazado por Apache Tomcat .
Debido a que ColdFusion es una aplicación Java EE, el código de ColdFusion se puede combinar con clases Java para crear una variedad de aplicaciones y utilizar bibliotecas Java existentes. ColdFusion tiene acceso a todas las clases Java subyacentes, admite bibliotecas de etiquetas personalizadas JSP y puede acceder a las funciones JSP después de recuperar el contexto de la página JSP ( GetPageContext()).
Antes de ColdFusion 7.0.1, los componentes de ColdFusion solo podían utilizarse en Java o .NET declarándolos como servicios web. Sin embargo, a partir de ColdFusion MX 7.0.1, los componentes de ColdFusion ahora pueden utilizarse directamente dentro de clases Java mediante la clase CFCProxy. [ 17 ]
Recientemente, ha habido mucho interés en el desarrollo de Java utilizando lenguajes alternativos como Jython , Groovy y JRuby . ColdFusion fue una de las primeras plataformas de scripting en permitir este estilo de desarrollo de Java.
ColdFusion y .NET
ColdFusion 8 admite .NET de forma nativa mediante la sintaxis CFML. Los desarrolladores de ColdFusion pueden llamar a cualquier ensamblado .NET sin necesidad de recompilarlo ni modificarlo. Los tipos de datos se traducen automáticamente entre ColdFusion y .NET (por ejemplo: DataTable de .NET → Consulta de ColdFusion).
ColdFusion 8 ofrece una característica única para un proveedor de Java EE: la posibilidad de acceder a los ensamblados .NET de forma remota a través de un proxy (sin usar .NET Remoting ). Esto permite a los usuarios de ColdFusion aprovechar .NET sin necesidad de instalarlo en un sistema operativo Windows.
Abreviaturas
Las siglas del lenguaje de marcado de ColdFusion son CFML . Cuando las plantillas de ColdFusion se guardan en disco, tradicionalmente se les asigna la extensión .cfm o .cfml. La extensión .cfc se utiliza para los componentes de ColdFusion. La extensión original era DBM o DBML, que significaba lenguaje de marcado de bases de datos. Al hablar de ColdFusion, la mayoría de los usuarios utilizan el acrónimo CF, que se usa para numerosos recursos de ColdFusion, como grupos de usuarios (CFUG) y sitios web.
CFMX es la abreviatura común de las versiones 6 y 7 de ColdFusion (también conocidas como ColdFusion MX).
Entornos de servidor alternativos
ColdFusion se originó como una tecnología propietaria basada en los estándares de la industria de la tecnología web. Sin embargo, se está convirtiendo en una tecnología menos cerrada gracias a la disponibilidad de productos de la competencia. Dichos productos alternativos incluyen :
- Lucee es un motor CFML gratuito y de código abierto, derivado de Railo. Su objetivo es proporcionar la funcionalidad de CFML con menos recursos y un mejor rendimiento, impulsando así CFML hacia una plataforma de programación web moderna y dinámica. Lucee cuenta con el respaldo de la comunidad y los miembros de la Asociación Lucee.
Estos productos están descontinuados o fuera de servicio :
- BlueDragon: motor CFML propietario basado en .NET y motor CFML gratuito de código abierto basado en Java (Open BlueDragon).
- Creador de sitios web Coral
- IgniteFusion
- OpenBD: La versión de código abierto de BlueDragon se lanzó como Open BlueDragon (OpenBD) en diciembre de 2008.
- Railo : motor CFML gratuito y de código abierto. Está disponible en tres ediciones principales y otras versiones.
- Proyecto Smith
Se podría argumentar que ColdFusion depende aún menos de la plataforma que Java EE o .NET, simplemente porque ColdFusion se ejecuta sobre un servidor de aplicaciones .NET (New Atlanta), o sobre cualquier contenedor de servlets o servidor de aplicaciones Java EE ( JRun , WebSphere , JBoss , Geronimo , Tomcat , Resin Server , Jetty (servidor web) , etc.). En teoría, una aplicación ColdFusion podría trasladarse sin modificaciones de un servidor de aplicaciones Java EE a un servidor de aplicaciones .NET.
Vulnerabilidades
En marzo de 2013, un problema conocido que afectaba a ColdFusion 8, 9 y 10 dejó la Base de Datos Nacional de Vulnerabilidades expuesta a ataques. [ 18 ] La vulnerabilidad había sido identificada y Adobe publicó un parche para CF9 y CF10 en enero. [ 19 ]
En abril de 2013, Linode atribuyó una intrusión en el sitio web del panel de control de Linode Manager a una vulnerabilidad de ColdFusion. [ 20 ] Adobe había emitido un boletín de seguridad y una corrección urgente una semana antes. [ 21 ]
En mayo de 2013, Adobe identificó otra vulnerabilidad crítica, que al parecer ya estaba siendo explotada, y que afecta a todas las versiones recientes de ColdFusion en cualquier servidor donde el administrador web y la API no estén protegidos. Esta vulnerabilidad permite a usuarios no autorizados cargar scripts maliciosos y potencialmente obtener el control total del servidor. [ 22 ] Seis días después, Adobe publicó un boletín de seguridad y una actualización para solucionar este problema. [ 23 ]
En abril de 2015, Adobe corrigió una vulnerabilidad de secuencias de comandos entre sitios (XSS) [ 24 ] en Adobe ColdFusion 10 anterior a la actualización 16, y en ColdFusion 11 anterior a la actualización 5, que permitía a atacantes remotos inyectar código web o HTML arbitrario; [ 25 ] sin embargo, solo es explotable por usuarios que se han autenticado a través del panel de administración. [ 26 ]
En septiembre de 2019, Adobe corrigió dos vulnerabilidades de inyección de comandos (CVE-2019-8073 [ 27 ] ) que permitían código arbitrario y un recorrido de callejón (CVE-2019-8074 [ 28 ] ).
Véase también
Referencias
- ↑ "ColdFusion (versión 2023) Actualización 17" . Consultado el 20 de diciembre de 2025 .
- ↑ "ColdFusion (versión 2021) Actualización 23" . Consultado el 20 de diciembre de 2025 .
- ↑
- Wallack, Todd (23 de enero de 1999). "Allaire tiene un debut estelar en el mercado" . Boston Herald . Consultado el 2 de noviembre de 2015 .
{{cite web}}: CS1 maint: servicio de archivado obsoleto ( enlace ) - Metz, Cade (9 de octubre de 2014). "Mejora tu navegador" . PC Mag . Archivado del original el 22 de diciembre de 2015. Consultado el 2 de noviembre de 2015 .
- Auerbach, Jon; Kerber, Ross (30 de enero de 1998). "Massachusetts crece a pesar del fin de los gigantes de la alta tecnología" . Wall Street Journal . Archivado del original el 22 de diciembre de 2015. Consultado el 2 de noviembre de 2015 .
- Hilwa, Al (enero de 2015). "Acelerando el desarrollo de aplicaciones móviles con ColdFusion 11" (PDF) . Documento técnico de IDC . Archivado (PDF) del original el 16 de septiembre de 2015. Consultado el 2 de noviembre de 2015 .
- Wallack, Todd (23 de enero de 1999). "Allaire tiene un debut estelar en el mercado" . Boston Herald . Consultado el 2 de noviembre de 2015 .
- ↑ Tutorial sobre cómo consumir un servicio web en ASP.NET. Archivado el 23 de diciembre de 2008 en Wayback Machine . Digital Colony (23 de agosto de 2007). Consultado el 21 de julio de 2013.
- ↑Archivado el 20 de julio de 2006 en la Wayback Machine .
- ↑ "Fiesta del décimo aniversario de ColdFusion" . Archivado del original el 11 de octubre de 2011. Consultado el 29 de septiembre de 2011 .
- ↑ "Adobe lanza ColdFusion 8" . Adobe Systems Incorporated . 30 de julio de 2007. Archivado del original el 26 de octubre de 2015. Consultado el 20 de agosto de 2014 .
- ↑ "Adrocknaphobia - "La era moderna de ColdFusion"" . Archivado del original el 15-06-2011 . Recuperado el 28-12-2012 .
- ↑ "Nueva versión de ColdFusion añade un conjunto de herramientas de monitorización del rendimiento para medir, monitorizar y gestionar aplicaciones web de alto rendimiento" . Adobe Systems Incorporated . 12 de julio de 2018. Archivado del original el 16 de julio de 2018. Consultado el 16 de julio de 2018 .
- ↑ "Nombres en clave para el servidor ColdFusion y ColdFusion Builder" . Blog de Adobe ColdFusion . Archivado del original el 10 de julio de 2015. Consultado el 5 de agosto de 2015 .
- ↑ "Actualizaciones de ColdFusion (versión 2018)" . helpx.adobe.com . Consultado el 9 de octubre de 2019 .
- ↑ "Características de ColdFusion 2018" . Adobe Systems Incorporated . Archivado del original el 28 de julio de 2018. Consultado el 27 de julio de 2018 .
- ↑ "Características de ColdFusion 2023" . Adobe Systems Incorporated . Archivado del original el 17 de noviembre de 2023. Consultado el 17 de noviembre de 2023 .
- ↑ "ColdFusion: Transformación a lo largo de los años" (PDF) . Adobe . Archivado del original (PDF) el 9 de marzo de 2022.
- ↑ "Generación de PDF en ColdFusion" . Adobe. Archivado del original el 9 de julio de 2017. Consultado el 27 de enero de 2017 .
- ↑ "Divagaciones de un imbécil de Internet" . Archivado del original el 20 de diciembre de 2008. Consultado el 16 de abril de 2008 .
- ↑ "Uso del proxy CFC" . Archivado del original el 26/12/2005 . Consultado el 25/12/2005 .
- ↑ Clark, Jack (14 de marzo de 2013). "Catálogo de vulnerabilidades de EE. UU. infectado durante al menos DOS MESES" . The Register . Archivado del original el 3 de julio de 2017. Recuperado el 23 de agosto de 2017 .
- ↑ Avisos de seguridad: APSA13-01 - Aviso de seguridad para ColdFusion. Archivado el 14 de julio de 2014 en Wayback Machine . Adobe. Consultado el 21 de julio de 2013.
- ↑ "Blog de Linode » Actualización sobre incidente de seguridad" . 16 de abril de 2013. Archivado del original el 19 de abril de 2013. Consultado el 16 de abril de 2013 .
- ↑ Adobe – Boletines de seguridad: APSB13-10 – Actualización de seguridad: Parche disponible para ColdFusion. Archivado el 16 de agosto de 2014 en Wayback Machine . Adobe.com. Consultado el 21 de julio de 2013.
- ↑
- Vulnerabilidad de día cero para ColdFusion | Edge Web Hosting Enlace obsoleto archivado el 3 de julio de 2013 en archive.today . Blog.edgewebhosting.net (8 de mayo de 2013). Consultado el 21 de julio de 2013.
- "Adobe - Avisos de seguridad: APSA13-03 - Aviso de seguridad para ColdFusion" . Archivado del original el 17 de agosto de 2014. Consultado el 20 de agosto de 2014 .
- ↑ "Adobe - Boletines de seguridad: APSB13-13 - Actualización de seguridad: Parche disponible para ColdFusion" . Archivado del original el 1 de septiembre de 2014. Consultado el 30 de agosto de 2014 .
- ↑ "Actualización no programada de Adobe corrige fallos críticos de ColdFusion (CVE-2019-8072)" . Archivado del original el 28/09/2019 . Consultado el 28/09/2019 .
- ↑ Base de datos nacional de vulnerabilidades del NIST. "Sistema nacional de concienciación cibernética: Resumen de vulnerabilidades para CVE-2015-0345" . Consultado el 31 de agosto de 2015 .
- ↑ Shubham Shah. "ColdFusion Bomb: A Chain Reaction From XSS to RCE" . Archivado del original el 28 de agosto de 2015. Consultado el 31 de agosto de 2015 .
- ↑ "Detalle de CVE-2019-8073" . nvd.nist.gov . Adobe Systems Incorporated. 27 de septiembre de 2019. Consultado el 14 de julio de 2026 .
- ↑ "Detalle de CVE-2019-8074" . nvd.nist.gov . Adobe Systems Incorporated. 27 de septiembre de 2019. Consultado el 14 de julio de 2026 .
Enlaces externos
- Software de Adobe
- Lenguajes de scripting
- Software Macromedia
- Software de desarrollo web
- Compiladores CFML
- Lenguaje de programación CFML
- Lenguajes de programación de la JVM