SlideShare a Scribd company logo
SEAM 3
             a Web developer’s view

Matija Mazi, Parsek
What is Seam 3?


• Enterprise Internet application
  platform
• Based on Java EE 6
  – Especially CDI
Agenda


•   Java EE 6 Example App
•   Seam 3 Example App
•   Seam and Java Standards
•   Contributing to Seam
Java EE 6: Our example

• Web Application Technologies
  – JSF (JavaServer Faces) 2.0 with Facelets
  – EL (Expression Language) 2.2


• Enterprise Technologies
  –   CDI 1.0 (Contexts & Dependency Injection)
  –   EJB 3.1 (Enterprise JavaBeans)
  –   JPA (Persistence) 2.0
  –   Bean Validation 1.0
Java EE 6: Our example


• Let’s see the demo!
Java EE 6: What we used
• General (javax.annotation.*)   • JPA (javax.persistence)
    – @PostConstruct                 –   EntityManager
                                     –   CriteriaBuilder, CriteriaQuery
• EJB3 (javax.ejb)                   –   @Entity
    – @Stateful                      –   @Id
                                     –   @GeneratedValue
                                     –   @PersistenceContext
• CDI (javax.enterprise.*)
    –   @RequestScoped
    –   @Event                   • Validation (javax.validation.*)
    –   @Observes                    – @NotNull
    –   @Model                       – @Pattern
    –   @Produces                    – @Size

• CDI (javax.inject.*)
    – @Inject
    – @Named
Seam 3: Our example


• Let’s see the demo!
Seam 3: Features (1/2)
• Forge                             • Seam Configuration
   – Plugins
                                    • Seam Persistence
• Seam Solder                          – Transaction Management
   – @Veto, @Requires, @Exact,         – Seam-managed persistence
     @Client, @Named packages,           contexts
     @FullyQualified
   – Annotation Literals
   – Evaluating EL                  • Seam Servlet
   – Resource Loading                  – Servlet/Session events
   – Logging                           – Injectable Servlet objects and
                                         request state
   – Reference to the BeanManager
                                       – @RequestParam,
   – Properties                          @HeaderParam,
   – @Unwraps                            @ContextPath,
   – Default Beans                       @CookieParam, @ServerInfo,
   – Generic Beans                       @Principal
   – Service Handler
Seam 3: Features (2/2)
• Seam Security                 •   Seam Catch
                                •   Seam Remoting
• Seam International            •   Seam REST
   – Locales, Timezones         •   Seam Validation
   – Messages                   •   Seam Wicket
                                •   Seam Cron
• Seam Faces
                                •   Seam Drools
   – Faces Events Propagation
   – Faces Artifact Injection   •   Seam Errai CDI (GWT)
   – Messages                   •   Seam JCR (Content Repo)
   – @RenderScoped,             •   Seam JMS
     @ViewScoped, Flash         •   Seam Mail
   – <s:validateForm>,
     <s:viewAction>             •   Seam Reports
                                •   Seam Social
                                •   Seam Spring
Seam: a source of ideas
for JavaEE standards
Seam: a source of ideas
                        for JavaEE standards
                        (stuff in JEE6 that came from Seam)

• CDI (JSR 299)                   • JSF 2 (JSR 314)
  –   @Inject                        –   Navigation
  –   @*Scoped                       –   <f:viewParam>
  –   @Produces                      –   <f:selectItems>
  –   Events                         –   Get Requests
  –   Most of the stuff, really           • <h:link>, <h:button>
                                     – Scopes
• CDI 1.1 (JSR 346)                  – Annotations
                                          • Managed Beans
  – from Seam 3
                                          • Converters/Valitators
       • esp. Seam Solder
                                     – Resources
                                     – Validation integration
                                     – EL method parameters
Contributing to OS

•   github account
•   git installed
•   No need for commit permissions
•   https://github.com/seam/international/pull/11
Seam 3 and JavaEE 6



             • Thank you!




mazi@parsek.net
Seam 3: Our Example

• Seam International        • Seam Cron
  – Messages                  – Scheduled tasks


• Seam Faces                • Seam Mail
  – Messages                  – Mail templates
  – @Inject in Validators     – Mail sending


                            • Seam Solder
                              – Resource Loading

More Related Content

What's hot

Ruby and Rails short motivation
Ruby and Rails short motivationRuby and Rails short motivation
Ruby and Rails short motivation
jistr
 

What's hot (20)

Optimizing Java Notes
Optimizing Java NotesOptimizing Java Notes
Optimizing Java Notes
 
The Actor Model - Towards Better Concurrency
The Actor Model - Towards Better ConcurrencyThe Actor Model - Towards Better Concurrency
The Actor Model - Towards Better Concurrency
 
Building Asynchronous Applications
Building Asynchronous ApplicationsBuilding Asynchronous Applications
Building Asynchronous Applications
 
Java performance monitoring
Java performance monitoringJava performance monitoring
Java performance monitoring
 
A gentle introduction into AKKA and the actor model
A gentle introduction into AKKA and the actor modelA gentle introduction into AKKA and the actor model
A gentle introduction into AKKA and the actor model
 
Advanced Server Integration with Data and Direct
Advanced Server Integration with Data and DirectAdvanced Server Integration with Data and Direct
Advanced Server Integration with Data and Direct
 
Lets build-ruby-app-server: Vineet tyagi
Lets build-ruby-app-server: Vineet tyagiLets build-ruby-app-server: Vineet tyagi
Lets build-ruby-app-server: Vineet tyagi
 
Ruby and Rails short motivation
Ruby and Rails short motivationRuby and Rails short motivation
Ruby and Rails short motivation
 
Invitation to the dark side of Ruby
Invitation to the dark side of RubyInvitation to the dark side of Ruby
Invitation to the dark side of Ruby
 
Stackato v6
Stackato v6Stackato v6
Stackato v6
 
Maccro Strikes Back
Maccro Strikes BackMaccro Strikes Back
Maccro Strikes Back
 
Lock-free algorithms for Kotlin Coroutines
Lock-free algorithms for Kotlin CoroutinesLock-free algorithms for Kotlin Coroutines
Lock-free algorithms for Kotlin Coroutines
 
Introduction to ACI APIs
Introduction to ACI APIsIntroduction to ACI APIs
Introduction to ACI APIs
 
Event Driven Architecture with Apache Camel
Event Driven Architecture with Apache CamelEvent Driven Architecture with Apache Camel
Event Driven Architecture with Apache Camel
 
2010 07-20 TDD with ActiveResource
2010 07-20 TDD with ActiveResource2010 07-20 TDD with ActiveResource
2010 07-20 TDD with ActiveResource
 
Sbt, idea and eclipse
Sbt, idea and eclipseSbt, idea and eclipse
Sbt, idea and eclipse
 
Consuming REST services with ActiveResource
Consuming REST services with ActiveResourceConsuming REST services with ActiveResource
Consuming REST services with ActiveResource
 
Scala adoption by enterprises
Scala adoption by enterprisesScala adoption by enterprises
Scala adoption by enterprises
 
Perl-Critic
Perl-CriticPerl-Critic
Perl-Critic
 
Sista: Improving Cog’s JIT performance
Sista: Improving Cog’s JIT performanceSista: Improving Cog’s JIT performance
Sista: Improving Cog’s JIT performance
 

Similar to Seam 3 from a Web developer’s point of view, Matija Mazi (Parsek)

日本一細かいJavaOne2011報告
日本一細かいJavaOne2011報告日本一細かいJavaOne2011報告
日本一細かいJavaOne2011報告
心 谷本
 
DevLOVE Beautiful Development - 第一幕 陽の巻
DevLOVE Beautiful Development - 第一幕 陽の巻DevLOVE Beautiful Development - 第一幕 陽の巻
DevLOVE Beautiful Development - 第一幕 陽の巻
都元ダイスケ Miyamoto
 

Similar to Seam 3 from a Web developer’s point of view, Matija Mazi (Parsek) (20)

Spring - CDI Interop
Spring - CDI InteropSpring - CDI Interop
Spring - CDI Interop
 
hibernateormfeatures-140223193044-phpapp02.pdf
hibernateormfeatures-140223193044-phpapp02.pdfhibernateormfeatures-140223193044-phpapp02.pdf
hibernateormfeatures-140223193044-phpapp02.pdf
 
Not Just ORM: Powerful Hibernate ORM Features and Capabilities
Not Just ORM: Powerful Hibernate ORM Features and CapabilitiesNot Just ORM: Powerful Hibernate ORM Features and Capabilities
Not Just ORM: Powerful Hibernate ORM Features and Capabilities
 
XPages Performance Master Class - Survive in the fast lane on the Autobahn (E...
XPages Performance Master Class - Survive in the fast lane on the Autobahn (E...XPages Performance Master Class - Survive in the fast lane on the Autobahn (E...
XPages Performance Master Class - Survive in the fast lane on the Autobahn (E...
 
Play Framework and Activator
Play Framework and ActivatorPlay Framework and Activator
Play Framework and Activator
 
Impression of Rails 3
Impression of Rails 3Impression of Rails 3
Impression of Rails 3
 
The Wix Microservice Stack
The Wix Microservice StackThe Wix Microservice Stack
The Wix Microservice Stack
 
日本一細かいJavaOne2011報告
日本一細かいJavaOne2011報告日本一細かいJavaOne2011報告
日本一細かいJavaOne2011報告
 
An Overview of ModeShape
An Overview of ModeShapeAn Overview of ModeShape
An Overview of ModeShape
 
Oracle Fuson Middleware Diagnostics, Performance and Troubleshoot
Oracle Fuson Middleware Diagnostics, Performance and TroubleshootOracle Fuson Middleware Diagnostics, Performance and Troubleshoot
Oracle Fuson Middleware Diagnostics, Performance and Troubleshoot
 
Big Search with Big Data Principles
Big Search with Big Data PrinciplesBig Search with Big Data Principles
Big Search with Big Data Principles
 
RSpec on Rails Tutorial
RSpec on Rails TutorialRSpec on Rails Tutorial
RSpec on Rails Tutorial
 
Cache on Delivery
Cache on DeliveryCache on Delivery
Cache on Delivery
 
DevLOVE Beautiful Development - 第一幕 陽の巻
DevLOVE Beautiful Development - 第一幕 陽の巻DevLOVE Beautiful Development - 第一幕 陽の巻
DevLOVE Beautiful Development - 第一幕 陽の巻
 
Spring 3.1 in a Nutshell - JAX London 2011
Spring 3.1 in a Nutshell - JAX London 2011Spring 3.1 in a Nutshell - JAX London 2011
Spring 3.1 in a Nutshell - JAX London 2011
 
Spring Day | Spring 3.1 in a Nutshell | Sam Brannen
Spring Day | Spring 3.1 in a Nutshell | Sam BrannenSpring Day | Spring 3.1 in a Nutshell | Sam Brannen
Spring Day | Spring 3.1 in a Nutshell | Sam Brannen
 
Java EE8 - by Kito Mann
Java EE8 - by Kito Mann Java EE8 - by Kito Mann
Java EE8 - by Kito Mann
 
ATLRUG Security Workshop - 9/10/2014
ATLRUG  Security Workshop - 9/10/2014 ATLRUG  Security Workshop - 9/10/2014
ATLRUG Security Workshop - 9/10/2014
 
Hands on Performance Tuning - Mike Croft
Hands on Performance Tuning - Mike CroftHands on Performance Tuning - Mike Croft
Hands on Performance Tuning - Mike Croft
 
Hands-on Performance Workshop - The science of performance
Hands-on Performance Workshop - The science of performanceHands-on Performance Workshop - The science of performance
Hands-on Performance Workshop - The science of performance
 

More from OpenBlend society

SOA architecture patterns, Matjaž Jurič (FRI/Univerza v Ljubljani)
SOA architecture patterns, Matjaž Jurič (FRI/Univerza v Ljubljani)SOA architecture patterns, Matjaž Jurič (FRI/Univerza v Ljubljani)
SOA architecture patterns, Matjaž Jurič (FRI/Univerza v Ljubljani)
OpenBlend society
 
National Reference runtime environment, Boris Šaletić (MJU)
National Reference runtime environment, Boris Šaletić (MJU)National Reference runtime environment, Boris Šaletić (MJU)
National Reference runtime environment, Boris Šaletić (MJU)
OpenBlend society
 
Memory is the new disk, disk is the new tape, Bela Ban (JBoss by RedHat)
Memory is the new disk, disk is the new tape, Bela Ban (JBoss by RedHat)Memory is the new disk, disk is the new tape, Bela Ban (JBoss by RedHat)
Memory is the new disk, disk is the new tape, Bela Ban (JBoss by RedHat)
OpenBlend society
 
Introducing Hibernate OGM: porting JPA applications to NoSQL, Sanne Grinovero...
Introducing Hibernate OGM: porting JPA applications to NoSQL, Sanne Grinovero...Introducing Hibernate OGM: porting JPA applications to NoSQL, Sanne Grinovero...
Introducing Hibernate OGM: porting JPA applications to NoSQL, Sanne Grinovero...
OpenBlend society
 
Java SE 7 - The Platform Evolves, Dalibor Topić (Oracle)
Java SE 7 - The Platform Evolves, Dalibor Topić (Oracle)Java SE 7 - The Platform Evolves, Dalibor Topić (Oracle)
Java SE 7 - The Platform Evolves, Dalibor Topić (Oracle)
OpenBlend society
 
Enterprise Java Virtualization, Sacha Labourey
Enterprise Java Virtualization, Sacha LaboureyEnterprise Java Virtualization, Sacha Labourey
Enterprise Java Virtualization, Sacha Labourey
OpenBlend society
 

More from OpenBlend society (12)

SOA architecture patterns, Matjaž Jurič (FRI/Univerza v Ljubljani)
SOA architecture patterns, Matjaž Jurič (FRI/Univerza v Ljubljani)SOA architecture patterns, Matjaž Jurič (FRI/Univerza v Ljubljani)
SOA architecture patterns, Matjaž Jurič (FRI/Univerza v Ljubljani)
 
National Reference runtime environment, Boris Šaletić (MJU)
National Reference runtime environment, Boris Šaletić (MJU)National Reference runtime environment, Boris Šaletić (MJU)
National Reference runtime environment, Boris Šaletić (MJU)
 
Memory is the new disk, disk is the new tape, Bela Ban (JBoss by RedHat)
Memory is the new disk, disk is the new tape, Bela Ban (JBoss by RedHat)Memory is the new disk, disk is the new tape, Bela Ban (JBoss by RedHat)
Memory is the new disk, disk is the new tape, Bela Ban (JBoss by RedHat)
 
Introducing Hibernate OGM: porting JPA applications to NoSQL, Sanne Grinovero...
Introducing Hibernate OGM: porting JPA applications to NoSQL, Sanne Grinovero...Introducing Hibernate OGM: porting JPA applications to NoSQL, Sanne Grinovero...
Introducing Hibernate OGM: porting JPA applications to NoSQL, Sanne Grinovero...
 
Java SE 7 - The Platform Evolves, Dalibor Topić (Oracle)
Java SE 7 - The Platform Evolves, Dalibor Topić (Oracle)Java SE 7 - The Platform Evolves, Dalibor Topić (Oracle)
Java SE 7 - The Platform Evolves, Dalibor Topić (Oracle)
 
How to cuddle your EJBs, Carlo de Wolf
How to cuddle your EJBs, Carlo de WolfHow to cuddle your EJBs, Carlo de Wolf
How to cuddle your EJBs, Carlo de Wolf
 
Enterprise Java Virtualization, Sacha Labourey
Enterprise Java Virtualization, Sacha LaboureyEnterprise Java Virtualization, Sacha Labourey
Enterprise Java Virtualization, Sacha Labourey
 
OSGi & Java EE: A hybrid approach to Enterprise Java Application Development,...
OSGi & Java EE: A hybrid approach to Enterprise Java Application Development,...OSGi & Java EE: A hybrid approach to Enterprise Java Application Development,...
OSGi & Java EE: A hybrid approach to Enterprise Java Application Development,...
 
Tackling Actual Problems on the Wings of the Netbeans Platform, Jure Polutnik
Tackling Actual Problems on the Wings of the Netbeans Platform, Jure PolutnikTackling Actual Problems on the Wings of the Netbeans Platform, Jure Polutnik
Tackling Actual Problems on the Wings of the Netbeans Platform, Jure Polutnik
 
Android Up Close, Martin Sonc
Android Up Close, Martin SoncAndroid Up Close, Martin Sonc
Android Up Close, Martin Sonc
 
Successful Application Lifecycle Management in heterogeneous environments, Ma...
Successful Application Lifecycle Management in heterogeneous environments, Ma...Successful Application Lifecycle Management in heterogeneous environments, Ma...
Successful Application Lifecycle Management in heterogeneous environments, Ma...
 
Becoming an Open Source developer, Dimitris Andreadis
Becoming an Open Source developer, Dimitris AndreadisBecoming an Open Source developer, Dimitris Andreadis
Becoming an Open Source developer, Dimitris Andreadis
 

Recently uploaded

Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Peter Udo Diehl
 

Recently uploaded (20)

In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT Professionals
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Introduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationIntroduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG Evaluation
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara Laskowska
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John Staveley
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
The architecture of Generative AI for enterprises.pdf
The architecture of Generative AI for enterprises.pdfThe architecture of Generative AI for enterprises.pdf
The architecture of Generative AI for enterprises.pdf
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 

Seam 3 from a Web developer’s point of view, Matija Mazi (Parsek)

  • 1. SEAM 3 a Web developer’s view Matija Mazi, Parsek
  • 2.
  • 3. What is Seam 3? • Enterprise Internet application platform • Based on Java EE 6 – Especially CDI
  • 4. Agenda • Java EE 6 Example App • Seam 3 Example App • Seam and Java Standards • Contributing to Seam
  • 5. Java EE 6: Our example • Web Application Technologies – JSF (JavaServer Faces) 2.0 with Facelets – EL (Expression Language) 2.2 • Enterprise Technologies – CDI 1.0 (Contexts & Dependency Injection) – EJB 3.1 (Enterprise JavaBeans) – JPA (Persistence) 2.0 – Bean Validation 1.0
  • 6. Java EE 6: Our example • Let’s see the demo!
  • 7. Java EE 6: What we used • General (javax.annotation.*) • JPA (javax.persistence) – @PostConstruct – EntityManager – CriteriaBuilder, CriteriaQuery • EJB3 (javax.ejb) – @Entity – @Stateful – @Id – @GeneratedValue – @PersistenceContext • CDI (javax.enterprise.*) – @RequestScoped – @Event • Validation (javax.validation.*) – @Observes – @NotNull – @Model – @Pattern – @Produces – @Size • CDI (javax.inject.*) – @Inject – @Named
  • 8. Seam 3: Our example • Let’s see the demo!
  • 9. Seam 3: Features (1/2) • Forge • Seam Configuration – Plugins • Seam Persistence • Seam Solder – Transaction Management – @Veto, @Requires, @Exact, – Seam-managed persistence @Client, @Named packages, contexts @FullyQualified – Annotation Literals – Evaluating EL • Seam Servlet – Resource Loading – Servlet/Session events – Logging – Injectable Servlet objects and request state – Reference to the BeanManager – @RequestParam, – Properties @HeaderParam, – @Unwraps @ContextPath, – Default Beans @CookieParam, @ServerInfo, – Generic Beans @Principal – Service Handler
  • 10. Seam 3: Features (2/2) • Seam Security • Seam Catch • Seam Remoting • Seam International • Seam REST – Locales, Timezones • Seam Validation – Messages • Seam Wicket • Seam Cron • Seam Faces • Seam Drools – Faces Events Propagation – Faces Artifact Injection • Seam Errai CDI (GWT) – Messages • Seam JCR (Content Repo) – @RenderScoped, • Seam JMS @ViewScoped, Flash • Seam Mail – <s:validateForm>, <s:viewAction> • Seam Reports • Seam Social • Seam Spring
  • 11. Seam: a source of ideas for JavaEE standards
  • 12. Seam: a source of ideas for JavaEE standards (stuff in JEE6 that came from Seam) • CDI (JSR 299) • JSF 2 (JSR 314) – @Inject – Navigation – @*Scoped – <f:viewParam> – @Produces – <f:selectItems> – Events – Get Requests – Most of the stuff, really • <h:link>, <h:button> – Scopes • CDI 1.1 (JSR 346) – Annotations • Managed Beans – from Seam 3 • Converters/Valitators • esp. Seam Solder – Resources – Validation integration – EL method parameters
  • 13. Contributing to OS • github account • git installed • No need for commit permissions • https://github.com/seam/international/pull/11
  • 14. Seam 3 and JavaEE 6 • Thank you! mazi@parsek.net
  • 15. Seam 3: Our Example • Seam International • Seam Cron – Messages – Scheduled tasks • Seam Faces • Seam Mail – Messages – Mail templates – @Inject in Validators – Mail sending • Seam Solder – Resource Loading