Data communications
Distributed processing
Performance objectives
Operation configuration load
Transaction rate
Online data entry,
End user efficiency
Online update
Complex processing logic
RE-usability
Installation ease
Operational ease
Multiple sites
Desire to facilitate changes