I have to develop a database based application. So far it's nice, it doesn't sound difficult. The hard part comes as they will want, in the future, to add new data and forms to the application and they want to do it on their own. Moreover, they will be able to make reports, and the want them to be editable too.

All this dynamic behavior is overwhelming me because I'm used to design a database, create the screens and forms to edit the data, and maybe use Jasper Reports to make reports.

So, i need some ideas about how to do all this things, I've seen that the tools Oracle forms and reports allow to create your own elements. The idea would be that users would create the forms and reports using oracle and my java application would connect to the oracle server passing some parameters and get the results, based on the models made by the users, but I'm far to know how to do that.
There are other problems to this solution: I'm afraid that oracle won't be easy to use for people without database knowledge; If Oracle creates new database tables when making a form, how can I know the structure of my database?

So, can anyone give some tips about how to begin with this? Which components, frameworks or type of technology do you recommend me to use?

Thank you in advance