Hirofumi Iwasaki presented on moving systems from J2EE to Java EE. He discussed the history of Java EE specifications from J2EE 1.2 to Java EE 7. He showed how components, architectures, and development environments have evolved over this time period. Iwasaki presented a case study on modernizing an existing "J2EE era" system from 2001-2006 and discussed migrating from Struts 1.x to JSF 2.2 as an example. He emphasized that systems should not remain on older Java EE versions and should upgrade to take advantage of current specifications, like Java EE 7.
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Move from J2EE to Java EE
1. #jdt2014-C4
Move from J2EE to Java EE
May 22, 2014
Hirofumi Iwasaki
Financial Service Department, Development Unit,
Rakuten, Inc.
http://www.rakuten.co.jp/
2. #jdt2014-C4
2
Speaker Biography
Hirofumi Iwasaki
– Group Manager, Technology Manager
– Financial Service Department, Development Unit,
Rakuten, Inc.
Carrier
– Planning, designing & implements for many huge enterprise systems for
financial, manufacturer, public systems with enterprise middleware, especially
Java EE & .NET in Japan for about 16 years.
Opus, Lectures, etc.
– Magazine: @IT (2005-2010), CIO Magazine (2009), IT Architect (2005-2009),
Web+DB Press (2005), Java World (2001-2004), etc.
– Lectures: JJUG CCC Spring (2014), WebLogic roundtable (2012-2013), etc.
– twitter: @HirofumiIwasaki (English)
4. #jdt2014-C4
4
The History of Java EE
J2EE 1.2
(1999)
J2EE 1.3
(2001)
J2EE 1.4
(2003)
Java EE
5
(2006)
Java EE
6
(2009)
Java EE
7
(2013)
Born! Pandemic
Era
Integration
Era
Mess Era
(for EE spec)
Unite to Single
Standard Again!
12. #jdt2014-C4
12
Case Study of “J2EE” Era Systems in 2014
Developed in 2001 - 2006
Our systems is…
Based on J2EE 1.3 - 1.4
With many EOL open source libs
Working on EOL app server
Too old to move to latest Java EE
14. #jdt2014-C4
14
Standard specifications for application servers (except for MS).
What's Java EE
Commercial
Open Source
etc.
Java EE
Specification
To make assurance
double sure
Liberty Profile etc.
+
15. #jdt2014-C4
15
Differences Between the Ages in Real Systems
2014 (To-Be) 2006 2001
EE Specs Java EE 6, 7 J2EE 1.4 J2EE 1.2
SE Specs JDK 7, 8 J2SDK 1.4 J2SDK 1.3
Web JSF 2.0, 2.2
(inc. Facelet)
Struts 1.3 / 2
+ JSP 2.0
+ JSTL 1.1
Struts 1.1
+ JSP 1.1 +
commons taglib
Rich Client JavaFX 8 SWT Swing (JFC)
Business Logic EJB 3.1, 3.2 Spring FW
POJO
Struts Action
EJB 1.1
POJO
Struts Action
Data Access JPA 2.0, 2.1 Hibernate
iBATIS
Original JDBC
wrapper
Logging Apache Log4J
SLF4J + Logback
Apache Log4J
commons logging
Jakarta Log4J
Almost all can implement with standard specs,
except for logging.
16. #jdt2014-C4
16
Java EE Application Servers Versions
Vendor App Server EE 1.4
(2003-)
EE 5
(2006-)
EE 6
(2009-)
EE 7
(2013-)
Open Source GlassFish - 2.x 3.x 4.0
Oracle WebLogic 9.x 10.x 12.x -
IBM WebSphere 5.1 6.x, 7.x 8.x -
IBM Liberty Profile - - 8.5 -
Open Source Geronimo - 2.x 3.x -
Open Source TomEE+ - - 1.x -
Red Hat JBoss 4.x 5.1 7.1 -
Red Hat WildFly - - - 8.0
Fujitsu Interstage 9.0,9.1 9.2,10.x,11.0 11.1 -
Hitachi Cosminexus 7.x 8.x 9.x -
The de facto version
is still EE 6
17. #jdt2014-C4
17
Java SE Support Status of Java EE App Servers
Vendor App Server EE 6 (2009 -) EE 7 (2013-)
Ver. SE Ver. Ver. SE Ver.
Open Source GlassFish 3.x SE 7 4.0 SE 7
Oracle WebLogic 12.1.x SE 6, SE 7 - -
IBM WebSphere 8.x SE 6, SE 7 - -
Open Source Geronimo 3.x SE 6, SE 7 - -
Open Source TomEE+ 1.x SE 7 - -
Red Hat JBoss 7.x SE 6, SE 7 - -
Red Hat WildFly - - 8.0 SE 7, SE 8
Fujitsu Interstage 11.1 SE 6, SE 7 - -
Hitachi Cosminexus 9.x SE 7 - -
SE 8 is not ready
for almost all servers
*
* WebLogic 12.1.1 only
24. #jdt2014-C4
24
J2EE 1.2
in 2001
J2EE 1.4
in 2006
Java EE 7
in 2014
Changes of the IDEs in Enterprise System Devs
Use NetBeans 8 or IntelliJ 13.1 for EE 7 + SE 8
34. #jdt2014-C4
34
Rich Clients
(with business logics)
Web Presentation
(with business logics)
Business Logic
(no presentations)
Target Tier (in 2001)
Data Access
Original JDBC
wrapper
EJBJakarta Struts
DBs
Swing (JFC)
JTA
Automatic
Transaction
Messaging
JMS MQ
Connection
RMI-IIOP
Other
Servers
EMail
MTAJavaMail
Call
Call
Call
Call
Call
Call
35. #jdt2014-C4
35
Rich Clients
Web Presentation Business Logic
(no presentations)
Target Tier (in 2014)
Data Access
JPA
EJBJSF
DBs
Java FX
JTA
Automatic
Transaction
Messaging
JMS MQ
Connection
RMI-IIOP
Other
Servers
EMail
MTAJavaMail
JAX
Call
Call
Call
Call
Call
Call
36. #jdt2014-C4
36
The JavaServer Faces (JSF) 2 is
Standard web framework of the Java EE 7 and 6
Re-Born as JSF 2 in Java EE 6
– Please forget the useless JSF 1.x (Java EE 5) if you know.
JSF 2.0 changes (in EE 6):
– Added @ViewScoped backing bean lifecycle.
– Introduced new HTML page renderer ‘Facelet’.
JSF 2.2 changes (in EE 7):
– Updated with renewed HTML friendly tags.
– Changed the backing bean from JSF managed beans to CDI.
– Introduced auto XSRF avoiding functions
37. #jdt2014-C4
37
JSF 2.2! Welcome!!
37
Finally we can make enterprise web applications only with Java EE
standard specifications, JSF.
– Good-bye, JSP!!
– So long, Struts!!
– Take care, Commons!!
* Recommended 2.2 or later
64. #jdt2014-C4
64
Conclusion
J2EE era is so old to migrate, but with
many challenges you can do it.
Differences between Struts 1.x and
JSF 2.2 are huge, the paradigm
changes
Try it with NetBeans 8 and GlassFish 4
today! It’s FREE!
Go Ahead,
Ride the Wave!
Make our enterprise
future with Java EE!
Java EE 6 is suitable for huge financial systems.
And we made new financial architecture with many education and measurements.
Make our enterprise future with Java EE.