por Marcela CalderónColdFusionColdFusion fue desarrollado por Allaire Corporation para ser una alternativa poderosa y simple de usar a Perl y otras tecnologías CGI. Con cientos de miles de desarrolladores en el mundo que actualmente lo usan , se puede asegurar que ColdFusion ha sido exitoso. ColdFusion, según Macromedia, combina un lenguaje intuitivo, basado en tags, rico, con herramientas visuales y un servidor de aplicaciones web probadamente confiable, para entergar la manera más rápida de desarrollar poderosas aplicaciones web. ColdFusion es una herramienta que corre en forma concurrente con la mayoría de los servidores web de Windows, Linux y Solaris (también en servidores web personales en Windows 98 y puede ser usado para intranets). El servidor de aplicaciones web de ColdFusion trabaja con el servidor HTTP para procesar peticiones de páginas web. Cada vez que se solicita una página de ColdFusion, el servidor de aplicaciones ColdFusion ejecuta el script o programa contenido en la página. ColdFusion es un lenguaje de programación, puede crear y modificar variables igual que en otros lenguajes de programación que nos son familiares. Posee controles de flujo de programas, como IF, Switch Case, Loop,etc. Tiene muchas funciones built-in para realizar tareas más complicadas como averiguar que día caerá el 3 de Agosto del 2007 "DayOfWeekAsString(DayOfWeek('2007/08/03'))". No es un lenguaje de bases de datos, pero interactúa de manera simple con bases de datos (Sybase, Oracle, MySQL,SQL, o Access). Usando SQL estándar, las páginas y aplicaciones web pueden fácilmente recuperar, guardar, formatear y presentar información dinámicamente. ColdFusion es un lenguaje basado en tags, si te sientes cómodo con HTML, te encantará CFML (ColdFusion Markup Language). Muchas de las funciones poderosas de ColdFusion, como leer desde y escribir en discos duros del servidor, son basadas en tags. Así como el tag <Table> puede tener argumentos como 'width' o 'align', el tag <CFFILE> tiene argumentos que especifican 'action=read/write/copy/delete', path=' etc. ColdFusion integra tecnologías. ¿No sería agradable si no tuvieras que escribir todo el JavaScript para tus páginas?. El tag <CFFORM> construirá automáticamente todo el código JavaScript para verificar los campos requeridos antes de hacer submit al form. ColdFusion también tiene tags para COM, Corba y Applets y Servlets de Java. Es escalable. ColdFusion fue diseñado para desarrollar sitios complejos y de alto tráfico. A veces, el problema más grande para un diseñador web es que su sitio se vuelve popular. ColdFusion está diseñado para correr en máquinas multi-procesador, y permite construir sitios que pueden correr en clusters de servidores. Es un lenguaje server-side. A diferencia de JavaScript y Applets Java, que corren en el cliente o en browsers, ColdFusion corre en el servidor web. Esto significa que los scripts escritos en ColdFusion correrán de la misma manera en cualquier browser. 1. Tecnología del servidor
En el corazón de cada aplicación de ColdFusion hay un servidor ColdFusion, el cual, combina una arquitectura abierta y extensible que se integra fácilmente con sistemas existentes, así como también con aplicaciones built-in y servicios de infraestructura que ayudan a presentar la información de manera elegante y lograr un alto nivel de desempeño y confiabilidad. 2. Herramientas de desarrollo
Macromedia ofrece dos herramientas para el desarrollo. Para desarrolladores web, ColdFusion provee una tecnología poderosa de edición de código. Para diseñadores y desarrolladores web Dreamweaver UltraDev ofrece el mejor ambiente visual de desarrollo. La oferta combinada de ColdFusion 5 y UltraDev 4 Studio, ayuda a mejorar la productividad, asegurar la calidad de la aplicación y diseñar sofisticados sitios web aprovechando la integración con el servidor ColdFusion. 3. Ambiente de programación
ColdFusion soporta un poderoso lenguaje de scripting en el lado del servidor, ColdFusion Markup Language (CFML), que es extremadamente fácil de aprender y se integra limpiamente con todos los lenguajes y tecnologías web populares. ColdFusion trabaja con múltiples arquitecturas a través de la integración de COM, CORBA y EJB. También puede ser fácilmente extendido con nuevos componentes creados con Java Servlets, clases Java, o C/C++. 4. Según Macromedia:
1. Permite construir aplicaciones web rápidamente
2. Ensambla soluciones poderosas fácilmente
3. Entrega un alto desempeño y confiabilidad
5. Ventajas, según CFM resources:
CFML hace fácil la programación web para nuevos desarrolladores, con más de 70 tags CFML y sobre 200 funciones personalizadas, prácticamente cualquier aplicación web puede ser construida rápidamente. ColdFusion puede ser usado en un sitio cada vez que se necesita interacción con el ususario. Procesa formularios, hace seguras algunas partes del sitio, y recolecta o publica datos. Se puede usar para construir diarios murales, clientes de POP mail, calendarios en línea, y salas de chat. Se pueden escribir scripts para rastrear estadísticas. Usando ColdFusion se ahorra dinero en mantenimiento. Se gasta mucho más dinero en ajustar el software a nuevos requerimientos que en el desarrollo inicial, ColdFusion es experto en el área de mantenimiento sobre otras herramientas middleware para crear sitios web dinámicos, ya que: Esconde la complejidad, usa menos líneas y son más intuitivas para alcanzar resultados, permite al usuario migrar a otros servidores web y motores de bases de datos con pocos cambios y sin plug-ins externos. Permite setear y olvidarse de los defaults para el acceso a bases de datos, el programador puede setear los detalles de la conexión a la base de datos una vez y después sólo referirse a la fuente de los datos con un simple nombre. En cambio, con ASP, los detalles de la conexión, como username y password, deben ser repetidos en el código cada vez que se utiliza la fuente de los datos. Permite setear y olvidarse de la administración de sesiones. Un archivo global, que es transparentemente incluido al comienzo de cada página puede asignar un ID de sesión y un símbolo que hace difícil perder la sesión y puede asociarla transparentemente ( através de cookies o URLs) con todas las páginas accesadas por un cliente. La creación de símbolos y la verificación de que el símbolo está amarrado a el ID de la sesión se maneja automáticamente. Otros middleware fuerzan al programador a manejar estos detalles. ColdFusion simplifica el almacenamiento de variables, el programador puede manipular fácilmente las variables apropiadas a su sesión lógica. Lo mismo pasa con las variables en el servidor, en la aplicacióny al nivel de página. Otros middleware necesitan más compromiso del programador y más trabajo para que sea escalable. ColdFusion hace loop implícito sobre consultas y listas. Sabe como hacer loop sobre las columnas de una consulta. Obtiene automáticamente la siguiente columna cuando no hay nada más que hacer con la columna actual. Se detiene automáticamente cuando no hay más columnas. Estos detalles no se codifican y no necesitan ser revisados durante el mantenimiento. ColdFusion genera y envía javascript transparentemente on the fly cuando ciertos tags de input son utilizados. Esto facilita el chequeo de inputs del lado del cliente sin forzar al programador a escribir, revisar y modificar javascript para hacer esto. ColdFusion usa menos líneas de código y son más intuitivas. supongamos que se necesita desplegar información de una base de datos. Así se hace con ColdFusion: <cfquery datasource="yourDB"> select VendorID, Vendor from tblVendor order by Vendor </cfquery> <cfoutput query="Company"> #Vendor#, #VendorID#<br> </cfoutput> Lo mismo en ASP:
<%
Option Explicit
Response.Expires = 0
Dim objConn, objRS, strQ
Dim strConnection 14:
Set objConn = Server.CreateObject("ADODB.Connection")
strConnection = "Data Source=somedatasource;"
objConn.Open strConnection
Set objRS = Server.CreateObject("ADODB.Recordset")
Set objRS.ActiveConnection = objConn
strQ = "select VendorID, Vendor "
strQ = strQ & "from Vendor "
strQ = strQ & "order by Vendor"
objRS.Open strQ
%>
<%
While Not objRS.EOF
Response.Write objRS("Vendor") & ", "
Response.Write objRS("VendorID") & "<br>"
objRS.MoveNext
Wend
objRS.close
objConn.close
Set objRS = Nothing
Set objConn = Nothing
%>
Lo mismo en JSP
<%@ page import="java.sql.*" %>
<%
try {
Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );
} catch (java.lang.ClassNotFoundException e) {
e.printStackTrace();
}
Connection myConnection = null;
Statement myStatement = null;
ResultSet myResultSet = null;
try {
myConnection = DriverManager.getConnection ("jdbc:odbc:jsp", "", "");
myStatement = myConnection.createStatement();
myResultSet = myStatement.executeQuery("select VendorID, Vendor from
main order by lastname");
while(myResultSet.next())
{
out.println(myResultSet.getString("Vendor")+", ");
out.println(myResultSet.getString("VendorID")+"<br>");
}
myResultSet.close();
myStatement.close();
myConnection.close();
} catch (SQLException e) {
e.printStackTrace();
}
%>
Mientras menos líneas haya que revisar y modificar, más dinero se ahorra en mantenimiento. ColdFusion tiene un buen manejo de errores y depuración. Permite redirigir la información detallada para la depuración a direcciones IP que el programador provea. Cuando un motor de bases de datos arroja un error, ColdFusion sugiere causas posibles. Le permite al programador crear sus propios manejadores de errores cuando se necesita cuidado especial. Con ColdFusion se pueden personalizar los mensajes de error para situaciones específicas y puede proveer un nivele de detalle para los usuarios y uno diferente para los mantenedores. Las aplicaciones en ColdFusion pueden cambiar de plataformas y motores de bases de datos. Se pueden cambiar las aplicaciones de ColdFusion a diferentes sistemas operativos y servidores web con pequeños cambios, y se puede incluso cambiar los motores de bases de datos con un poco más de esfuerzo. Los proyectos pequeños en ColdFusion pueden crecer sin abandonar código ni empezar del comienzo. 4. Ventajas inigualables de ColdFusion:
ColdFusion viene con habilidades que otros middleware no pueden alcanzar sin necesitar agregados. Viene con un motor para indexar sitios web. Se puede realizar balance de carga dinámico, se pueden mantener porciones de código como propietarias. Permite agregar componentes de servidores de otros lenguajes, puede usar COM, CORBA y objetos JavaBeans creados por otras herramientas. Se pueden hacer consultas persistentes para mayor velocidad. Se integra con el monitor de desempeño y el monitor de seguridad de NT. Se puede poner a los usuarios en una "caja de arena" ( por ejemplo, para soportar múltiples sitios web en un sólo host). Se puede modificar el registro. Permite continuar usando scripts CGI existentes. El código ColdFusion puede ser generado on the fly con herramientas que vienen con su usual editor, ColdFusion Studio. El lenguaje es extensible, convierte datos hacia y desde XML y permite conectar un sitio con otros como en un browser para extender el alvance de la aplicación. 5. En resumen, según CFM resources:
Dado que la gramática de ColdFusion lleva a menos líneas de código más entendibles, los tiempos de revisión y ajuste se acortan en un tercio o más. Esto gracias a aspectos del lenguaje que esconden la complejidad mientras proveen poder. Otras herramientas requieren agrupar add ons de distintas fuentes. ColdFusion tiene muchas capacidades built in que otras herramientas no tienen y necesitan apoyarse en add ons. Otros middleware tienden a encerrar a sus compradores en sistemas operativos específicos, servidores web y motores de bases de datos. Gracias a que ColdFusion está disponible para un amplio rango de sistemas operativos, servidores web y motores de bases de datos, la migración no requiere que los mantenedores empiecen desde el principio. Sobrepasa a ASP, JSP, Java, etc. Sin embargo, tan importante como su habilidad para soportar comercio web, es su gran retorno sobre la inversión lo que hace elegir a ColdFusion a la hora de mantener comercio en el web. 6. Según Charles Mohnike en Webmonkey:
(Charles Mohnike es un escritor de tecnología y el co-fundador de Zapt Digital Media, una firma de publicaciones electrónicas). Salvo que el sitio sea simple, de dos páginas, se puede decir que se puede ahorrar bastantes horas-hombre-o mujer usando ColdFusion. La pregunta es si el tiempo ahorrado justifica la inversión en software y el dinero extra en hosting. Este pequeño test en el estilo Cosmopolitan ayuda a responder esa pregunta:
Si has contestado "Sí" a más de tres de las preguntas, entonces, como Cosmo diría, probablemente no estás teniendo suficiente sexo, pero eso es un hecho en la industria de TI. Lo importante es que también eres un candidato a ser usuario de ColdFusion. Sigue adelante y gasta el dinero.
|