Here are the answers to my knowledge of Roo:
1.Roo uses a lot of AOP. Is it possible to write my own Java code and let the Roo generated files just "stay alone"? Or the whole structure of Roo requires some knowledge of AOP. In other words, if I want to set up a Roo project (add non CRUD), do I need with AOP?
No, you do not need to mess with AOP. Most files created by Roo (for example, .aj, etc.) can be left alone, except for the files in which you put the code.
2. I saw the console approach of generating objects. Can Roo convert my database, which already runs into Roo code (generate objects for me)?
Yes, [check the steps for restoring Roo engineering] [1].
3. Sometimes I have big entities. I do not want to show specific UI columns. Is such a setup easily achievable?
Yes.
4. Getting current views - I would like to make some export data of what the user sees right now in the user interface (say, in XML). Auto export will be great, but at least can I easily get the current data in the user interface? Look? (let's say the user sees 10% of the data in the DB table, I would like to save it in XML)
Yes.
5.My database is often changing. How does Ru go with changing entities? This is the dynamic addition / deletion of some columns ...
Send my answer to question 2.
6. Import data (or whole new databases). I need to drop and create databases on the fly. Thus, the user interface can change the bit (new columns) and the data will necessarily change. Will this work with a simple “run script and update”?
Yes
7. Rollbacks. Discard your changes. Does it provide built-in support for such a thing?
No. No rollback support. There is an expected function request for this. However, there is work around.
8. Registration, or at least integration with popular reporting tools.
This will not be different from any of your regular Java applications just because you use Roo.
And what do you think? Does Roo match these? Should I try? Or am I better off starting from scratch using simple GWT, JSF, what?
Hope the answers above explain!