JBoss Seam
Encyclopedia
Seam is a web application framework
developed by JBoss
, a division of Red Hat
.
programming model. Seam's mission is to provide a fully integrated development platform for building rich, standards-based Internet applications tailored for traditional and cloud deployments. Seam 3 is considered to be a more scalable, feature rich set of extensions than Seam 2, which is under maintenance development only.
s (EJB3) and JavaServer Faces
(JSF). However, simple POJO
s can be used at the back end. One can turn any EJB3 object or any simple POJO object into a Seam component by just using annotations. Once a component becomes a Seam component, it can be accessed through JSF or through other business-logic components in a unified manner. Thus, one can access any back-end EJB component from the front-end by addressing it by its Seam component name. The beauty of this Java web framework is that it incorporates much-needed identity management features.
Seam 2 introduces the concept of bijection, taken from Spring's dependency injection feature where objects can be in-jected or out-jected to/from assigned variables using the @In and @Out annotations.
The framework also expands the concept of contexts. Each Seam component exists within a context. The default Seam context, a conversation, can span multiple pages and usually spans the whole business flow, from start to finish. The session context captures all actions of a user until he/she logs out or closes the browser - even across multiple uses of the browser back-button.
One can automatically generate a CRUD (create-read-update-delete) web-application from an existing database using the command-line tool
Seam facilitates WYSIWYG
development through the use of JBoss Tools
, a set of plug-ins targeted at the open-source Eclipse
integrated development environment
.
Seam integrates out of the box with the RichFaces
and ICEfaces
Ajax
libraries, as well as with many other Ajax libraries - without the need to write JavaScript code.
Seam also includes a PDF document creator, e-mailing, graph creation, and the creation of Microsoft Excel
worksheet
s.
Web application framework
A web application framework is a software framework that is designed to support the development of dynamic websites, web applications and web services. The framework aims to alleviate the overhead associated with common activities performed in Web development...
developed by JBoss
JBoss
JBoss Application Server is an open-source Java EE-based application server. An important distinction for this class of software is that it not only implements a server that runs on Java, but it actually implements the Java EE part of Java...
, a division of Red Hat
Red Hat
Red Hat, Inc. is an S&P 500 company in the free and open source software sector, and a major Linux distribution vendor. Founded in 1993, Red Hat has its corporate headquarters in Raleigh, North Carolina with satellite offices worldwide....
.
Seam 3
Seam 3 is very active project consisting of over 50 developers and engineers, which provides a modular set of extensions to the CDICDI
- Science and technology :* Capacitive deionization, a water desalination technology based on the use of electrical field effects* Carbonyldiimidazole, a peptide coupling agent...
programming model. Seam's mission is to provide a fully integrated development platform for building rich, standards-based Internet applications tailored for traditional and cloud deployments. Seam 3 is considered to be a more scalable, feature rich set of extensions than Seam 2, which is under maintenance development only.
Seam 2
Seam 2 combines the two frameworks Enterprise JavaBeanEnterprise JavaBean
Enterprise JavaBeans is a managed, server-side component architecture for modular construction of enterprise applications.The EJB specification is one of several Java APIs in the Java EE specification. EJB is a server-side model that encapsulates the business logic of an application...
s (EJB3) and JavaServer Faces
JavaServer Faces
JavaServer Faces is a Java-based Web application framework intended to simplify development integration of web-based user interfaces....
(JSF). However, simple POJO
Plain Old Java Object
In computing software, POJO is an acronym for Plain Old Java Object. The name is used to emphasize that a given object is an ordinary Java Object, not a special object...
s can be used at the back end. One can turn any EJB3 object or any simple POJO object into a Seam component by just using annotations. Once a component becomes a Seam component, it can be accessed through JSF or through other business-logic components in a unified manner. Thus, one can access any back-end EJB component from the front-end by addressing it by its Seam component name. The beauty of this Java web framework is that it incorporates much-needed identity management features.
Seam 2 introduces the concept of bijection, taken from Spring's dependency injection feature where objects can be in-jected or out-jected to/from assigned variables using the @In and @Out annotations.
The framework also expands the concept of contexts. Each Seam component exists within a context. The default Seam context, a conversation, can span multiple pages and usually spans the whole business flow, from start to finish. The session context captures all actions of a user until he/she logs out or closes the browser - even across multiple uses of the browser back-button.
One can automatically generate a CRUD (create-read-update-delete) web-application from an existing database using the command-line tool
seam-gen
supplied with the framework.Seam facilitates WYSIWYG
WYSIWYG
WYSIWYG is an acronym for What You See Is What You Get. The term is used in computing to describe a system in which content displayed onscreen during editing appears in a form closely corresponding to its appearance when printed or displayed as a finished product...
development through the use of JBoss Tools
JBoss Tools
JBoss Tools is a set of Eclipse plugins and features designed to help JBoss and J2EE developers develop applications. It is an umbrella project for the JBoss developed plugins that will make it into JBoss Developer Studio.-Modules:...
, a set of plug-ins targeted at the open-source Eclipse
Eclipse (software)
Eclipse is a multi-language software development environment comprising an integrated development environment and an extensible plug-in system...
integrated development environment
Integrated development environment
An integrated development environment is a software application that provides comprehensive facilities to computer programmers for software development...
.
Seam integrates out of the box with the RichFaces
Richfaces
RichFaces is an open source Ajax-enabled component library for JavaServer Faces, hosted by JBoss. It allows easy integration of Ajax capabilities into enterprise application development.RichFaces is more than just a component library for JavaServer Faces...
and ICEfaces
ICEfaces
ICEfaces is an open source Ajax framework that enables Java EE application developers to create and deploy server-based rich Internet application using the Java language....
Ajax
Ajax (programming)
Ajax is a group of interrelated web development methods used on the client-side to create asynchronous web applications...
libraries, as well as with many other Ajax libraries - without the need to write JavaScript code.
Seam also includes a PDF document creator, e-mailing, graph creation, and the creation of Microsoft Excel
Microsoft Excel
Microsoft Excel is a proprietary commercial spreadsheet application written and distributed by Microsoft for Microsoft Windows and Mac OS X. It features calculation, graphing tools, pivot tables, and a macro programming language called Visual Basic for Applications...
worksheet
Worksheet
A worksheet is a sheet of paper, or on a computer, on which problems are worked out or solved and answers recorded.-Education:Students in a school may have 'fill-in-the-blank' sheets of questions, diagrams, or maps to help them with their exercises...
s.
See also
- List of JBoss software
- Comparison of web application frameworksComparison of web application frameworksThis is a comparison of notable web application frameworks.-Perl:-PHP:-Java:-Python:-Ruby:-CFML :-ASP.NET:-Other:-ASP.NET:-C++:-CFML:-Python:-Java:-PHP:-Ruby:-Others:...
External links
- Seam Product Page @ JBoss
- The official JBoss Seam reference documentation
- Article on JBoss Seam on InfoQ
- http://www.mastertheboss.com @ JBoss Seam tutorials
- http://docs.jboss.org/tools/movies/ Video casts about Seam