"The way to go" has too many variables for blanket statements. However, the reason
for running the ArcSDE server on the database host (tight coupling) hasn't changed.
The main drawbacks are:
1) The ArcSDE instance will consume resources (RAM, mostly) on the database server
2) Since 9.2, you need to license the ArcSDE server host independently
You don't hit the licensing issue if you run the application server on the ArcGIS Server
host, but then you add the processing load of a different server task (which is similar
to the Direct Connect thread, but in a process, which is less efficient). You need a
pretty exotic set of situations for an independent (non-AGS) ArcSDE server to be
optimal.
I recommend using Direct Connect with SQL-Server for two prime reasons:
1) The client is part of the OS (unlike with Oracle)
2) It's not subject to the non-interactive desktop heap connection limitation
You only really need an application server if you have a heterogeneous release
situation not covered by Direct Connect.
- V