Win a copy of Re-engineering Legacy Software this week in the Refactoring forum
or Docker in Action in the Agile forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Whats Seam? A little confusion!

 
Prathamesh Gaddam
Ranch Hand
Posts: 58
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi (only to) Ranchers!

Welcome Authors! I feel it an opportunity of opportunities to have you here, to find in-&-out about Seam.

About me: I begined with Seams directly from core java. And getting into things simultanesouly part by part.

Confusing: As per books, posts and forums The Seam is:

# Framework
# Application stack
# Glue between JSF and EJB (yet to figure it out)
and else

Is Seam an template type framework where we can configure any, each of the MVC technologies with Java?

Seam is too easy, to get the basics. Because, I have generated the basic CRUD application with Seam and it was so easy (apart from basic settings/configuration) that at didnt required to read the EJB, etc. And lucky issue, needs digging and digging to depth to find the cause. What about it?

How and what way Seam intercept persistance/model? Hibernate/JPA/any other?

Any simplicity towards enhancement of the Seam Framework, from developer's perspective? Any easy way to glue/define custom enhancements for Seam, say as customized Seam-Generate-Entities?

To what extend/depth Seams can be integrated with Springs (yet to look into it) ?

Thank you in advance!
 
Jacob Orshalick
Author
Ranch Hand
Posts: 32
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Is Seam an template type framework where we can configure any, each of the MVC technologies with Java?


I'm not sure what you mean by "template type framework", but Seam is an integration framework that gives you choice in your presentation layer. Support is continually being added in this area and Seam 2.1 now supports Wicket.

Seam is too easy, to get the basics.


Well, I would say that's a good thing But, yes, as with any other technology as you get deeper into development with Seam, you will need to understand more about the framework and its underlying technologies.

How and what way Seam intercept persistance/model? Hibernate/JPA/any other?


Seam allows you to scope a managed persistence context to a conversation (often referred to as a web transaction). This avoids the nasty issues associated with detached entities such as LazyInitializationExceptions, constant merging, etc. It also provides the first layer of caching in your application as the persistence context holds all of the entities that have been loaded through the course of the conversation and simply references those in-memory instances when requested. That way you are not continually going back to the database to fetch entities as with many stateless architectures.

Any simplicity towards enhancement of the Seam Framework, from developer's perspective?


I'm assuming you are referring to extension points of the framework? Seam provides great flexibility in the way you develop your application. You are not tied into any one particular approach which was one of the goals of the framework.

Speaking from experience, I have developed a number of complex enterprise applications with Seam and have yet to come across a situation that I could not handle by either taking a different approach, or extending the functionality of Seam in some meaningful way.

To what extend/depth Seams can be integrated with Springs (yet to look into it) ?


Seam supports direction integration with Spring. See: http://docs.jboss.com/seam/2.1.1.GA/reference/en-US/html_single/#spring for the details.
 
Prathamesh Gaddam
Ranch Hand
Posts: 58
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Fantastic ! Thank you Mr. Jacob Orshalick!

I'm not sure what you mean by "template type framework", but Seam is an integration framework that gives you choice in your presentation layer. Support is continually being added in this area and Seam 2.1 now supports Wicket.


Prior to our reply, I perceived Seam as a Frameworks which helps other frameworks/technologies (from each of MVC layers) to glue in a better way, around Java world with some other competiting technologies. Now, Seam means a framework with Pluggable Presentation Layer. Please correct/clarify, if wrong.

Speaking from experience, I have developed a number of complex enterprise applications with Seam and have yet to come across a situation that I could not handle by either taking a different approach, or extending the functionality of Seam in some meaningful way.


I meant, suppose I want to use the tool Seam-Generate-Entites for reverse engineering from DB. And I need to configure (have generated) the UI components specific to (customized) column of DB tables or their datatype, instead of default. And much more. (I'm not sure whether it forms a part of framework) Is such feasibility provided by Seam for developers? (Why every works/design to be loaded on experts/designers?)

Warm regards,
 
Jacob Orshalick
Author
Ranch Hand
Posts: 32
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Have you tried the command: seam generate-ui? It generates an application from existing JPA/EJB3 entities placed into the src/model folder. seam-gen can help you to get started quickly, but there are certainly going to be specific scenarios that are not addressed that will have to be customized by the developer.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic