Seam will be addressing SOA, WS, etc... more in a later release, in the 
meantime I'll give you my take on the rest of you message.   You should take 
that as just my opinion, which doesn't necessarily reflect Gavin's view or any 
of the other Seam contributors.

I think one of the biggest mistakes we make creating applications is 
over-architecting and layering or applications when there is absolutely no 
reason to do so.  One of the revolutionary things about Seam is that it 
completely breaks down the layering and let's you get to the business of 
writing an application.  If layering suits you, use it.  But you aren't forced 
into over-architecture.  That's pretty much the same answer that left you 
unsatisfied in the docs, but it's worth emphasizing because I really think it's 
true.  An overwhelming number of people go about about designing what should be 
a relatively simple application but get caught up in "patterns" inflicted on 
them by their choice of technologies.  (EJB, Spring, whatever)  I think Seam's 
greatest contribution right now is simplifying life for the vast majority of 
application types out there.

Ok, let's talk tiers.  If you have to pin Seam down, I'd say you should shoot 
for Seam as being middle-tier components.  However, I'd simply say 
"application" components.  You should write components that accomplish the 
needs of your application is if you were writing simple Java objects.   Seam 
let's you, with annotations, bind to front-end GUI behaviour and back-end 
concerns.  Ideally, you these concerns really shouldn't influence the design of 
your application, but they can.  Seam is trying to eliminate those ugly places.

For instance, Seam actions don't have to return a String outcome.  You can 
guide your navigation in other ways.  You don't have to use UI components in 
your objects, you can do databinding to wrap/link your data to UI objects in 
the view.  (datamodel is the example seam provides, but it is an extensible 
framework)  So, on the far end of "layering" Seam tries to let you achieve 
layering by performing the jobs of all the layers - leaving you with just an 
application component.  Ideally it's just a POJO.

So - HotelBookAction or HotelBookingService?  Take your pick!  You should be 
able to write it as a generic HotelBookingService if you want, but most of the 
Seam examples are not trying to be anything more than what they are - simple 
web applications.   The naming reflects this.  If you are writing a web 
application, why do you need a service?  You probably don't.  Seam let's you 
simplify - your code and your thinking.  Yet, it's trivial to move from a 
"simple" web app to a complex enterprise app in seam.   It all works the same 
way.  

I agree that we should have more examples.  We are growing them with every 
release, but we aren't there yet.  Quite frankly, we don't have the resources 
to be able to tackle all the possibilities and still have time to get to all 
the planned features.  It'll only happen with more community involvement.  
We've had quite a few wonderful contributions recently, but we obviously need 
more.  Feel free to join in. :)





View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3997720#3997720

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3997720
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to