We are going to start a large and scalable application which has around 50,000 to 200,000 users. my partner told me Both Groovy and OpenXava are framework for small development. My co-worker told me Both Groovy and OpenXava are framework for small development. i want to know if it's true or which framework do you recommend me.
Sorry but thats just nowhere near enough information to go on. Java Web framework for a large application? Could be anything really. There are lots to choose from: Spring MVC, Struts 2, JSF, Tapestry, Wicket, Seam and so on. Which to choose depends on your application much more than size.
Some of these come with components that are highly AJAXed. Others are more barebones. Honestly I'm a little concerned at the question because your question suggests you're either not strong on Java or not strong on Java for Web applications. Should you be making this decision if that were the case?
There's probably going to be no substitute for downloading and playing with several of these to make this decision.
I've never done so my self so don't take my word for it, but I think you can make Grails scale fairly well. There is a plugin for running Grails applications in Google App Engine. I would assume that following the principles forced by App Engine would make your application scale pretty good.
Personally, I don't like super-frameworks - they tend to be overly complicated, under featured, and nearly impossible to change. They also have a problem with experienced developer community, and are at risk of major obsolencse. Better off starting from a good base, with LOTS of developer expertise, like Spring, Struts, Seam or Tapestry.
Don't overcomplicate things.
can you describe term "small development"? Did you know that facebook was using php that considered as "not for enterprise" to java developers and it serves million of users now.
Groovy is good,you can combine with many technologies such as Grails, Gorm, Gant, Quartz, Hibernate etc. Look about the community, they grows fast right now. Groovy offers flexibility that java don't have and it also can speak to java libraries. that's cool. i am using that for 3 projects already. You can learn it pretty fast and it is reliable (small learning curves).
Back to the topic, first you need to know about the scalability of your software (not how many users that will be use it). The scalability means, like did you need to use specific libraries to get job done.