nMore
Architectural decisions…
nHow do we achieve independent
layers of code that can provide clear
separation, loose coupling, and allow communication with each other?
nHow can we
design an architecture that can allow layer replacement without affecting existing layers?
nWhat technologies, and frameworks, should be implemented
in each layer?
nHow
will we implement security?
nWill
the application be flexible to technology changes?
nHow will the application handle enterprise level
services such as transactions,
security, logging, resource pooling, profiling, etc?