Friday, May 11, 2007

JavaOne 2007 day 3, Seam and SOA.

Another session by Gavin King, i really like this guys ideas and energy. First of all there was a change of presentation, the SOA in seam did not work yet.

So instead we got Seam development using JBoss IDE(or some similar IDE). Gavin showed how to create a projekt using seam/facelets and some faces extensions, Richfaces and ajax4jsf. Really pointed to the ability to test things in the real context. This is part of seam.
The demo continued creating a application that used some UI:s from Richfaces and it showed how fast and easily u can create a interactive program today.

So what is seam?
I really dont know all yet but this is some of it.
  1. A way to get a faces/jpa and some application up and runnig requiring minimum configuration.
  2. Minimize the configuration to use jsf.
  3. Create a common plattform for the Bean-context. Supports a new scope called conversation. Conversation is something in between Session and request, but is more useful than session. It is useful for page-flows, tabs and similar parts of the application.
  4. A generation-tool that can easily create boiler-plate code for your new application.
  5. A way to get out of the configuration-hell of all the new frameworks, Seam uses anotations for most of this.
  6. A Security model implementated using anotations. Make it easy to use security on your application. Can be simple or advanced using roles etc.
  7. A validation support using Hibernate-validation through anotations.

There is propably more but i did not get it from this.

I later bumped into Gavin(or i walked to Jboss and there he was) at the Pavilion and asked about the validation support and if they have any plans to support validation depending on the state of the bean that is validated. For example if a IncidentReport is filed a title is all that is needed, later when a user works on the report it suddenly have specific data that might be required and before its closed some other data might be needed.

This gives a more complex usage for Validation, this is something that i usually have to do, i cant be alone!? A way to solve this could be to create a Validation typebound anotation. Like the one Bob Lee presented in the Webbeans session.

@Validation @IncidentReportValidation("#incidentState")
Date solutionDate;

The variable in the custom-validation-anotation is a instance variable in the current Bean.

2 comments:

Jack said...

Hey man, I just came across your blog and I really like what I see here, so I will be following you from now on and hope that I am not disappointed in the future also.

Linda said...

hi I really like what you post few of your posts have been really helpful for me so I appreciate your work and commend you on your efforts in it, much thanks!