Probably in order of the size of the development community, I think
it'd be

Fusebox 3
Fusebox 2
Mach-II
Fusebox 4
onTap

As to the number of installations, I'd hesitate to even ball-park
them. I know there are a lot of Fusebox 2 / 3 implementations right
now, and probably not very many of the remaining three yet. I've
personally worked on a lot of Fusebox 3 and a couple of Fusebox 2
projects over the past few years, so I can vouche for its being
visible "in the wild". Plus you can find a lot of websites running it
if you just look at the url's, a lot of sites with a "fuseaction",
"fa", "go" or "action" variable in the url are using Fusebox or some
variation of it.

Fusebox 2 is likely rapidly losing ground however in favor of Mach-II
and Fusebox 4. Right now I place it above them because the latter
three are still rather new. All 4 of them have radically different
approaches to development, and so the way you think about a project
will be very different, so there's going to be a lot of personal
mileage varyance for any given framework. Fusebox 3 obviously has the
community size advantage, although especially after my next article,
Fusebox 4 will probably gain ground in that regard as it turns out to
be the fastest (execution times) when using ColdFusion MX. The onTap
framework is has only been around since August, which iirc was a bit
after the announcement of Mach-II. It obviously will need to be good
in order to gain any ground against Fusebox and Mach-II to build
community since my name doesn't yet carry the kind of weight that
Hal's or Sean Corfield's do.

The advantage that they share is encapsulation and reuse of code. The
manner in which they do this varries greatly from one to the next.

The onTap framework is unique in that it doesn't require external
configuration of code-bits in a "config file". It does have an
_appsettings.cfm template which contains global default settings for
the application, however, in Fusebox 3 circuits and fuseactions must
also be declared and configured in fbx_circuits.cfm and fbx_switch.cfm
templates. In fusebox 4 these are declared and configured in xml
templates called fusebox.xml.cfm and circuit.xml.cfm (they kept the
cfm extension to prevent the config from being publicly accessible).
In the case of both Fusebox 3 and 4 these templates are required for
each circuit directory afaik (I may be wrong about circuits in 4, not
certain). Mach-II places all configuration in a mach-ii.xml template
(which you can rename or move to prevent it being publicly accessible
-- I wish they'd have provided a different default personally). This
keeps all the config for the app in one place, but can mean a very
large singular template with mid-to-large sized applications. I
personally prefer smaller applications, although with Fusebox this can
sometimes mean doing a lot of searching around to find the right block
of code.

Getting back to the onTap framework -- the onTap framework avoids
external configuration templates such as the fbx_circuits, fbx_switch
and mach-ii.xml templates in favor of using the file system to
automate code execution. This means choosing only 1 name for a process
(a directory path) instead of a couple (in mach-ii it would be file
name + listener name or file name + page-view name), and always lets
you know where your process code is by glancing at the url, although
it does require you urls to match your file paths. As Matt Woodward
pointed out, this does eliminate having a file you can read that shows
you a map of your code bits which some people prefer. With onTap the
file system is the map, so you do have a map, just of a different
variety.

This also lets you create tiered code that will execute in any given
section of the application from an individual process all the way up
to the entire application or anywhere in between. The same can be done
with fusebox and mach-ii but it's more abstract. In Fusebox you can
execute code at the individual process (fuseaction) level, the circuit
level or for the entire application. So if you need something across
several circuits you've got to figure out a way to accomplish that. In
Mach-II you would typically create CFC method and associate it as a
listener to any event-handlers you wanted it to affect, so you'd have
to register it to each event-handler individually. Comparatively with
onTap you just place it in the appropriate directory and all
subdirectories are automatically affected.

In essence, onTap uses the file system to abstract and automate the
application logic and reduce code size, while the other frameworks use
application logic to to abstract the file system.

Other advantages... Imho fusebox is a bit easier to understand if
you're not already a big OO programmer who's worked with Java and C++
in the past. Mach-II provides strict (to the point of being
inflexible) separation of the model (cfc methods) and view (cfml
includes) from the controller (xml), so if that separation is your
primary concern in development, Mach-II would be the way to go.
Fusebox 4 is a bit less stringent but still places the controler
primarily in xml. Fusebox 4 provides xml elements for if-statements
and loops which I dont _think_ are available in Mach-II (where this
would typically be done in a CFC method). Fusebox 4 and the onTap
framework are both much less stringent, allowing you to make your own
decisions about when, how and whether to separate the model and
controler from the view.


> Thanks for the reply.  Can you estimate the number of
> installations on the
> four frameworks?  I would assume fuse box has the largest
> following as it
> has been around the longest.

> What is the advantage of OnTap versus Fusebox?

> Phil


> Check out our two free newsletters:
> Supply Chain Events - and - Supply Chain Software at
> http://www.idii.com/esn/index.htm

> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED]
> Behalf Of S.Isaac Dealey
> Sent: Sunday, December 14, 2003 10:18 PM
> To: [EMAIL PROTECTED]
> Subject: RE: Breaking the Sound Barrier?


> Hi Philip,

>> I do not have experience with MACH-II or On-Tap, but
>> would
>> like to ask the following:

>> 1 - Are there any CASE like tools to put the software
>> design in, and let it generate the CF code?   Can that
>> same CASE tool let me modify the design and then regen
>> my application?  regen in another language??

> I haven't worked with any CASE tools personally. I've
> heard of them --
> and I've seen the resultant CF code from at least one
> (which in all
> honesty was nightmarish, especially since the company
> developing the
> CASE tools perceived CF as a dying technology and didn't
> want to
> upgrade their cfml engine from 4.0 and "didn't want to
> maintain more
> than one language library per language", even though they
> maintained
> had at least two for ASP). Fusebox has been modeled in
> several
> different languages, so if there are CASE tools for CF
> frameworks
> they're more likely to use Fusebox than anything else as
> it's the only
> one I'm aware of that's been drafted in multiple languages
> at this
> point.

>> 2 - With MACH-II & On-TAP & others, which ones give you
>> the ability to call/invoke non-CF executables the most?
>> Maybe this is a mute point, but interfacing to middleware
>> and other executables is an important point.

> I suspect it is a moot point. I haven't done much (or
> really any)
> legacy systems integration with ColdFusion, however, my
> understanding
> is that this is primarily done via cfx tags written in
> Java, CORBA and
> previously a lot of COM before microsoft deprecated it.
> The CF
> language itself is designed to be simple and encapsulated
> and so it
> doesn't have any native tools for doing a lot of the lower
> level
> functions that legacy systems integration typically
> require, and
> that's why CF allows for extensions to be written with
> Java, etc. when
> something can't be done with native CFML. Its even easier
> with CFMX as
> a result of the ability to include Java tag libraries
> without having
> to register cfx tags. But in any event, when you're
> integrating with
> legacy you're typically going to be just writing a lot of
> controler
> code to integrate with the legacy system as a "model
> object" (this all
> being lingo of the model-view-controler (mvc) metaphor),
> and all the
> frameworks have areas where you would normally interface
> with model
> components. When you boil it all down really afaik
> legacy-systems
> integration in CF is just having, understanding and using
> tags (and/or
> functions), just like the rest of the language.

>> 3 - Rather than laying all the groundwork out, creating
>> the login programs, the message utilities, error trap
>> routines..... whose has a nice foundation
>> that we can just obtain and run with it?

> There was a commercial product I saw a while back that
> advertised
> itself this way. I'm not aware of anything in particular
> that's
> open-source with the possible exception of the FarCry CMS
> (a
> competitor of mine) although I haven't taken the time to
> download it
> myself and look at it, so I can't really speak to its
> contents. The
> onTap framework is "headed" in that direction, or at
> least, I'd like
> to see some additional open-source projects for the onTap
> framework
> that encapsulate common foundations like user management,
> login, roles
> based security, etc. It's gonna take a while to build up
> the community
> for that to be a reality tho. Incidentally, I think all 4
> of the
> frameworks have some error handling features.

> s. isaac dealey                214-823-9345

> team macromedia volunteer
> http://www.macromedia.com/go/team

> chief architect, tapestry cms  http://products.turnkey.to

> onTap is open source           http://www.turnkey.to/ontap


> -----------------------------------------------
> To post, send email to [EMAIL PROTECTED]
> To unsubscribe:
>    Send UNSUBSCRIBE to [EMAIL PROTECTED]
> To subscribe / unsubscribe: http://www.dfwcfug.org

> -----------------------------------------------
> To post, send email to [EMAIL PROTECTED]
> To unsubscribe:
>    Send UNSUBSCRIBE to [EMAIL PROTECTED]
> To subscribe / unsubscribe: http://www.dfwcfug.org



s. isaac dealey                214-823-9345

team macromedia volunteer      http://www.macromedia.com/go/team

chief architect, tapestry cms  http://products.turnkey.to

onTap is open source           http://www.turnkey.to/ontap


-----------------------------------------------
To post, send email to [EMAIL PROTECTED]
To unsubscribe: 
   Send UNSUBSCRIBE to [EMAIL PROTECTED]
To subscribe / unsubscribe: http://www.dfwcfug.org

Reply via email to