There is no point in trying to define an architecture that will be suitable for all systems. The architecture of each system should reflect its particular functional and non-functional requirements, and the constraints that affect its development. The technologies available also change every few months, so any ideal architecture would quickly become out of date.
However, if designing a state-of-the-art, web-based business application in 2009, the layers would probably look something like this:
Relational database
Application Server
Spring
Hibernate
O-R mapping
Entity
objects
Entity
managers
Service layer
DWR Remote JavaScript API
Browser
JavaScript client application
