Devoxx - Building Next-Generation Enterprise Applications in Java

Embed Size (px)

Text of Devoxx - Building Next-Generation Enterprise Applications in Java

  • 1. Building Next-Generation Enterprise Applications in Javaa.k.a. Dukes Duct Tape AdventuresBert Ertman (@BertErtman)Fellow at LuminisPaul Bakker (@pbakker)Sr. developer at Luminis Technologies

2. DISCLAIMER 3. The following is intended to outline ourgeneral product direction. It is intended forinformation purposes only, and may not beincorporated into any contract. It is not a commitment to deliver any material, code,or functionality, and should not be reliedupon in making purchasing decisions. The development, release, and timing of any features or functionality described forOracles products remains at the sole discretion of Oracle. 4. IntroductionFunctional vs. Whats an enterprise application anyway?Non-functional4 5. Non-functional system capabilities Availability Capacity Extensibility Flexibility Manageability Performance Reliability Scalability Security Testability 5 6. How to accomplish that? Remoting Fail-over Dependency Integration testingmanagement Asynchronous Caching invocations Web Services Transactions Messaging (JMS) Security Scheduling / timers Singletons Load-balancing ...6 7. ArchitectureBusiness rules/validations Domain objects UI rendering Data storageTransactions Client-side validation ConsistencyPresentation Navigation BusinessDataData Logic Logic Logic AccessScreen/workow Object/relational mappingmanagementInvoking Enterprise Information Systems 7 8. Lets get started... So, whats the typicalexample of an enterprise application? 8 9. That is probably...WRONG! 9 10. Remember this? 10 11. Our toolbox Application Server - Glassfish v3.1 / JBoss AS 7 Database - MySQL Build tool - Maven (ehhh...well) Java IDE - ... 11 12. But wait... PET STORES SUCK! Hmm...lets think of a better analogy...12 13. #qotdJava EE 6 is the DUCT TAPEof modern enterprisedevelopment 13 14. Lets visualize... Java EE 6Java EE 614 15. Yep, its cool...15 16. Run it by Google 16 17. Hell yeah :-)17 18. Enterprise - revisited!18 19. DEMOCode can be downloaded from: 20. Where is the pattern love? 20 21. Heavy-weight vs. Light-weight21 22. EJB: Enterprise Java BabesEJB: Enterprise Java Babes#ftw 23. Downsides of Java EE? KISS, DRY, and YAGNI Instead of only talking about them you now have toprove them in practice More bugs per # LOC ;-) Small deployments OH: So they spent 3 months building this app and itsONLY a 100k WAR file? 23 24. So...With Java EE 6 in winter,who needs Spring? it sucks anyway...24 25. More info Bert Ertman Twitter: @BertErtman E-mail: Paul Bakker Twitter: @pbakker E-mail: 25 26. The EndHappy coding!26