Friday, May 23, 2008

ColdFusion 8 wins the 2008 Codie Award

Great CF8 news to share!!!

SIIA announced the winners of the 2008 Codie Awards. ColdFusion 8 has been named the winner in the Web Services Solution category. http://www.siia.net/codies/2008/winners.asp

Also another good review of ColdFusion 8.

Software Editorial

ColdFusion Review

http://www.softwareeditorial.com/InternetWebDesign/coldfusion.html

May 21, 2008

By Mike Hubbartt

Like many Consultants, I've worked at a wide variety of clients during my career. Some clients used cutting edge technology that met or exceeded their business needs, and the greatest challenge with those projects was either company politics or getting approval for the hardware needed for the applications. While tough, the technology was interesting and those are usually the most fun places to work.

Then there are clients that choose to limp along on some underpowered and inappropriate tool or deprecated programming language written many years earlier that miraculously works because of constant nursing and continuous patching by some tired and unappreciated developer. Those companies rarely understand the costs of moving to modern technology and it is a frustrating situation for any developer to deal with, but unfortunately this is experienced far too often in the business world.

An important decision when upgrading a legacy application or creating new software is to know which platforms need to be supported. Many companies have multiple operating systems, or there may be an initiative to move to a newer or different operating system in the near future. To handle this situation, many companies are moving towards internet or intranet applications. As long as a browser is available to display the software, the operating system is not the limiting factor as was often the case in the past.

There are a number of good internet/intranet packages, including DreamWeaver, but e-commerce and reference projects need access to a lot of data that is stored in a relational database, so there is a need for a package to tie the front end web interface with the backend relational database, and that is where ColdFusion comes in. ColdFusion has been around a fairly long time and is well known to many internet developers. Let's take a look at the latest version of this Adobe product.

Configuration Considerations

There are several ways to setup a ColdFusion environment. The first is everything – web server, database engine and ColdFusion on a single server – is simple, takes the least hardware, but performance can be an issue as each part of the environment needs adequate resources (memory, drive space, CPU) to perform reasonably.

The second configuration consists of dedicated servers for each element – web server, database engine and ColdFusion on separate servers – is more expensive but offers benefits over the first configuration. This option provides dedicated hardware for each element and that should provide much better performance than the first option.

The third configuration consists of two elements – web server, database engine and ColdFusion on one server and the third element on a second server – is a compromise between the first and second options and it. This consolidation offers better performance than option one, yet it reduces the hardware expense incurred for option two.

While all three configurations were doable, the first configuration seems best for developing and testing ColdFusion, but I would recommend the second option for production environments. The third option would only be when hardware costs were a huge factor in the decision process.

Getting Started

ColdFusion 8 works with a number of operation systems:
1. Windows – W2000 Professional with SP3, W2000 Server/Advanced Server/Datacenter Server with SP3, W2003 Server Web/Standard/Enterprise with SP1, XP Home/Profession, and Vista. Pentium II or AMD Athlon processor.
2. Mac OS X 10.4.x on a system with a G4/G5/Intel processor
3. Linux – SUSE Enterprise Server 9/10, Red Hat AS/ES 3.0/4.0/5.0
4. Solaris 9/10 on system with a SPARC processor
5. AIX 5L/5.2/5.3 on RS/6000 with a POWER3 processor

Note: All supported operating systems require a minimum of 512 MB RAM (1 GB recommended), 500 MB hard drive space, and a DVD-ROM.

Supported databases include:

1. MS Access
2. SQL Server
3. MySQL
4. PostgreSQL
5. Apache Derby
6. DB2
7. Informix
8. Oracle
9. Sybase

I installed the software from a disk, instead of downloading the file and ran it on a Toshiba laptop running Windows Vista with SP 1 installed, a 1.9GB dual-core CPU, 2 GB RAM, a 120 GB hard drive, and a DVD-ROM.

The installation process was simple and error-free. A directory was created under C:\ColdFusion8, taking around 595 MB of storage space on my hard drive. I'd like to note that I downloaded the 8.0.1 update at the end of my tests and that file was 130 MB and it took up 174 MB during the installation - there were no problems during or after the update.

Using the Product

To use ColdFusion, create a website with DreamWeaver or another web development package. Next, if one does not already exist, setup a relational database like Oracle, Sybase or SQL Server. The final step is to connect ColdFusion to the new/existing database, and then create the ColdFusion pages and put them on server (use FTP when the ColdFusion and development systems are not the same). Yes, it really is that simple.
And you use a browser like FireFox to access the ColdFusion Administrator to setup or monitor the server.

Note: I used ColdFusion's standalone web server for testing, instead of a dedicated web server. This product lets one person create, link and maintain all aspects of a site, or allows dedicated people to handle their parts of the environment. As a developer and an Admin, I like this degree of flexibility.

I had no configuration issues with ColdFusion, and found integrating it to a web frontend and relational database backend fairly simple but it did take a little time. The documentation and online web help sources answered my questions – I never needed to contact Tech Support, which is a huge plus in my eyes. I have used the earlier versions of the product, which may have helped me understand how to use it, but I think people already experienced with internet development will find it just as easy to use.

New Product Features

Version 7.2 was the previous version and the updates in version 8.0 include:

Performance increases
Server Monitor
PDF features
Ajax features
.NET integration
Interactive debugger
Microsoft Exchange Server integration
Adobe Flex integration
Per-application settings
Multi-threading
Image manipulation
Presentations on demand
Atom and RSS feeds
ZIP and JAR file features
User-based Administrator and RDS access
Improved file manipulation functions
JavaScript operators in CFML
CFC improvements
Strong encryption libraries
Reporting enhancements
Database interaction improvements
Argument collections
Array and structure creation improvements Expanded platform, OS, and database support


The new features I personally liked best were the PDF and .NET support, the multi-threading (with the push for multi-core CPUs in servers, this seems like a must), and the improved reporting enhancements. The JavaScript operators in CFML were also nice and needed, but I know little about Flex so I don't know how that integration will help users.

Conclusion

Companies choose ColdFusion to create complex and robust mission-critical applications for internal and external access. While there are a number of ways to integrate web content with relational data, it is a simple task with ColdFusion, and the support for modern technology (Ajax, .NET and Java) is a valid reason to consider using this product.

I have worked with version 7 of ColdFusion, but can't attest to performance comparisons between older and the new release since I don't have those versions and a server environment setup for performance testing. There are sites that publish performance comparisons on the internet, and Adobe has their own application performance brief at
http://www.adobe.com/products/coldfusion/pdfs/cf8_performancebrief.pdf.

Positives

So many positives. The application administration interface is simple and intuitive – it should be no problem for anyone with experience administering a web site or application. And I like the new server monitor, which is an impressive Flash application that is as well organized as any administration interface I've used over the years. Anyone with a UNIX admin background will appreciate the ability to take a snapshot of the server on demand. That server snapshot information is saved as a file and can be read from a browser, and it is thorough.

The ColdFusion Markup Language (CFML) is useful, but supporting existing Ajax applications is more important in these Web 2.0 times. I really like the inclusion of support for Exchange and .NET integration, as there are so many companies that have mixed Microsoft/non-Microsoft environments.

I believe the ability to dynamically generate PDFs is indispensible. Anyone that ever had to handle source and version control for documents at any company will be pleased that they can keep just one version of each document and let ColdFusion create PDFs as needed. Very nice.

I almost forgot to mention the Eclipse plug-in for CFML. Eclipse is one of my favorite IDEs and I use it for C/C++ and Java development projects as well as Java. While you can use a text editor to create ColdFusion pages, I'd rather use a familiar IDE like Eclipse. To download the plug-in, go to http://www.cfeclipse.org/download.cfm.

While I'm not a big Exchange guy, integrating to that product makes sense. There are CFML tags to handle calendaring and contacts and tasks – very nice features.

Negatives

None I could see. While the price seems steep, even small companies shouldn't have an issue with the price when considering the tools and functionality that the product offers.

I did not try to run a load test on my laptop. If your company wants to know how it performs, I'd suggest first creating a test website and test database, and then download an evaluation copy of the software.

I also think that some will balk at hiring dedicated ColdFusion developers, but believe it is reasonable to find existing DreamWeaver developers (perhaps internal resources as well as external candidates) that are capable of creating the web content, the office DBA can help with the database access issues, and a network administrator can help place the content on a server and monitor how well it works.

Recommendation

This is a good product for companies already using older versions of ColdFusion, or companies looking to move older legacy systems to a newer, more robust solution that easily integrates the application and relational database data. The interface is intuitive, just like Adobe's other products, and I did not encounter any errors during my tests. I have used other Adobe products to create and support web applications, but like that ColdFusion lets me build applications – not just linked HTML pages – for use on the internet. I would encourage anyone that is interested in ColdFusion to take advantage and download an evaluation copy of the product and take it for a test drive. While the cost of the software – especially the Enterprise Edition – is more than most people will spend, Adobe offers a free developer edition for Consultants that want to expand their repertoire of internet application development tools. To see a list of ColdFusion hosting partners that offer hosting, check out:

http://www.adobe.com/uk/products/coldfusion/hosting/.

2 comments:

Anonymous said...

Hi, i think that i saw you visited my site so i got here to go back the desire?
.I'm attempting to find issues to enhance my web site!I assume its adequate to use some of your ideas!!

Feel free to visit my webpage - sky free to view channels list

Anonymous said...

Wow that was odd. I just wrote an extremely long comment but after I
clicked submit my comment didn't appear. Grrrr... well I'm not writing all that over again.
Anyways, just wanted to say wonderful blog!

My website installing cccam on dm500