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

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    2 Favorites

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

    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
    29. JBoss Seam DEMO 29
    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
    34. Spring+Seam DEMO 34
    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
    39. SuperCRUD.com DEMO 39
    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
    45. THANKS! Vinicius Senger vinicius@globalcode.com.br Alberto Lemos spock@globalcode.com.br www.globalcode.com.br www.supercrud.com 45
    46. Vinicius Senger vinicius@globalcode.com.br Alberto Lemos alberto@globalcode.com.br 46

    + Alberto LemosAlberto Lemos, 4 months ago

    custom

    484 views, 2 favs, 1 embeds more stats

    Presentation realized at JavaOne 2009.

    More info about this document

    CC Attribution-NonCommercial LicenseCC Attribution-NonCommercial License

    Go to text version

    • Total Views 484
      • 459 on SlideShare
      • 25 from embeds
    • Comments 0
    • Favorites 2
    • Downloads 0
    Most viewed embeds
    • 25 views on http://blog.spock.com.br

    more

    All embeds
    • 25 views on http://blog.spock.com.br

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories