SlideShare ist ein Scribd-Unternehmen logo
1 von 46
Enterprise Web 2.0
Architectures: from pristine Java
EE to fully-loaded frameworks
Vinicius Senger        Alberto Lemos
Globalcode             Globalcode
Enterprise Architect   Enterprise Architect
This talk…
>   Presents five solid, different Java EE architectures
    
        Each one is based on our consulting experience
        over the past year
>   Discusses the reality of Java Enterprise
    Architecture implementations
>   Presents successful project and consulting
    techniques




                                                           2
Agenda
>   Introduction
>   Architectures:
     1. Pure Web
     2. Web + EJB + JMS
     3. Spring
     4. JBoss Seam
     5. Spring + JBoss Seam
>   Tools & Tips
>   Conclusions

                              3
Presenters
>   Vinicius Senger
>   Alberto Lemos - Dr. Spock

       Founders of GlobalCode
        
            Brazilian Java consulting, implementation, and education
       Over 18 years of software development experience
    
        Java Enterprise Consumers – not API writers…




                                                                       4
Previous JavaOne presentations
>   2004: From Simple JSP Technology to Full J2EE
    Platform in 10 Steps: Stress Test-Based
    Refactoring, 2004

>   2005: Where Is the Bottleneck? A Quantitative
    Study of the Impact of MVC Frameworks;

>   2007: Stress Your Web App Before It Stresses
    You: Tools and Techniques for Extreme Web
    Testing,

                                                    5
Agenda
>   Introduction
>   Architectures:
     1. Pure Web
     2. Web + EJB + JMS
     3. Spring
     4. JBoss Seam
     5. Spring + JBoss Seam
>   Tools & Tips
>   Conclusions

                              6
What matters in your Java EE
environment?
Scalability          Maintainability    Reliability
Availability         Extensibility      Manageability
Performance          Mobility           Compatibility
Usability            Connectivity       Testability
Modularity           Interoperability   Security
Toolability          Auditability       Risk
Commercial Support   Cost               Productivity
Team Skills          Accessibility      Sustainability




                                                         7
Evans Data Corporation
Application Server Rankings in September, 2008

 Scalability          Maintainability     Reliability
 Availability         Extensibility       Manageability
 Performance          Mobility            Compatibility
 Usability            Connectivity (DB)   Testability
 Modularity           Interoperability    Security
 Toolability          Auditability        Risk
 Commercial Support   Cost                Productivity
 Team Skills          Accessibility       Sustainability




                                                           8
What our customers demand

Scalability          Maintainability    Reliability
Availability         Extensibility      Manageability
Performance          Mobility           Compatibility
Usability            Connectivity       Testability
Modularity           Interoperability   Security
Toolability          Auditability       Risk
Commercial Support   Cost               Productivity
Team Skills          Accessibility      Sustainability




                                                         9
Top Java Enterprise Decisions
•    Frameworks: Spring or Seam? Hibernate or
     Toplink? Which JSF Ajax toolkit?
•    UI Design:
     • JSF, Flex, JavaFX, Swing, Wicket, GWT;
3.   EJB or not
     • Good things can be done without EJB;
     • But someone need to take care about
        transaction, security and scalability;
•    Security: does it fit with Java EE security model?
•    Team: what about your team skills?
                                                          10
Spring versus Seam
>   Spring was born as an alternative to Java EE
>   Seam created as a complimentary framework to
    Java EE
>   Seam and Spring focus on Web 2.0, both support
    integration
>   Container use:
      > Seam mostly used with JBoss
      > Spring used in many different containers




                                                     11
Agenda
>   Introduction
>   Architectures:
         Pure Web
      Web + EJB + JMS
      Spring
      JBoss Seam
      Spring + JBoss Seam Architecture
>   Tools & Tips
>   Conclusions

                                          12
Pure Web
Foundations
>   JavaServer Faces 1.2
>   Facelets 1.1.x
>   JSF Ajax component library
>   Uses Managed Beans as main components:
       Controller / Business / DAO Managed Bean
       Use of basic resource injection
    
        Managed Beans dependency with managed
        property



                                                   13
Pure Web
Discussion
>   Advantages
    
        Simplicity
       Support from many tools
    
        Compatibility with many different containers
>   Disadvantages
       Limited transaction and security management
    
        Low modularity




                                                       14
Pure Web
Discussion
>   GoF Patterns can be applied into Managed Beans:
    
        Mediator, Façade, State
       Memento, Decorator;




                                                  15
Pure Web
Where we are using?
>   Startup projects
>   Compatibility and cross-vendor environments
>   Big development team
>   Lower complexity projects




                                                  16
Agenda
>   Introduction
>   Architectures:
      Pure Web
      Web + EJB + JMS
      Spring
      JBoss Seam
      Spring + JBoss Seam Architecture
>   Tools & Tips
>   Conclusions

                                          17
Web + EJB + JMS
Foundations
    JavaServer Faces
                                    }
>
>   Facelets                           Used in Pure Web

>   JSF Ajax component library
>   EJB 3.0
       Session and message-driven
       For business domain code
    
        Provides componentization and modularization
>   JMS and MDBs for critical business processes


                                                          18
Web + EJB + JMS
Discussion
>   Advantages
    
        Support from many tools
       Compatibility with different containers
    
        Better modularity with EJBs
       Increased reliability with JMS and MDBs
>   Disadvantages
    
        Greater complexity




                                                  19
Web + EJB + JMS
Where we are using?
>   Senior team with Java EE 5 experience
>   Scalability available with Java EE
>   Conservative business scenario
>   Cross-vendor environment




                                            20
Agenda
>   Introduction
>   Architectures:
      Pure Web
      Web + EJB + JMS
      Spring
      JBoss Seam
      Spring + JBoss Seam
>   Tools & Tips
>   Conclusions

                             21
Spring
Foundations
    JavaServer Faces
                                 }
>
>   Facelets                    Used in Pure Web

>   JSF Ajax component library
>   POJOs and message-driven POJOs
>   Spring component (POJO)
       Business domain code
>   Spring AOP
>   Spring Security


                                                   22
Spring
Discussion
>   Advantages
    
        Credibility from users
       Integration: Struts, JSF, EJB, POJO, Wicket, etc.
    
        Modularity support with OSGi
       Strong AOP support and culture;
>   Disadvantages
    
        Not a JCP Standard;
       Commercial Support (at least for our market!)
       Future?

                                                            23
Spring
Where we are using
>   Senior teams of developers
>   Complex Transaction and security
>   Integration with non-specified (JCP) technologies
    and frameworks
>   Reliable and conservative enterprise architecture




                                                        24
Agenda
>   Introduction
>   Architectures:
      Pure Web
      Web + EJB + JMS
      Spring
      JBoss Seam
      Spring + JBoss Seam Architecture
>   Tools & Tips
>   Conclusions

                                          25
JBoss Seam
Foundation
>   Integration model for Java EE
    JavaServer Faces
                              }
>
                                  Used in Pure Web
>   Facelets
>   JSF AJAX Component library
>   With or without EJBs
>   Uses Seam Component (POJO) as main component
>   Security with JBoss Rules



                                                26
JBoss Seam
Discussion
>   Advantages
    
        Anticipate Java EE 6: bookmarkable URL,
        conversation, injection, validation;
       JSR 299 - Contexts and Dependendency Injection
        for the Java EE platform
       Transparent use of EJBs
>   Disadvantages
    
        Harder container migration
       Deployment time difficulty
    
        Future with Java EE 6

                                                         27
JBoss Seam
Where we are using?
>   Projects already using JBoss Platform
>   More complex Web applications
>   Applications that require
       Support for BPM and SOA
    
        Better security model for Web
       Contexts for integration / long term transaction




                                                           28
JBoss Seam


DEMO




             29
Agenda
>   Introduction
>   Architectures:
      Pure Web
      Web + EJB + JMS
      Spring
      JBoss Seam
      Spring + JBoss Seam
>   Tools & Tips
>   Conclusions

                             30
Spring + JBoss Seam
Foundation
    JavaServer Faces
                                 }
>
                                   Used in Pure Web
>   Facelets
>   JSF Ajax Component Library
>   Components
       Spring
       Seam
>   Spring Security
>   Spring AOP
                      “Imagine all the frameworks
                       living life in piece.”,
                                                      31
Spring + JBoss Seam
Discussion
>   Spring benefits
       Integration model for enterprise applications with
        enterprise services
       Simplifies the usage of AOP and OSGi
       Great solution for the business tier
       Best for stateless components
>   Seam benefits
       Provides asynchronous, concurrent and stateful access
        to components in a Web context
       Manages the persistence context at the Web tier
       Great solution for the presentation tier
       Best for stateful components
                                                                32
Spring + JBoss Seam
Recommendations
>   Requires experienced senior team
>   Large legacy code: Struts, Spring, JSF, EJB…
>   High TCO
>   Hard maintenance
>   Extreme Learning Curve




                                                   33
Spring+Seam


DEMO




              34
Agenda
>   Introduction
>   Architectures:
     1. Pure Web
     2. Web + EJB + JMS
     3. Spring
     4. JBoss Seam
     5. Spring + JBoss Seam
>   Tools & Tips
>   Conclusions

                              35
Improving JSF 1.2
>   PrettyFaces
    
        Bookmarkable URL in JSF 1.2
>   FacesAnnotations
       Protected managed bean methods with declarative
        security
           SecurityRoles
>   JSFSecurity
    
        JSF Expression Language extended to improve
        security inside pages
           securityScope

                                                          36
Where is the architecture’s code?




                                    37
SuperCRUD.com
> Web engine to generate CRUD applications based
  on collaborative artifacts;
> Online entity editor;
> Different architecture templates can be used,
  including the 5 presented architectures;
> Templates can be customized;
> Artifacts templates can be customized;
> Open-source project;



                                                   38
SuperCRUD.com




DEMO
                39
Agenda
>   Introduction
>   Architectures:
     1. Pure Web
     2. Web + EJB + JMS
     3. Spring
     4. JBoss Seam
     5. Spring + JBoss Seam
>   Tools & Tips
>   Conclusions

                              40
Conclusions

> Java EE + frameworks achieve most of the
  companies needs;
> Architectures may vary depending on localization;
> Pure Java EE 6 architectures will be much more
  powerful;




                                                      41
Our Java EE map:
               #1    #2        #3       #4     #5
               web   web+ejb   Spring   Seam   Seam+Spring
Scalability
Team skills
Tools
Productivity
Commercial
Support*
Cost
Security
OSGi
SOA
Web 2.0

                                                             42
Java EE 6
                      Java EE 6
Scalability
Team skills
Tools
Productivity
Commercial Support*
Cost
Security
OSGi                  Glassfish
SOA
Web 2.0




                                  43
What your project are looking for?

Scalability          Maintainability    Reliability
Availability         Extensibility      Manageability
Performance          Mobility           Compatibility
Usability            Connectivity       Testability
Modularity           Interoperability   Security
Toolability          Auditability       Risk
Commercial Support   Cost               Productivity
Team Skills          Accessibility      Sustainability




                                                         44
THANKS!
Vinicius Senger
vinicius@globalcode.com.br
Alberto Lemos
spock@globalcode.com.br

www.globalcode.com.br
www.supercrud.com

                             45
Vinicius Senger
vinicius@globalcode.com.br

Alberto Lemos
alberto@globalcode.com.br


                             46

Weitere ähnliche Inhalte

Was ist angesagt?

Java EE 7 - Embracing the Cloud and HTML 5
Java EE 7 - Embracing the Cloud and HTML 5Java EE 7 - Embracing the Cloud and HTML 5
Java EE 7 - Embracing the Cloud and HTML 5Amit Naik
 
Java EE 6 and GlassFish v3: Paving the path for future
Java EE 6 and GlassFish v3: Paving the path for futureJava EE 6 and GlassFish v3: Paving the path for future
Java EE 6 and GlassFish v3: Paving the path for futureArun Gupta
 
The Power of Enterprise Java Frameworks
The Power of Enterprise Java FrameworksThe Power of Enterprise Java Frameworks
The Power of Enterprise Java FrameworksClarence Ho
 
Seminar.2008.Jsf.Seam
Seminar.2008.Jsf.SeamSeminar.2008.Jsf.Seam
Seminar.2008.Jsf.Seamroialdaag
 
Java Store & Java Warehouse Overview
Java Store & Java Warehouse OverviewJava Store & Java Warehouse Overview
Java Store & Java Warehouse OverviewStephen Chin
 
IBM Lotusphere 2013 AD109: Using the IBM® Sametime® Proxy SDK: WebSphere Port...
IBM Lotusphere 2013 AD109: Using the IBM® Sametime® Proxy SDK: WebSphere Port...IBM Lotusphere 2013 AD109: Using the IBM® Sametime® Proxy SDK: WebSphere Port...
IBM Lotusphere 2013 AD109: Using the IBM® Sametime® Proxy SDK: WebSphere Port...William Holmes
 
Monitoring of Web Applications and GlassFish for Performance and Availability...
Monitoring of Web Applications and GlassFish for Performance and Availability...Monitoring of Web Applications and GlassFish for Performance and Availability...
Monitoring of Web Applications and GlassFish for Performance and Availability...SL Corporation
 
Java EE 6 Clustering with Glassfish 3.1
Java EE 6 Clustering with Glassfish 3.1 Java EE 6 Clustering with Glassfish 3.1
Java EE 6 Clustering with Glassfish 3.1 Shreedhar Ganapathy
 
IBM WebSphere Application Server Update - Technical University (March 2015)
IBM WebSphere Application Server Update - Technical University (March 2015)IBM WebSphere Application Server Update - Technical University (March 2015)
IBM WebSphere Application Server Update - Technical University (March 2015)Ian Robinson
 
Pro JavaFX Platform - Building Enterprise Applications with JavaFX
Pro JavaFX Platform - Building Enterprise Applications with JavaFXPro JavaFX Platform - Building Enterprise Applications with JavaFX
Pro JavaFX Platform - Building Enterprise Applications with JavaFXStephen Chin
 
Updated resume
Updated resumeUpdated resume
Updated resumepavani p
 
Whats new in was liberty security and cloud readiness
Whats new in was liberty   security and cloud readinessWhats new in was liberty   security and cloud readiness
Whats new in was liberty security and cloud readinesssflynn073
 
CM WebClient for CA Plex
CM WebClient for CA PlexCM WebClient for CA Plex
CM WebClient for CA PlexCM First Group
 
Overview of Java EE 6 by Roberto Chinnici at SFJUG
Overview of Java EE 6 by Roberto Chinnici at SFJUGOverview of Java EE 6 by Roberto Chinnici at SFJUG
Overview of Java EE 6 by Roberto Chinnici at SFJUGMarakana Inc.
 

Was ist angesagt? (20)

Jd greece-2012-joomla-community-abc
Jd greece-2012-joomla-community-abcJd greece-2012-joomla-community-abc
Jd greece-2012-joomla-community-abc
 
Java EE 7 - Embracing the Cloud and HTML 5
Java EE 7 - Embracing the Cloud and HTML 5Java EE 7 - Embracing the Cloud and HTML 5
Java EE 7 - Embracing the Cloud and HTML 5
 
Java EE 6 and GlassFish v3: Paving the path for future
Java EE 6 and GlassFish v3: Paving the path for futureJava EE 6 and GlassFish v3: Paving the path for future
Java EE 6 and GlassFish v3: Paving the path for future
 
The Power of Enterprise Java Frameworks
The Power of Enterprise Java FrameworksThe Power of Enterprise Java Frameworks
The Power of Enterprise Java Frameworks
 
Enterprise GlassFish
Enterprise GlassFishEnterprise GlassFish
Enterprise GlassFish
 
UBNCorpProfile_v3
UBNCorpProfile_v3UBNCorpProfile_v3
UBNCorpProfile_v3
 
Seminar.2008.Jsf.Seam
Seminar.2008.Jsf.SeamSeminar.2008.Jsf.Seam
Seminar.2008.Jsf.Seam
 
Java Store & Java Warehouse Overview
Java Store & Java Warehouse OverviewJava Store & Java Warehouse Overview
Java Store & Java Warehouse Overview
 
IBM Lotusphere 2013 AD109: Using the IBM® Sametime® Proxy SDK: WebSphere Port...
IBM Lotusphere 2013 AD109: Using the IBM® Sametime® Proxy SDK: WebSphere Port...IBM Lotusphere 2013 AD109: Using the IBM® Sametime® Proxy SDK: WebSphere Port...
IBM Lotusphere 2013 AD109: Using the IBM® Sametime® Proxy SDK: WebSphere Port...
 
JSF 2.2
JSF 2.2JSF 2.2
JSF 2.2
 
Monitoring of Web Applications and GlassFish for Performance and Availability...
Monitoring of Web Applications and GlassFish for Performance and Availability...Monitoring of Web Applications and GlassFish for Performance and Availability...
Monitoring of Web Applications and GlassFish for Performance and Availability...
 
Java EE 6 Clustering with Glassfish 3.1
Java EE 6 Clustering with Glassfish 3.1 Java EE 6 Clustering with Glassfish 3.1
Java EE 6 Clustering with Glassfish 3.1
 
IBM WebSphere Application Server Update - Technical University (March 2015)
IBM WebSphere Application Server Update - Technical University (March 2015)IBM WebSphere Application Server Update - Technical University (March 2015)
IBM WebSphere Application Server Update - Technical University (March 2015)
 
Pro JavaFX Platform - Building Enterprise Applications with JavaFX
Pro JavaFX Platform - Building Enterprise Applications with JavaFXPro JavaFX Platform - Building Enterprise Applications with JavaFX
Pro JavaFX Platform - Building Enterprise Applications with JavaFX
 
Updated resume
Updated resumeUpdated resume
Updated resume
 
Whats new in was liberty security and cloud readiness
Whats new in was liberty   security and cloud readinessWhats new in was liberty   security and cloud readiness
Whats new in was liberty security and cloud readiness
 
JavaOne Update zur Java Plattform
JavaOne Update zur Java PlattformJavaOne Update zur Java Plattform
JavaOne Update zur Java Plattform
 
CM WebClient for CA Plex
CM WebClient for CA PlexCM WebClient for CA Plex
CM WebClient for CA Plex
 
Overview of Java EE 6 by Roberto Chinnici at SFJUG
Overview of Java EE 6 by Roberto Chinnici at SFJUGOverview of Java EE 6 by Roberto Chinnici at SFJUG
Overview of Java EE 6 by Roberto Chinnici at SFJUG
 
Dcm for ilOUG
Dcm for ilOUGDcm for ilOUG
Dcm for ilOUG
 

Andere mochten auch

Candidature ADVANCITY : CITe-SERVICES
Candidature ADVANCITY : CITe-SERVICESCandidature ADVANCITY : CITe-SERVICES
Candidature ADVANCITY : CITe-SERVICESQuattrolibri
 
Chp1- Introduction aux eServices
Chp1- Introduction aux eServicesChp1- Introduction aux eServices
Chp1- Introduction aux eServicesLilia Sfaxi
 
eServices-Tp4: esb++
eServices-Tp4: esb++eServices-Tp4: esb++
eServices-Tp4: esb++Lilia Sfaxi
 
eServices-Chp4: ESB
eServices-Chp4: ESBeServices-Chp4: ESB
eServices-Chp4: ESBLilia Sfaxi
 
eServices-Chp3: Composition de Services
eServices-Chp3: Composition de ServiceseServices-Chp3: Composition de Services
eServices-Chp3: Composition de ServicesLilia Sfaxi
 
eServices-Chp2: SOA
eServices-Chp2: SOAeServices-Chp2: SOA
eServices-Chp2: SOALilia Sfaxi
 
eServices-Chp6: WOA
eServices-Chp6: WOAeServices-Chp6: WOA
eServices-Chp6: WOALilia Sfaxi
 
eServices-Chp5: Microservices et API Management
eServices-Chp5: Microservices et API ManagementeServices-Chp5: Microservices et API Management
eServices-Chp5: Microservices et API ManagementLilia Sfaxi
 
Chp1 - Introduction au Développement Mobile
Chp1 - Introduction au Développement MobileChp1 - Introduction au Développement Mobile
Chp1 - Introduction au Développement MobileLilia Sfaxi
 

Andere mochten auch (9)

Candidature ADVANCITY : CITe-SERVICES
Candidature ADVANCITY : CITe-SERVICESCandidature ADVANCITY : CITe-SERVICES
Candidature ADVANCITY : CITe-SERVICES
 
Chp1- Introduction aux eServices
Chp1- Introduction aux eServicesChp1- Introduction aux eServices
Chp1- Introduction aux eServices
 
eServices-Tp4: esb++
eServices-Tp4: esb++eServices-Tp4: esb++
eServices-Tp4: esb++
 
eServices-Chp4: ESB
eServices-Chp4: ESBeServices-Chp4: ESB
eServices-Chp4: ESB
 
eServices-Chp3: Composition de Services
eServices-Chp3: Composition de ServiceseServices-Chp3: Composition de Services
eServices-Chp3: Composition de Services
 
eServices-Chp2: SOA
eServices-Chp2: SOAeServices-Chp2: SOA
eServices-Chp2: SOA
 
eServices-Chp6: WOA
eServices-Chp6: WOAeServices-Chp6: WOA
eServices-Chp6: WOA
 
eServices-Chp5: Microservices et API Management
eServices-Chp5: Microservices et API ManagementeServices-Chp5: Microservices et API Management
eServices-Chp5: Microservices et API Management
 
Chp1 - Introduction au Développement Mobile
Chp1 - Introduction au Développement MobileChp1 - Introduction au Développement Mobile
Chp1 - Introduction au Développement Mobile
 

Ähnlich wie Enterprise Web 2.0: from pristine Java EE to fully-loaded frameworks

Framework adoption for java enterprise application development
Framework adoption for java enterprise application developmentFramework adoption for java enterprise application development
Framework adoption for java enterprise application developmentClarence Ho
 
JEE Course - JEE Overview
JEE Course - JEE  OverviewJEE Course - JEE  Overview
JEE Course - JEE Overviewodedns
 
Comparison Of Open Source App Servers
Comparison Of Open Source App ServersComparison Of Open Source App Servers
Comparison Of Open Source App ServersRogue Wave Software
 
Developing Web Application Using J2EE - Nex
Developing Web Application Using J2EE - NexDeveloping Web Application Using J2EE - Nex
Developing Web Application Using J2EE - NexNexSoftsys
 
Project report for final year project
Project report for final year projectProject report for final year project
Project report for final year projectsuneel singh
 
How Spring Framework Really Works?
How Spring Framework Really Works?How Spring Framework Really Works?
How Spring Framework Really Works?NexSoftsys
 
Top 10 Node.JS Frameworks To Gear Up Your Web App Development in 2021
Top 10 Node.JS Frameworks To Gear Up Your Web App Development in 2021Top 10 Node.JS Frameworks To Gear Up Your Web App Development in 2021
Top 10 Node.JS Frameworks To Gear Up Your Web App Development in 2021Katy Slemon
 
Java application server in the cloud
Java application server in the cloudJava application server in the cloud
Java application server in the cloudadm_exoplatform
 
Java enterprise paradise
Java enterprise paradiseJava enterprise paradise
Java enterprise paradiseAmr Salah
 
The Java EE 7 Platform: Developing for the Cloud (FISL 12)
The Java EE 7 Platform: Developing for the Cloud  (FISL 12)The Java EE 7 Platform: Developing for the Cloud  (FISL 12)
The Java EE 7 Platform: Developing for the Cloud (FISL 12)Arun Gupta
 
TDC 2011: The Java EE 7 Platform: Developing for the Cloud
TDC 2011: The Java EE 7 Platform: Developing for the CloudTDC 2011: The Java EE 7 Platform: Developing for the Cloud
TDC 2011: The Java EE 7 Platform: Developing for the CloudArun Gupta
 
We Can Do Better - IBM's Vision for the Next Generation of Java Runtimes - Jo...
We Can Do Better - IBM's Vision for the Next Generation of Java Runtimes - Jo...We Can Do Better - IBM's Vision for the Next Generation of Java Runtimes - Jo...
We Can Do Better - IBM's Vision for the Next Generation of Java Runtimes - Jo...mfrancis
 
The Complete Spring Tutorial
The Complete Spring TutorialThe Complete Spring Tutorial
The Complete Spring Tutorialcribes
 
Vue3: nuove funzionalità, differenze e come migrare
Vue3: nuove funzionalità, differenze e come migrareVue3: nuove funzionalità, differenze e come migrare
Vue3: nuove funzionalità, differenze e come migrareAndrea Campaci
 
Metaaso J Webframework
Metaaso J WebframeworkMetaaso J Webframework
Metaaso J Webframeworkjwebframework
 
Spring presentecion isil
Spring presentecion isilSpring presentecion isil
Spring presentecion isilWilly Aguirre
 
Spring presentecion isil
Spring presentecion isilSpring presentecion isil
Spring presentecion isilWilly Aguirre
 

Ähnlich wie Enterprise Web 2.0: from pristine Java EE to fully-loaded frameworks (20)

Framework adoption for java enterprise application development
Framework adoption for java enterprise application developmentFramework adoption for java enterprise application development
Framework adoption for java enterprise application development
 
Ejb notes
Ejb notesEjb notes
Ejb notes
 
JEE Course - JEE Overview
JEE Course - JEE  OverviewJEE Course - JEE  Overview
JEE Course - JEE Overview
 
Comparison Of Open Source App Servers
Comparison Of Open Source App ServersComparison Of Open Source App Servers
Comparison Of Open Source App Servers
 
Spring ppt
Spring pptSpring ppt
Spring ppt
 
Developing Web Application Using J2EE - Nex
Developing Web Application Using J2EE - NexDeveloping Web Application Using J2EE - Nex
Developing Web Application Using J2EE - Nex
 
Project report for final year project
Project report for final year projectProject report for final year project
Project report for final year project
 
How Spring Framework Really Works?
How Spring Framework Really Works?How Spring Framework Really Works?
How Spring Framework Really Works?
 
Jboss
JbossJboss
Jboss
 
Top 10 Node.JS Frameworks To Gear Up Your Web App Development in 2021
Top 10 Node.JS Frameworks To Gear Up Your Web App Development in 2021Top 10 Node.JS Frameworks To Gear Up Your Web App Development in 2021
Top 10 Node.JS Frameworks To Gear Up Your Web App Development in 2021
 
Java application server in the cloud
Java application server in the cloudJava application server in the cloud
Java application server in the cloud
 
Java enterprise paradise
Java enterprise paradiseJava enterprise paradise
Java enterprise paradise
 
The Java EE 7 Platform: Developing for the Cloud (FISL 12)
The Java EE 7 Platform: Developing for the Cloud  (FISL 12)The Java EE 7 Platform: Developing for the Cloud  (FISL 12)
The Java EE 7 Platform: Developing for the Cloud (FISL 12)
 
TDC 2011: The Java EE 7 Platform: Developing for the Cloud
TDC 2011: The Java EE 7 Platform: Developing for the CloudTDC 2011: The Java EE 7 Platform: Developing for the Cloud
TDC 2011: The Java EE 7 Platform: Developing for the Cloud
 
We Can Do Better - IBM's Vision for the Next Generation of Java Runtimes - Jo...
We Can Do Better - IBM's Vision for the Next Generation of Java Runtimes - Jo...We Can Do Better - IBM's Vision for the Next Generation of Java Runtimes - Jo...
We Can Do Better - IBM's Vision for the Next Generation of Java Runtimes - Jo...
 
The Complete Spring Tutorial
The Complete Spring TutorialThe Complete Spring Tutorial
The Complete Spring Tutorial
 
Vue3: nuove funzionalità, differenze e come migrare
Vue3: nuove funzionalità, differenze e come migrareVue3: nuove funzionalità, differenze e come migrare
Vue3: nuove funzionalità, differenze e come migrare
 
Metaaso J Webframework
Metaaso J WebframeworkMetaaso J Webframework
Metaaso J Webframework
 
Spring presentecion isil
Spring presentecion isilSpring presentecion isil
Spring presentecion isil
 
Spring presentecion isil
Spring presentecion isilSpring presentecion isil
Spring presentecion isil
 

Mehr von Dr. Spock

Improving Batch-Process Testing Techniques with a Domain-Specific Language
Improving Batch-Process Testing Techniques with a Domain-Specific LanguageImproving Batch-Process Testing Techniques with a Domain-Specific Language
Improving Batch-Process Testing Techniques with a Domain-Specific LanguageDr. Spock
 
Avoiding Java EE Application Design Traps to Achieve Effective Use of Cloud C...
Avoiding Java EE Application Design Traps to Achieve Effective Use of Cloud C...Avoiding Java EE Application Design Traps to Achieve Effective Use of Cloud C...
Avoiding Java EE Application Design Traps to Achieve Effective Use of Cloud C...Dr. Spock
 
Evitando Armadilhas no Projeto de Aplicações Java EE para uso eficaz na nuvem
Evitando Armadilhas no Projeto de Aplicações Java EE para uso eficaz na nuvemEvitando Armadilhas no Projeto de Aplicações Java EE para uso eficaz na nuvem
Evitando Armadilhas no Projeto de Aplicações Java EE para uso eficaz na nuvemDr. Spock
 
Novidades do JSF: Um tour completo no JSF 2.2
Novidades do JSF: Um tour completo no JSF 2.2Novidades do JSF: Um tour completo no JSF 2.2
Novidades do JSF: Um tour completo no JSF 2.2Dr. Spock
 
Workshop de Introdução ao ScrumToys
Workshop de Introdução ao ScrumToysWorkshop de Introdução ao ScrumToys
Workshop de Introdução ao ScrumToysDr. Spock
 
TDC2012: Usando os recursos de extensibilidade da API de CDI do Java EE 6
TDC2012: Usando os recursos de extensibilidade da API de CDI do Java EE 6TDC2012: Usando os recursos de extensibilidade da API de CDI do Java EE 6
TDC2012: Usando os recursos de extensibilidade da API de CDI do Java EE 6Dr. Spock
 
TDC2012: Explorando os conceitos básicos da API de CDI do Java EE 6
TDC2012: Explorando os conceitos básicos da API de CDI do Java EE 6TDC2012: Explorando os conceitos básicos da API de CDI do Java EE 6
TDC2012: Explorando os conceitos básicos da API de CDI do Java EE 6Dr. Spock
 
TDC2011: Spring Mobile
TDC2011: Spring MobileTDC2011: Spring Mobile
TDC2011: Spring MobileDr. Spock
 
TDC2011: Spring, uma plataforma enterprise, social, móvel e nas nuvens
TDC2011: Spring, uma plataforma enterprise, social, móvel e nas nuvensTDC2011: Spring, uma plataforma enterprise, social, móvel e nas nuvens
TDC2011: Spring, uma plataforma enterprise, social, móvel e nas nuvensDr. Spock
 
TDC2011: Arquitetura de Software Enterprise
TDC2011: Arquitetura de Software EnterpriseTDC2011: Arquitetura de Software Enterprise
TDC2011: Arquitetura de Software EnterpriseDr. Spock
 
TDC2011: Java EE 6 & Azure
TDC2011: Java EE 6 & AzureTDC2011: Java EE 6 & Azure
TDC2011: Java EE 6 & AzureDr. Spock
 
Spring Framework no desenvolvimento móvel
Spring Framework no desenvolvimento móvelSpring Framework no desenvolvimento móvel
Spring Framework no desenvolvimento móvelDr. Spock
 
Desafios no deploy de aplicações Java EE 6 no Microsoft Azure
Desafios no deploy de aplicações Java EE 6 no Microsoft AzureDesafios no deploy de aplicações Java EE 6 no Microsoft Azure
Desafios no deploy de aplicações Java EE 6 no Microsoft AzureDr. Spock
 
Performance Tips and Tricks: Java EE, Java Persistence API and JavaServer Faces
Performance Tips and Tricks: Java EE, Java Persistence API and JavaServer FacesPerformance Tips and Tricks: Java EE, Java Persistence API and JavaServer Faces
Performance Tips and Tricks: Java EE, Java Persistence API and JavaServer FacesDr. Spock
 
Dicas e truques sobre performance em JavaEE, JPA e JSF
Dicas e truques sobre performance em JavaEE, JPA e JSFDicas e truques sobre performance em JavaEE, JPA e JSF
Dicas e truques sobre performance em JavaEE, JPA e JSFDr. Spock
 
Computação Física com Arduino, Program-ME e Java
Computação Física com Arduino, Program-ME e JavaComputação Física com Arduino, Program-ME e Java
Computação Física com Arduino, Program-ME e JavaDr. Spock
 
Spring 3: Uma Plataforma além do Framework
Spring 3: Uma Plataforma além do FrameworkSpring 3: Uma Plataforma além do Framework
Spring 3: Uma Plataforma além do FrameworkDr. Spock
 
Produtividade com Spring Roo no Google App Engine
Produtividade com Spring Roo no Google App EngineProdutividade com Spring Roo no Google App Engine
Produtividade com Spring Roo no Google App EngineDr. Spock
 
Criando uma Aplicação Web com Spring Roo em 5 minutos!
Criando uma Aplicação Web com Spring Roo em 5 minutos!Criando uma Aplicação Web com Spring Roo em 5 minutos!
Criando uma Aplicação Web com Spring Roo em 5 minutos!Dr. Spock
 
Spring Framework 3: Um 'brainstorm' de novas funcionalidades
Spring Framework 3: Um 'brainstorm' de novas funcionalidadesSpring Framework 3: Um 'brainstorm' de novas funcionalidades
Spring Framework 3: Um 'brainstorm' de novas funcionalidadesDr. Spock
 

Mehr von Dr. Spock (20)

Improving Batch-Process Testing Techniques with a Domain-Specific Language
Improving Batch-Process Testing Techniques with a Domain-Specific LanguageImproving Batch-Process Testing Techniques with a Domain-Specific Language
Improving Batch-Process Testing Techniques with a Domain-Specific Language
 
Avoiding Java EE Application Design Traps to Achieve Effective Use of Cloud C...
Avoiding Java EE Application Design Traps to Achieve Effective Use of Cloud C...Avoiding Java EE Application Design Traps to Achieve Effective Use of Cloud C...
Avoiding Java EE Application Design Traps to Achieve Effective Use of Cloud C...
 
Evitando Armadilhas no Projeto de Aplicações Java EE para uso eficaz na nuvem
Evitando Armadilhas no Projeto de Aplicações Java EE para uso eficaz na nuvemEvitando Armadilhas no Projeto de Aplicações Java EE para uso eficaz na nuvem
Evitando Armadilhas no Projeto de Aplicações Java EE para uso eficaz na nuvem
 
Novidades do JSF: Um tour completo no JSF 2.2
Novidades do JSF: Um tour completo no JSF 2.2Novidades do JSF: Um tour completo no JSF 2.2
Novidades do JSF: Um tour completo no JSF 2.2
 
Workshop de Introdução ao ScrumToys
Workshop de Introdução ao ScrumToysWorkshop de Introdução ao ScrumToys
Workshop de Introdução ao ScrumToys
 
TDC2012: Usando os recursos de extensibilidade da API de CDI do Java EE 6
TDC2012: Usando os recursos de extensibilidade da API de CDI do Java EE 6TDC2012: Usando os recursos de extensibilidade da API de CDI do Java EE 6
TDC2012: Usando os recursos de extensibilidade da API de CDI do Java EE 6
 
TDC2012: Explorando os conceitos básicos da API de CDI do Java EE 6
TDC2012: Explorando os conceitos básicos da API de CDI do Java EE 6TDC2012: Explorando os conceitos básicos da API de CDI do Java EE 6
TDC2012: Explorando os conceitos básicos da API de CDI do Java EE 6
 
TDC2011: Spring Mobile
TDC2011: Spring MobileTDC2011: Spring Mobile
TDC2011: Spring Mobile
 
TDC2011: Spring, uma plataforma enterprise, social, móvel e nas nuvens
TDC2011: Spring, uma plataforma enterprise, social, móvel e nas nuvensTDC2011: Spring, uma plataforma enterprise, social, móvel e nas nuvens
TDC2011: Spring, uma plataforma enterprise, social, móvel e nas nuvens
 
TDC2011: Arquitetura de Software Enterprise
TDC2011: Arquitetura de Software EnterpriseTDC2011: Arquitetura de Software Enterprise
TDC2011: Arquitetura de Software Enterprise
 
TDC2011: Java EE 6 & Azure
TDC2011: Java EE 6 & AzureTDC2011: Java EE 6 & Azure
TDC2011: Java EE 6 & Azure
 
Spring Framework no desenvolvimento móvel
Spring Framework no desenvolvimento móvelSpring Framework no desenvolvimento móvel
Spring Framework no desenvolvimento móvel
 
Desafios no deploy de aplicações Java EE 6 no Microsoft Azure
Desafios no deploy de aplicações Java EE 6 no Microsoft AzureDesafios no deploy de aplicações Java EE 6 no Microsoft Azure
Desafios no deploy de aplicações Java EE 6 no Microsoft Azure
 
Performance Tips and Tricks: Java EE, Java Persistence API and JavaServer Faces
Performance Tips and Tricks: Java EE, Java Persistence API and JavaServer FacesPerformance Tips and Tricks: Java EE, Java Persistence API and JavaServer Faces
Performance Tips and Tricks: Java EE, Java Persistence API and JavaServer Faces
 
Dicas e truques sobre performance em JavaEE, JPA e JSF
Dicas e truques sobre performance em JavaEE, JPA e JSFDicas e truques sobre performance em JavaEE, JPA e JSF
Dicas e truques sobre performance em JavaEE, JPA e JSF
 
Computação Física com Arduino, Program-ME e Java
Computação Física com Arduino, Program-ME e JavaComputação Física com Arduino, Program-ME e Java
Computação Física com Arduino, Program-ME e Java
 
Spring 3: Uma Plataforma além do Framework
Spring 3: Uma Plataforma além do FrameworkSpring 3: Uma Plataforma além do Framework
Spring 3: Uma Plataforma além do Framework
 
Produtividade com Spring Roo no Google App Engine
Produtividade com Spring Roo no Google App EngineProdutividade com Spring Roo no Google App Engine
Produtividade com Spring Roo no Google App Engine
 
Criando uma Aplicação Web com Spring Roo em 5 minutos!
Criando uma Aplicação Web com Spring Roo em 5 minutos!Criando uma Aplicação Web com Spring Roo em 5 minutos!
Criando uma Aplicação Web com Spring Roo em 5 minutos!
 
Spring Framework 3: Um 'brainstorm' de novas funcionalidades
Spring Framework 3: Um 'brainstorm' de novas funcionalidadesSpring Framework 3: Um 'brainstorm' de novas funcionalidades
Spring Framework 3: Um 'brainstorm' de novas funcionalidades
 

Kürzlich hochgeladen

AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 

Kürzlich hochgeladen (20)

AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 

Enterprise Web 2.0: from pristine Java EE to fully-loaded frameworks

  • 1. Enterprise Web 2.0 Architectures: from pristine Java EE to fully-loaded frameworks Vinicius Senger Alberto Lemos Globalcode Globalcode Enterprise Architect Enterprise Architect
  • 2. This talk… > Presents five solid, different Java EE architectures  Each one is based on our consulting experience over the past year > Discusses the reality of Java Enterprise Architecture implementations > Presents successful project and consulting techniques 2
  • 3. Agenda > Introduction > Architectures: 1. Pure Web 2. Web + EJB + JMS 3. Spring 4. JBoss Seam 5. Spring + JBoss Seam > Tools & Tips > Conclusions 3
  • 4. Presenters > Vinicius Senger > Alberto Lemos - Dr. Spock  Founders of GlobalCode  Brazilian Java consulting, implementation, and education  Over 18 years of software development experience  Java Enterprise Consumers – not API writers… 4
  • 5. Previous JavaOne presentations > 2004: From Simple JSP Technology to Full J2EE Platform in 10 Steps: Stress Test-Based Refactoring, 2004 > 2005: Where Is the Bottleneck? A Quantitative Study of the Impact of MVC Frameworks; > 2007: Stress Your Web App Before It Stresses You: Tools and Techniques for Extreme Web Testing, 5
  • 6. Agenda > Introduction > Architectures: 1. Pure Web 2. Web + EJB + JMS 3. Spring 4. JBoss Seam 5. Spring + JBoss Seam > Tools & Tips > Conclusions 6
  • 7. What matters in your Java EE environment? Scalability Maintainability Reliability Availability Extensibility Manageability Performance Mobility Compatibility Usability Connectivity Testability Modularity Interoperability Security Toolability Auditability Risk Commercial Support Cost Productivity Team Skills Accessibility Sustainability 7
  • 8. Evans Data Corporation Application Server Rankings in September, 2008 Scalability Maintainability Reliability Availability Extensibility Manageability Performance Mobility Compatibility Usability Connectivity (DB) Testability Modularity Interoperability Security Toolability Auditability Risk Commercial Support Cost Productivity Team Skills Accessibility Sustainability 8
  • 9. What our customers demand Scalability Maintainability Reliability Availability Extensibility Manageability Performance Mobility Compatibility Usability Connectivity Testability Modularity Interoperability Security Toolability Auditability Risk Commercial Support Cost Productivity Team Skills Accessibility Sustainability 9
  • 10. Top Java Enterprise Decisions • Frameworks: Spring or Seam? Hibernate or Toplink? Which JSF Ajax toolkit? • UI Design: • JSF, Flex, JavaFX, Swing, Wicket, GWT; 3. EJB or not • Good things can be done without EJB; • But someone need to take care about transaction, security and scalability; • Security: does it fit with Java EE security model? • Team: what about your team skills? 10
  • 11. Spring versus Seam > Spring was born as an alternative to Java EE > Seam created as a complimentary framework to Java EE > Seam and Spring focus on Web 2.0, both support integration > Container use: > Seam mostly used with JBoss > Spring used in many different containers 11
  • 12. Agenda > Introduction > Architectures: Pure Web  Web + EJB + JMS  Spring  JBoss Seam  Spring + JBoss Seam Architecture > Tools & Tips > Conclusions 12
  • 13. Pure Web Foundations > JavaServer Faces 1.2 > Facelets 1.1.x > JSF Ajax component library > Uses Managed Beans as main components:  Controller / Business / DAO Managed Bean  Use of basic resource injection  Managed Beans dependency with managed property 13
  • 14. Pure Web Discussion > Advantages  Simplicity  Support from many tools  Compatibility with many different containers > Disadvantages  Limited transaction and security management  Low modularity 14
  • 15. Pure Web Discussion > GoF Patterns can be applied into Managed Beans:  Mediator, Façade, State  Memento, Decorator; 15
  • 16. Pure Web Where we are using? > Startup projects > Compatibility and cross-vendor environments > Big development team > Lower complexity projects 16
  • 17. Agenda > Introduction > Architectures:  Pure Web  Web + EJB + JMS  Spring  JBoss Seam  Spring + JBoss Seam Architecture > Tools & Tips > Conclusions 17
  • 18. Web + EJB + JMS Foundations JavaServer Faces } > > Facelets Used in Pure Web > JSF Ajax component library > EJB 3.0  Session and message-driven  For business domain code  Provides componentization and modularization > JMS and MDBs for critical business processes 18
  • 19. Web + EJB + JMS Discussion > Advantages  Support from many tools  Compatibility with different containers  Better modularity with EJBs  Increased reliability with JMS and MDBs > Disadvantages  Greater complexity 19
  • 20. Web + EJB + JMS Where we are using? > Senior team with Java EE 5 experience > Scalability available with Java EE > Conservative business scenario > Cross-vendor environment 20
  • 21. Agenda > Introduction > Architectures:  Pure Web  Web + EJB + JMS  Spring  JBoss Seam  Spring + JBoss Seam > Tools & Tips > Conclusions 21
  • 22. Spring Foundations JavaServer Faces } > > Facelets Used in Pure Web > JSF Ajax component library > POJOs and message-driven POJOs > Spring component (POJO)  Business domain code > Spring AOP > Spring Security 22
  • 23. Spring Discussion > Advantages  Credibility from users  Integration: Struts, JSF, EJB, POJO, Wicket, etc.  Modularity support with OSGi  Strong AOP support and culture; > Disadvantages  Not a JCP Standard;  Commercial Support (at least for our market!)  Future? 23
  • 24. Spring Where we are using > Senior teams of developers > Complex Transaction and security > Integration with non-specified (JCP) technologies and frameworks > Reliable and conservative enterprise architecture 24
  • 25. Agenda > Introduction > Architectures:  Pure Web  Web + EJB + JMS  Spring  JBoss Seam  Spring + JBoss Seam Architecture > Tools & Tips > Conclusions 25
  • 26. JBoss Seam Foundation > Integration model for Java EE JavaServer Faces } > Used in Pure Web > Facelets > JSF AJAX Component library > With or without EJBs > Uses Seam Component (POJO) as main component > Security with JBoss Rules 26
  • 27. JBoss Seam Discussion > Advantages  Anticipate Java EE 6: bookmarkable URL, conversation, injection, validation;  JSR 299 - Contexts and Dependendency Injection for the Java EE platform  Transparent use of EJBs > Disadvantages  Harder container migration  Deployment time difficulty  Future with Java EE 6 27
  • 28. JBoss Seam Where we are using? > Projects already using JBoss Platform > More complex Web applications > Applications that require  Support for BPM and SOA  Better security model for Web  Contexts for integration / long term transaction 28
  • 30. Agenda > Introduction > Architectures:  Pure Web  Web + EJB + JMS  Spring  JBoss Seam  Spring + JBoss Seam > Tools & Tips > Conclusions 30
  • 31. Spring + JBoss Seam Foundation JavaServer Faces } > Used in Pure Web > Facelets > JSF Ajax Component Library > Components  Spring  Seam > Spring Security > Spring AOP “Imagine all the frameworks living life in piece.”, 31
  • 32. Spring + JBoss Seam Discussion > Spring benefits  Integration model for enterprise applications with enterprise services  Simplifies the usage of AOP and OSGi  Great solution for the business tier  Best for stateless components > Seam benefits  Provides asynchronous, concurrent and stateful access to components in a Web context  Manages the persistence context at the Web tier  Great solution for the presentation tier  Best for stateful components 32
  • 33. Spring + JBoss Seam Recommendations > Requires experienced senior team > Large legacy code: Struts, Spring, JSF, EJB… > High TCO > Hard maintenance > Extreme Learning Curve 33
  • 35. Agenda > Introduction > Architectures: 1. Pure Web 2. Web + EJB + JMS 3. Spring 4. JBoss Seam 5. Spring + JBoss Seam > Tools & Tips > Conclusions 35
  • 36. Improving JSF 1.2 > PrettyFaces  Bookmarkable URL in JSF 1.2 > FacesAnnotations  Protected managed bean methods with declarative security  SecurityRoles > JSFSecurity  JSF Expression Language extended to improve security inside pages  securityScope 36
  • 37. Where is the architecture’s code? 37
  • 38. SuperCRUD.com > Web engine to generate CRUD applications based on collaborative artifacts; > Online entity editor; > Different architecture templates can be used, including the 5 presented architectures; > Templates can be customized; > Artifacts templates can be customized; > Open-source project; 38
  • 40. Agenda > Introduction > Architectures: 1. Pure Web 2. Web + EJB + JMS 3. Spring 4. JBoss Seam 5. Spring + JBoss Seam > Tools & Tips > Conclusions 40
  • 41. Conclusions > Java EE + frameworks achieve most of the companies needs; > Architectures may vary depending on localization; > Pure Java EE 6 architectures will be much more powerful; 41
  • 42. Our Java EE map: #1 #2 #3 #4 #5 web web+ejb Spring Seam Seam+Spring Scalability Team skills Tools Productivity Commercial Support* Cost Security OSGi SOA Web 2.0 42
  • 43. Java EE 6 Java EE 6 Scalability Team skills Tools Productivity Commercial Support* Cost Security OSGi Glassfish SOA Web 2.0 43
  • 44. What your project are looking for? Scalability Maintainability Reliability Availability Extensibility Manageability Performance Mobility Compatibility Usability Connectivity Testability Modularity Interoperability Security Toolability Auditability Risk Commercial Support Cost Productivity Team Skills Accessibility Sustainability 44