move from j2ee to java eeotndnld.oracle.co.jp/ondemand/javaday2014/pdf/c4-javaday... ·...

65
#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/

Upload: others

Post on 17-Mar-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Move from J2EE to Java EEotndnld.oracle.co.jp/ondemand/javaday2014/pdf/C4-JavaDay... · 2014-06-12 · #jdt2014-C4. 2. Speaker Biography Hirofumi Iwasaki – Group Manager, Technology

#jdt2014-C4

Move from J2EE to Java EEMay 22, 2014Hirofumi IwasakiFinancial Service Department, Development Unit, Rakuten, Inc.http://www.rakuten.co.jp/

Page 2: Move from J2EE to Java EEotndnld.oracle.co.jp/ondemand/javaday2014/pdf/C4-JavaDay... · 2014-06-12 · #jdt2014-C4. 2. Speaker Biography Hirofumi Iwasaki – Group Manager, Technology

#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)

Page 3: Move from J2EE to Java EEotndnld.oracle.co.jp/ondemand/javaday2014/pdf/C4-JavaDay... · 2014-06-12 · #jdt2014-C4. 2. Speaker Biography Hirofumi Iwasaki – Group Manager, Technology

#jdt2014-C4

3

Page 4: Move from J2EE to Java EEotndnld.oracle.co.jp/ondemand/javaday2014/pdf/C4-JavaDay... · 2014-06-12 · #jdt2014-C4. 2. Speaker Biography Hirofumi Iwasaki – Group Manager, Technology

#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! PandemicEra

IntegrationEra

Mess Era(for EE spec)

Unite to SingleStandard Again!

Page 5: Move from J2EE to Java EEotndnld.oracle.co.jp/ondemand/javaday2014/pdf/C4-JavaDay... · 2014-06-12 · #jdt2014-C4. 2. Speaker Biography Hirofumi Iwasaki – Group Manager, Technology

#jdt2014-C4

5

Page 6: Move from J2EE to Java EEotndnld.oracle.co.jp/ondemand/javaday2014/pdf/C4-JavaDay... · 2014-06-12 · #jdt2014-C4. 2. Speaker Biography Hirofumi Iwasaki – Group Manager, Technology

#jdt2014-C4

6

Page 7: Move from J2EE to Java EEotndnld.oracle.co.jp/ondemand/javaday2014/pdf/C4-JavaDay... · 2014-06-12 · #jdt2014-C4. 2. Speaker Biography Hirofumi Iwasaki – Group Manager, Technology

#jdt2014-C4

7

Page 8: Move from J2EE to Java EEotndnld.oracle.co.jp/ondemand/javaday2014/pdf/C4-JavaDay... · 2014-06-12 · #jdt2014-C4. 2. Speaker Biography Hirofumi Iwasaki – Group Manager, Technology

#jdt2014-C4

8

Page 12: Move from J2EE to Java EEotndnld.oracle.co.jp/ondemand/javaday2014/pdf/C4-JavaDay... · 2014-06-12 · #jdt2014-C4. 2. Speaker Biography Hirofumi Iwasaki – Group Manager, Technology

#jdt2014-C4

12

Case Study of “J2EE” Era Systems in 2014

Developed in 2001 - 2006

Our systems is…

Based on J2EE 1.3 - 1.4With many EOL open source libsWorking on EOL app serverToo old to move to latest Java EE

Page 13: Move from J2EE to Java EEotndnld.oracle.co.jp/ondemand/javaday2014/pdf/C4-JavaDay... · 2014-06-12 · #jdt2014-C4. 2. Speaker Biography Hirofumi Iwasaki – Group Manager, Technology

#jdt2014-C4

13

Not Too Late!!Move On to Java EE!!

Page 14: Move from J2EE to Java EEotndnld.oracle.co.jp/ondemand/javaday2014/pdf/C4-JavaDay... · 2014-06-12 · #jdt2014-C4. 2. Speaker Biography Hirofumi Iwasaki – Group Manager, Technology

#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.

+

Page 15: Move from J2EE to Java EEotndnld.oracle.co.jp/ondemand/javaday2014/pdf/C4-JavaDay... · 2014-06-12 · #jdt2014-C4. 2. Speaker Biography Hirofumi Iwasaki – Group Manager, Technology

#jdt2014-C4

15

Differences Between the Ages in Real Systems2014 (To-Be) 2006 2001

EE Specs Java EE 6, 7 J2EE 1.4 J2EE 1.2SE Specs JDK 7, 8 J2SDK 1.4 J2SDK 1.3Web 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.

Page 16: Move from J2EE to Java EEotndnld.oracle.co.jp/ondemand/javaday2014/pdf/C4-JavaDay... · 2014-06-12 · #jdt2014-C4. 2. Speaker Biography Hirofumi Iwasaki – Group Manager, Technology

#jdt2014-C4

16

Java EE Application Servers VersionsVendor App Server EE 1.4

(2003-) EE 5(2006-)

EE 6(2009-)

EE 7(2013-)

Open Source GlassFish - 2.x 3.x 4.0Oracle 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.0Fujitsu 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

Page 17: Move from J2EE to Java EEotndnld.oracle.co.jp/ondemand/javaday2014/pdf/C4-JavaDay... · 2014-06-12 · #jdt2014-C4. 2. Speaker Biography Hirofumi Iwasaki – Group Manager, Technology

#jdt2014-C4

17

Java SE Support Status of Java EE App ServersVendor App Server EE 6 (2009 -) EE 7 (2013-)

Ver. SE Ver. Ver. SE Ver.Open Source GlassFish 3.x SE 7 4.0 SE 7Oracle 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 8Fujitsu Interstage 11.1 SE 6, SE 7 - -Hitachi Cosminexus 9.x SE 7 - -

SE 8 is not readyfor almost all servers

*

* WebLogic 12.1.1 only

Page 18: Move from J2EE to Java EEotndnld.oracle.co.jp/ondemand/javaday2014/pdf/C4-JavaDay... · 2014-06-12 · #jdt2014-C4. 2. Speaker Biography Hirofumi Iwasaki – Group Manager, Technology

#jdt2014-C4

18

Changes ofthe Components

Page 21: Move from J2EE to Java EEotndnld.oracle.co.jp/ondemand/javaday2014/pdf/C4-JavaDay... · 2014-06-12 · #jdt2014-C4. 2. Speaker Biography Hirofumi Iwasaki – Group Manager, Technology

#jdt2014-C4

21

Rich Clients

Web Presentation Business Logic(no presentations)

Typical Usage of Java EE 6 – 7 in 2014

Data AccessJPA

EJBJSF

DBs

Java FX JTA

Automatic Transaction

MessagingJMS MQ

ConnectionRMI-IIOP

OtherServers

EMailMTAJavaMail

JAX

Call

Call

Call

Call

Call

Call

Page 22: Move from J2EE to Java EEotndnld.oracle.co.jp/ondemand/javaday2014/pdf/C4-JavaDay... · 2014-06-12 · #jdt2014-C4. 2. Speaker Biography Hirofumi Iwasaki – Group Manager, Technology

#jdt2014-C4

22

Changes ofthe Development

Environments

Page 23: Move from J2EE to Java EEotndnld.oracle.co.jp/ondemand/javaday2014/pdf/C4-JavaDay... · 2014-06-12 · #jdt2014-C4. 2. Speaker Biography Hirofumi Iwasaki – Group Manager, Technology

#jdt2014-C4

23

Changes of the OS in Enterprise System Devs

J2EE 1.2in 2001

J2EE 1.4in 2006

Java EE 7in 2014

Page 24: Move from J2EE to Java EEotndnld.oracle.co.jp/ondemand/javaday2014/pdf/C4-JavaDay... · 2014-06-12 · #jdt2014-C4. 2. Speaker Biography Hirofumi Iwasaki – Group Manager, Technology

#jdt2014-C4

24

J2EE 1.2in 2001

J2EE 1.4in 2006

Java EE 7in 2014

Changes of the IDEs in Enterprise System Devs

Use NetBeans 8 or IntelliJ 13.1 for EE 7 + SE 8

Page 25: Move from J2EE to Java EEotndnld.oracle.co.jp/ondemand/javaday2014/pdf/C4-JavaDay... · 2014-06-12 · #jdt2014-C4. 2. Speaker Biography Hirofumi Iwasaki – Group Manager, Technology

#jdt2014-C4

25

Heavy Changes ofthe Environmentsfrom 2001 to 2014

Page 26: Move from J2EE to Java EEotndnld.oracle.co.jp/ondemand/javaday2014/pdf/C4-JavaDay... · 2014-06-12 · #jdt2014-C4. 2. Speaker Biography Hirofumi Iwasaki – Group Manager, Technology

#jdt2014-C4

26

Question:Do you stay in stillJ2EE 1.4 in 2006In your systems?

Page 27: Move from J2EE to Java EEotndnld.oracle.co.jp/ondemand/javaday2014/pdf/C4-JavaDay... · 2014-06-12 · #jdt2014-C4. 2. Speaker Biography Hirofumi Iwasaki – Group Manager, Technology

#jdt2014-C4

27

Expected Answer:No (of course not!)

Page 28: Move from J2EE to Java EEotndnld.oracle.co.jp/ondemand/javaday2014/pdf/C4-JavaDay... · 2014-06-12 · #jdt2014-C4. 2. Speaker Biography Hirofumi Iwasaki – Group Manager, Technology

#jdt2014-C4

28

Yes? Really?Catch up to 2014 ASAP,

or die.

Page 29: Move from J2EE to Java EEotndnld.oracle.co.jp/ondemand/javaday2014/pdf/C4-JavaDay... · 2014-06-12 · #jdt2014-C4. 2. Speaker Biography Hirofumi Iwasaki – Group Manager, Technology

#jdt2014-C4

29

Zero-Day VulnerabilitiesIn EOL Struts 1.3.10

* From http://www.lac.co.jp/security/alert/2014/04/24_alert_01.html

Page 30: Move from J2EE to Java EEotndnld.oracle.co.jp/ondemand/javaday2014/pdf/C4-JavaDay... · 2014-06-12 · #jdt2014-C4. 2. Speaker Biography Hirofumi Iwasaki – Group Manager, Technology

#jdt2014-C4

30

Page 31: Move from J2EE to Java EEotndnld.oracle.co.jp/ondemand/javaday2014/pdf/C4-JavaDay... · 2014-06-12 · #jdt2014-C4. 2. Speaker Biography Hirofumi Iwasaki – Group Manager, Technology

#jdt2014-C4

31EOL

Page 32: Move from J2EE to Java EEotndnld.oracle.co.jp/ondemand/javaday2014/pdf/C4-JavaDay... · 2014-06-12 · #jdt2014-C4. 2. Speaker Biography Hirofumi Iwasaki – Group Manager, Technology

#jdt2014-C4

32

By the Way,Move Forwardto 2014 StylesTODAY!

Page 35: Move from J2EE to Java EEotndnld.oracle.co.jp/ondemand/javaday2014/pdf/C4-JavaDay... · 2014-06-12 · #jdt2014-C4. 2. Speaker Biography Hirofumi Iwasaki – Group Manager, Technology

#jdt2014-C4

35

Rich Clients

Web Presentation Business Logic(no presentations)

Target Tier (in 2014)

Data AccessJPA

EJBJSF

DBs

Java FX JTA

Automatic Transaction

MessagingJMS MQ

ConnectionRMI-IIOP

OtherServers

EMailMTAJavaMail

JAX

Call

Call

Call

Call

Call

Call

Page 36: Move from J2EE to Java EEotndnld.oracle.co.jp/ondemand/javaday2014/pdf/C4-JavaDay... · 2014-06-12 · #jdt2014-C4. 2. Speaker Biography Hirofumi Iwasaki – Group Manager, Technology

#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

Page 37: Move from J2EE to Java EEotndnld.oracle.co.jp/ondemand/javaday2014/pdf/C4-JavaDay... · 2014-06-12 · #jdt2014-C4. 2. Speaker Biography Hirofumi Iwasaki – Group Manager, Technology

#jdt2014-C4

37

JSF 2.2! Welcome!!

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

37

Page 42: Move from J2EE to Java EEotndnld.oracle.co.jp/ondemand/javaday2014/pdf/C4-JavaDay... · 2014-06-12 · #jdt2014-C4. 2. Speaker Biography Hirofumi Iwasaki – Group Manager, Technology

#jdt2014-C4

42

So Easy to Make!

Try it TODAY!

Page 43: Move from J2EE to Java EEotndnld.oracle.co.jp/ondemand/javaday2014/pdf/C4-JavaDay... · 2014-06-12 · #jdt2014-C4. 2. Speaker Biography Hirofumi Iwasaki – Group Manager, Technology

#jdt2014-C4

43

Make newproject

Select “Maven > Web Applications”

Select “Properties”after project creation

Page 44: Move from J2EE to Java EEotndnld.oracle.co.jp/ondemand/javaday2014/pdf/C4-JavaDay... · 2014-06-12 · #jdt2014-C4. 2. Speaker Biography Hirofumi Iwasaki – Group Manager, Technology

#jdt2014-C4

44

Add the “JavaServer Faces”and select up the JSF 2.2

Change pattern from “/faces/*.xhtml” to “*.xhtml”for simple & easy operations

Page 45: Move from J2EE to Java EEotndnld.oracle.co.jp/ondemand/javaday2014/pdf/C4-JavaDay... · 2014-06-12 · #jdt2014-C4. 2. Speaker Biography Hirofumi Iwasaki – Group Manager, Technology

#jdt2014-C4

45

Open the “pom.xml”Modify “javaee-web-api” (web profile)to “javaee-api” (full profile)

Page 46: Move from J2EE to Java EEotndnld.oracle.co.jp/ondemand/javaday2014/pdf/C4-JavaDay... · 2014-06-12 · #jdt2014-C4. 2. Speaker Biography Hirofumi Iwasaki – Group Manager, Technology

#jdt2014-C4

46

Deleteold JSP

Add CDI backing beanfrom here

Make backingbean for Facelet

Page 47: Move from J2EE to Java EEotndnld.oracle.co.jp/ondemand/javaday2014/pdf/C4-JavaDay... · 2014-06-12 · #jdt2014-C4. 2. Speaker Biography Hirofumi Iwasaki – Group Manager, Technology

#jdt2014-C4

47

Add backing bean annotationsand implement Serializable interface

Add getters andsetters

Add @PostConstructmethod for pageload operations

Page 48: Move from J2EE to Java EEotndnld.oracle.co.jp/ondemand/javaday2014/pdf/C4-JavaDay... · 2014-06-12 · #jdt2014-C4. 2. Speaker Biography Hirofumi Iwasaki – Group Manager, Technology

#jdt2014-C4

48

Set the placeholderfor backing bean property

Input Facelet using code completion of NetBeans

Set the action methodfor submit button

Page 49: Move from J2EE to Java EEotndnld.oracle.co.jp/ondemand/javaday2014/pdf/C4-JavaDay... · 2014-06-12 · #jdt2014-C4. 2. Speaker Biography Hirofumi Iwasaki – Group Manager, Technology

#jdt2014-C4

49

Press the button,run the backing bean

Just push the run button,compile, archiving anddeploying to Java EE server automatically

Page 51: Move from J2EE to Java EEotndnld.oracle.co.jp/ondemand/javaday2014/pdf/C4-JavaDay... · 2014-06-12 · #jdt2014-C4. 2. Speaker Biography Hirofumi Iwasaki – Group Manager, Technology

#jdt2014-C4

51

<<JSP>>View1

<<JSP>>View 2

Action1

+ action()<<JSP>>

View 3

Action2

+ action()

ActionForm1- fields+ validate()

ActionForm2- fields+ validate()

OperateAction

Build Next View

OperateAction

BuildNext View

Per Action Operation

struts-config.xml

Page 53: Move from J2EE to Java EEotndnld.oracle.co.jp/ondemand/javaday2014/pdf/C4-JavaDay... · 2014-06-12 · #jdt2014-C4. 2. Speaker Biography Hirofumi Iwasaki – Group Manager, Technology

#jdt2014-C4

53

Paradigm Changing:Action to Page

Page 54: Move from J2EE to Java EEotndnld.oracle.co.jp/ondemand/javaday2014/pdf/C4-JavaDay... · 2014-06-12 · #jdt2014-C4. 2. Speaker Biography Hirofumi Iwasaki – Group Manager, Technology

#jdt2014-C4

54

How to Migrate?

Page 58: Move from J2EE to Java EEotndnld.oracle.co.jp/ondemand/javaday2014/pdf/C4-JavaDay... · 2014-06-12 · #jdt2014-C4. 2. Speaker Biography Hirofumi Iwasaki – Group Manager, Technology

#jdt2014-C4

58

Re-Architecture: JSP to FaceletSections Struts 1.1 JSF 2.2HTML5 Don’t know ReadyForm tag <html:form

action=“/actionName”><form jsf:id=“form>

Text output <bean:writename=“bean.prop”/>

#{bean.prop}

Hidden <html:hiddenproperty=“prop”/>

<input type=“hidden”jsf:value=“#{bean.prop}”/>

Text Field <html:textproperty=“prop”/>

<input type=“text”jsf:value=“#{bean.prop}”/>

PasswordField

<html:passwordproperty=“prop”/>

<input type=“password”jsf:value=“#{bean.prop}”/>

Check Box <html:multiboxproperty=“prop”/>

<input type=“checkbox”

Submit <html:submit /> <input type=“submit”jsf:action=“#{bean.action()}”/>

Page 60: Move from J2EE to Java EEotndnld.oracle.co.jp/ondemand/javaday2014/pdf/C4-JavaDay... · 2014-06-12 · #jdt2014-C4. 2. Speaker Biography Hirofumi Iwasaki – Group Manager, Technology

#jdt2014-C4

60

Slightly Complicated,but Simple

Just try it!

Page 61: Move from J2EE to Java EEotndnld.oracle.co.jp/ondemand/javaday2014/pdf/C4-JavaDay... · 2014-06-12 · #jdt2014-C4. 2. Speaker Biography Hirofumi Iwasaki – Group Manager, Technology

#jdt2014-C4

61

Appendix: Additional ResourcesFor newbies

Awesomefor startups

Nice essentialreferences

Page 62: Move from J2EE to Java EEotndnld.oracle.co.jp/ondemand/javaday2014/pdf/C4-JavaDay... · 2014-06-12 · #jdt2014-C4. 2. Speaker Biography Hirofumi Iwasaki – Group Manager, Technology

#jdt2014-C4

62

Appendix: Additional Resources

http://www.slideshare.net/iwasakihirofumi/java-ee-7-jsf-22

How to useJSF 2.2 correctly

Page 63: Move from J2EE to Java EEotndnld.oracle.co.jp/ondemand/javaday2014/pdf/C4-JavaDay... · 2014-06-12 · #jdt2014-C4. 2. Speaker Biography Hirofumi Iwasaki – Group Manager, Technology

#jdt2014-C4

63

Appendix: Additional Resources

http://www.slideshare.net/iwasakihirofumi/future-of-java-ee-with-java-se-8

EE 7 with SE 8

Page 64: Move from J2EE to Java EEotndnld.oracle.co.jp/ondemand/javaday2014/pdf/C4-JavaDay... · 2014-06-12 · #jdt2014-C4. 2. Speaker Biography Hirofumi Iwasaki – Group Manager, Technology

#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!

Page 65: Move from J2EE to Java EEotndnld.oracle.co.jp/ondemand/javaday2014/pdf/C4-JavaDay... · 2014-06-12 · #jdt2014-C4. 2. Speaker Biography Hirofumi Iwasaki – Group Manager, Technology

#jdt2014-C4

65