Tuesday, August 28, 2012

Re: Best serverside architecture(framework/stack) to use with GWT for large application...please show me the light

Would you give the detail about how to handle history using GIN, Activity and Place.  Is it possible to implement GWT-platform way?



On Tuesday, August 28, 2012 10:12:43 AM UTC-4, Derek wrote:
Hi Seth,

I personally am not a fan of Spring. I'm generally not a fan of anything that says, "First, create a bunch of XML files" (GWT excepted :) ). That's why I gravitated to Guice for all my DI needs. That said, Guice and Spring aren't quite the same thing, and you could leverage both of them.

However, it is probably unnecessary to do both Guice and Spring in a GWT app. You can do anything with one DI framework that you can do with the other, and if you are leaning to Spring, you make a fine choice and you can ignore the rest of my post.

At my workplace, the way we do GWT projects is we create a WebXml.java in the server package that implements GuiceServletContextListener and point the web.xml to that class. The WebXml contains servlet mapping modules, db connection modules, and other Guice modules as needed.

On the client side, we generally use MVP structure with GIN. The MVP structure is a lifesaver for large projects in my mind. Our more recent projects have used the Activity and Places framework described on GWT's website with the main exception that the ClientFactory object is unnecessary since GIN provides the various resources instead of ClientFactory.

At my work we've got two projects that clock in around 34k and 46k lines of Java (not including XML or other artifacts) as well as smaller projects and they use the methodology I described.


On Monday, August 27, 2012 5:18:13 PM UTC-4, GWTter wrote:
Hi Derek,

Thanks a lot for the reply. I did consider Guice for DI on the serverside but not sure if it would be redundant if using a framework like Spring. I do want to utilize RF though as it has a nice set of features which I'd like to include, e.g. caching and only delta posts. And I'll definitely take a look at GIN again since DI on my clientside might be pretty nice too. Thanks again,


On Monday, August 27, 2012 4:05:05 PM UTC+2, Derek wrote:
I use Guice on the server side and GIN on the client side. I generally use DTOs over GWT-RPC since RequestFactory isn't what I need / want to migrate to.

On Saturday, August 25, 2012 7:48:12 PM UTC-4, GWTter wrote:
Hi all,

I've been doing research on this for the past 2, almost 3 days now. I feel like I've googled everything under the sun on the matter (including these forums) and am almost all tutorialed-out. Before I go into any more details on the question I just want to give a quick overview of the scope and plan for the project to see what will suit it best:

-Large application, non-trivial
-50+ DB tables
-Large user base
-User management/authentication/sessions
-MVP (as per GWT recommendation)
-focus on performance and scalability (naturally :), am using GWT after all)

I've also read and watched all of the best practices on architecture for large applications (Google/GWT).

Now in the last talk I could find on best architecture practices involving GWT was back in 2010 by Ray Ryan in which he states that they don't think JavaBeans and property change events work terribly well so it's better to use DTOs for the Model.

My big questions are if this is still the belief and the recommended route, and if so, what should I be looking at in order to achieve this? a Framework?

My preference would be to keep coding in Java on the serverside since I'm already doing so with GWT on the client. I've been investigating serverside frameworks and seem to have arrive at 2: Seam or Spring? However I can figure out which of these are best suited for the task. All of the doc I've found out there discussing the issue is at the most recent about a year old but most of it is from <=2010 so it makes it even harder to tell considering that both of these frameworks have evolved considerably since then. There's also been the coming of JEE 6.

Can anyone give any insight on who's best suited for the task, or what I should do to fulfill my requirements but stay inline with what is recommended by GWT? I know I only mentioned Seam and Spring since that's what I've been led to mostly, but I'm open to any suggestions that fit what I'm looking for. I've already ruled a couple of solutions such as Spring Roo for this kind of task.

This is my first project of this scale and the last thing I want to do is head down a path and figure out that I've wasted a lot of my and my team's time and energy because of some wrong decisions I made at the get-go.

Thanks a lot in advance for your help, I really just want to figure this out so I can get back to coding instead of googling the ends of the earth ;).


You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group.
To view this discussion on the web visit https://groups.google.com/d/msg/google-web-toolkit/-/3XZW28NDXxMJ.
To post to this group, send email to google-web-toolkit@googlegroups.com.
To unsubscribe from this group, send email to google-web-toolkit+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.

No comments:

Post a Comment