You will be redirected in 30 seconds or close now.

ColdFusion Authors: Yakov Fain, Jeremy Geelan, Maureen O'Gara, Nancy Y. Nee, Tad Anderson

Related Topics: ColdFusion

ColdFusion: Article

Propel Your ColdFusion Projects with Application Frameworks

Propel Your ColdFusion Projects with Application Frameworks

What is an application framework? This article defines the term and compares three current application frameworks or methodologies. I'll also explain how they're used to implement "foundational" functionality, which can be reused in other applications with little or no programmer involvement.

What Is an Application Framework?
I've often used the metaphor of building a house when discussing the Web application development process with my clients. When building a house, different subcontractors come in to complete separate but equally important building tasks. An application framework is like having the lot cleared, the slab poured, and the frame raised. I call this part the foundation. The soundness of the foundation is critical. If it's not well constructed, you might be better off tearing down the house and starting from scratch rather than adding that second story. We all know it would have cost less in the long run if the foundation were strong enough to handle your additional growth needs.

Once the foundation of the house is complete, the interior walls go up, the painters paint, the carpet's laid, and so forth. The painter doesn't have to know how the slab was poured or how the frame was put together. The painter needs to know only that the kitchen should be painted peach and the dining room green.

When building a Web-based application with an application framework in place, you want this framework to handle as much of the foundational functionality as possible. Then, rather than reinventing the proverbial wheel, you can focus on customizing the functionality of the Web site. The foundational functionality may differ slightly depending on the application you're building, but in general the areas shown in Table 1 should be considered foundational functionality for any Web-based application.

What Should an Application Framework for Web-Based Applications Accomplish?
In an ideal world an application framework would have all the features mentioned in Table 1 and the developer wouldn't be required to learn how they're implemented. Requiring an application framework to live up to the promise of better developer productivity and robust, secure applications with a rapid application development time without a tremendous learning curve is a lot to ask.

Let's examine three separate technologies and see how they compare.

Fusebox - Framework or Methodology?
What is Fusebox? Many developers have heard about Fusebox but haven't had an opportunity to use it and see what it accomplishes. The idea behind Fusebox architecture is, as stated in the Fusebox Web site (www.fusebox.org), "to increase teamwork efficiency, productivity, and reduce the time it takes to build a Web application."

I've seen several presentations and implementations of the Fusebox architecture, and have read through the Fusebox Web site. My determination is that Fusebox is a developer's application methodology. It's a set of agreed-to standards on how a Web application should be written. By following the Fusebox standards, a project that's utilizing multiple developers would be more productive because it addresses issues such as file-naming conventions. What Fusebox doesn't address are standards for encapsulating commonly used functionality.

Fusebox addresses some fundamental standards that, until recently, hadn't been addressed in ColdFusion application development. For this reason I think that Fusebox has a place in the developer's world as a methodology. To be fair, Fusebox doesn't claim to be an application framework. I'm discussing this technology to emphasize and contrast an application framework versus an application methodology.

When to Use Fusebox
If your development group doesn't have any standards in place for building applications, Fusebox can help, although I have some concerns with the Fusebox methodology. It's a programming methodology that can help enhance your team development.

When Not to Use Fusebox
If you're creating a public "Internet" site, Fusebox is not ideal because, among other issues, it lacks support for search engines. Fusebox application pages can't be dynamically indexed, which is important to the search engines. The reason for this is, there's only one root-level file for the entire application - the index.cfm. To provide custom functionality, a fuseaction URL variable must be passed. Passing parameters in the URL will prevent many search engines from "spidering" the pages within the site.

Table 2 provides a comparison of the Fusebox methodology with the application framework requirements.

Spectra - What Is It?
Spectra is the latest ColdFusion-based product offering from Allaire. Allaire calls it "the first packaged system to address the three critical areas of every successful online business - content management, e-commerce, and personalization." I'm not sure what a "packaged system" means, but if you look deep enough, you'll see that Spectra is indeed both a programming methodology and an application framework.

Spectra frees the programmer from the responsibility of role-based security and authentication by allowing nontechnical people to administer security and authentication. It handles content management, and its workflow capabilities appear to be quite robust. You also get personalization capabilities, if you need them. Spectra includes a site design tool as well.

The Spectra application framework requires you to adopt its ColdFusion programming methodology. This methodology is an object-based paradigm requiring you to plan and design your objects, methods, and properties carefully. This is not unusual and is the case for any object-oriented system or any application development methodology. Each "object" in the system then has common services that can be used for functionality, such as logging, granting permissions, and supporting metadata. Inheritance is not supported. Figure 1 shows a content management screen in Spectra v1.0.1.

A thorough overview article of Allaire Spectra appeared in the October 1999 issue of ColdFusion Developer's Journal (Vol. 1, issue 5) located online at http://www.sys-con.com/coldfusion/article.cfm?id=48. This article makes some very good observations regarding the advantages of Spectra, but also addresses some of the shortcomings of version 1.0.

To use Spectra for development, the programmer is required to adopt the OO methodology, and my experience and investigation show there's a big learning curve.

When to Use Spectra
Spectra is well suited for very complex enterprise-level applications in which you may have many, many different types of users, each with very complex access or authority rules.

When Not to Use Spectra
Due to its high price tag and the time investment necessary to learn how to adopt the Spectra programming methodology and API, Spectra rather negates the whole rapid application development mantra that has made ColdFusion so popular in the first place. I don't see smaller departments and companies, or the "let's get this application up and running by this Friday" type dot-com businesses, widely using Spectra. Table 3 provides a comparison of Spectra with application framework functionality. Table 4, which originally appeared in the October 1999 issue of CFDJ (Vol. 1, issue 5), provides an overview of Spectra.

iiFramework - What Is It?
iiFramework from Infrastructure Inc. is a ColdFusion add-on product for Web application developers. It's a true application framework that implements most of the features we're discussing in this article (see Table 5).

iiFramework was developed through an iterative process of providing common functionality over and over again in real-world Web-based applications. Most of the code that makes up the iiFramework is actually two to four years old. Infrastructure took all the components of the iiFramework and rolled them into a product that allows an application to be built at a rapid rate. With iiFramework the application developer doesn't have to be aware of or need to know how to design and program foundational functionality. It requires very few changes to your programmer's current coding practices.

iiFramework uses the Site Manager Module to create a new site. This site can be based on any other site you may have previously created in the iiFramework. This allows reuse of an entire application with full customization capability. You can code the business logic into one site, then easily replicate that logic to any other site. The new sites will automatically inherit the look and feel of the base site. iiFramework separates business logic from presentation. To take full advantage of these features, Infrastructure provides 15 to 20 custom tags that you should become familiar with but are not required to use.

Where Spectra is object-centric, iiFramework is page-centric. Everything revolves around the model of the "page" or "template." Every page in the site must be registered with the iiFramework system (see Figure 2). If a page isn't registered, the iiFramework won't allow it to be displayed. If it is registered, the iiFramework will ensure that the current user has access to this page and that it's active before displaying it. Any page can be cloned and customized.

The iiFramework manages everything about this page including the static content, the ColdFusion code, the help content, and even the WML content. Yes, iiFramework supports WAP devices, even if you don't provide specific WML content. iiFramework manages permissions to the page by allowing you to specify which groups have access to it. With iiFramework, content management is supported by an integrated WYSIWYG editor.

Graphics layout of the site is handled via sitewide variables. Navigational control is handled by the iiFramework so the programmer doesn't have to code a menu of links. The system automatically reformats your navigational links, based on your current login and the pages your group has authority to access. If a user doesn't have access to a page, its links aren't shown. If the user knows the URL for the page, the system will still verify access authority and keep that user out.

All exceptions are automatically handled by the system and formatted within the same sitewide graphics layout as the rest of the site. The errors can be automatically e-mailed to a programmer for attention.

When to Use iiFramework
iiFramework works well with your typical ColdFusion Internet, intranet, and extranet applications that need to be developed rapidly. Any project requiring development time of one to 16 weeks will fit well into the iiFramework system. It's been used for 25,000-part catalog stores and program management systems, and Infrastructure uses it for all its company Web sites.

If you plan to build a CF application, iiFramework will help you build it better and make it more secure, supportable, and scalable.

When Not to Use iiFramework
If you're looking to build a complete reusable class library for an enterprise-wide development strategy, iiFramework may not be the best tool because it doesn't force an object-oriented methodology. While you can still reuse code through standard ColdFusion custom tags, by default you can't use inheritance and other OO properties that can be very powerful.

Other Programming Methodologies
As I mentioned, Fusebox was chosen for this article as an example of a methodology versus an application framework. I also chose Fusebox because it's been around the longest and gets more press to date than any other such methodology. Two other ColdFusion application development methodologies are worth checking out (see www.smart-objects.com and www.cfobjects.com). These are two object-oriented methodologies that may complement your coding practices. They certainly can be used in conjunction with the iiFramework.


  1. Fusebox: www.fusebox.org
  2. Spectra: www.allaire.com/products/spectra
  3. iiFramework: www.iiframework.com.

More Stories By Patrick Steil

Patrick Steil is president and chief technology officer of Infrastructure Inc., a Texas-based software development company. As cochairman of the DFW ColdFusion User Group, he's very involved with the ColdFusion development community.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.

@ThingsExpo Stories
DevOpsSummit New York 2018, colocated with CloudEXPO | DXWorldEXPO New York 2018 will be held November 11-13, 2018, in New York City. Digital Transformation (DX) is a major focus with the introduction of DXWorldEXPO within the program. Successful transformation requires a laser focus on being data-driven and on using all the tools available that enable transformation if they plan to survive over the long term. A total of 88% of Fortune 500 companies from a generation ago are now out of bus...
Dion Hinchcliffe is an internationally recognized digital expert, bestselling book author, frequent keynote speaker, analyst, futurist, and transformation expert based in Washington, DC. He is currently Chief Strategy Officer at the industry-leading digital strategy and online community solutions firm, 7Summits.
DXWordEXPO New York 2018, colocated with CloudEXPO New York 2018 will be held November 11-13, 2018, in New York City and will bring together Cloud Computing, FinTech and Blockchain, Digital Transformation, Big Data, Internet of Things, DevOps, AI, Machine Learning and WebRTC to one location.
Widespread fragmentation is stalling the growth of the IIoT and making it difficult for partners to work together. The number of software platforms, apps, hardware and connectivity standards is creating paralysis among businesses that are afraid of being locked into a solution. EdgeX Foundry is unifying the community around a common IoT edge framework and an ecosystem of interoperable components.
Cloud-enabled transformation has evolved from cost saving measure to business innovation strategy -- one that combines the cloud with cognitive capabilities to drive market disruption. Learn how you can achieve the insight and agility you need to gain a competitive advantage. Industry-acclaimed CTO and cloud expert, Shankar Kalyana presents. Only the most exceptional IBMers are appointed with the rare distinction of IBM Fellow, the highest technical honor in the company. Shankar has also receive...
Enterprises have taken advantage of IoT to achieve important revenue and cost advantages. What is less apparent is how incumbent enterprises operating at scale have, following success with IoT, built analytic, operations management and software development capabilities - ranging from autonomous vehicles to manageable robotics installations. They have embraced these capabilities as if they were Silicon Valley startups.
DXWorldEXPO LLC announced today that ICOHOLDER named "Media Sponsor" of Miami Blockchain Event by FinTechEXPO. ICOHOLDER give you detailed information and help the community to invest in the trusty projects. Miami Blockchain Event by FinTechEXPO has opened its Call for Papers. The two-day event will present 20 top Blockchain experts. All speaking inquiries which covers the following information can be submitted by email to [email protected] Miami Blockchain Event by FinTechEXPO also offers s...
Poor data quality and analytics drive down business value. In fact, Gartner estimated that the average financial impact of poor data quality on organizations is $9.7 million per year. But bad data is much more than a cost center. By eroding trust in information, analytics and the business decisions based on these, it is a serious impediment to digital transformation.
Predicting the future has never been more challenging - not because of the lack of data but because of the flood of ungoverned and risk laden information. Microsoft states that 2.5 exabytes of data are created every day. Expectations and reliance on data are being pushed to the limits, as demands around hybrid options continue to grow.
The standardization of container runtimes and images has sparked the creation of an almost overwhelming number of new open source projects that build on and otherwise work with these specifications. Of course, there's Kubernetes, which orchestrates and manages collections of containers. It was one of the first and best-known examples of projects that make containers truly useful for production use. However, more recently, the container ecosystem has truly exploded. A service mesh like Istio addr...
As IoT continues to increase momentum, so does the associated risk. Secure Device Lifecycle Management (DLM) is ranked as one of the most important technology areas of IoT. Driving this trend is the realization that secure support for IoT devices provides companies the ability to deliver high-quality, reliable, secure offerings faster, create new revenue streams, and reduce support costs, all while building a competitive advantage in their markets. In this session, we will use customer use cases...
Digital Transformation: Preparing Cloud & IoT Security for the Age of Artificial Intelligence. As automation and artificial intelligence (AI) power solution development and delivery, many businesses need to build backend cloud capabilities. Well-poised organizations, marketing smart devices with AI and BlockChain capabilities prepare to refine compliance and regulatory capabilities in 2018. Volumes of health, financial, technical and privacy data, along with tightening compliance requirements by...
Business professionals no longer wonder if they'll migrate to the cloud; it's now a matter of when. The cloud environment has proved to be a major force in transitioning to an agile business model that enables quick decisions and fast implementation that solidify customer relationships. And when the cloud is combined with the power of cognitive computing, it drives innovation and transformation that achieves astounding competitive advantage.
Cloud Expo | DXWorld Expo have announced the conference tracks for Cloud Expo 2018. Cloud Expo will be held June 5-7, 2018, at the Javits Center in New York City, and November 6-8, 2018, at the Santa Clara Convention Center, Santa Clara, CA. Digital Transformation (DX) is a major focus with the introduction of DX Expo within the program. Successful transformation requires a laser focus on being data-driven and on using all the tools available that enable transformation if they plan to survive ov...
DXWorldEXPO | CloudEXPO are the world's most influential, independent events where Cloud Computing was coined and where technology buyers and vendors meet to experience and discuss the big picture of Digital Transformation and all of the strategies, tactics, and tools they need to realize their goals. Sponsors of DXWorldEXPO | CloudEXPO benefit from unmatched branding, profile building and lead generation opportunities.
Digital Transformation and Disruption, Amazon Style - What You Can Learn. Chris Kocher is a co-founder of Grey Heron, a management and strategic marketing consulting firm. He has 25+ years in both strategic and hands-on operating experience helping executives and investors build revenues and shareholder value. He has consulted with over 130 companies on innovating with new business models, product strategies and monetization. Chris has held management positions at HP and Symantec in addition to ...
With 10 simultaneous tracks, keynotes, general sessions and targeted breakout classes, @CloudEXPO and DXWorldEXPO are two of the most important technology events of the year. Since its launch over eight years ago, @CloudEXPO and DXWorldEXPO have presented a rock star faculty as well as showcased hundreds of sponsors and exhibitors! In this blog post, we provide 7 tips on how, as part of our world-class faculty, you can deliver one of the most popular sessions at our events. But before reading...
The best way to leverage your Cloud Expo presence as a sponsor and exhibitor is to plan your news announcements around our events. The press covering Cloud Expo and @ThingsExpo will have access to these releases and will amplify your news announcements. More than two dozen Cloud companies either set deals at our shows or have announced their mergers and acquisitions at Cloud Expo. Product announcements during our show provide your company with the most reach through our targeted audiences.
The IoT Will Grow: In what might be the most obvious prediction of the decade, the IoT will continue to expand next year, with more and more devices coming online every single day. What isn’t so obvious about this prediction: where that growth will occur. The retail, healthcare, and industrial/supply chain industries will likely see the greatest growth. Forrester Research has predicted the IoT will become “the backbone” of customer value as it continues to grow. It is no surprise that retail is ...
Andrew Keys is Co-Founder of ConsenSys Enterprise. He comes to ConsenSys Enterprise with capital markets, technology and entrepreneurial experience. Previously, he worked for UBS investment bank in equities analysis. Later, he was responsible for the creation and distribution of life settlement products to hedge funds and investment banks. After, he co-founded a revenue cycle management company where he learned about Bitcoin and eventually Ethereal. Andrew's role at ConsenSys Enterprise is a mul...