The existing application I am working on, the Action classes will interact with the DAO classes directly.
Would it be better the Action classes, will invoke Service layer classes(BusinessFacade) in turn which will invoke the DAO?
Is it better to develop a layer between the Action classes and the DAO layer?
It’s better because in that way you can separate business logic (the logic not related to naviagtion matters) for a possible reuse.
If you separate you’ll be able to reuse business logic even in a non web application.
The data access layer is intended as the layer where objects are persisted to, and restored from, an abstract storage and actually, specially in case of RDBMS persistence, may be implemented well by ORMs, so often you can see a business logic layer with an ORM to persist objects. I prefer to merge business logic with an ORM, in this case rather then with a front end framework.