we are in the process of migrating our coldfusion 8 application from 2-tier application to a 3-tier architecture. can anyone provide an instruction on how to configure the web server and the application server so the applications can communicate. Can using cfcomponent be enough to place all db communication in the application server?
There are a number of ways to do this. The classic way is to create web service CFCs in your app tier and retrieve data via xml / wsdl, which is consumed by your top tier .cfm
Personally speaking, with the Serialize / Deserialize JSON functions in CF8 plus cool Javascript libraries like Jquery I would be tempted to do the displays largely in javascript via Ajax + JSON.
As per last question the answer is definitely yes. Current CF thinking tends towards putting all queries in DAO CFCs with optional gateways CFCs thrown in (the need for gateways is often debated).
Check out some of the great frameworks out there that might be able to help you greatly in implementing this in a standarized way.
Some include
ColdBox ColdSpring Mach-II Fusebox Model-Glue .. and many more!