Adobe ColdFusion - Adobe ColdFusion

Adobe ColdFusion
Adobe ColdFusion 10
Autor (es) original (is) JJ Allaire
Desenvolvedor (s) Adobe Systems Incorporated
lançamento inicial 1995 ; 26 anos atrás  ( 1995 )
Liberação (ões) estável (s)
2021 2021/11 de novembro de 2020 ; 6 meses atrás  ( 2020-11-11 )
2018 Atualização 10 (2018,0,10,320417) / 14 de julho de 2020 ; 10 meses atrás  ( 2020-07-14 )
2016 Atualização 16 (2016,0,16,320445) / 14 de julho de 2020 ; 10 meses atrás  ( 2020-07-14 )
Escrito em Java
Sistema operacional Plataforma cruzada
Disponível em inglês
Modelo Servidor de aplicação
Licença Proprietário
Local na rede Internet www .adobe .com / products / coldfusion-family .html

Adobe ColdFusion é uma plataforma de computação de desenvolvimento comercial rápido de aplicativos da Web criada por JJ Allaire em 1995. (A linguagem de programação usada com essa plataforma também é comumente chamada de ColdFusion, embora seja mais precisamente conhecida como CFML .) ColdFusion foi originalmente projetado para torná-lo mais fácil para conectar páginas HTML simples a um banco de dados . Na versão 2 (1996), tornou-se uma plataforma completa que incluía um IDE além de uma linguagem de script completa .

Visão geral

Uma das características distintivas do ColdFusion é sua linguagem de script associada, ColdFusion Markup Language (CFML). CFML se compara aos componentes de script de ASP , JSP e PHP em propósito e recursos, mas sua sintaxe de tag se assemelha mais ao HTML , enquanto sua sintaxe de script se assemelha ao JavaScript . ColdFusion é frequentemente usado como sinônimo de CFML , mas há servidores de aplicativos CFML adicionais além do ColdFusion, e ColdFusion oferece suporte a linguagens de programação diferentes de CFML, como Actionscript do lado do servidor e scripts incorporados que podem ser escritos em uma linguagem semelhante a JavaScript conhecida como CFScript .

Originalmente um produto da Allaire e lançado em 2 de julho de 1995, ColdFusion foi desenvolvido pelos irmãos Joseph J. Allaire e Jeremy Allaire . Em 2001, a Allaire foi adquirida pela Macromedia , que por sua vez foi adquirida pela Adobe Systems Inc em 2005.

ColdFusion é mais frequentemente usado para sites ou intranets baseados em dados , mas também pode ser usado para gerar serviços remotos, como serviços REST , WebSockets , serviços da Web SOAP ou Flash remoto . É especialmente adequado como tecnologia do lado do servidor para o ajax do lado do cliente .

ColdFusion também pode lidar com eventos assíncronos como SMS e mensagens instantâneas por meio de sua interface de gateway, disponível no ColdFusion MX 7 Enterprise Edition.

Principais características

O ColdFusion fornece vários recursos adicionais prontos para uso. Os principais recursos incluem:

Outras implementações de CFML oferecem funcionalidade semelhante ou aprimorada, como execução em um ambiente .NET ou manipulação de imagem.

O mecanismo foi escrito em C e apresentava, entre outras coisas, uma linguagem de script embutida (CFScript), módulos de plug-in escritos em Java e uma sintaxe muito semelhante a HTML. O equivalente a um elemento HTML, uma tag ColdFusion começa com as letras "CF" seguidas por um nome que é indicativo de como a tag é interpretada, em HTML. Por exemplo, <cfoutput> para iniciar a saída de variáveis ​​ou outro conteúdo.

Além de CFScript e plug-ins (conforme descrito), CFStudio forneceu uma plataforma de design com um display WYSIWYG . Além do ColdFusion, o CFStudio também suporta sintaxe em outras linguagens populares para programação de back-end, como Perl. Além de tornar a funcionalidade de back-end facilmente disponível para o não-programador, (versão 4.0 e posteriores em particular) integrou-se facilmente com o Apache Web Server e com os Serviços de Informações da Internet .

Outras características

Todas as versões do ColdFusion anteriores a 6.0 foram escritas usando Microsoft Visual C ++ . Isso significava que o ColdFusion estava amplamente limitado à execução no Microsoft Windows , embora Allaire tenha portado com sucesso o ColdFusion para o Sun Solaris a partir da versão 3.1.

A empresa Allaire foi vendida para a Macromedia , depois a Macromedia foi vendida para a Adobe . As versões anteriores não eram tão robustas quanto as versões disponíveis a partir da versão 4.0.

Com o lançamento do ColdFusion MX 6.0, o mecanismo foi reescrito em Java e oferece suporte a seu próprio ambiente de tempo de execução, que foi facilmente substituído por meio de suas opções de configuração pelo ambiente de tempo de execução da Sun. A versão 6.1 inclui a capacidade de codificar e depurar o Shockwave Flash.

Versões

Cold Fusion 3

A versão 3, lançada em junho de 1997, trouxe tags personalizadas, cfsearch / cfindex / cfcollection com base no mecanismo de pesquisa Verity, o escopo do servidor e a codificação de modelo (chamada então de "criptografia"). A versão 3.1, lançada em janeiro de 1998, adicionou suporte RDS, bem como uma porta para o sistema operacional Sun Solaris , enquanto Cold Fusion Studio ganhou uma visualização de página ao vivo e verificador de sintaxe HTML.

ColdFusion 4

Lançada em novembro de 1998, a versão 4 é quando o nome foi alterado de "Cold Fusion" para "ColdFusion" - possivelmente para distingui-lo da teoria da fusão fria . O lançamento também adicionou a implementação inicial de cfscript, suporte para bloqueio (cflock), transações (cftransaction), tratamento de exceção hierárquica (cftry / cfcatch), segurança de sandbox, bem como muitas novas tags e funções, incluindo cfstoredproc, cfcache, cfswitch, e mais.

ColdFusion 4.5

A versão 4.5, lançada em novembro de 1999, expandiu a capacidade de acessar recursos externos do sistema, incluindo COM e CORBA, e adicionou suporte inicial para integração Java (incluindo EJB's, Pojo's, servlets e Java CFX's). A TI também adicionou a função getmetricdata (para acessar informações de desempenho), informações de desempenho adicionais na saída de depuração de página, funções aprimoradas de conversão de string e remoção opcional de espaços em branco.

ColdFusion 5

A versão 5 foi lançada em junho de 2001, adicionando suporte de consulta aprimorado, novos relatórios e recursos de gráficos, funções definidas pelo usuário e ferramentas de administração aprimoradas. Foi o último a ter um código legado para uma plataforma específica e o primeiro lançamento da Macromedia após a aquisição da Allaire Corporation , anunciada em 16 de janeiro de 2001.

ColdFusion MX 6

Antes de 2000, Edwin Smith, um arquiteto Allaire no JRun e mais tarde no Flash Player, iniciou um projeto com o codinome "Neo". Este projeto foi posteriormente revelado como um ColdFusion Server completamente reescrito usando Java . Isso tornava a portabilidade mais fácil e fornecia uma camada de segurança no servidor, porque era executado dentro de um Java Runtime Environment.

Em junho de 2002, a Macromedia lançou a versão 6.0 do produto com um nome ligeiramente diferente, ColdFusion MX, permitindo que o produto fosse associado à marca Macromedia e à sua marca original. ColdFusion MX foi totalmente reconstruído do zero e foi baseado na plataforma Java EE . ColdFusion MX também foi projetado para se integrar bem com Macromedia Flash usando Flash Remoting.

Com o lançamento do ColdFusion MX, a API da linguagem CFML foi lançada com uma interface OOP .

ColdFusion MX 7

Com o lançamento do ColdFusion 7.0 em 7 de fevereiro de 2005, a convenção de nomenclatura foi alterada, tornando o nome do produto "Macromedia ColdFusion MX 7" (o codinome para CFMX7 era "Blackstone"). CFMX 7 adicionou formulários da web baseados em Flash e XForms e um criador de relatórios que produz em Adobe PDF , bem como em FlashPaper , RTF e Excel . A saída Adobe PDF também está disponível como um wrapper para qualquer página HTML, convertendo essa página em um documento imprimível de qualidade. A edição corporativa também adicionou Gateways . Eles fornecem interação com serviços de solicitação não HTTP, como IM Services, SMS, Directory Watchers e uma execução assíncrona. O suporte a XML foi aprimorado nesta versão para incluir verificação de esquema nativo.

ColdFusion MX 7.0.1 (codinome "Merrimack") adicionou suporte para Mac OS X , melhorias para formulários Flash, suporte RTF para CFReport, o novo recurso CFCPRoxy para integração Java / CFC e muito mais. ColdFusion MX 7.0.2 (codinome "Mystic") incluiu recursos avançados para trabalhar com Adobe Flex 2, bem como mais melhorias para o Construtor de Relatórios CF.

Adobe ColdFusion 8

Em 30 de julho de 2007, a Adobe Systems lançou o ColdFusion 8 , retirando "MX" de seu nome. Durante o teste beta, o codinome usado foi "Escorpião" (o oitavo signo do zodíaco e a oitava iteração do ColdFusion como um produto comercial). Mais de 14.000 desenvolvedores em todo o mundo estiveram ativos no processo beta - muito mais testadores do que os 5.000 sistemas da Adobe originalmente esperados. A equipe de desenvolvimento do ColdFusion consistia em desenvolvedores baseados em Newton / Boston, Massachusetts e offshore em Bangalore, Índia.

Alguns dos novos recursos são a tag CFPDFFORM, que permite a integração com formulários Adobe Acrobat , algumas funções de manipulação de imagens, integração com Microsoft .NET e a tag CFPRESENTATION, que permite a criação de apresentações dinâmicas usando Adobe Acrobat Connect , a colaboração baseada na web solução anteriormente conhecida como Macromedia Breeze . Além disso, o ColdFusion Administrator para a versão Enterprise vem com monitoramento de servidor integrado. ColdFusion 8 está disponível em vários sistemas operacionais, incluindo Linux , Mac OS X e Windows Server 2003 .

Outras adições ao ColdFusion 8 são widgets Ajax integrados , manipulação de arquivo de arquivo (CFZIP), integração de servidor Microsoft Exchange (CFEXCHANGE), manipulação de imagem incluindo geração automática de CAPTCHA (CFIMAGE), multi-threading, configurações por aplicativo, feeds Atom e RSS , aprimoramentos de relatórios, bibliotecas de criptografia mais fortes, melhorias de matriz e estrutura, interação de banco de dados aprimorada, amplas melhorias de desempenho, manipulação de PDF e recursos de fusão (CFPDF), depuração interativa, suporte a banco de dados incorporado com Apache Derby e um CFSCRIPT compatível com ECMAScript mais

Para o desenvolvimento de aplicativos ColdFusion, várias ferramentas estão disponíveis: principalmente Adobe Dreamweaver CS4, Macromedia HomeSite 5.x, CFEclipse, Eclipse e outros. "Atualizadores de tags" estão disponíveis para esses aplicativos para atualizar seu suporte para os novos recursos do ColdFusion 8.

Adobe ColdFusion 9

ColdFusion 9 (codinome: Centaur ) foi lançado em 5 de outubro de 2009. Novos recursos para CF9 incluem:

  • Capacidade de codificar componentes ColdFusion (CFCs) inteiramente em CFScript.
  • Um escopo "local" explícito que não requer que variáveis ​​locais sejam declaradas na parte superior da função.
  • Getters / setters implícitos para CFC.
  • Construtores implícitos via método denominado "init" ou método com o mesmo nome que CFC.
  • Nova tag CFFinally para sintaxe de manipulação de exceção e tag CFContinue para fluxo de controle .
  • Mapeamento objeto-relacional (ORM) Integração de banco de dados através do Hibernate (Java) .
  • Arquivo Server.cfc com os métodos onServerStart e onServerEnd.
  • Maior integração com Adobe Flex e Adobe AIR .
  • Integração com os principais produtos da Microsoft, incluindo Word, Excel, SharePoint, Exchange e PowerPoint.
  • In Memory Management - ou Virtual File System: capacidade de tratar o conteúdo da memória em vez de usar o HDD.
  • Exposto como Serviços - capacidade de acessar, com segurança, funções do servidor externamente.

Adobe ColdFusion 10

ColdFusion 10 (codinome: Zeus) foi lançado em 15 de maio de 2012. Recursos novos ou aprimorados disponíveis em todas as edições (Standard, Enterprise e Developer) incluem (mas não estão limitados a):

  • Aprimoramentos de segurança
  • Instalador de Hotfix e notificação
  • Programador aprimorado (baseado em uma versão do quartzo)
  • Suporte aprimorado de serviços da web (WSDL 2.0, SOAP 1.2)
  • Suporte para web sockets HTML5
  • Integração Tomcat
  • Suporte para serviços da web RESTful
  • Aprimoramentos de linguagem (encerramentos e mais)
  • Integração de pesquisa com Apache Solr
  • Player de vídeo HTML5 e Adobe Flash Player
  • Carregamento lento do Flex e Adobe AIR
  • Integração XPath
  • Melhorias de HTML5

Recursos adicionais novos ou aprimorados nas edições ColdFusion Enterprise ou Developer incluem (mas não estão limitados a):

  • Gráficos HTML5 dinâmicos e interativos
  • Agendador aprimorado e renovado (recursos adicionais sobre o que é adicionado no CF10 Standard)
  • Aprimoramentos de mapeamento relacional de objeto

As listas acima foram obtidas nas páginas do site da Adobe que descrevem "novos recursos", conforme listado primeiro nos links da lista a seguir.

CF10 foi originalmente referido pelo codinome Zeus, depois de ser confirmado pela Adobe no Adobe MAX 2010, e durante grande parte de seu período de pré-lançamento. Também era comumente referido como "ColdFusion next" e "ColdFusion X" em blogs, no Twitter, etc., antes que a Adobe finalmente confirmasse que seria "ColdFusion 10". Durante grande parte de 2010, Adam Lehman, gerente de produto do ColdFusion, viajou pelos Estados Unidos marcando inúmeras reuniões com clientes, desenvolvedores e grupos de usuários para formular um plano mestre para o próximo conjunto de recursos. Em setembro de 2010, ele apresentou os planos à Adobe, onde receberam total apoio e aprovação da alta administração.

A primeira versão beta pública do ColdFusion 10 foi lançada via Adobe Labs em 17 de fevereiro de 2012.

Adobe ColdFusion 11

ColdFusion 11 (codinome: Splendor) foi lançado em 29 de abril de 2014.

Recursos novos ou aprimorados disponíveis em todas as edições (Standard, Enterprise e Developer) incluem:

  • Desenvolvimento móvel de ponta a ponta
  • Uma nova edição leve (ColdFusion Express)
  • Aprimoramentos de linguagem
  • Melhorias WebSocket
  • Aprimoramentos de geração de PDF
  • Aprimoramentos de segurança
  • Melhorias sociais
  • Melhorias REST
  • Aprimoramentos de gráficos
  • Aprimoramentos de compressão

ColdFusion 11 também removeu muitos recursos previamente identificados simplesmente como "obsoletos" ou não mais suportados em versões anteriores. Por exemplo, a tag CFLOG ofereceu por muito tempo atributos de data e hora que foram descontinuados (e redundantes, já que a data e a hora são sempre registradas). A partir do CF11, seu uso não causaria falha na tag CFLOG.

Adobe ColdFusion (versão 2016)

Adobe ColdFusion (versão 2016), codinome: Raijin (e também conhecido genericamente como ColdFusion 2016) foi lançado em 16 de fevereiro de 2016.

Recursos novos ou aprimorados disponíveis em todas as edições (Standard, Enterprise e Developer) incluem:

  • Aprimoramentos de linguagem
  • Interface de linha de comando (CLI)
  • Aprimoramentos de geração de PDF
  • Aprimoramentos de segurança
  • Armazenamento de sessão externa (Redis)
  • Geração de documentos Swagger
  • Suporte NTLM
  • API Manager

Adobe ColdFusion (versão 2018)

Adobe ColdFusion (versão 2018), conhecido genericamente como ColdFusion 2018, foi lançado em 12 de julho de 2018. ColdFusion 2018 recebeu o codinome Aether durante o pré-lançamento.

Em julho de 2020, a Adobe lançou 10 atualizações para ColdFusion 2018.

Recursos novos ou aprimorados disponíveis em todas as edições (Standard, Enterprise e Developer) incluem:

  • Aprimoramentos de linguagem (incluindo NULL, classes e métodos abstratos, covariants e finais, encerramentos em tags e muito mais)
  • Programação assíncrona, usando Futures
  • REPL de linha de comando
  • Capacidade de bloqueio automático
  • Suporte para cache distribuído (Redis, memcached, JCS)
  • Recurso de playground REST
  • Interface de usuário administrativa modernizada
  • Conjunto de ferramentas de monitoramento de desempenho

Adobe ColdFusion (versão 2021)

Adobe ColdFusion (versão 2021) foi lançado em 11 de novembro de 2020. ColdFusion 2021 foi codificado como Project Stratus durante o pré-lançamento.

Recursos novos ou aprimorados disponíveis em todas as edições (Standard, Enterprise e Developer) incluem:

  • Instalador leve
  • ColdFusion Package Manager
  • Serviços de armazenamento em nuvem
  • Serviços de mensagens
  • Banco de dados sem SQL
  • Logon único
  • Mudanças no idioma principal
  • Conjunto de ferramentas de monitoramento de desempenho

Roteiro de desenvolvimento

Em setembro de 2017, a Adobe anunciou o roteiro de antecipação de lançamentos em 2018 e 2020. Entre os principais recursos previstos para o lançamento de 2016 estavam um novo monitor de desempenho, melhorias para programação assíncrona, suporte REST renovado e aprimoramentos para o API Manager, bem como suporte para CF2016 projetado em 2024. Quanto ao lançamento de 2020, os recursos previstos naquele momento (em 2017) eram configurabilidade (modularidade) de serviços de aplicativo CF, scripts renovados e suporte orientado a objetos e outras melhorias para o API Manager.

Características

Geração de PDF

ColdFusion pode gerar documentos PDF usando HTML padrão (ou seja, nenhuma codificação adicional é necessária para gerar documentos para impressão). Os autores de CFML colocam HTML e CSS dentro de um par de tags cfdocument (ou novo no ColdFusion 11, tags cfhtmltopdf). O documento gerado pode então ser salvo em disco ou enviado ao navegador do cliente. ColdFusion 8 introduziu também a tag cfpdf para permitir o controle sobre documentos PDF, incluindo formulários PDF e mesclagem de PDFs. Essas marcas, entretanto, não usam o mecanismo de PDF da Adobe, mas cfdocument usa uma combinação da biblioteca comercial JPedal Java PDF e a biblioteca Java gratuita e de código aberto iText , e cfhtmltopdf usa uma implementação WebKit embutida .

Componentes ColdFusion (objetos)

ColdFusion originalmente não era uma linguagem de programação orientada a objetos, como as versões 3 e anteriores do PHP . ColdFusion se enquadra na categoria de linguagens OO que não oferecem suporte a herança múltipla (junto com Java, Smalltalk, etc.). Com a versão MX (6+), o ColdFusion introduziu a funcionalidade OO básica com a construção de linguagem de componente que se assemelha a classes em linguagens OO. Cada componente pode conter qualquer número de propriedades e métodos. Um componente também pode estender outro ( herança ). Os componentes suportam apenas herança única. O conjunto de recursos de manipulação de objetos e o aprimoramento de desempenho ocorreram nas versões subsequentes. Com o lançamento do ColdFusion 8, interfaces de estilo Java são suportadas. Os componentes do ColdFusion usam a extensão de arquivo cfc para diferenciá-los dos modelos do ColdFusion (.cfm).

Remoting

Os métodos de componentes podem ser disponibilizados como serviços da web sem codificação e configuração adicionais. Tudo o que é necessário é que o acesso de um método seja declarado 'remoto'. ColdFusion gera automaticamente um WSDL no URL para o componente desta maneira: http: //path/to/components/Component.cfc? Wsdl. Além do SOAP, os serviços são oferecidos no formato binário Flash Remoting.

Os métodos declarados remotos também podem ser chamados por meio de uma solicitação HTTP GET ou POST. Considere a solicitação GET conforme mostrado.

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

Isso invocará a função de pesquisa do componente, passando "sua consulta" e "estrito" como argumentos.

Esse tipo de chamada é adequado para aplicativos habilitados para Ajax . ColdFusion 8 introduziu a capacidade de serializar estruturas de dados ColdFusion para JSON para consumo no cliente.

O servidor ColdFusion gerará automaticamente a documentação de um componente se você navegar até seu URL e inserir o código apropriado nas declarações do componente. Este é um aplicativo de introspecção de componentes, disponível para desenvolvedores de componentes ColdFusion. O acesso à documentação de um componente requer uma senha. Um desenvolvedor pode visualizar a documentação de todos os componentes conhecidos pelo servidor ColdFusion navegando até a URL do ColdFusion. Essa interface é semelhante à documentação Javadoc HTML para classes Java.

Tags personalizadas

O ColdFusion fornece várias maneiras de implementar tags de linguagem de marcação personalizadas , ou seja, aquelas não incluídas na linguagem ColdFusion principal. Eles são especialmente úteis para fornecer uma interface familiar para web designers e autores de conteúdo familiarizados com HTML, mas não com programação obrigatória .

A maneira tradicional e mais comum é usar CFML. Uma página CFML padrão pode ser interpretada como uma tag, com o nome da tag correspondendo ao nome do arquivo prefixado com "cf_". Por exemplo, o arquivo IMAP.cfm pode ser usado como a tag "cf_imap". Os atributos usados ​​na tag estão disponíveis no escopo ATTRIBUTES da página de implementação da tag. As páginas CFML podem ser acessadas no mesmo diretório da página de chamada, por meio de um diretório especial no aplicativo da Web ColdFusion ou por meio de uma tag CFIMPORT na página de chamada. O último método não requer necessariamente o prefixo "cf_" para o nome da tag.

Uma segunda maneira é o desenvolvimento de tags CFX usando Java ou C ++. As tags CFX são prefixadas com "cfx_", por exemplo "cfx_imap". As tags são adicionadas ao ambiente de tempo de execução ColdFusion usando o administrador ColdFusion, onde os arquivos JAR ou DLL são registrados como tags personalizadas.

Por fim, o ColdFusion oferece suporte a bibliotecas de tags JSP da especificação de linguagem JSP 2.0. As tags JSP são incluídas nas páginas CFML usando a tag CFIMPORT.

Interações com outras linguagens de programação

ColdFusion e Java

A instalação padrão do ColdFusion permite a implantação do ColdFusion como um arquivo WAR ou arquivo EAR para implantação em servidores de aplicativos independentes, como Macromedia JRun e IBM WebSphere . O ColdFusion também pode ser implantado em contêineres de servlet como Apache Tomcat e Mortbay Jetty , mas como essas plataformas não oferecem suporte oficial ao ColdFusion, eles deixam muitos de seus recursos inacessíveis. A partir do ColdFusion 10, o Macromedia JRun foi substituído pelo Apache Tomcat .

Como o ColdFusion é um aplicativo Java EE, o código do ColdFusion pode ser misturado com classes Java para criar uma variedade de aplicativos e usar bibliotecas Java existentes. ColdFusion tem acesso a todas as classes Java subjacentes, suporta bibliotecas de tags personalizadas JSP e pode acessar funções JSP após recuperar o contexto da página JSP ( GetPageContext () ).

Antes do ColdFusion 7.0.1, os componentes do ColdFusion só podiam ser usados ​​por Java ou .NET, declarando-os como serviços da web. No entanto, a partir do ColdFusion MX 7.0.1, os componentes do ColdFusion agora podem ser usados ​​diretamente nas classes Java usando a classe CFCProxy.

Recentemente, tem havido muito interesse no desenvolvimento de Java usando linguagens alternativas como Jython , Groovy e JRuby . ColdFusion foi uma das primeiras plataformas de script a permitir esse estilo de desenvolvimento Java.

ColdFusion e .NET

O ColdFusion 8 oferece suporte nativo ao .NET na sintaxe CFML. Os desenvolvedores do ColdFusion podem simplesmente chamar qualquer assembly .NET sem precisar recompilar ou alterar os assemblies de nenhuma forma. Os tipos de dados são traduzidos automaticamente entre ColdFusion e .NET (exemplo: .NET DataTable → ColdFusion Query).

Um recurso exclusivo para um fornecedor de Java EE, o ColdFusion 8 oferece a capacidade de acessar .NET Assemblies remotamente por meio de proxy (sem o uso de .NET Remoting ). Isso permite que os usuários do ColdFusion aproveitem o .NET sem precisar ser instalado em um sistema operacional Windows.

Siglas

A sigla para ColdFusion Markup Language é CFML . Quando os modelos do ColdFusion são salvos em disco, tradicionalmente recebem a extensão .cfm ou .cfml. A extensão .cfc é usada para componentes ColdFusion. A extensão original era DBM ou DBML, que significava Database Markup Language. Ao falar sobre ColdFusion, a maioria dos usuários usa a sigla CF e isso é usado para vários recursos do ColdFusion, como grupos de usuários (CFUGs) e sites.

CFMX é a abreviatura comum para as versões 6 e 7 do ColdFusion (também conhecido como ColdFusion MX).

Ambientes de servidor alternativos

ColdFusion originou-se como tecnologia proprietária baseada nos padrões da indústria de tecnologia da Web. No entanto, está se tornando uma tecnologia menos fechada devido à disponibilidade de produtos concorrentes. Esses produtos alternativos incluem (em ordem alfabética):

  • BlueDragon - Motor CFML proprietário baseado em .NET e CFML Engine baseado em Java de código aberto gratuito (Open BlueDragon).
  • Coral Web Builder
  • IgniteFusion
  • OpenBD - A versão de código aberto do BlueDragon foi lançada como Open BlueDragon (OpenBD) em dezembro de 2008.
  • Lucee - Motor CFML de código aberto gratuito e bifurcado de Railo. O objetivo de Lucee é fornecer a funcionalidade do CFML usando menos recursos e dando melhor desempenho e mover o CFML além de suas raízes e em uma plataforma de programação web moderna e dinâmica. Lucee é apoiado por apoiadores da comunidade e membros da Associação Lucee.
  • Railo - Motor CFML de código aberto gratuito. Ele vem em três edições principais do produto e outras versões.
  • SmithProject

Pode-se argumentar que o ColdFusion é ainda menos vinculado à plataforma do que o Java EE ou .NET bruto, simplesmente porque o ColdFusion será executado em um servidor de aplicativos .NET (New Atlanta) ou em qualquer contêiner de servlet ou aplicativo Java EE servidor ( JRun , WebSphere , JBoss , Geronimo , Tomcat , Resin Server , Jetty (servidor web) , etc.). Em teoria, um aplicativo ColdFusion poderia ser movido inalterado de um servidor de aplicativos Java EE para um servidor de aplicativos .NET.

Vulnerabilidades

Em março de 2013, um problema conhecido que afetava o ColdFusion 8, 9 e 10 deixou o National Vulnerability Database aberto a ataques. A vulnerabilidade foi identificada e um patch lançado pela Adobe para CF9 e CF10 em janeiro.

Em abril de 2013, uma vulnerabilidade do ColdFusion foi responsabilizada pela Linode por uma intrusão no site do painel de controle do Linode Manager. Um boletim de segurança e um hotfix para isso foram lançados pela Adobe uma semana antes.

Em maio de 2013, a Adobe identificou outra vulnerabilidade crítica, supostamente já explorada à solta, que visa todas as versões recentes do ColdFusion em qualquer servidor onde o administrador baseado na web e a API não tenham sido bloqueados. A vulnerabilidade permite que usuários não autorizados carreguem scripts mal-intencionados e, potencialmente, ganhem controle total sobre o servidor. Um boletim de segurança e um hotfix para isso foram lançados pela Adobe 6 dias depois.

Em abril de 2015, a Adobe corrigiu uma vulnerabilidade de cross-site scripting (XSS) no Adobe ColdFusion 10 antes da atualização 16 e no ColdFusion 11 antes da atualização 5, que permitia que atacantes remotos injetassem script da web ou HTML arbitrário; no entanto, ele pode ser explorado apenas por usuários que se autenticaram por meio do painel de administração.

Em setembro de 2019, a Adobe corrigiu duas vulnerabilidades de injeção de comando (CVE-2019-8073) que permitiam código arbitrário e uma travessia de beco (CVE-2019-8074).

Veja também

Referências

links externos