Adobe ColdFusion

Plataforma de desarrollo rápido de aplicaciones web
Adobe ColdFusion
Autor(es) original(es)J.J. Allaire
Desarrollador(es)Adobe Systems Incorporated
Lanzamiento inicial1995 ; hace 29 años ( 1995 )
Versión(s) estable(s)
2023Actualización 2023 6 [1] / 14 de noviembre de 2023 ; hace 11 meses ( 14 de noviembre de 2023 )
2021Actualización 2021 12 [2] / 14 de noviembre de 2023 ; hace 11 meses ( 14 de noviembre de 2023 )
Escrito enJava
Sistema operativoMultiplataforma
Disponible enInglés
TipoServidor de aplicaciones
LicenciaPropiedad
Sitio webadobe.com/products/coldfusion-family.html

Adobe ColdFusion es una plataforma informática comercial de 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 denomina comúnmente ColdFusion, aunque se conoce con más precisión como CFML ). ColdFusion se diseñó originalmente para facilitar la conexión de páginas HTML simples a una base de datos . En 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 programación asociado, ColdFusion Markup Language (CFML). CFML se compara con los componentes de programación de ASP , JSP y PHP en cuanto a propósito y características, pero su sintaxis de etiquetas se parece más a HTML , mientras que su sintaxis de script se parece a JavaScript . ColdFusion se usa a menudo como sinónimo de CFML , pero hay servidores de aplicaciones CFML adicionales 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 .

ColdFusion, que originalmente era un producto de Allaire y se lanzó el 2 de julio de 1995, 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 se puede utilizar para generar servicios remotos como servicios REST , WebSockets , servicios web SOAP o comunicación remota Flash . Es especialmente adecuada como tecnología del lado del servidor para ajax del lado del cliente .

ColdFusion también puede gestionar eventos asincrónicos 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 listas para usar. Las principales son:

Otras implementaciones de CFML ofrecen una funcionalidad similar o mejorada, como la ejecución en un entorno .NET o la manipulación de imágenes.

El motor se escribió en C y, entre otras cosas, incluía un lenguaje de programación integrado (CFScript), módulos de complemento escritos en Java y una sintaxis muy similar a HTML. El equivalente a un elemento HTML, una etiqueta ColdFusion comienza con las letras "CF" seguidas de un nombre que indica cómo se interpreta la etiqueta en HTML. Por ejemplo, <cfoutput> para comenzar la salida de variables u otro contenido.

Además de CFScript y los complementos (como se describió), CFStudio proporcionó una plataforma de diseño con una pantalla WYSIWYG . Además de ColdFusion, CFStudio también admite la sintaxis en otros lenguajes populares para la programación backend, como Perl. Además de hacer que la funcionalidad backend esté fácilmente disponible para los no programadores, (versión 4.0 y posteriores en particular) se integró fácilmente con el servidor web Apache y con Internet Information Services .

Otras características

Todas las versiones de ColdFusion anteriores a la 6.0 se escribieron con Microsoft Visual C++ . Esto significaba que ColdFusion se limitaba en gran medida a su ejecución en Microsoft Windows , aunque Allaire logró trasladar con éxito ColdFusion a Sun Solaris a partir de la versión 3.1.

La empresa Allaire fue vendida a Macromedia y, a continuación, Macromedia fue vendida a Adobe . Las versiones anteriores no eran tan robustas como las versiones disponibles a partir de la versión 4.0. [ ¿Hecho u opinión? ]

Con el lanzamiento de ColdFusion MX 6.0, el motor se había reescrito en Java y soportaba su propio entorno de ejecución, que se reemplazaba fácilmente a través de 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, publicada en junio de 1997, incorporó etiquetas personalizadas, cfsearch/cfindex/cfcollection basadas en el motor de búsqueda Verity, el ámbito del servidor y la codificación de plantillas (llamada entonces "encriptación"). La versión 3.1, publicada en enero de 1998, agregó compatibilidad con RDS, así como un puerto para el sistema operativo Sun Solaris , mientras que ColdFusion Studio obtuvo una vista previa de página en vivo y un verificador de sintaxis HTML.

ColdFusion 4

La versión 4, que se lanzó en noviembre de 1998, es cuando se cambió el nombre de "Cold Fusion" a "ColdFusion", posiblemente para distinguirlo de la teoría de fusión fría . La versión también agregó la implementación inicial de cfscript, soporte para bloqueo (cflock), transacciones (cftransaction), manejo de excepciones jerárquico (cftry/cfcatch), seguridad de sandbox, así como muchas etiquetas y funciones nuevas, incluidas cfstoredproc, cfcache, cfswitch y más.

ColdFusion 4.5

La versión 4.5, publicada en noviembre de 1999, amplió la capacidad de acceder a recursos externos del sistema, incluidos COM y CORBA, y agregó compatibilidad inicial para la integración con Java (incluidos EJB, Pojo, servlets y Java CFX). También agregó la función getmetricdata (para acceder a información de rendimiento), información de rendimiento adicional en la salida de depuración de páginas, funciones de conversión de cadenas mejoradas y eliminación opcional de espacios en blanco.

ColdFusion 5

La versión 5 se lanzó en junio de 2001 y agregó compatibilidad con consultas mejorada, nuevas funciones de generación de informes y gráficos, funciones definidas por el usuario y herramientas de administración mejoradas. Fue la última versión codificada para una plataforma específica y la primera versión de Macromedia después de la adquisición de Allaire Corporation , que se había anunciado el 16 de enero de 2001.

ColdFusion MX 6

Antes de 2000, Edwin Smith, un arquitecto de Allaire en JRun y ​​más tarde en Flash Player , Tom Harwood y Clement Wong iniciaron un proyecto con el nombre en código "Neo". [6] Este proyecto se reveló más tarde como un servidor ColdFusion reescrito completamente con Java . Esto facilitó la portabilidad y proporcionó una capa de seguridad en el servidor, porque se ejecutaba dentro de un entorno de ejecución de Java.

En junio de 2002, Macromedia lanzó la versión 6.0 del producto con un nombre ligeramente diferente, ColdFusion MX, lo que permitió asociar el producto tanto con la marca Macromedia como con su imagen de marca original. ColdFusion MX se reconstruyó completamente desde cero y se basó en la plataforma Java EE . ColdFusion MX también se diseñó para integrarse bien con Macromedia Flash mediante Flash Remoting.

Con el lanzamiento de ColdFusion MX, se lanzó la API de lenguaje CFML con una interfaz OOP .

ColdFusion MX 7

Con el lanzamiento de ColdFusion 7.0 el 7 de febrero de 2005, se modificó la convención de nombres, y el nombre del producto pasó a ser "Macromedia ColdFusion MX 7" (el nombre en código de CFMX7 era "Blackstone"). CFMX 7 agregó formularios web basados ​​en Flash y XForms , y un generador de informes que generaba archivos en Adobe PDF , así como en FlashPaper , RTF y Excel . El archivo de salida en Adobe PDF también está disponible como contenedor para cualquier página HTML, convirtiendo esa página en un documento imprimible de calidad. La edición empresarial también agregó Gateways . Estos proporcionan interacción con servicios de solicitud no HTTP, como servicios de mensajería instantánea, SMS, observadores de directorios y una ejecución asincrónica. La compatibilidad con XML se mejoró en esta versión para incluir la verificación de esquemas nativa.

ColdFusion MX 7.0.1 (nombre en código "Merrimack") agregó compatibilidad con Mac OS X , mejoras en los formularios Flash, compatibilidad con RTF para CFReport, la nueva función CFCPRoxy para la integración con Java/CFC y más. ColdFusion MX 7.0.2 (nombre en código "Mystic") incluyó funciones avanzadas para trabajar con Adobe Flex 2, así como más mejoras para CF Report Builder.

Adobe ColdFusion 8

El 30 de julio de 2007, Adobe Systems lanzó ColdFusion 8 , eliminando "MX" de su nombre. [7] Durante la prueba 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 5.000 que Adobe Systems esperaba originalmente. El equipo de desarrollo de ColdFusion estaba formado 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 basada en Web anteriormente conocida como Macromedia Breeze . Además, ColdFusion Administrator para la versión Enterprise se entrega con monitorización de servidor integrada. ColdFusion 8 está disponible en varios sistemas operativos , incluidos Linux , Mac OS X y Windows Server 2003 .

Otras adiciones a ColdFusion 8 son widgets Ajax integrados , manipulación de archivos comprimidos (CFZIP), integración con el servidor Microsoft Exchange (CFEXCHANGE), manipulación de imágenes incluyendo generación automática de CAPTCHA (CFIMAGE), subprocesamiento múltiple, configuraciones por aplicación, feeds Atom y RSS , mejoras en los informes, bibliotecas de cifrado más fuertes, mejoras en la matriz y la estructura, interacción mejorada con la base de datos, amplias mejoras en el rendimiento, capacidades de manipulación y fusión de PDF (CFPDF), depuración interactiva, soporte de base de datos integrado con Apache Derby y un CFSCRIPT más compatible con ECMAScript .

Para el desarrollo de aplicaciones ColdFusion, se encuentran disponibles varias herramientas: 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 código: Centaur ) se lanzó el 5 de octubre de 2009. Las nuevas características de CF9 incluyen:

  • Capacidad para codificar componentes ColdFusion (CFC) completamente en CFScript.
  • Un ámbito "local" explícito que no requiere que se declaren variables locales en la parte superior de la función.
  • Captadores/configuradores implícitos para CFC.
  • Constructores implícitos a través del 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 .
  • Integración de bases de datos de mapeo objeto-relacional (ORM) a través de Hibernate (Java) .
  • Archivo Server.cfc con los métodos onServerStart y onServerEnd.
  • Integración más estrecha con Adobe Flex y Adobe AIR .
  • Integración con productos clave de Microsoft, incluidos Word, Excel, SharePoint, Exchange y PowerPoint.
  • Gestión de memoria o sistema de archivos virtual: capacidad de tratar el contenido en la memoria en lugar de utilizar el disco duro.
  • Expuesto como Servicios: una capacidad de acceder, de forma segura, a funciones del servidor de forma externa.

Adobe ColdFusion 10

ColdFusion 10 (nombre en código: Zeus) se lanzó el 15 de mayo de 2012. Las características nuevas o mejoradas disponibles en todas las ediciones (Standard, Enterprise y Developer) incluyen (entre otras):

  • Mejoras de seguridad
  • Instalador y notificación de revisiones
  • Programador mejorado (basado en una versión de Quartz)
  • Compatibilidad mejorada con servicios web (WSDL 2.0, SOAP 1.2)
  • Compatibilidad con sockets web HTML5
  • Integración con Tomcat
  • Soporte para servicios web RESTful
  • Mejoras del lenguaje (cierres y más)
  • Integración de búsqueda con Apache Solr
  • Reproductor de vídeo HTML5 y Adobe Flash Player
  • Carga diferida de Flex y Adobe AIR
  • Integración XPath
  • Mejoras de HTML5

Las características nuevas o mejoradas adicionales en las ediciones ColdFusion Enterprise o Developer incluyen (entre otras):

  • Gráficos HTML5 dinámicos e interactivos
  • Programador mejorado y renovado (funciones adicionales a las agregadas en CF10 Standard)
  • Mejoras en el mapeo relacional de objetos

Las listas anteriores se obtuvieron de las páginas del sitio web de Adobe que describen "nuevas funciones", tal como aparecen primero en los enlaces de la siguiente lista.

CF10 fue originalmente conocido con el nombre en código Zeus, después de que Adobe confirmara por primera vez que vendría en Adobe MAX 2010 y durante gran parte de su período de prelanzamiento. También se lo conocía comúnmente como "ColdFusion next" y "ColdFusion X" en blogs, Twitter, etc., antes de que Adobe finalmente confirmara que sería "ColdFusion 10". Durante gran parte de 2010, Adam Lehman, gerente de productos de ColdFusion, recorrió los EE. UU. organizando innumerables reuniones con clientes, desarrolladores y grupos de usuarios para formular un plan maestro para el próximo conjunto de características. En septiembre de 2010, presentó los planes a Adobe, donde recibieron el apoyo y la aprobación total de la alta gerencia. [8]

La primera versión beta pública de ColdFusion 10 se lanzó a través de Adobe Labs el 17 de febrero de 2012.

Adobe ColdFusion 11

ColdFusion 11 (nombre en código: Splendor) se lanzó el 29 de abril de 2014.

Las características nuevas o mejoradas disponibles en todas las ediciones (Standard, Enterprise y Developer) incluyen:

  • Desarrollo móvil de extremo a extremo
  • Una nueva edición ligera (ColdFusion Express)
  • Mejoras del lenguaje
  • Mejoras de WebSocket
  • Mejoras en la generación de PDF
  • Mejoras de seguridad
  • Mejoras sociales
  • Mejoras de REST
  • Mejoras en los gráficos
  • Mejoras de compresión

ColdFusion 11 también eliminó muchas funciones que anteriormente se habían identificado simplemente como "obsoletas" o que ya no eran compatibles con versiones anteriores. Por ejemplo, la etiqueta CFLOG ofrecía desde hacía tiempo 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 causaba que la etiqueta CFLOG fallara.

Adobe ColdFusion (versión 2016)

Adobe ColdFusion (versión 2016), nombre en código: Raijin (y también conocido genéricamente como ColdFusion 2016), se lanzó el 16 de febrero de 2016.

Las características nuevas o mejoradas disponibles en todas las ediciones (Standard, Enterprise y Developer) incluyen:

  • Mejoras del lenguaje
  • 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 recibió el nombre en código Aether durante la versión preliminar. [10]

En marzo de 2023, Adobe había lanzado 16 actualizaciones [11] para ColdFusion 2018.

Las características nuevas o mejoradas disponibles en todas las ediciones (Standard, Enterprise y Developer) incluyen: [12]

  • Mejoras del lenguaje (incluidos NULL, clases y métodos abstractos, covariantes y finales, cierres en etiquetas y más)
  • Programación asincrónica, utilizando futuros
  • Línea de comandos REPL
  • 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 supervisión del rendimiento

Adobe ColdFusion (versión 2021)

Adobe ColdFusion (versión 2021) se lanzó el 11 de noviembre de 2020. ColdFusion 2021 tenía como nombre en código Project Stratus durante la versión preliminar.

Las características nuevas o mejoradas disponibles en todas las ediciones (Standard, Enterprise y Developer) incluyen:

  • Instalador ligero
  • Administrador de paquetes ColdFusion
  • Servicios de almacenamiento en la nube
  • Servicios de mensajería
  • Base de datos No-SQL
  • Inicio de sesión único
  • Cambios en el lenguaje central
  • Conjunto de herramientas de supervisión del rendimiento

Adobe ColdFusion (versión 2023)

Adobe lanzó ColdFusion 2023 el 17 de mayo de 2023.

Las nuevas funciones disponibles son las siguientes: [13]

  • Google Cloud Platform (GCP): almacenamiento, Pub/Sub, FireStore
  • Servidor de configuración central (CCS)
  • Integración de administración de SSO CF (SAML/LDAP) incluidas actualizaciones de la API de administración de CF
  • Tokens web JSON
  • Serialización de búfer de protocolo y Avro
  • Nuevo motor PDF
  • Actualizaciones de bibliotecas (Java, Solr, Hibernate)
  • Compatibilidad nativa con consultas GraphQL
  • Corrección de errores

Hoja de ruta de desarrollo

En septiembre de 2017, Adobe anunció la hoja de ruta que anticipaba los lanzamientos en 2018 y 2020. [14] Entre las características clave anticipadas para el lanzamiento de 2016 se encontraban un nuevo monitor de rendimiento, mejoras en la programación asincrónica, soporte REST renovado y mejoras en el API Manager, así como soporte para CF2016 proyectado hasta 2024. En cuanto al lanzamiento de 2020, las características anticipadas en ese momento (en 2017) eran la configurabilidad (modularidad) de los servicios de aplicación CF, scripting renovado y soporte orientado a objetos, y mejoras adicionales en el API Manager.

Características

Generación de PDF

ColdFusion puede generar documentos PDF utilizando HTML estándar (es decir, no se necesita codificación adicional para generar documentos para imprimir). Los autores de CFML colocan HTML y CSS dentro de un par de etiquetas cfdocument (o etiquetas cfhtmltopdf, como novedad en ColdFusion 11). El documento generado puede luego guardarse en el disco o enviarse al navegador del cliente. ColdFusion 8 también introdujo la etiqueta cfpdf para permitir el control sobre los documentos PDF, incluidos los formularios PDF, y la fusión de archivos PDF. Sin embargo, estas etiquetas no utilizan el motor PDF de Adobe, sino que cfdocument utiliza una combinación de la biblioteca comercial JPedal Java PDF y la biblioteca Java gratuita y de código abierto iText , y cfhtmltopdf utiliza una implementación WebKit incorporada. [15]

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 entra en la categoría de lenguajes OO que no admiten herencia múltiple (junto con Java, Smalltalk, etc.). [16] Con el lanzamiento de MX (6+), ColdFusion introdujo la funcionalidad OO básica con la construcción del lenguaje de componentes que se asemeja a las clases en lenguajes OO. Cada componente puede contener cualquier número de propiedades y métodos. Un componente también puede extender 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 el lanzamiento de ColdFusion 8, se admiten interfaces de estilo Java . Los componentes de ColdFusion usan la extensión de archivo cfc para diferenciarlos de las plantillas de ColdFusion (.cfm).

Comunicación remota

Los métodos de componentes pueden estar disponibles como servicios web sin necesidad de codificación ni configuración adicionales. Todo lo que se requiere es que el acceso de un método se declare como "remoto". ColdFusion genera automáticamente un WSDL en la URL del componente de esta manera: http://path/to/components/Component.cfc?wsdl. Además de SOAP, los servicios se ofrecen en formato binario Flash Remoting.

Los métodos que se declaran remotos también se pueden invocar mediante una solicitud HTTP GET o POST. Considere la solicitud GET que se muestra.

http://ruta/a/componentes/Component.cfc?method=search&query=your+query&mode=strict

Esto invocará la función de búsqueda del componente, pasando "su consulta" y "estricto" como argumentos.

Este tipo de invocación es ideal para aplicaciones compatibles con Ajax . ColdFusion 8 introdujo la capacidad de serializar estructuras de datos de ColdFusion en formato JSON para su uso en el cliente.

El servidor ColdFusion generará automáticamente la documentación de un componente si navega hasta su URL e inserta el código apropiado dentro de las declaraciones del componente. Esta es una aplicación de introspección de componentes, disponible para los desarrolladores de componentes ColdFusion. El acceso a la documentación de un componente requiere una contraseña. Un desarrollador puede ver la documentación de todos los componentes conocidos por el servidor ColdFusion navegando hasta la URL de ColdFusion. Esta interfaz se parece a la documentación HTML de Javadoc para las clases Java.

Etiquetas personalizadas

ColdFusion ofrece varias formas de implementar etiquetas de lenguaje de marcado personalizadas , es decir, aquellas que no están incluidas en el lenguaje central de ColdFusion. Estas son especialmente útiles para proporcionar una interfaz familiar para diseñadores web y autores 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 de etiqueta corresponde al nombre del archivo con el prefijo "cf_". Por ejemplo, el archivo IMAP.cfm se puede utilizar 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 realiza la llamada, a través de un directorio especial en la aplicación web ColdFusion o a través de una etiqueta CFIMPORT en la página que realiza la llamada. El último método no requiere necesariamente el prefijo "cf_" para el nombre de la etiqueta.

Una segunda forma es el desarrollo de etiquetas CFX mediante Java o C++. Las etiquetas CFX tienen el prefijo "cfx_", por ejemplo "cfx_imap". Las etiquetas se agregan al entorno de ejecución de ColdFusion mediante el administrador de ColdFusion, donde los archivos JAR o DLL se registran como etiquetas personalizadas.

Por último, ColdFusion admite 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 la implementación de ColdFusion como un archivo WAR o un archivo EAR para su implementación 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 debido a que estas plataformas no admiten oficialmente ColdFusion, dejan muchas de sus características inaccesibles. A partir de ColdFusion 10, Macromedia JRun fue reemplazado por Apache Tomcat .

Dado 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 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 se podían utilizar en Java o .NET declarándolos como servicios web. Sin embargo, a partir de ColdFusion MX 7.0.1, los componentes de ColdFusion ahora se pueden utilizar directamente dentro de las 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 que permitió este estilo de desarrollo de Java.

ColdFusion y .NET

ColdFusion 8 admite de forma nativa .NET dentro de la sintaxis CFML. Los desarrolladores de ColdFusion pueden llamar a cualquier ensamblado .NET sin necesidad de volver a compilar ni modificar los ensamblados de ninguna manera. Los tipos de datos se traducen automáticamente entre ColdFusion y .NET (ejemplo: .NET DataTable → ColdFusion Query).

Una característica única para un proveedor de Java EE, ColdFusion 8 ofrece la posibilidad de acceder a los ensamblados .NET de forma remota a través de un proxy (sin el uso de .NET Remoting ). Esto permite a los usuarios de ColdFusion aprovechar .NET sin tener que instalarlo en un sistema operativo Windows.

Abreviaturas

Las siglas de ColdFusion Markup Language son CFML . Cuando las plantillas de ColdFusion se guardan en el 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 base de datos. Cuando se habla de ColdFusion, la mayoría de los usuarios utilizan el acrónimo CF y este se utiliza para numerosos recursos de ColdFusion, como grupos de usuarios (CFUG) y sitios.

CFMX es la abreviatura común para las versiones 6 y 7 de ColdFusion (también conocidas como ColdFusion MX).

Entornos de servidores alternativos

ColdFusion se originó como una tecnología patentada basada en estándares de la industria de la tecnología web. Sin embargo, se está convirtiendo en una tecnología menos cerrada debido a la disponibilidad de productos de la competencia. Estos productos alternativos incluyen:

  • Lucee : motor CFML gratuito y de código abierto derivado de Railo. El objetivo de Lucee es proporcionar la funcionalidad de CFML utilizando menos recursos y brindando un mejor rendimiento, y hacer que CFML deje de existir y se convierta en una plataforma de programación web moderna y dinámica. Lucee cuenta con el respaldo de seguidores de la comunidad y miembros de la Asociación Lucee.

Estos están descontinuados o fuera de producción:

  • BlueDragon - Motor CFML propietario basado en .NET y motor CFML gratuito basado en Java de código abierto (Open BlueDragon).
  • Constructor web Coral
  • Encender Fusión
  • 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. Viene en tres ediciones principales del producto y otras versiones.
  • Proyecto Smith

Se puede argumentar que ColdFusion está incluso menos limitado por la plataforma que Java EE o .NET, simplemente porque ColdFusion se ejecutará 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 cambios 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 había publicado un parche para CF9 y CF10 en enero. [19]

En abril de 2013, Linode atribuyó una vulnerabilidad de ColdFusion a una intrusión en el sitio web del panel de control de Linode Manager. [20] Adobe había publicado un boletín de seguridad y una revisión para este problema una semana antes. [21]

En mayo de 2013, Adobe identificó otra vulnerabilidad crítica, que al parecer ya se estaba explotando, que afectaba a todas las versiones recientes de ColdFusion en cualquier servidor en el que no se hubiera bloqueado el administrador basado en web y la API. La 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 revisión para este problema. [23]

En abril de 2015, Adobe corrigió una vulnerabilidad de secuencias de comandos entre sitios (XSS) [24] en Adobe ColdFusion 10 antes de la actualización 16, y en ColdFusion 11 antes de la actualización 5, que permitía a atacantes remotos inyectar secuencias de comandos web o HTML arbitrarios; [25] sin embargo, solo pueden explotarla los usuarios que se hayan 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) que permitían código arbitrario y un cruce de callejones (CVE-2019-8074).

Véase también

Referencias

  1. ^ "Actualización 6 de ColdFusion (versión 2023)" . Consultado el 24 de noviembre de 2023 .
  2. ^ "Actualización 12 de ColdFusion (versión 2021)" . Consultado el 24 de noviembre de 2023 .
  3. ^
    • Wallack, Todd (23 de enero de 1999). «Allaire ve un debut estelar en el mercado». Boston Herald . Archivado desde el original el 27 de mayo de 2024. Consultado el 2 de noviembre de 2015 .
    • Metz, Cade (9 de octubre de 2014). "Mejora tu navegador". PC Mag . Consultado el 2 de noviembre de 2015 .
    • Auerbach, Jon; Kerber, Ross (30 de enero de 1998). "Massachusetts se eleva a pesar del fallecimiento de gigantes de la alta tecnología". Wall Street Journal . Consultado el 2 de noviembre de 2015 .
    • Hilwa, Al (enero de 2015). "Aumentar la temperatura en el desarrollo de aplicaciones móviles con ColdFusion 11" (PDF) . Documento técnico de IDC . Consultado el 2 de noviembre de 2015 .
  4. ^ Tutorial sobre el consumo de 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.
  5. ^ [1] Archivado el 20 de julio de 2006 en Wayback Machine .
  6. ^ Fiesta del décimo aniversario de ColdFusion
  7. ^ "Adobe lanza ColdFusion 8". Adobe Systems Incorporated . 30 de julio de 2007.
  8. ^ "Adrocknaphobia - "La era moderna de ColdFusion"". Archivado desde el original el 15 de junio de 2011. Consultado el 28 de diciembre de 2012 .
  9. ^ "La nueva versión de ColdFusion incorpora un conjunto de herramientas de supervisión del rendimiento para medir, supervisar y gestionar aplicaciones web de alto rendimiento". Adobe Systems Incorporated . 12 de julio de 2018.
  10. ^ "Nombres en código para el servidor ColdFusion y ColdFusion Builder". Blog de Adobe ColdFusion .
  11. ^ "Actualizaciones de ColdFusion (versión 2018)". helpx.adobe.com . Consultado el 9 de octubre de 2019 .
  12. ^ "Características de ColdFusion 2018". Adobe Systems Incorporated .
  13. ^ "Características de ColdFusion 2023". Adobe Systems Incorporated .
  14. ^ "ColdFusion - Transformación a lo largo de los años" (PDF) . Adobe . Archivado desde el original (PDF) el 9 de marzo de 2022.
  15. ^ "Generación de PDF en ColdFusion". Adobe.
  16. ^ "Divagaciones de un fanático de Internet".
  17. ^ "Uso del proxy CFC". Archivado desde el original el 26 de diciembre de 2005. Consultado el 25 de diciembre de 2005 .
  18. ^ Clark, Jack (14 de marzo de 2013). "El catálogo de vulnerabilidades de EE. UU. caído lleva infectado al menos DOS MESES". The Register .
  19. ^ Avisos de seguridad: APSA13-01 - Aviso de seguridad para ColdFusion. Adobe. Consultado el 21 de julio de 2013.
  20. ^ "Blog de Linode » Actualización sobre incidentes de seguridad". 16 de abril de 2013.
  21. ^ Adobe – Boletines de seguridad: APSB13-10 – Actualización de seguridad: Hotfix disponible para ColdFusion. Adobe.com. Recuperado el 21 de julio de 2013.
  22. ^
    • Exploit de día cero para ColdFusion | Edge Web HostingEdge Web Hosting. 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".
  23. ^ "Adobe - Boletines de seguridad: APSB13-13 - Actualización de seguridad: Revisión disponible para ColdFusion".
  24. ^ "La actualización no programada de Adobe corrige fallas críticas de ColdFusion (CVE-2019-8072)".
  25. ^ 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 .
  26. ^ Shubham Shah. "Bomba de fusión fría: una reacción en cadena de XSS a RCE" . Consultado el 31 de agosto de 2015 .
  • Sitio web oficial
Obtenido de "https://es.wikipedia.org/w/index.php?title=Adobe_ColdFusion&oldid=1250807066"