Java client GUI suggestions for grid / scheduling application

Hello experts,

I am planing a redesign of a (Delphi) client-server application to java ee 6. I would like to use Spring 3 / Hibernate as a middle tier. The middle tier should serve several clients (rich, browser, mobile devices).

Actually the main surface in the Delphi world are feature packed grid controls to display monthly / daily schedules. We use devexpress vcl. (QuantumGrid / ExpressScheduler).

My question:

how can I have similar GUI functionality using java?
I am very unsure if I should use Swing, SWT, Flex, etc...

I have found decent controls in which are Swing based.

Do you have other suggestions?

Eclipse RCP seems to be too restrictive on the layout.

Open source or licenseware is fine, I would have good options to create nice, feature packed client GUIs...

Any suggestions?

Thanks a lot!

Regards, Daniel
Who is Participating?
Dejan PažinConnect With a Mentor Head of SW DevelopmentCommented:

If desktop is priority then GWT is not an option.

I have the same structure as you do: Hibernate and EJBs on the server side, and the business logic is used by both web and Swing clients.

Swing client simply calls the server side EJBs and we use Hibernate annotated POJOs for data structure. The one thing you have to be aware of here, is that the Hibernate  objects may be lazy loaded and when you get them to the client side you have to watch out for any non loaded attributes.

This turned out to be an efficient way for the Swing to server communication. But you have to plan your Hibernate objects carefully - especially lazy loading.

I implemented a simple client side cache for data objects, where I was able to use that - that improved performance drastically of course, but implementing such a thing on your own is too havy, so I only had a very simple cache.

The business logic on the server is reused by the web application - this turned out to be good solution, although we had some issues with lazy loading again, but we fixed that.
sounds like you might want to have a look at GWT
waeberdAuthor Commented:
Hi objects,

what grid controls / scheduling controls do you suggest using GWT?

Thanks, Daniel
Upgrade your Question Security!

Your question, your audience. Choose who sees your identity—and your question—with question security.

objectsConnect With a Mentor Commented:
there are lots around eg.
Dejan PažinConnect With a Mentor Head of SW DevelopmentCommented:

Hmm... There seems to be some confusion here. You are talking about desktop application (Delphi) and objects is talking about web (GWT).


what do you want your application to be - a  web application or a desktop application? That is the first choice you have to make.

Both web and desktop can communicate with the middle tier. Since you used to have Delphi before, I suggest to go for desktop application. Although web applications have evolved a lot, it is still a pain to mimic a desktop application on the web. A lot of hard work.

If you go for desktop, I would choose Swing - the Jide controls you found are exactly what you need. There are also many free libraries and look and feels available:
waeberdAuthor Commented:
The main application usage is rich featured planning, so the first priority is  to get a desktop application for planning users that is communicating with a middle tier.

The middle tier can be used for web representations but I think I will have to code different presentations for web and desktop.

So: first priority on desktop applications, but not losing the potential to (re)use the middle tier for web applications / mobile applications.

If Swing, any suggestions of how a Swing client (using the rich controls mentioned) can communicate efficiently with the middle tier?

Thanks folks!
waeberdAuthor Commented:
Great input folks!

So dejanpazin would do a plain Swing <-> EJB communication.
No particular framework here? (Spring MVC for example)?

Dejan PažinConnect With a Mentor Head of SW DevelopmentCommented:

>> No particular framework here? (Spring MVC for example)?

That depends on your needs, I have the structure: Swing <--> EJB (Stateles session beans) <--> Hibernate <--> Database

I try to keep frameworks included at the minimum and only integrate what I really need. So far i had no need for anything else in my desktop application.
waeberdAuthor Commented:
Thanks folks!
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.