July 13, 2003

Mach II

The Mach II website is now up! You can read about Mach II and download the (beta) framework and example code. The site is still being worked on so keep watching that space...
Posted by seancorfield at 09:17 PM | Comments (0) | TrackBack | architecture | cf

Elastic Satellite

The latest issue of Elastic Satellite is now available for download (as a 3.1Mb PDF file!). It has an interesting article from Brett Michlitsch about the conflicting tensions between solid software process and architecture on one hand and the rapidly changing requirements and short timeline pressures of web application development. Actually the article is part one of three so I look forward to the next couple of issues to see where Brett goes with this.
Posted by seancorfield at 02:54 PM | Comments (0) | TrackBack | architecture

July 11, 2003

CF OOP / Architecture

I've mentioned cfoop.com before but the architecture section is beginning to contain some more interesting and in-depth commentary. The latest post about structured exception handling is a good example and while I don't agree with every point he makes, it's still worthwhile reading. I've commented on that entry, raising the specter of reuse-through-inheritance which I believe is one of the most common design errors most nOObs make and I've been threatening to write up my thoughts on this subject for many, many months (I started a draft back in October last year!). One day I will write a treatise on it!
Posted by seancorfield at 03:00 PM | Comments (0) | TrackBack | architecture | cf

July 09, 2003

Mach II Training

Hal Helms and Ben Edwards are running a three-day training course for Mach II in August, in Las Vegas. This fourteen-unit course will take you through object-oriented programming concepts, CFCs, implicit invocation architecture and moves on to Web Services, Flash Remoting, and Plugins as well as looking at MVC and application architecture. It promises to be a comprehensive and very useful course - if you are at all interested in extending your ColdFusion skills into the OO arena. The early bird rate runs until the end of July.
Posted by seancorfield at 11:06 PM | Comments (0) | TrackBack | architecture | cf

Mach II - corfield.org

I have just added a fledgling Mach II section to my website and updated the Fusebox section.
Posted by seancorfield at 09:20 PM | Comments (0) | TrackBack | architecture | cf

Mach II - Initial Thoughts

I've just started looking at the new Mach II framework (formerly Fusebox MX). The framework is built on an implicit invocation architecture (you can read some background to this on the Fusebox Beta website), using "listeners" and "events" and comes with an MVC example application, ContactManager. The framework uses an XML configuration file to define the behavior of your application. The XML is used to specify "listeners" - CFCs that have methods invoked in response to events - "events", "views" and "plugins". Each event specifies which listeners it notifies and whether it displays a view. Each view specifies the CF page that generates that view. The plugins are CFCs that have various methods invoked at certain points in processing each request (event).
For example, the listContacts event notifies the RecentContacts listener to retrieve 'recent contacts' and the ContactManager listener to retrieve 'all contacts' and then the event selects the contactList view. An event can trigger other events. For example, the newContact event causes a form to be displayed into which you enter new contact details. Submitting the form - the createContact event - causes the ContactManager listener to be notified to create the contact and it announces that a new contact has been created (the contactCreated event). That event is, in turn, specified to generate the listContacts event so that after adding a new contact, you end up on contact listing page.
It takes a bit of getting used to if you're from a procedural background but it's certainly very elegant.
More on this later...
Posted by seancorfield at 12:05 PM | Comments (13) | TrackBack | architecture | cf

July 02, 2003

Fusebox Conference

The 4th Annual Fusebox Conference is in Las Vegas, NV this year (8/30-9/1) with the Sunday sessions devoted to Fusebox 4 and Monday's half-day session devoted to Mach-II (formerly Fusebox MX). It's a very reasonable $99 if you sign up before 7/19 (and only $149 after that).
Posted by seancorfield at 06:16 PM | Comments (0) | TrackBack | architecture | cf

June 25, 2003

Fusebox MX Renamed Mach II

Ben Edwards announced in the Fusebox MX forums that work on FBMX continues under a new name - Mach II. There will be a new website up shortly with more information. I'll post here as I know more!
Posted by seancorfield at 08:31 AM | Comments (10) | TrackBack | architecture | cf

June 22, 2003

Fusebox MX & Nested Layouts

I continue to work on a version of my personal site using Fusebox MX. For most of the display fuses, it's been really easy to copy the dsp_xxx.php file to dsp_xxx.cfm and change references to <?= $self ?> to index.cfm.
One change that has caught me out is that FBMX no longer has the layout wrapping mechanism of FB3. I used to set the page title in the display fuse and the layout would run after the display fuse and wrap its output, including being able to use the title variable I just set in the display fuse. FBMX advocates "plug-ins" for layout so the preView() and postView() are called as the wrappers for your display fuse. Since I want to use the title variable in the pre-view plug-in, I've taken the approach of adding setTitle() to my circuit CFCs and invoking that in the fuseaction section of fusebox.xml. It uses request.title to pass the title around and I'm not sure how I feel about that from an encapsulation point of view.
Then there's nested layouts. In FB3, I used nested layouts to create the left nav in the technical section of the site but FBMX has no such concept and at the moment I'm still pondering the cleanest way to achieve something similar since there's also no longer the concept of 'executing a circuit' to which layouts can be attached. It's proving to be an interesting experiment.
Posted by seancorfield at 11:17 PM | Comments (1) | TrackBack | architecture | cf

June 20, 2003

Fusebox MX

I'm starting to build a version of my personal website using Fusebox MX as an experiment. Fusebox MX is a radically different beast to 'regular' Fusebox but it's still proving to be much simpler than I expected to take the fuses from my PHP site and drop them into this ColdFusion MX prototype - although I'm still figuring out how to organize the site in the FBMX model (or rather in the FBMX view - since FBMX is MVC and most of my site is V!). I'll write this all up in due course, as I did eventually for the move from unstructured PHP to FB3 PHP.
Posted by seancorfield at 05:18 PM | Comments (8) | TrackBack | architecture | cf

June 11, 2003

MVCF Updated

Benoit Hedard has updated his MVCF website. He has made these updates:
There is the presentation "MX applications based on MVC" that I did at CF-Europe.
I've also updated all the best practices articles:
  • no Hungarian notation anymore
  • nothing in WEB-INF anymore
  • CFC as controllers (with form remote invocation, it works wonderfully...)
I'm glad to see these changes - especially the removal of Hungarian notation! - and I'll check the site out when I get a chance.
Posted by seancorfield at 12:44 PM | Comments (0) | TrackBack | architecture | cf

June 10, 2003

JavaOne - Web Services & Enterprise Service-Oriented Architecture

This sounded like it would be very interesting but it was a very dry presentation about the various layers of Web Service and XML standards. The take away was, essentially, coherent standards to support SOA are still years away but if you create a layered architecture and use whatever standards you can find today, you'll mitigate some of the risk of evolving standards.
Some specific points worth noting: J2EE 1.4 will support WS-I Basic Profile - although that is only one piece of the SOA framework; ebXML is probably the best set of standards for filling in the remaining XML pieces of the framework; security is still a tricky issue (with transport-level stuff still being the most appropriate solution for public systems); SWA-SOAP (SOAP With Attachments) is a useful step in the right direction to allow systems to pass around 'opaque' data.
In terms of architectural tiers, the speaker made an interesting recommendation of creating a Web Services Façade tier as the public-facing part that interacts with a 'choreography' tier which marshals and aggregates all the low-level component functionality. This produces a relatively dumb WS façade in front of a smart application logic tier - that's a good way to provide reuse of your application logic without tying it into your façade!
Posted by seancorfield at 09:44 PM | Comments (0) | TrackBack | architecture | j2ee

May 07, 2003

Fusebox 4 Beta!

The Fusebox 4 beta is now active through July 4th. There are to be two flavors of Fusebox 4: Fusebox 4 for XML (aka FB4) and Fusebox 4 for CFCs (aka FBMX). They share many commonalities (XML configuration, plugins etc) but are radically different in structure and approach. I've downloaded all the code so I'll be experimenting over the next few weeks and writing up my experiences.
Posted by seancorfield at 12:22 PM | Comments (0) | TrackBack | architecture | cf

April 29, 2003

Boxing the Fuse

Big Damn Heroes (Tech) comments on my Fusebox for PHP write-up and thinks I'm missing the point. He agrees that Fusebox provides a lot of machinery and that small sites like mine probably don't get enough benefit from it to warrant the extra complication. He thinks you needs to use Fusebox on a large project to really understand it and notes that the big issue is how to persuade folks to risk a new methodology / framework on a large project.
I've just completed a very large project (that didn't use Fusebox) and we tried some new approaches in the early days to see what worked for us. We tried the methodology that our product development teams use. Some aspects worked well, some did not. We tried variations of XP. Again, some aspects worked well, some did not. We actually used Fusebox on a couple of early prototypes and decided not to use it extensively (for many of the reasons that I've mentioned). In the end, we used a synthesis of various approaches for the overall management of the project and a broad MVC architecture for the software, some of which we've documented in outline on macromedia.com. The development team were mostly seasoned software engineers with a background in OOA/D and OOP.
So, I'll stand by my earlier comments on Fusebox and FLiP (see my review of Jeff and Nat's book) that I don't think they don't scale to really large projects - FLiP is simply too linear and too focused on how a very small team operates and Fusebox as a whole does not really provide the necessary framework to deal with very complex business models. Is my site 'too small' to gain the benefits of Fusebox? Perhaps, but I don't believe it is so small that it can't provide a reasonable evaluation of Fusebox. The pros and cons I see in Fusebox would hold true for small to medium projects but there is a ceiling of complexity beyond which Fusebox does not provide enough assistance - and even some leading lights in the Fusebox community admit this. For those very complex projects, you need software engineering and Fusebox is no substitute for that. For smaller projects, you can get by with framework instead and Fusebox is clearly very good for that.
Posted by seancorfield at 07:30 AM | Comments (3) | TrackBack | architecture | programming

April 27, 2003

corfield.org & Fusebox

Back in November, I rewrote corfield.org using Fusebox for PHP and I promised I would write up the experience. I've finally found the time this weekend so now you can read what I did and what I thought of it.
Posted by seancorfield at 12:17 PM | Comments (2) | TrackBack | architecture | php

April 18, 2003

Fusebox 4

Hal Helms and John Quarto-vonTivadar will be unveiling Fusebox 4 at the Atlanta ColdFusion User Group meeting on May 7th. I believe it may be broadcast using Flash Communication Server but have no further details at present.
Posted by seancorfield at 09:58 AM | Comments (1) | TrackBack | architecture | cf

April 14, 2003

Design Patterns

Check out the data & object factory's design patterns section for diagrams, descriptions and information about patterns. The code is C# but it should be easy enough to understand for anyone with a little Java knowledge. Now, who's going to rise to the challenge of creating an equivalent site for ColdFusion?
Posted by seancorfield at 09:57 AM | Comments (1) | TrackBack | architecture | programming

April 10, 2003

Design Patterns & ColdFusion

As most folks know by now, I'm a big fan of design patterns and they feature heavily in the ColdFusion code that underpins macromedia.com.
Brendan O'Hara has started what promises to be an awesome series in the ColdFusion Developers' Journal which looks at classic design patterns implemented in ColdFusion MX. So far, he has covered the Template Method Pattern and the Iterator Pattern.
Posted by seancorfield at 06:04 PM | Comments (2) | TrackBack | architecture | cf

April 07, 2003

Under the Hood : Performance Tuning

Beta 4 of macromedia.com went live on Friday evening and the associated report went up this morning, along with an Under the Hood report from my colleague Jonathan Snyder who heads up our Flash development team in the Web Technology Group. There's some interesting hints and tips in there for creating higher performance Flash applications.
Posted by seancorfield at 02:45 PM | Comments (0) | TrackBack | architecture | macromedia | mx

March 29, 2003

Under the Hood

The first of a series of Under the Hood articles is now up on macromedia.com - these will show you what's going on behind the scenes on the new site. In this report, I talk about the architectural evolution of the ColdFusion applications on the site, moving from 'traditional' CF5 applications through to Rich Internet Applications. Hope you enjoy it!
Posted by seancorfield at 01:17 AM | Comments (1) | TrackBack | architecture | cf | macromedia

March 21, 2003

Fusebox & CFCs

There's an interesting thread on the Fusebox forums about how CFCs may or may not play into forthcoming versions of Fusebox. We seem to be drawing nearer to an early release of a CFC-centric 'experimental version' of Fusebox MX although development of a more conventional Fusebox 4 is also in the works. I'm reproducing one of my (longer) responses to the thread here.
I'm excited to hear that we only have about a month to wait before an early cut of FBMX is made available!
I share Hal's enthusiasm for OO - both he and I have a long history of working in the OO field and so we both understand the benefits (and pitfalls!) and how much of a paradigm shift it can be for many folks (which is somewhat ironic since OO thinking is really much more in line with how we think about everything in the world *except* software!).
Hal's point about scalability is interesting. I'd assumed he meant performance scalability because one of the most common concerns I've heard expressed about CFCs is the 'performance overhead' of OO code.
Changing requirements are normally the bane of our lives. One of the much-vaunted benefits of OO is the ability to create systems that are much more adaptive and therefore easier to 'grow' as requirements change. I assert that a well-designed OO system will usually accommodate change more easily than a procedural system, even a well-designed procedural system. The emphasis is on "well-designed", a point Hal makes here when he talks about 'being rigorous in the design and implementation of an application'. I've always said that OO punishes poor design much more harshly (than a non-OO system) - if you get your core object structure wrong, it can be very hard to correct that problem later on without rewriting a lot of code. As Hal says 'rigor isn't something you can add in after the fact'.
Do we have the full arsenal of OO features available in ColdFusion, compared to Java, Smalltalk or C++? Not yet. Do we have enough features to build effective implementations of good OO designs? I think so, yes, but you have to remember to abide by your own design rules - CF doesn't (yet) provide the same level of protection against breaking encapsulation, for example, that some other languages provide. You can create a good OO implementation of a good OO design in CF but then have some future consumer (developer, client etc), break things horribly by not following the 'contracts' in your design.
That poses a particularly interesting dilemma for folks like Hal, trying to build clean OO frameworks that other developers can use. The framework can be great, but the protection is not there yet to prevent abuse - intentional or otherwise - of the OO design inherent in the framework.
Will Macromedia add the features that Hal finds lacking? Hal's had encouraging discussions with Macromedians about that and I'd also hazard a guess that as CF users become more sophisticated in their use of OO features, requests for more robust protection against design abuse will increase and that will drive the evolution of CF. Ray Camden canvassed the community for their 'top ten' CFC enhancements and submitted that list to the CF team so I know that many of these things are under consideration.
My top enhancements would be:
  • tidy up the scope / access machinery so we have a private scope and a protected scope (we currently have a public scope and a sort of protected scope)
  • add machinery to make it easier to call overridden methods (the 'super' issue)
  • add a better constructor notation
  • add interfaces

Those were all on the list Ray sent in but none of these actually prevent good OO implementations.
Posted by seancorfield at 10:32 AM | Comments (0) | TrackBack | architecture | cf

March 01, 2003

More on Fusebox

Fusebox Open Source is a project designed to move Fusebox forward using the much more collaborative approach of Open Source. I was notified of this by Rick Mason, manager of the Mid-Michigan CFUG, whose group hosted a presentation from John Farrar about Fusebox Open Source in February. You can download his presentation from the MMCFUG's Downloads page. There's also an embryonic Fusebox Open Source website which has an online version of the presentation.
As Rick said in his email to me "The powerpoint doesn't do it justice. He's added the concept of skins to Fusebox. He showed a login that brought up a standard html page. Then he logged out and logged back in with the site changing to Flash. Lots of potential for multi-lingual sites.".
It'll be interesting to see where this Open Source effort goes, especially with work on Fusebox MX / Fusebox 4 seeming to progress so slowly.
Posted by seancorfield at 01:48 PM | Comments (0) | TrackBack | architecture | cf

February 27, 2003

Fusebox via RSS

The Fusebox forums are available as RSS feeds which seems a particularly convenient way to keep up with the latest thoughts on Fusebox.
Posted by seancorfield at 11:22 PM | Comments (0) | TrackBack | architecture | blogging

Fusebox 4?

A fairly long thread on cf-talk over the last few days has focused on Fusebox, CFMX and CFCs. I was disappointed to hear that some members of the Fusebox Council do not believe that CFCs are ready for "prime time" and that the work Hal Helms was doing on Fusebox MX - as reported here and elsewhere - will not lead to a version of the core files based on ColdFusion Components.
Having seen some early prototypes of Hal's work on a CFC-based Fusebox, I was looking forward to Fusebox MX. I think CFCs are solid enough for enterprise-class production applications and I haven't, yet, seen any specific reasons from the Fusebox community as to why Hal has abandoned CFCs. It seems particularly strange after Hal's article on CFCs on Macromedia's website and his book "Discovering CFCs (ColdFusion MX Components)" - and now an eWorkbook (see Techspedition's website).
However, some good news came out of the thread: John Quarto-vonTivadar commented that in Fusebox 4 you will be able to extend the core quite easily using "plugins". The plug-in architecture of Fusebox MX was one of the things that had excited me about Hal's work so I'm glad that part at least will make it into Fusebox 4.
Update: Hal has taken time to comment on this thread and clarify his position. Please read his comments (especially if you are a Fuseboxer who is saying CFCs are no good should!).
Posted by seancorfield at 11:19 PM | Comments (8) | TrackBack | architecture | cf

February 16, 2003

Webapper

Mike Brunt's weblog is full of Tips for Web Architects from Web Architects and I've been meaning to mention it here for a couple of months. Check it out!

Posted by seancorfield at 01:24 PM | Comments (0) | TrackBack | architecture | blogging

January 10, 2003

Whither Fusebox?

Someone reminded me today that I promised to write up my experiences with converting my website from "plain" PHP to Fusebox. Yes, yes, yes. I will get to it. I'm kind of snowed right now, trying to finish the new macromedia.com (along with many other folks) so cut me some slack. I will just say that it wasn't as unpleasant as I'd initially expected... No faint praise from me!

Posted by seancorfield at 12:15 AM | Comments (0) | TrackBack | architecture | cf | php | programming

December 10, 2002

Methodology

An interesting article on kdub's log about choosing technology and methodology based on 'best tool for the job'. Kurt Wiersma has a great mix of content on his blog covering Java, OS X, ColdFusion and PHP which are all subjects near to my heart!

Posted by seancorfield at 04:39 PM | Comments (0) | TrackBack | architecture | blogging | cf | j2ee | osx | php

November 13, 2002

Fuseboxed

Well, I decided to launch the new version of my site tonight, built with Fusebox 3 for PHP. It should behave mostly like the old site. Let me know if you find any problems with it. I'll be updating quite a bit of content over the next few evenings and also writing up more thoughts about Fusebox now that I've had more exposure and experience with it.

Posted by seancorfield at 08:06 PM | Comments (0) | TrackBack | architecture | architecture | php

Fuseboxed

Well, I decided to launch the new version of my site tonight, built with Fusebox 3 for PHP. It should behave mostly like the old site. Let me know if you find any problems with it. I'll be updating quite a bit of content over the next few evenings and also writing up more thoughts about Fusebox now that I've had more exposure and experience with it.

Posted by seancorfield at 08:06 PM | Comments (0) | TrackBack | architecture | architecture | php

October 30, 2002

Fusebox MX (more detail)

Hal talked about the general shift in the programming world from procedural to OO and noted that ColdFusion had shifted in that direction too with CFMX. He made a comment about persistence and someone (Michael Dinowitz I think) asked Hal to define 'persistence': he said it's when "objects stick around after you turn the computer off" - I was pleased to hear that since I seem to be a bit of a lone voice at times saying that shared scopes in CF are not a form of 'persistence' and now I know that at least Hal agrees with me! Hal defined procedural programming as using algorithms to act on data, and OO programming as constructing "scale models that respond to messages". He explained that his background was in Smalltalk (one of the grandaddies of OO) and then gave a gentle introduction to the fundamentals of polymorphism, inheritance and encapsulation in OO. At that point he introduced what he is calling "Fusebox MX" and said it was his vision rather than any official statement from the Fusebox community at this point. In Hal's vision, the central core file is replaced by a relatively simple ColdFusion Component and the settings file is replaced by an easy-to-read XML file. Each circuit is implemented as a CFC as well, replacing the switch statement with method calls, but fuses remain the pretty much the same (simple .cfm pages). Instead of the traditional Fusebox idiom of accessing a specific set of global variables, you would 'send messages' to retrieve that data by calling methods like getSelf(), getCircuit("Products"), applySkin("Skins.redLayout"). The other major new feature is the plugin base component that can be extended (by writing components that inherit from it) to enhance pretty much any aspect of the core file by overriding one or more of the six plugin point methods: preprocess(), prefuseaction(), preskin(), postskin(), postfuseaction() and postprocess(). This is a very flexible architecture and leverages the new functionality in ColdFusion MX really well. Some good examples for plugins are security, debugging, logging... all without changes the core files! When Hal has his new website up and running, I'll have more to say about this. I plan to download his new code and try it out, alongside FB3 (which I have running locally for both CFMX and PHP!).

Posted by seancorfield at 08:27 AM | Comments (0) | TrackBack | architecture | cf

October 29, 2002

Fusebox MX (overview)

Hal Helms repeated the presentation he gave during the Fusebox Conference (which immediately preceded DevCon) about his vision for the future of Fusebox and how it could leverage the new features in ColdFusion MX. I'll do a full write-up later but, suffice to say, I was very impressed with what Hal is trying to do. A testament to his work is that fusebox.cfc, which is effectively the main Fusebox core file, is a mere 200 lines of code and anything you want to do as an extension to the core files could be done by creating a "plugin" component which extends a standard base component. Instead of the settings file being an executable ColdFusion file, Hal is proposing an XML file that specifies circuits, plugins etc. I think this is all extremely promising! Hal's hoping to have a new website up shortly containing information about this new Fusebox proposal which is still awaiting finalization by the Fusebox Council. More on this later!

Posted by seancorfield at 03:12 PM | Comments (0) | TrackBack | architecture | cf

October 17, 2002

MVC? P? CF?

Lest you drown in a sea of MVAs (Model-View-Acronyms), here's a very interesting whitepaper that explains the difference between MVC (Model-View-Controller) and MVP: Model-View-Presenter The Taligent Programming Model for C++ and Java. Wondering about MVCF? That was the named coined by Benoit Hediard for his "Model-View-controller in ColdFusion" architecture - another interesting read.

Posted by seancorfield at 02:17 PM | Comments (0) | TrackBack | architecture | cf | programming

August 23, 2002

Paradigm Shift

Benoit Hediard (MVCF) recently posted the following link on cf-talk: First Impressions of ColdFusion MX: Fusebox is Toast?. The article dates back to May 20, 2002 but it's very interesting to see how much of a revelation ColdFusion Components were to the article's author, Ben Rogers. For someone like myself, with a heavy OO background and coming to CF first through the MX release, it can be difficult to get a sense of how CFMX looks to the 'old hands' so I enjoy articles like this one.

And is Fusebox toast? No, but Ben explains why Fusebox could be less compelling now that ColdFusion Components exist.

Posted by seancorfield at 09:15 PM | Comments (0) | TrackBack | architecture | cf | programming

August 21, 2002

MVCF

As proof that ColdFusion MX allows much more expressive approaches to building web sites, Benoit Hediard has put together a methodology based on applying the Model-View-Controller paradigm to ColdFusion. You can read about it on his Benorama :: ColdFusion MX web site. I'll blog my thoughts about it here once I've had time to read through more thoroughly.

Posted by seancorfield at 08:22 AM | Comments (0) | TrackBack | architecture | cf | programming

July 23, 2002

Refactoring

Following on from a discussion about process and 'good' code on BACFUG, Matt Liotta posted a link to an article he wrote for DevX about refactoring an application to make it more maintainable and more adaptable. His story makes good reading as it explains both the why and the how behind his architectural process.

Posted by seancorfield at 09:56 PM | Comments (0) | TrackBack | architecture | cf | programming

July 19, 2002

More on Fusebox

My comments about Jeff & Nat's book have a page of their own. If you don't agree with me, let me know!
Posted by seancorfield at 04:10 PM | Comments (0) | TrackBack | architecture | cf | programming

July 15, 2002

Read!

The long weekend away allowed me to read Jeff & Nat's new book on Fusebox from cover to cover. It's a good book: it's very well-written and I now have a much better understanding of why Fusebox works for people. I might even try rewriting my personal site using PHP Fusebox, just for the experience. I have a lot of notes about the book that I'll be writing up over the next few days, where I will go into more detail about what I really think of Fusebox, FLiP - the Fusebox Lifecycle Process - and Fusedocs. For now, I'd say that whether or not you're already a Fusebox fan, this book should be on your reading list.
Posted by seancorfield at 04:15 PM | Comments (0) | TrackBack | architecture | cf | programming

June 23, 2002

Architecture

The Macromedia DevNet has recently turned the spotlight on architecture - a subject dear to my heart - and I particularly like Jeremy Petersen's article on Benefits of Using the N-Tiered Approach for Web Applications.

Also in the architecture section are links to Ben Forta's excellent Introduction to ColdFusion Components and one of my favorite books, Design Pattern by the "Gang of Four". In my mind, this is essential reading for any developer who wants to get their teeth into OO. More importantly, ColdFusion has now reached a level where the ideas in this book can be applied in ColdFusion.

Posted by seancorfield at 05:02 PM | Comments (0) | TrackBack | architecture | macromedia