A: Nowhere. That's done for you by the framework. You just define the structure and everything else, from methods to add, delete, change and search data and the database structures will be generated for you.
A: Sure you can, by specifying additional methods. But the less need for it, the less programming-platform-dependent your application is.
A: There is not much need to code, especially not for those stupid and default life-cycle methods. You will be able to focus much more on the more interesting parts like business logic or integration of other systems.
A: Sounds good, yes. But is it true and a sustainable concept? SAP is successful with its Business Information Warehouse, which is using a very similar concept and metadata approach for the analytical area. Now we take that concept and implement it on the transactional area. And you can be sure it works and will be gradually enhanced in its functionality.
A: That is only true from a first glance, but you will see that it's in fact very different. The CAF does not talk about class models, but of business objects and their relations. That classes, beans and tables are generated in the background is important for you, but not relevant for your modeling work. And the CAF is something for mainly building business applications, but not any kind of application. For the business applications that means you can focus on your object relations, processes and business logic.Actually the last question leads me to another interesting topic: the CAF enables people who know and define the business process, but don't know how to program, to also develop parts of the business application on their own. There is no need for them to type in code. This not only helps them to contribute in a new way to application development, but also gives them the chance to adapt their models much faster.