JEE Development
Tech Lead Tech Lead blog: blog: BSc UQ +MIT QUT BSc UQ +MIT QUT over 10 years experience in the IT industry over 10 years experience in the IT industry Oracle, IBM, BNP Paribas USA, UK, Brisbane Developer at Ephox since 2007 Developer at Ephox since 2007 Rob Dawson
Product Company Product Company Agile Development Agile Development Small Growing Exciting Company Small Growing Exciting Company Research and Development headed out of Brisbane Research and Development headed out of Brisbane Ephox
Boss Said so Boss Said so Cross platform Cross platform Enterprise Enterprise Google App Engine Google App Engine Why JEE
Googlefight
Another fight
Big Big ENTERPRISE ENTERPRISE Lots of Open Source Frameworks Lots of Open Source Frameworks JEE
Lots of vendor support Lots of vendor support Won’t dissapear Won’t dissapear Slow to change can be good Slow to change can be good JEE Big
Standard stacks Standard stacks Centralised system admin Centralised system admin Scaling Scaling Easy to hire people Easy to hire people Enterprise
Pictures (architecture) Pictures (architecture) Simple Example Simple Example Enterprise Example Enterprise Example EditLive! in Enterprise EditLive! in Enterprise Navigating the Maze Navigating the Maze Plan
Play Framework
State? State? Communication between Nodes Communication between Nodes Share Nothing Share Nothing Scaling
Good Good Big apps Scaling Enterprise Careful Careful Size Complexity Use what you need JEE
Break
Blog Blog Struts 2 Struts 2 Hibernate Hibernate ant ant Simple Example
fred fred XML
Object Relational Mapping tool Object Relational Mapping tool Map objects to tables Map objects to tables XML + Annotations based XML + Annotations based Hibernate
MVC Tool for Web Apps MVC Tool for Web Apps Front Controller, actions and views Front Controller, actions and views Xml based configuration Xml based configuration Struts 2
Good Good Lots of tasks Bad Bad Xml (author apologised) 80.net/Articles/Java/AntAndXML.html 80.net/Articles/Java/AntAndXML.html 80.net/Articles/Java/AntAndXML.htmlAnt
Blog Example
Lots of Code Created Lots of Code Created Need generation magic Need generation magic Refactoring Refactoring IDE Critical
IntelliJ IntelliJ Eclipse Eclipse NetBeans NetBeans IDEs
Starter frameworks Starter frameworks Open Source frameworks Open Source frameworks JEE Apps Tend to be complex
Starter Frameworks
Rails/Django for Java Development mode that works on source files combination of conventions + compile time magic to give less typing Play! Framework
Roller - Enterprise Blog Roller - Enterprise Blog Packaged by Packaged by Sun IBM Huge Huge Open Source Blog
Roller Example
Plugins + customisation
Play! Yabe Demo
Can be hard Can be hard Google is your friend Google is your friend Choice not needed (experts choose for you)? Choice not needed (experts choose for you)? Choosing Frameworks
Documentation of Framework Documentation of Framework Try on a small project first Try on a small project first Active development Active development Useful/helpful community Useful/helpful community Complexity Complexity More on Choosing frameworks
SCALA SCALA JRuby JRuby Jython Jython JEE Not Just Java
Complete framework Complete framework Useful in Enterprise Useful in Enterprise JEE
Questions?
Offices in San Francisco, London and Brisbane Offices in San Francisco, London and Brisbane Fast growing software company Fast growing software company Java and Web 2.0 software development Java and Web 2.0 software development History of Griffith Graduates History of Griffith Graduates Rob Dawson Tech Lead - Ephox Corporation Rob Dawson Tech Lead - Ephox Corporation Ephox is Looking for Graduates