What do you see as the pros and cons of each approach?That would take quite a bit of space to cover thoroughly. Consider the below extremely light coverage.
A two-tier approach requires that you put your business logic in your database. This is very convenient considering your data and your business logic are in the same place. It is also very easy to understand since SQL and procedural concepts are well understood by your average CFML developer. There are two main downsides. First, the data sore is tightly coupled with the application making it difficult to change data stores at a later date. Additionally, since the two tiers are in completely different contexts, resolving events that effect both becomes challenging. For example, suppose you create an event in the presentation tier that triggers an event in the data tier and the data tier event changes some piece of data cached by the presentation tier. How will the data tier notify the presentation tier? This example represents a case where there is actually business logic in the presentation tier, which is sometimes required in a two-tier application. If you find yourself with business logic in the presentation tier then either your design is wrong or a two-tier architecture will not work.
A three-tier approach requires that you put your business logic in the middle tier. This allows for an abstraction of your data tier which could facilitate easily changing one data tier for another. It could also allow for multiple data tiers. For example, our CMS has its own database designed for content, but some applications require access to tabular data. This tabular data is best kept in a relational database, so some implementations of our CMS access both our database for the content and tabular data from a relational database.
Matt Liotta President & CEO Montara Software, Inc. http://www.MontaraSoftware.com (888) 408-0900 x901
----------------------------------------------------------
You are subscribed to cfcdev. To unsubscribe, send an email
to [EMAIL PROTECTED] with the word 'unsubscribe cfcdev' in the message of the email.
CFCDev is run by CFCZone (www.cfczone.org) and supported by Mindtool, Corporation (www.mindtool.com).
An archive of the CFCDev list is available at www.mail-archive.com/[EMAIL PROTECTED]
