1 | requires server side support (both the middle tier and the back-end) through well defined interfaces |
2 | should be constructed from reusable or cloneable components |
3 | allows for identification of software components best suited to solve the problem at hand |