Title: Java Trends 2005 2006
1Java Trends 2005 / 2006
- Christopher Rodrigues Macias
2Who Am I?
- Programming since 89
- Java developer/architect 99 03
- EA-like role for the ATO 03 04
- Current employer is QCOM (Unisys)
- Enterprise architect for IP Australia
3Agenda
- About this Presentation
- The Future of Java in the Enterprise
- Cool Stuff (Java Outside the Enterprise)
- Crystal Ball Gazing
- Summary
4About this Presentation
- Java is (Still) Evolving Rapidly
- The Developers Lament
- Im so busy at work, how am I supposed to keep
up with this stuff?!? - The Enterprise Architects Lament
- I never get to code anymore! All I can do is
read about coding!
5The Future of Java in the Enterprise
- The 2 is Going
- Annotations, Generics DI
- Spring/Hibernate Ascendant
- IDE Feature War
- Battle of the Web Frameworks
- Huge Interest in JBI
- The Java EE Stack Past and Future
- Odds Ends
6The 2 is Going
- 2 will be dropped from future releases of Java
- Change will appear in next releases
- J2SE becomes Java Standard Edition or Java SE
- J2EE becomes Java Enterprise Edition or Java EE
- Not retroactive
- Also the .0 suffix will no longer appear in
names of initial releases (e.g. EJB 3)
7Annotations, Generics DI
- These three concepts are driving Java EE changes
- You need to learn before Java EE 5 emerges
8Generics
- Primary use is to make Collection classes type
safe - LinkedListltIntegergt list new
LinkedListltIntegergt() - Genericised classes are relatively easy to use,
very complex to design - public static ltT extends Comparablelt? super Tgtgt
void sort(ListltTgt list)
9Dependency Injection
- Basic concept components tell a container what
other objects (interfaces) they need to function - Two dominant patterns
- Setter injection
- Constructor injection
- Currently the dominant architectural concept in
the Java world - Enables POJO programming
- Basis for Spring, EJB 3
10Annotations
- Annotations are at the heart of EJB 3
- _at_Stateless
- _at_Inject
- _at_TransactionAttribute(SUPPORTS)
- Dramatically reduce the amount of code written
- Dramatically reduce the need for config files
11What about AOP?
- Annotations are a step toward AOP
- Growing in popularity, but not mainstream just
yet - Unification of AspectJ and AspectWerkz
- JBOSS and Spring are evangelising the approach
- Well know in the next year
12Spring/Hibernate Ascendant
- Both frameworks were omnipresent
- Hibernate adoption is very high
- may slow with introduction of EJB 3
- Spring has no serious competitors (yet)
- de facto Java EE application framework
- Assessment
- Spring and Hibernate are almost a standard part
of the Java EE stack - Impact of EJB 3 is the unknown factor
13IDE Feature War Eclipse vs. NetBeans vs. IDEA
- Competition is a beautiful thing
- Check out Matisse Swing UI builder
- My take
- Eclipse will rule back-end development
- Vendor-specific toolsets (WSAD, WLWS) are merging
with Eclipse over time - NetBeans will compete effectively in the areas of
Swing GUI and mobile devices - IDEA will be the elite choice, but a niche
player - Web UI? Too early to tell
14Battle of the Web Frameworks
- Struts is Dead, Long Live Struts
- Component frameworks, not Model 2 MVC are the
future(?) - Sun, tool vendors are backing JSF
- Shale framework highlights weaknesses in JSF,
but it is maturing - Tapestry, Wicket and Echo 2 will push JSF
- WebWork 2, Spring MVC are solid, but perceived as
old school
15Huge Interest in JBI
- JSR 208 Java Business Integration
- Interoperability and abstraction API for SOA/ESB
components - JBI spec approved 20 June
- BEA and IBM abstain
- Most attended session at JavaOne
- My take people want help with SOA
16The Java EE Stack
Presentation Tier
Servlet/JSP (Web client) Struts Framework
Swing (thick client) (no standard framework)
Business Logic Tier
EJB Session Beans (no standard framework)
Persistence Tier (a.k.a. Resource Tier or
Integration Tier)
EJB Entity Beans (no standard framework)
(Databases and other resources)
17The Java EE Stack
A web component model (JSF, Tapestry or
Wicket) The Shale framework or (??? and Spring
WebFlow)
Swing Netbeans platform, Spring Rich framework
or SWT/JFace Eclipse platform
Presentation Tier
POJOs Spring Framework and/or EJB 3 Session
Beans
Business Logic Tier
JBI Services JBI-compliant SOA infrastructure
Integration Tier (a.k.a. Resource Tier or
Persistence Tier)
POJOs Spring and (Hibernate and/or EBJ 3 and/or
iBatis)
(Databases and other resources)
18Odds Ends
- All quiet on the Microsoft front
- IBM MIA
- But 10 year renewal of Java licensing agreement
was announced - Sun acquires SeeBeyond, signs deals with GM, GE
- Jini and JavaSpaces provide massively scalable
SOA
19Cool StuffJava Outside the Enterprise
- RTS for Java is real now
- JXTA reinvents the Internet
- Want to build something cool? Start here.
- Mobile devices are the future
- Enterprise development is old school
- Suns Java Games Server
- History about to repeat itself?
present
20Summary
- Java is back, in a big way
- Java EE development is becoming dramatically
easier - Spring, Hibernate, EJB 3, Shale/Tapestry/Wicket,
Matisse - SOA/ESB is an late beta technology
- Bright future for Java outside the enterprise
21JavaOne Comes to the Web
- Check Java.net in about a month
- Ill post a list of recommended sessions
22Crystal Ball Gazing
- This Presentation is Based On
- On Line Research
- Extrapolation from Past Experience
- Observations at JavaOne 2005
- Lacks Enough Real World Experiences
- Feedback Welcome!