Wednesday, November 28, 2007

EJB3 Seam GWT

I just finished a prototype to test EJB3, Seam 2.0.0.GA with GWT-Remoting, and GWT 1.4.60.

It was, for the most part, a success!

First, before people get excited, what does NOT work:
What has been proven to work:
  • Stateless Session Bean simply exposed for GWT Web Application consumption for regular types (String, Integer, Long, Float) both as returns and parameters.
  • SLSB with DTO's exposed for GWT Web Application consumption.
  • GWT Sample Web Application successfully presenting the results of the Service calls to associated SLSB's exposed for Seam-GWT remoting.
Caveat - I am no GWT expert by any means. This project is simply a prototype to proof the integration points between existing EJB3 applications and changing the UI presentation layer to GWT in the least-difficult manner.

HELP: How do I share my project through blogger.com? For now, you can click on the JIRA link and get the uploaded file there - read the readme.txt and modify the Model for IsSerializable.

3 comments:

Kevin Corby said...

Hi Darren,

I am working on an application that is using GWT for the front end and EJBs with Seam web remoting for the back end. Your sample app from the last blog post was helpful, thanks. I have simple security set up using the Seam @Restrict annotation. When my restricted method gets called before login, the server throws a NotLoggedInException as expected. However, this exception does not translate to the GWT side, where it becomes just a generic invocationexception. Have you had an experience with this and can you suggest a way to pass the exception through, especially given that it originates from Seam code and doesn't currently pass through any of mine?

Thanks,
Kevin

dhartford said...

Hi Kevin,
Thanks for taking a look and doing your own research before commenting -- I greatly appreciate it.

As for Seam/GWT security integration, it is lacking. http://jira.jboss.com/jira/browse/JBSEAM-2325

I've made some attempts with pure server-side security (without @Restrict, unfortunately) -- at this time, it seems to be the best approach and programmatically handling security through exception handling on the RPC/client side. Although it sounds clunky, and implementation wise is clunky, it is a more secure approach.

Please vote for the above link as I really do hope to use @Restrict easily with GWT.

Max Radin said...

hi-
So I realize it's been some time since this was originally posted but I read it with great interest. I am trying to integrate GWT 1.5 with Seam 2 and not having a great deal of success. I would like to see your prototype if it's still available. Did you get hosted mode to work in eclipse?
thanks
Max