Building Scalable Database Applications: Object-Oriented Design, Architectures and Implementations