Fusebox era un marco de aplicación web para CFML y PHP . Lanzada originalmente en 1997, la versión final, 5.5.2, fue lanzada en mayo de 2012. En enero de 2012, los derechos de Fusebox se transfirieron de TeraTech a un equipo de cinco desarrolladores, [1] que eliminaron los derechos y colocaron el marco en el manos de la comunidad. [2]
Versión inicial | 1997 |
---|---|
Lanzamiento final | 5.5.2 / 8 de mayo de 2012 |
Escrito en | CFML , PHP |
Tipo | Marco de aplicación web |
Licencia | Licencia Apache |
Sitio web | www |
Fusebox fue diseñado para ser fácil de aprender y proporcionar beneficios al ayudar a los desarrolladores a estructurar su código a través de un conjunto de convenciones simples. Fusebox también permitió a los desarrolladores avanzados crear grandes aplicaciones, aprovechando patrones de diseño y técnicas de programación orientada a objetos si así lo deseaban.
Descripción general
Fusebox proporcionó a los desarrolladores de aplicaciones web una forma estructurada y estandarizada de desarrollar sus aplicaciones utilizando un conjunto de archivos básicos relativamente sencillo y fácil de aprender y convenciones alentadas. Además del marco en sí, Fusebox se asoció estrechamente con una metodología de desarrollo de aplicaciones web desarrollada por sus proponentes conocida como " FLiP " (para Fusebox Lifecycle Process). (Mucha gente se refiere a Fusebox como una "metodología", pero de hecho, era un marco de desarrollo. FLiP, sin embargo, es una metodología). El marco ha sido adaptado y utilizado en ASP , JSP , Lasso , Perl / CGI y PHP también, aunque las versiones CFML y PHP de Fusebox fueron las únicas versiones que ganaron impulso.
Fusebox se ocupó principalmente del esfuerzo de conectar estados de vista (páginas) con acciones del controlador (envíos de formularios, etc.) y el front-end del nivel de lógica empresarial. El marco no abordó la creación y el mantenimiento de la lógica empresarial , como la interacción con la base de datos o las capas de servicio.
Conceptos
Caja de fusibles, circuitos y fusibles
Los conceptos originales detrás de Fusebox se basaron en el lenguaje doméstico de una caja de fusibles eléctrica que controla varios circuitos, cada uno con su propio fusible. En una aplicación web de Fusebox, todas las solicitudes se enrutan a través de un solo punto (generalmente index.cfm
para CFML) y se procesan mediante los archivos principales de Fusebox. La aplicación se divide en varios circuitos (normalmente en subdirectorios) que están destinados a contener funciones relacionadas. Cada circuito de la aplicación se divide en pequeños archivos llamados fusibles que deberían realizar tareas sencillas. Como tal, Fusebox se considera una implementación del controlador frontal , un patrón de diseño común .
Las URL dentro de una aplicación web Fusebox suelen tener el formato index.cfm?fuseaction=cname.fname
" cname
" es el nombre de un circuito y " fname
" es un "método" definido por XML dentro de ese circuito conocido como fuseaction. El nombre de la variable de cadena de consulta "fuseaction" puede variar según los parámetros de configuración, por lo que no todas las aplicaciones que utilizan Fusebox necesitan utilizar la variable de acción "fuseaction".
Convenciones de nombres
Fusebox fomenta, pero no refuerza, la separación de la lógica de presentación de la lógica empresarial. Utiliza una serie de convenciones de nomenclatura de archivos para fomentar esta separación: los archivos de presentación comienzan con dsp (visualización) o lay (diseño), los archivos de acceso a la base de datos comienzan con qry (consulta) y los archivos comerciales generales comienzan con act (acción). Los nombres de archivo típicos tienen el formato [prefijo] _ [nombre de archivo] como dsp_loginform.cfm. Algunos desarrolladores de Fusebox utilizan convenciones de nomenclatura adicionales, pero estas son las más comunes.
Salir Fuseactions
Otro concepto que fomenta Fusebox es parametrizar los puntos de salida en una página web, codificándolos como variables que se establecen en el archivo de control del circuito. Estos puntos de salida se conocen como XFA - eXit FuseActions. La idea es que al parametrizar los puntos de salida en una página web, el flujo de control se pueda actualizar con mayor facilidad, permitiendo una mayor reutilización de las páginas web o fragmentos de las mismas.
FuseDocs
Asociado con el marco, pero no estrictamente parte de él, está el concepto de FuseDocs, que es una forma semiformalizada de documentación escrita en XML que especifica las entradas y salidas de cada archivo fusible. Hay herramientas de terceros disponibles que pueden usar FuseDocs para hacer cosas como generar código de arnés de prueba.
Historia
Fusebox tuvo varias revisiones importantes a lo largo de los años. En Fusebox 3, todos los archivos de control se escribieron en el lenguaje de programación subyacente (por ejemplo, fbx_Switch.cfm para CFML). Fusebox 4 y versiones posteriores usan XML para los archivos de control (fusebox.xml y circuit.xml), pero otros componentes del marco se escriben usando el lenguaje de programación subyacente (por ejemplo, fusebox5.cfm, nuevamente para CFML). En teoría, esto ayuda a mejorar el soporte de herramientas para el marco. También permitió el análisis previo y la generación de una plantilla única para procesar cada acción de fusión, lo que aumentó considerablemente el rendimiento. Fusebox 5.5 permite omitir los archivos XML si se siguen ciertas convenciones.
Caja de fusibles (versión 1)
Fusebox 1 surgió de una conversación en la lista de correo de CF-Talk en abril de 1998. A Steve Nelson y Gabe Roffman se les atribuye la creación del Fusebox original, aunque el primer programa Fusebox fue escrito por Josh Cyr. La metodología evolucionaba constantemente y más allá de un documento técnico y un puñado de ejemplos, no existía documentación oficial. Muy pocos desarrolladores estuvieron expuestos a Fusebox durante estos primeros días.
Caja de fusibles 2
Craig Girard y Steve Nelson (junto con Hal Helms y Nat Papovich) escribieron un libro, Fusebox: Methodology and Techniques, que fue publicado en 2000 por Fusion Authority. Se decía que los programadores que siguieron las prácticas descritas en el libro estaban haciendo "Fusebox 2".
XFB
Hal Helms se basó en Fusebox 2 y llamó a sus ideas eXtended FuseBox, o XFB.
Caja de fusibles 3
Fusebox 3 (escrito principalmente por Hal Helms, John Quarto-von Tivadar y Nat Papovich) fue un esfuerzo de los principales miembros de la comunidad Fusebox para incorporar XFB y otras ideas en una biblioteca reutilizable, conocida como "archivos centrales". Una API simple permitió que el código de la aplicación se comunicara con los archivos principales. Tras su lanzamiento en el otoño de 2001, Fusebox se convirtió en un marco en lugar de una metodología . Una versión posterior 3.01 abordó problemas menores. Fusebox 3 fue una especie de cambio radical con respecto a Fusebox 2. Solo los principios originales permanecieron relativamente sin cambios; una aplicación Fusebox 2 y Fusebox 3 están estructuradas de manera muy diferente.
Caja de fusibles 4
Fusebox 4 fue una reescritura completa de Fusebox 3. La licencia de los archivos principales (que es de código abierto) está en manos de una empresa privada propiedad de Hal Helms y John Quarto-von Tivadar: The Fusebox Corporation [ enlace muerto permanente ] (que aparece ser una corporación extinta).
Fusebox 4.1 introdujo algunos elementos gramaticales XML nuevos más allá de los disponibles en 4.0 que le permiten declarar, crear instancias y manipular objetos (COM, Java y componentes ColdFusion), así como servicios web. Estas características han proporcionado a los desarrolladores de Fusebox los medios para vincular modelos orientados a objetos (es decir, lógica de negocios) directamente en sus controladores. Sin embargo, muchos desarrolladores de Fusebox utilizaron modelos orientados a objetos o altamente estructurados en versiones anteriores de Fusebox o en las versiones actuales sin el uso de estos elementos gramaticales.
Caja de fusibles 5
En 2006, The Fusebox Corporation le pidió a Sean Corfield que tomara la iniciativa en el desarrollo de la próxima versión de Fusebox. Fusebox 5 fue otra reescritura completa con nuevas características y rendimiento mejorado. Fusebox 5 mantuvo casi completamente la compatibilidad con versiones anteriores con Fusebox 4.1. En noviembre de 2006, Fusebox Corporation transfirió la propiedad de los archivos principales y el sitio web de la caja de fusibles a TeraTech bajo la dirección del presidente de TeraTech y orador de Fusebox, Michael Smith. TeraTech anunció que Fusebox seguirá siendo de código abierto y busca aumentar nuevamente la participación de la comunidad en el proyecto. Fusebox 5.1 y todas las versiones posteriores tienen licencia de Apache Source License 2.0 . En febrero de 2007, los miembros del Equipo Fusebox se reunieron en la conferencia Frameworks en Bethesda Maryland y crearon un plan de acción para la participación comunitaria utilizando voluntarios en nueve áreas diferentes de Fusebox.
Caja de fusibles 5.5
Esta versión se centró principalmente en agregar un conjunto de convenciones que permiten la creación de aplicaciones Fusebox sin archivos de configuración XML . El uso de estas nuevas funciones en lugar de XML se denomina "caja de fusibles implícita".
- Las pruebas alfa comenzaron en junio de 2007
- Una beta pública estuvo disponible en Adobe MAX en octubre de 2007
- El lanzamiento oficial de Fusebox 5.5 estuvo disponible a principios de diciembre de 2007
Caja de fusibles 5.5.1 y FuseNG
El lanzamiento de Fusebox 5.5.1 en marzo de 2008 fue el último lanzamiento de Sean Corfield. En agosto de 2008, Adam Haskell se hizo cargo del desarrollo, pero se sintió frustrado con la organización Fusebox, [3] e intentó ramificar un nuevo marco llamado FuseNG (NG para la próxima generación, una referencia de Star Trek ). FuseNG rápidamente perdió fuerza y terminó sin un lanzamiento. [4]
Caja de fusibles 5.6
En enero de 2012, un equipo de cinco desarrolladores comunitarios liderados por John Blayter anunció en la lista de correo de Fusebox que habían obtenido los derechos y derechos de autor de Fusebox de TeraTech. [2] Se han eliminado los derechos de autor del código marco y está disponible en GitHub para fomentar la participación de la comunidad. Se anunciaron los objetivos de Fusebox 5.6 , pero nunca se implementaron. [5]
Ver también
Referencias
enlaces externos
- Sitio web oficial, Fusebox.org
- Lista de correo oficial de Fusebox, en Yahoo Groups
- Introducción a los frameworks ColdFusion, en Adobe DevNet
- Revisión de Fusebox 4 (sys-con.com, septiembre de 2003)
- Función Fusebox 3 (sys-con.com, noviembre de 2001)
- Lista de correo de Fusebox en House of Fusion