DaVinci is a comprehensive framework for model-driven Web engineering. It provides an architectural specification, an UML-based modeling framework, and a Java runtime library which is the implementation of the proposed architecture. DaVinci Web applications can be built on top of this architecture using sound models and CASE-tools.