Opentopia Directory Encyclopedia Tools

Fusebox (programming)

Encyclopedia : F : FU : FUS : Fusebox (programming)


Fusebox is a popular web development framework for ColdFusion and other web development languages. Fusebox provides Web application developers with a standardised, structured way of developing their applications using a relatively straightforward and easy to learn set of core files and encouraged conventions. In addition to the framework itself, Fusebox has become closely associated with a Web application development methodology developed by its proponents known as "FLiP". (Many people refer to Fusebox as a "methodology", but in fact, as stated, it's a development framework. FLiP, however, is a methodology). Many frameworks provide comparable advantages, however, Fusebox (probably on account of both its relatively long history and the sizeable and active community that supports it) seems to be the most popular one for ColdFusion. Also the framework itself has been ported and used in ASP, JSP and PHP as well.

The concepts behind Fusebox are based on the household idiom of an electrical fusebox that controls a number of circuits, each one with its own fuse. In a Fusebox web application, all requests are routed through a single point (usually index.cfm for ColdFusion) and processed by the Fusebox core files. The application is divided into a number of circuits (usually in sub-directories) which are intended to contain related functionality. Each circuit in the application is further divided into small files called fuses that should perform simple tasks. URLs within a Fusebox web application are usually of the form index.cfm?fuseaction=cname.fname where "cname" is the name of a circuit and "fname" is an XML-defined "method" within that circuit known as a fuseaction.

Fusebox encourages, but does not enforce, separation of presentation logic from business logic. It uses a number of file naming conventions to encourage this separation: presentation files begin with dsp (display) or lay (layout), database access files begin with qry (query) and general business files begin with act (action). Additional naming conventions are used by many Fusebox developers but these are the most common ones.

Another concept that Fusebox encourages is to parameterize any exit points in a web page, coding them as variables that are set in the circuit control file. These exit points are known as XFAs - eXit FuseActions. The idea is that by parameterizing the exit points in a web page, the flow of control can be updated more easily, allowing more reuse of web pages or fragments thereof.

Fusebox has had several major revisions over the years. The most popular versions in use today are Fusebox 3 and Fusebox 4 (including 4.1). In Fusebox 3, the control files were all written in the underlying programming language (e.g., fbx_Switch.cfm for ColdFusion). Fusebox 4 and later versions use XML for the control files (fusebox.xml and circuit.xml). This should help improve tool support for the framework in the future.

Fusebox 4.1 introduces some new XML grammar elements that let you declare, instantiate and manipulate objects (COM, Java and ColdFusion Components) as well as web services. These features have provided Fusebox developers with the means of developing object-oriented models (i.e. business-logic).

Associated with the framework, but not strictly part of it, is the concept of FuseDocs which is a semi-formalized form of documentation written in XML that specifies the inputs and outputs of each fuse file. There are third-party tools available which can use FuseDocs to do things like generate test harness code.

History

The Fusebox framework was originally created by Steve Nelson and Gabe Roffman in 1998. Fusebox version 1 was never used publicly, but sufficient documentation for version 2 led to wider use. Fusebox version 3 was a complete rewrite by leading members of the Fusebox community, and introduced the concept of the "core files", used by later versions. As of Fusebox version 4, the original creators are no longer involved in the development of the framework and the core files [license] (which is open source) is held by a private company: [The Fusebox Corporation] (which appears to be a defunct corporation).

External links

 


From Wikipedia, the Free Encyclopedia. Original article here. Support Wikipedia by contributing or donating.
All text is available under the terms of the GNU Free Documentation License See Wikipedia Copyrights for details.

Search Titles
0123456789
ABCDEFGHIJ
KLMNOPQRST
UVWXYZ?

E-mail this article to:

Personal Message: