Adobe ColdFusion es una plataforma informática de desarrollo comercial rápido de aplicaciones web creada por JJ Allaire en 1995. [4] (El lenguaje de programación utilizado con esa plataforma también se llama comúnmente ColdFusion, aunque se conoce con más precisión como CFML ). ColdFusion fue diseñado originalmente para facilitan la conexión de páginas HTML simples a una base de datos . En la versión 2 (1996), se convirtió en una plataforma completa que incluía un IDE además de un lenguaje de programación completo .
Autor (es) original (es) | JJ Allaire |
---|---|
Desarrollador (es) | Adobe Systems Incorporated |
Versión inicial | 1995 |
Lanzamiento (s) estable (s) | |
Escrito en | Java |
Sistema operativo | Multiplataforma |
Disponible en | inglés |
Tipo | Servidor de aplicaciones |
Licencia | Propiedad |
Sitio web | www |
Descripción general
Una de las características distintivas de ColdFusion es su lenguaje de secuencias de comandos asociado, ColdFusion Markup Language (CFML). CFML se compara con los componentes de secuencias de comandos 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 secuencias de comandos se parece a JavaScript . ColdFusion se utiliza a menudo como sinónimo de CFML , pero existen 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 .
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 se puede utilizar para generar servicios remotos como servicios REST , WebSockets , servicios web SOAP o comunicación remota Flash . Es especialmente adecuado como tecnología del lado del servidor para el ajax del lado del cliente .
ColdFusion también puede manejar 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.
Principales características
ColdFusion proporciona una serie de funciones adicionales listas para usar. Las características principales 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 validación y widgets de formularios
- 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 GUI
- Servidor, aplicaciones, cliente de sesión, y solicitar alcances
- Análisis, consulta (XPath) , validación y transformación XML (XSLT)
- Agrupación en clústeres de servidores
- Programación de tareas
- Graficar y reportar
- Manipulación de archivos simplificada, incluidos gráficos de trama (y CAPTCHA ) y archivos zip (la introducción de la manipulación de video está prevista en una versión futura)
- Implementación de servicios web simplificada (con generación WSDL automatizada / manejo SOAP transparente para crear y consumir servicios; por ejemplo, ASP.NET [5] no tiene equivalente nativo para [6] )
<CFINVOKE WEBSERVICE="http://host/tempconf.cfc?wsdl" METHOD="Celsius2Fahrenheit" TEMP="#tempc#" RETURNVARIABLE="tempf">
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 estaba escrito en C y presentaba, entre otras cosas, un lenguaje de secuencias de comandos 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 es indicativo de cómo se interpreta la etiqueta, en HTML. Por ejemplo,
Además de CFScript y complementos (como se describe), CFStudio proporcionó una plataforma de diseño con una pantalla WYSIWYG . Además de ColdFusion, CFStudio también admite sintaxis en otros lenguajes populares para la programación de backend, como Perl. Además de hacer que la funcionalidad de backend esté fácilmente disponible para quienes no sean programadores, (versión 4.0 y posteriores en particular) se integró 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 con Microsoft Visual C ++ . Esto significó que ColdFusion se limitó en gran medida a ejecutarse en Microsoft Windows , aunque Allaire transfirió con éxito ColdFusion a Sun Solaris a partir de la versión 3.1.
La empresa Allaire se vendió a Macromedia , luego Macromedia se vendió a Adobe . Las versiones anteriores no eran tan sólidas como las versiones disponibles a partir de la versión 4.0. [ un hecho o una opinión? ]
Con el lanzamiento de ColdFusion MX 6.0, el motor se había reescrito en Java y era compatible con su propio entorno de ejecución, que se reemplazó 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 Shockwave Flash.
Versiones
Fusión fría 3
La versión 3, lanzada en junio de 1997, trajo etiquetas personalizadas, cfsearch / cfindex / cfcollection basadas en el motor de búsqueda Verity, el alcance del servidor y la codificación de la plantilla (llamada entonces "cifrado"). La versión 3.1, lanzada en enero de 1998, agregó soporte RDS, así como un puerto para el sistema operativo Sun Solaris , mientras que el estudio Cold Fusion obtuvo una vista previa de la página en vivo y un verificador de sintaxis HTML.
ColdFusion 4
Lanzada en noviembre de 1998, la versión 4 es cuando se cambió el nombre de "Cold Fusion" a "ColdFusion", posiblemente para distinguirlo de la teoría de la fusión en frío . El lanzamiento también agregó la implementación inicial de cfscript, soporte para bloqueo (cflock), transacciones (cftransaction), manejo de excepciones jerárquicas (cftry / cfcatch), seguridad de 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 del sistema externos, incluidos COM y CORBA, y agregó soporte inicial para la integración de Java (incluidos EJB, Pojo, servlets y Java CFX). TI también agregó la función getmetricdata (para acceder a la información de rendimiento), información de rendimiento adicional en la salida de depuración de la página, funciones mejoradas de conversión de cadenas y eliminación opcional de espacios en blanco.
ColdFusion 5
La versión 5 fue lanzada en junio de 2001, agregando soporte mejorado para consultas, nuevas funciones de generación de informes y gráficos, funciones definidas por el usuario y herramientas de administración mejoradas. Fue el último en tener un código heredado para una plataforma específica y el primer lanzamiento de Macromedia después de su 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, inició un proyecto con el nombre en código "Neo". [7] Este proyecto se reveló más tarde como un servidor ColdFusion reescrito completamente usando Java . Esto facilitó la portabilidad y proporcionó una capa de seguridad en el 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 del producto con un nombre ligeramente diferente, ColdFusion MX, lo que permite que el producto se asocie tanto con la marca Macromedia como con su marca original. ColdFusion MX se reconstruyó completamente desde cero y se basó en la plataforma Java EE . ColdFusion MX también fue diseñado para integrarse bien con Macromedia Flash usando Flash Remoting.
Con el lanzamiento de ColdFusion MX, la API de lenguaje CFML se lanzó 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 nomenclatura, convirtiendo el nombre del producto en "Macromedia ColdFusion MX 7" (el nombre en clave de CFMX7 era "Blackstone"). CFMX 7 agregó formularios web basados en Flash y XForms , y un generador de informes que se generan en Adobe PDF , así como en FlashPaper , RTF y Excel . La salida de Adobe PDF también está disponible como envoltorio 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 que no son HTTP, como servicios de mensajería instantánea, SMS, observadores de directorios y una ejecución asincrónica. La compatibilidad con XML se incrementó en esta versión para incluir la verificación de esquemas nativa.
ColdFusion MX 7.0.1 (nombre en clave "Merrimack") agregó soporte para Mac OS X , mejoras a los formularios Flash, soporte RTF para CFReport, la nueva función CFCPRoxy para la integración de Java / CFC y más. ColdFusion MX 7.0.2 (con nombre en código "Mystic") incluía 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. [8] 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 en todo el mundo participaron activamente en el proceso beta, muchos más probadores de los que se esperaban originalmente los 5000 Adobe Systems . El equipo de desarrollo de ColdFusion estaba formado por desarrolladores con sede en Newton / Boston, Massachusetts y en alta mar 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 de Microsoft .NET y la etiqueta CFPRESENTATION, que permite la creación de presentaciones dinámicas utilizando Adobe Acrobat Connect , la colaboración basada en Web. solución anteriormente conocida como Macromedia Breeze . Además, ColdFusion Administrator para la versión Enterprise se envía con monitoreo de servidor integrado. 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 incorporados , manipulación de archivos de archivo (CFZIP), integración de servidor de Microsoft Exchange (CFEXCHANGE), manipulación de imágenes que incluye generación automática de CAPTCHA (CFIMAGE), subprocesos múltiples, configuraciones por aplicación, fuentes Atom y RSS , mejoras de informes, bibliotecas de cifrado más sólidas, mejoras de matriz y estructura, interacción mejorada de la base de datos, amplias mejoras de rendimiento, manipulación de PDF y capacidades de fusión (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. Los "actualizadores de etiquetas" están disponibles para estas aplicaciones para actualizar su compatibilidad con las nuevas funciones de ColdFusion 8.
Adobe ColdFusion 9
ColdFusion 9 (nombre en clave: Centaur ) fue lanzado 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 / definidores implícitos para CFC.
- Constructores implícitos a través del método llamado "init" o 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 relacional de objetos (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 productos clave 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 de la memoria en lugar de utilizar el disco duro.
- Exposed as Services: la capacidad de acceder de forma segura a las funciones del servidor de forma externa.
Adobe ColdFusion 10
ColdFusion 10 (nombre en clave: 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 (pero no se limitan a):
- Mejoras de seguridad
- Instalador de revisión y notificación
- Programador mejorado (basado en una versión de quartz)
- Soporte de servicios web mejorado (WSDL 2.0, SOAP 1.2)
- Soporte para sockets web HTML5
- Integración de Tomcat
- Soporte para servicios web RESTful
- Mejoras de idioma (cierres y más)
- Integración de búsqueda con Apache Solr
- Reproductor de video HTML5 y Adobe Flash Player
- Carga diferida de Flex y Adobe AIR
- Integración XPath
- Mejoras en HTML5
Las características nuevas o mejoradas adicionales en las ediciones ColdFusion Enterprise o Developer incluyen (pero no se limitan a):
- Gráficos HTML5 dinámicos e interactivos
- Programador mejorado y renovado (características adicionales sobre lo que se agrega 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", que se enumeran primero en los enlaces de la siguiente lista.
CF10 fue originalmente referido por el nombre en clave Zeus, después de que Adobe confirmara por primera vez su llegada 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, en Twitter, etc., antes de que Adobe finalmente confirmara que sería "ColdFusion 10". Durante gran parte de 2010, el gerente de productos de ColdFusion, Adam Lehman, viajó por los EE. UU. Y organizó innumerables reuniones con clientes, desarrolladores y grupos de usuarios para formular un plan maestro para el próximo conjunto de funciones. En septiembre de 2010, presentó los planes a Adobe, donde la alta dirección les dio pleno apoyo y aprobación. [9]
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 clave: Splendor) fue lanzado el 29 de abril de 2014.
Las funciones nuevas o mejoradas disponibles en todas las ediciones (Standard, Enterprise y Developer) incluyen:
- Desarrollo móvil de un extremo a otro
- Una nueva edición ligera (ColdFusion Express)
- Mejoras del idioma
- Mejoras de WebSocket
- Mejoras en la generación de PDF
- Mejoras de seguridad
- Mejoras sociales
- Mejoras de REST
- Mejoras en la creación de gráficos
- Mejoras en la compresión
ColdFusion 11 también eliminó muchas funciones previamente identificadas simplemente como "obsoletas" o que ya no se admiten en versiones anteriores. Por ejemplo, la etiqueta CFLOG ofreció durante mucho tiempo atributos de fecha y hora que estaban en desuso (y redundantes, ya que la fecha y la hora siempre se registran). A partir de CF11, su uso no provocaría la falla de la etiqueta CFLOG.
Adobe ColdFusion (versión de 2016)
Adobe ColdFusion (versión de 2016), con nombre en código: Raijin (y también conocido genéricamente como ColdFusion 2016) se lanzó el 16 de febrero de 2016.
Las funciones nuevas o mejoradas disponibles en todas las ediciones (Standard, Enterprise y Developer) incluyen:
- Mejoras del idioma
- 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
- Soporte 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. [10] ColdFusion 2018 recibió el nombre en código Aether durante la versión preliminar. [11]
En julio de 2020, Adobe había publicado 10 actualizaciones [12] para ColdFusion 2018.
Las funciones nuevas o mejoradas disponibles en todas las ediciones (Standard, Enterprise y Developer) incluyen: [13]
- Mejoras del lenguaje (incluidos NULL, clases y métodos abstractos, covariantes y finales, cierres en etiquetas y más)
- Programación asincrónica, usando Futures
- REPL de línea de comando
- Capacidad de bloqueo automático
- Soporte de caché distribuida (Redis, memcached, JCS)
- Capacidad de descanso en el patio de recreo
- Interfaz de usuario 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 se denominó en código Project Stratus durante el prelanzamiento.
Las funciones 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 sin SQL
- Inicio de sesión único
- Cambios en el idioma principal
- Conjunto de herramientas de supervisión del rendimiento
Hoja de ruta de desarrollo
En septiembre de 2017, Adobe anunció la hoja de ruta que anticipa los 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 asincrónica, soporte REST renovado y mejoras en API Manager, como así como soporte para CF2016 proyectado para 2024. En cuanto a la versión 2020, las características anticipadas en ese momento (en 2017) fueron la configurabilidad (modularidad) de los servicios de aplicaciones CF, scripting renovado y soporte orientado a objetos, y más mejoras en 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 nuevas en ColdFusion 11, etiquetas cfhtmltopdf). El documento generado puede guardarse en el disco o enviarse al navegador del cliente. ColdFusion 8 introdujo también la etiqueta cfpdf para permitir el control de los documentos PDF, incluidos los formularios PDF, y la combinación de archivos PDF. Sin embargo, estas etiquetas no utilizan el motor PDF de Adobe, pero cfdocument utiliza una combinación de la biblioteca PDF comercial JPedal Java y la biblioteca Java gratuita y de código abierto iText , y cfhtmltopdf utiliza una implementación de WebKit incrustada . [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 la versión MX (6+), ColdFusion introdujo la funcionalidad básica de OO con la construcción de lenguaje de componentes que se asemeja a clases en 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 única. El conjunto de funciones 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 utilizan la extensión de archivo cfc para diferenciarlos de las plantillas de ColdFusion (.cfm).
Remoting
Los métodos de componentes pueden estar disponibles como servicios web sin codificación ni configuración adicionales. Todo lo que se requiere es que el acceso a un método se declare 'remoto'. ColdFusion genera automáticamente un WSDL en la URL del componente de esta manera: http: //path/to/components/Component.cfc? Wsdl. Aparte de SOAP, los servicios se ofrecen en formato binario Flash Remoting.
Los métodos que se declaran remotos también pueden invocarse a través de una solicitud HTTP GET o POST. Considere la solicitud GET como se muestra.
http: //ruta/a/componentes/Componente.cfc? método = búsqueda y consulta = su + consulta y modo = estricto
Esto invocará la función de búsqueda del componente, pasando "su consulta" y "estricto" como argumentos.
Este tipo de invocación es adecuado para aplicaciones habilitadas para Ajax . ColdFusion 8 introdujo la capacidad de serializar las estructuras de datos de ColdFusion en JSON para su consumo en el cliente.
El servidor ColdFusion generará automáticamente documentación para un componente si navega a 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 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 a la URL de ColdFusion. Esta interfaz se parece a la documentación HTML de Javadoc para las clases de Java.
Etiquetas personalizadas
ColdFusion proporciona varias formas de implementar etiquetas de lenguaje de marcado personalizadas , es decir, aquellas que no están incluidas en el lenguaje central de ColdFusion. Estos son especialmente útiles para proporcionar una interfaz familiar para diseñadores web y autores de contenido familiarizados con HTML pero sin programación imperativa .
La forma tradicional y más común es usar CFML. Una página CFML estándar se puede interpretar como una etiqueta, con el nombre de la etiqueta correspondiente al nombre del archivo con el prefijo "cf_". Por ejemplo, el archivo IMAP.cfm se puede utilizar como etiqueta "cf_imap". Los atributos utilizados dentro de la etiqueta están disponibles en el ámbito de ATRIBUTOS de la página de implementación de la etiqueta. Las páginas CFML son accesibles en el mismo directorio que la página de llamada, a través de un directorio especial en la aplicación web ColdFusion o mediante una etiqueta CFIMPORT en la página de llamada. El último método no requiere necesariamente el prefijo "cf_" para el nombre de la etiqueta.
Una segunda forma son los desarrollos de etiquetas CFX usando 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 utilizando 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 archivo EAR para la 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 son compatibles oficialmente con ColdFusion, dejan muchas de sus funciones 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 mezclar 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 ser utilizados por 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 usar directamente dentro de las clases de 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 Java.
ColdFusion y .NET
ColdFusion 8 admite de forma nativa .NET dentro de la sintaxis CFML. Los desarrolladores de ColdFusion pueden simplemente llamar a cualquier ensamblado .NET sin necesidad de recompilar o alterar 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 capacidad de acceder a ensamblados .NET de forma remota a través de proxy (sin el uso de .NET Remoting ). Esto permite a los usuarios de ColdFusion aprovechar .NET sin tener que estar instalado en un sistema operativo Windows.
Siglas
El acrónimo de ColdFusion Markup Language es CFML . Cuando las plantillas de ColdFusion se guardan en el disco, tradicionalmente se les da la extensión .cfm o .cfml. La extensión .cfc se utiliza para ColdFusion Components. La extensión original era DBM o DBML, que significaba Database Markup Language. Cuando se habla de ColdFusion, la mayoría de los usuarios usan el acrónimo CF y esto se usa para numerosos recursos de ColdFusion, como grupos de usuarios (CFUG) y sitios.
CFMX es la abreviatura común de las versiones 6 y 7 de ColdFusion (también conocida como ColdFusion MX).
Entornos de servidor alternativos
ColdFusion se originó como tecnología patentada basada en estándares de la industria de tecnología web. Sin embargo, se está convirtiendo en una tecnología menos cerrada gracias a la disponibilidad de productos competidores. Estos productos alternativos incluyen (en orden alfabético):
- BlueDragon : motor CFML patentado basado en .NET y motor CFML gratuito de código abierto basado en Java (Open BlueDragon).
- Constructor de telarañas de coral
- IgniteFusion
- OpenBD: la versión de código abierto de BlueDragon se lanzó como Open BlueDragon (OpenBD) en diciembre de 2008.
- Lucee : motor CFML gratuito y de código abierto bifurcado de Railo. El objetivo de Lucee es proporcionar la funcionalidad de CFML utilizando menos recursos y brindando un mejor rendimiento, y llevar CFML más allá de sus raíces y convertirlo 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.
- Railo - Motor CFML de código abierto y gratuito. Viene en tres ediciones principales de productos y otras versiones.
- SmithProject
Se puede argumentar que ColdFusion está aún menos vinculado a la plataforma que Java EE o .NET en bruto, simplemente porque ColdFusion se ejecutará sobre un servidor de aplicaciones .NET (New Atlanta), o sobre cualquier contenedor de servlets o aplicación Java EE. servidor ( JRun , WebSphere , JBoss , Geronimo , Tomcat , Resin Server , Jetty (servidor web) , etc.). En teoría, una aplicación ColdFusion podría trasladarse sin cambios desde 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 abierta al ataque. [18] La vulnerabilidad había sido identificada y Adobe lanzó un parche para CF9 y CF10 en enero. [19]
En abril de 2013, Linode culpó a una vulnerabilidad de ColdFusion por 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 esto una semana antes. [21]
En mayo de 2013, Adobe identificó otra vulnerabilidad crítica, supuestamente ya explotada en la naturaleza, que apunta a todas las versiones recientes de ColdFusion en cualquier servidor donde el administrador basado en web y la API no hayan sido bloqueados. La vulnerabilidad permite a los usuarios no autorizados cargar scripts maliciosos y potencialmente obtener un control total sobre el servidor. [22] Adobe emitió un boletín de seguridad y una revisión para esto 6 días después. [23]
En abril de 2015, Adobe solucionó 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 los atacantes remotos inyectar secuencias de comandos web o HTML arbitrarios; [25] sin embargo, es explotable solo 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) que permitían código arbitrario y un cruce de callejón (CVE-2019-8074).
Ver también
- Adobe ColdFusion Builder : software de construcción
- Comparación de lenguajes de programación
- 4GL
Referencias
- ^ "Presentación de Adobe ColdFusion (versión 2021)" . community.adobe.com . Consultado el 1 de enero de 2021 .
- ^ "Notas de la versión de Adobe ColdFusion 2018" . Actualizaciones de Adobe ColdFusion 2018 . Consultado el 1 de enero de 2021 .
- ^ "Notas de la versión de Adobe ColdFusion 2016" . Actualizaciones de Adobe ColdFusion 2016 . Consultado el 1 de enero de 2021 .
- ^
- Wallack, Todd (23 de enero de 1999). "Allaire ve un debut estelar en el mercado" . Boston Herald . Archivado desde el original el 2 de noviembre de 2015 . Consultado el 2 de noviembre de 2015 .
- Metz, Cade (9 de octubre de 2014). "Refuerza tu navegador" . PC Mag . Consultado el 2 de noviembre de 2015 .
- Auerbach, Jon; Kerber, Ross (30 de enero de 1998). "Massachusetts se levanta a pesar del paso de gigantes de alta tecnología" . Wall Street Journal . Consultado el 2 de noviembre de 2015 .
- Hilwa, Al (enero de 2015). "Aumento de la presión sobre el desarrollo de aplicaciones móviles con ColdFusion 11" (PDF) . Libro blanco de IDC . Consultado el 2 de noviembre de 2015 .
- ^ Consumo de un servicio web en ASP.NET Tutorial Archivado el 23 de diciembre de 2008 en Wayback Machine . Colonia digital (2007-08-23). Consultado el 21 de julio de 2013.
- ^ [1] Archivado el 20 de julio de 2006 en la Wayback Machine.
- ^ Fiesta del décimo cumpleaños de ColdFusion
- ^ "Adobe envía ColdFusion 8" . Adobe Systems Incorporated . 2007-07-30.
- ^ "Adrocknaphobia -" La era moderna de ColdFusion " " . Archivado desde el original el 15 de junio de 2011 . Consultado el 28 de diciembre de 2012 .
- ^ "La nueva versión de ColdFusion agrega un conjunto de herramientas de monitoreo de rendimiento para medir, monitorear y administrar aplicaciones web de alto rendimiento" . Adobe Systems Incorporated . 2018-07-12.
- ^ "Nombres de código para el servidor ColdFusion y ColdFusion Builder» Blog de Adobe ColdFusion " .
- ^ "Actualizaciones de ColdFusion (versión 2018)" . helpx.adobe.com . Consultado el 9 de octubre de 2019 .
- ^ "Características de ColdFusion 2018" . Adobe Systems Incorporated .
- ^ http://wwwimages.adobe.com/content/dam/acom/en/products/coldfusion/pdfs/cf2016/Roadmap_for_Adobe_ColdFusion.pdf
- ^ "Generación de PDF en ColdFusion" . Adobe.
- ^ "Divagaciones de un MoFo de Internet" .
- ^ "Uso del CFC Proxy" . Archivado desde el original el 26 de diciembre de 2005 . Consultado el 25 de diciembre de 2005 .
- ^ Nube; Aws; Amazonas; Microsoft; Google; nube, SHOCK y AWS: la caída de la deflacionaria de Amazon; Ponga ese parche de base de datos de Oracle: podría costar $ 23, 000 por CPU; Ventas, Amazon revela un truco extraño: A. Pérdida de casi $ 20 mil millones en. "Catálogo vuln estadounidense derribado infectado durante al menos DOS MESES" .
- ^ Avisos de seguridad: APSA13-01 - Aviso de seguridad para ColdFusion . Adobe. Consultado el 21 de julio de 2013.
- ^ "Blog de Linode» Actualización incidente de seguridad " .
- ^ Adobe - Boletines de seguridad: APSB13-10 - Actualización de seguridad: revisión disponible para ColdFusion . Adobe.com. Consultado el 21 de julio de 2013.
- ^
- Exploit de 0 días para ColdFusion | Edge Web HostingEdge de alojamiento web . 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" .
- ^ "Adobe - Boletines de seguridad: APSB13-13 - Actualización de seguridad: revisión disponible para ColdFusion" .
- ^ "La actualización no programada de Adobe corrige defectos críticos de ColdFusion (CVE-2019-8072)" .
- ^ Base de datos nacional de vulnerabilidades del NIST. "Sistema Nacional de Concienciación Cibernética: Resumen de Vulnerabilidad para CVE-2015-0345" . Consultado el 31 de agosto de 2015 .
- ^ Shubham Shah. "Bomba ColdFusion: una reacción en cadena de XSS a RCE" . Consultado el 31 de agosto de 2015 .
enlaces externos
- Página web oficial