java 9: tips on migraon and upgradability - qconsf...• if you use any of the components that are...

53
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Java 9: Tips on MigraDon and Upgradability Bernard Traversat Vice President of Development Java SE PlaJorm Oracle November, 2017 ConfidenDal – Oracle Internal/Restricted/Highly Restricted 1

Upload: others

Post on 01-Jun-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Java 9: Tips on Migraon and Upgradability - QConSF...• If you use any of the components that are shared between Java SE and Java EE then you may need to adjust your build or deployment

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

Java9:TipsonMigraDonandUpgradability

BernardTraversatVicePresidentofDevelopmentJavaSEPlaJormOracleNovember,2017

ConfidenDal–OracleInternal/Restricted/HighlyRestricted 1

Page 2: Java 9: Tips on Migraon and Upgradability - QConSF...• If you use any of the components that are shared between Java SE and Java EE then you may need to adjust your build or deployment

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

SafeHarborStatementThefollowingisintendedtooutlineourgeneralproductdirecDon.ItisintendedforinformaDonpurposesonly,andmaynotbeincorporatedintoanycontract.Itisnotacommitmenttodeliveranymaterial,code,orfuncDonality,andshouldnotberelieduponinmakingpurchasingdecisions.Thedevelopment,release,andDmingofanyfeaturesorfuncDonalitydescribedforOracle’sproductsremainsatthesolediscreDonofOracle.

ConfidenDal–OracleInternal/Restricted/HighlyRestricted 2

Page 3: Java 9: Tips on Migraon and Upgradability - QConSF...• If you use any of the components that are shared between Java SE and Java EE then you may need to adjust your build or deployment

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

Agenda

Upgradability

JDK9migraDonDps

WhyJava9NewModulereallymaZersforupgradability?

WhyalltheabovemaZerevenmoreforthecloudandmicroservices!

1

2

3

4

ConfidenDal–OracleInternal/Restricted/HighlyRestricted 3

Page 4: Java 9: Tips on Migraon and Upgradability - QConSF...• If you use any of the components that are shared between Java SE and Java EE then you may need to adjust your build or deployment

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.| ConfidenDal–OracleInternal/Restricted/HighlyRestricted 4

Upgradability

Page 5: Java 9: Tips on Migraon and Upgradability - QConSF...• If you use any of the components that are shared between Java SE and Java EE then you may need to adjust your build or deployment

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.| ConfidenDal–OracleInternal/Restricted/HighlyRestricted 5

So`wareUpgradability

Page 6: Java 9: Tips on Migraon and Upgradability - QConSF...• If you use any of the components that are shared between Java SE and Java EE then you may need to adjust your build or deployment

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

ManagingandSecuringtheCloudatScale

• Massivecloudbuildupoverthepastfewyearsmeanscompoundingrisksifapatchorupdateisnotapplied– Equifaxfailedtopatchaknownsecurityvulnerability

•  Through2020,99%ofvulnerabili8esexploitedwillconDnuetobetheonesknownbysecurityandITprofessionalsforatleastoneyear(Gartner)•  The2016Microso`SecurityIntelligenceReportstatesthat5,000to6,000newvulnerabiliDessurfaceeachyear.Thatworksouttoanaverageof15perday.•  ExponenDalcomplexitytomanagendifferentversionsofthesameso`ware(nm)•  TheCloudisdemandingconDnuousupgradability!

ConfidenDal–OracleInternal/Restricted/HighlyRestricted 6

Page 7: Java 9: Tips on Migraon and Upgradability - QConSF...• If you use any of the components that are shared between Java SE and Java EE then you may need to adjust your build or deployment

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

WhyUpgrading?

•  Securityfixes• Regressionsfixes• Newreleaseoranewfeature• Moreperformance• Morerobustness• Becausethelayerunderneathoraboveyoujustupgraded(OS’s,Hardware)• ReducecostofoperaDonviauniformity

ConfidenDal–OracleInternal/Restricted/HighlyRestricted 7

Page 8: Java 9: Tips on Migraon and Upgradability - QConSF...• If you use any of the components that are shared between Java SE and Java EE then you may need to adjust your build or deployment

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

WhyNotUpgrading?

ConfidenDal–OracleInternal/Restricted/HighlyRestricted 8

Itisgoingtocostmealotofmoneyifsomethinggoeswrong!

Somethingisgoingtogowrong!

Itiswork.Ineedtomodifymyapp!

Page 9: Java 9: Tips on Migraon and Upgradability - QConSF...• If you use any of the components that are shared between Java SE and Java EE then you may need to adjust your build or deployment

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.| OracleConfidenDal–Internal/Restricted/HighlyRestricted 9

JavaScriptUpgradability

h4ps://trends.builtwith.com/javascript/compa=bility

30%

Page 10: Java 9: Tips on Migraon and Upgradability - QConSF...• If you use any of the components that are shared between Java SE and Java EE then you may need to adjust your build or deployment

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.| OracleConfidenDal–Internal/Restricted/HighlyRestricted 10

JavaScriptUpgradability

h4ps://trends.builtwith.com/javascript/compa=bility

64%

Page 11: Java 9: Tips on Migraon and Upgradability - QConSF...• If you use any of the components that are shared between Java SE and Java EE then you may need to adjust your build or deployment

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

GolangUpgradability

ConfidenDal–OracleInternal/Restricted/HighlyRestricted 11

Page 12: Java 9: Tips on Migraon and Upgradability - QConSF...• If you use any of the components that are shared between Java SE and Java EE then you may need to adjust your build or deployment

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

PythonUpgradability

ConfidenDal–OracleInternal/Restricted/HighlyRestricted 12

Surgeryisgood,butpainful!

Page 13: Java 9: Tips on Migraon and Upgradability - QConSF...• If you use any of the components that are shared between Java SE and Java EE then you may need to adjust your build or deployment

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

C#and.NetUpgradability

ConfidenDal–OracleInternal/Restricted/HighlyRestricted 13

Page 14: Java 9: Tips on Migraon and Upgradability - QConSF...• If you use any of the components that are shared between Java SE and Java EE then you may need to adjust your build or deployment

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

JavaUpgradability

TherearethreekindsofcompaDbilityexplicitlymanagedintheJavaPlaJorm:• Binary:willexisDnglibrariesandapplicaDonssDlllink?•  Source:willexisDngsourcebasessDllcompile?IfthesourcebasessDllcompile,willtheresulDngclassfilehaveequivalentsemanDcs?• Behavioral:atrunDme,willexisDnglibrariesandapplicaDonsbehaveinasufficientlysimilarway?

OracleConfidenDal–Internal/Restricted/HighlyRestricted 14

Page 15: Java 9: Tips on Migraon and Upgradability - QConSF...• If you use any of the components that are shared between Java SE and Java EE then you may need to adjust your build or deployment

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

CategoriesofAPIsintheJavaPlaJorm

• MostoftheAPIsshippedintheJDK(java.*,javax.*)havespecificaDonsmanagedundertheJCP(JavaCommunityProcess)– MillionandmillionsofteststoensurecompaDbilityandupgradeability– VastecosystemofexisDngOSSlibrarieswecanusetotestcompaDbility

•  ToupdatethespecificaDonofsuchanAPI,aJCPprocessisrequired– RigorousJSR&OpenJDKtechnicalreviewandassessmentprocess

OracleConfidenDal 15

Page 16: Java 9: Tips on Migraon and Upgradability - QConSF...• If you use any of the components that are shared between Java SE and Java EE then you may need to adjust your build or deployment

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

AJavacompaDbilityreviewincludes,butisnotlimitedto…• OverallsuitabilityfortheplaJorm– Recommendeduseoflanguagefeaturesandotherlibraries– FollowingJDKAPIconvenDons– Compliancewithstandingtechnicalpolicies,includinggeneralevoluDonpolicy– “Haveyouconsideredyesterday,todayandtomorrowimpacts”

• Verifypropertechnicalreviewerispresent• HelpmakeconnecDonstootherareas•  ForsomesecurityfixeswithbehavioralchangesweareworkinghardtofindafixthatmeetssecurityandcompaDbilityrequirements

OracleConfidenDal 16

Page 17: Java 9: Tips on Migraon and Upgradability - QConSF...• If you use any of the components that are shared between Java SE and Java EE then you may need to adjust your build or deployment

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

JavaPlaJormCompaDbilityCommitment

ConfidenDal–OracleInternal/Restricted/HighlyRestricted 17

AbigreasonforJavabeingthe#1DevelopmentPlaJormoverthepast10years!

Page 18: Java 9: Tips on Migraon and Upgradability - QConSF...• If you use any of the components that are shared between Java SE and Java EE then you may need to adjust your build or deployment

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

JDK9MigraDon:FirstImpression

ConfidenDal–OracleInternal/Restricted/HighlyRestricted 18

Youguysarebreakingeverything!

Page 19: Java 9: Tips on Migraon and Upgradability - QConSF...• If you use any of the components that are shared between Java SE and Java EE then you may need to adjust your build or deployment

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

JDK9MigraDon:Acknowledgment

ConfidenDal–OracleInternal/Restricted/HighlyRestricted 19

No,Idon’twanttohearthatIneedtomodifymyapp!

Page 20: Java 9: Tips on Migraon and Upgradability - QConSF...• If you use any of the components that are shared between Java SE and Java EE then you may need to adjust your build or deployment

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

JDK9MigraDon:Reality

ConfidenDal–OracleInternal/Restricted/HighlyRestricted 20

Imigratedmyapp,itwasnotthatbad!

Page 21: Java 9: Tips on Migraon and Upgradability - QConSF...• If you use any of the components that are shared between Java SE and Java EE then you may need to adjust your build or deployment

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

JDK9Thegoodnews•  Theclasspathhasnotchanged• Classloadinghasnotchanged•  Youarenotforcedtomigrateyourcodetomodules•  sun.misc.Unsafeworksasbefore• MostexisDngcodeshouldworkasbefore•  TheIDEs,Maven,…allhavesupportforJDK9already

21

Page 22: Java 9: Tips on Migraon and Upgradability - QConSF...• If you use any of the components that are shared between Java SE and Java EE then you may need to adjust your build or deployment

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

Thenotsogoodnews•  Youwillhavetoupgradethelibrariesandtoolsthatyouuse•  IfyouuseanyofthecomponentsthataresharedbetweenJavaSEandJavaEEthenyoumayneedtoadjustyourbuildordeployment• AsmallnumberofsupportedAPIshavebeenremoved• Anumberofnon-APIfeaturesandtoolshavebeenremoved•  Youmayseesomewarningsfromthelibrariesthatyouuse

22

Page 23: Java 9: Tips on Migraon and Upgradability - QConSF...• If you use any of the components that are shared between Java SE and Java EE then you may need to adjust your build or deployment

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.| ConfidenDal–OracleInternal/Restricted/HighlyRestricted 23

Page 24: Java 9: Tips on Migraon and Upgradability - QConSF...• If you use any of the components that are shared between Java SE and Java EE then you may need to adjust your build or deployment

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.| ConfidenDal–OracleInternal/Restricted/HighlyRestricted 24

Page 25: Java 9: Tips on Migraon and Upgradability - QConSF...• If you use any of the components that are shared between Java SE and Java EE then you may need to adjust your build or deployment

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.| ConfidenDal–OracleInternal/Restricted/HighlyRestricted 25

Page 26: Java 9: Tips on Migraon and Upgradability - QConSF...• If you use any of the components that are shared between Java SE and Java EE then you may need to adjust your build or deployment

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.| ConfidenDal–OracleInternal/Restricted/HighlyRestricted 26

Page 27: Java 9: Tips on Migraon and Upgradability - QConSF...• If you use any of the components that are shared between Java SE and Java EE then you may need to adjust your build or deployment

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.| ConfidenDal–OracleInternal/Restricted/HighlyRestricted 27

Page 28: Java 9: Tips on Migraon and Upgradability - QConSF...• If you use any of the components that are shared between Java SE and Java EE then you may need to adjust your build or deployment

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.| ConfidenDal–OracleInternal/Restricted/HighlyRestricted 28

Page 29: Java 9: Tips on Migraon and Upgradability - QConSF...• If you use any of the components that are shared between Java SE and Java EE then you may need to adjust your build or deployment

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.| ConfidenDal–OracleInternal/Restricted/HighlyRestricted 29

Page 30: Java 9: Tips on Migraon and Upgradability - QConSF...• If you use any of the components that are shared between Java SE and Java EE then you may need to adjust your build or deployment

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.| ConfidenDal–OracleInternal/Restricted/HighlyRestricted 30

Page 31: Java 9: Tips on Migraon and Upgradability - QConSF...• If you use any of the components that are shared between Java SE and Java EE then you may need to adjust your build or deployment

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.| ConfidenDal–OracleInternal/Restricted/HighlyRestricted 31

Page 32: Java 9: Tips on Migraon and Upgradability - QConSF...• If you use any of the components that are shared between Java SE and Java EE then you may need to adjust your build or deployment

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.| ConfidenDal–OracleInternal/Restricted/HighlyRestricted 32

Page 33: Java 9: Tips on Migraon and Upgradability - QConSF...• If you use any of the components that are shared between Java SE and Java EE then you may need to adjust your build or deployment

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.| ConfidenDal–OracleInternal/Restricted/HighlyRestricted 33

Page 34: Java 9: Tips on Migraon and Upgradability - QConSF...• If you use any of the components that are shared between Java SE and Java EE then you may need to adjust your build or deployment

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.| ConfidenDal–OracleInternal/Restricted/HighlyRestricted 34

Page 35: Java 9: Tips on Migraon and Upgradability - QConSF...• If you use any of the components that are shared between Java SE and Java EE then you may need to adjust your build or deployment

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.| ConfidenDal–OracleInternal/Restricted/HighlyRestricted 35

Page 36: Java 9: Tips on Migraon and Upgradability - QConSF...• If you use any of the components that are shared between Java SE and Java EE then you may need to adjust your build or deployment

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

JDKFasterCadence:6-monthReleaseCycle•  Javahasdeveloped9Majorreleasesoverthepast21years(every~2.5

Years)•  TheCloudischangingthepaceofinnovaDon.Developerswantquicker

accesstonewfeatures.•  UnderourcurrentmodelJDK10wouldGAaround2020– ThisisforeverinCloudYears!

•  FromfeatureboundtoDme-bound–Every6months!• Uptakeofnewreleasesislessofanissue,becauselesscontentandcloudoperatorswilldothisatscaleforyouJ

OracleConfidenDal–Internal 36

Page 37: Java 9: Tips on Migraon and Upgradability - QConSF...• If you use any of the components that are shared between Java SE and Java EE then you may need to adjust your build or deployment

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

SimplifytheJDKDistribuDon:OpenJDKvsOracleJDK

•  LargeecosystemwithmanydifferentconsDtuentprofiles–  Developers--focusedonthebleedingedge,wanttoseefaster

innovaDon–  Installedbase--maintaininglegacysystems,wantstabilityandsecurity

•  NeedtosimplifyourdistribuDon–  Opensourcingcommercialfeatures(onecodebase)–  TwodistribuDontrains:•  OpenJDK–FocusedondeliveringinnovaDonsatafastercadence•  OracleJDK–StabilityandcriDcalbugfixes

OracleConfidenDal–Internal 37

Page 38: Java 9: Tips on Migraon and Upgradability - QConSF...• If you use any of the components that are shared between Java SE and Java EE then you may need to adjust your build or deployment

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.| ConfidenDal–OracleInternal/Restricted/HighlyRestricted 38

Page 39: Java 9: Tips on Migraon and Upgradability - QConSF...• If you use any of the components that are shared between Java SE and Java EE then you may need to adjust your build or deployment

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

WhyIsItHardtoUptakeaNewJavaRelease•  20%-RemoveddeprecatedAPIs– ObsoleteAPIsthathavebeentaggedfordeprecaDonforsomeDme– Trade-offofcompaDbilityvsinnovaDon

•  30%ChangedinapublicAPIbehavior– EithertheimplementaDonofthespecwaswrong,orthespecwaswrongandweneededtochangetheimplementaDon– Asecurityfixrequiredtochangeanunspecifiedbehavior

•  50%Useofinternal/non-publicAPIs– WetoldyouthattheseAPIsmaychangeandtheyindeedchanged

ConfidenDal–OracleInternal/Restricted/HighlyRestricted 39

Page 40: Java 9: Tips on Migraon and Upgradability - QConSF...• If you use any of the components that are shared between Java SE and Java EE then you may need to adjust your build or deployment

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.| ConfidenDal–OracleInternal/Restricted/HighlyRestricted 40

EdsgerDijkstrawrotein1988,

“Wehavetobeabletothinkintermsofconceptualhierarchiesthataremuchdeeperthanasinglemindeverneededtofacebefore.”

Page 41: Java 9: Tips on Migraon and Upgradability - QConSF...• If you use any of the components that are shared between Java SE and Java EE then you may need to adjust your build or deployment

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

CanWeLearnfromtheHardwareGuys

ConfidenDal–OracleInternal/Restricted/HighlyRestricted 41

10-15YearsAgoL DataCenterArchitectureTodayJ

Page 42: Java 9: Tips on Migraon and Upgradability - QConSF...• If you use any of the components that are shared between Java SE and Java EE then you may need to adjust your build or deployment

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

AfewGoldenRules

ConfidenDal–OracleInternal/Restricted/HighlyRestricted 42

Uniformity Modularity

Page 43: Java 9: Tips on Migraon and Upgradability - QConSF...• If you use any of the components that are shared between Java SE and Java EE then you may need to adjust your build or deployment

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

So`wareModularity&UniformityFortheCloud

ConfidenDal–OracleInternal/Restricted/HighlyRestricted 43

•  Dockerprovidesanuniformwrapperaroundaso`warepackage“Build,ShipandRunAnyApp,Anywhere”•  Thecontainerisalwaysthesame,regardlessofthecontentsandthusfitsonalltrucks,cranes,ships,…

•  But,DockerandKubernetesdonotaddressappmodularityinsidethecontainer.ThisiswhytheJava9newmodulesystemissoimportant!

•  KubernetesprovidesanelasDcdeploymentandmanagement

Page 44: Java 9: Tips on Migraon and Upgradability - QConSF...• If you use any of the components that are shared between Java SE and Java EE then you may need to adjust your build or deployment

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

JDK9Module

ConfidenDal–OracleInternal/Restricted/HighlyRestricted 44

CodeRe-UsabilityandInforma8onHiding

ClasstoreusebehaviorsInterfacetore-useabstracDons

Page 45: Java 9: Tips on Migraon and Upgradability - QConSF...• If you use any of the components that are shared between Java SE and Java EE then you may need to adjust your build or deployment

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

JDK9Module

ConfidenDal–OracleInternal/Restricted/HighlyRestricted 45

CodeRe-Usability

JDK217Packages

Page 46: Java 9: Tips on Migraon and Upgradability - QConSF...• If you use any of the components that are shared between Java SE and Java EE then you may need to adjust your build or deployment

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

JDK9Module

ConfidenDal–OracleInternal/Restricted/HighlyRestricted 46

Java9Module

ModuleisanewfundamentalabstracDondesignedexplicitlyforencapsulaDonandreuse

Page 47: Java 9: Tips on Migraon and Upgradability - QConSF...• If you use any of the components that are shared between Java SE and Java EE then you may need to adjust your build or deployment

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

Java9Module–AbeZerFoundaDonforCompaDbility

ConfidenDal–OracleInternal/Restricted/HighlyRestricted 47

AccessControlEnforcedbytheJVM

Page 48: Java 9: Tips on Migraon and Upgradability - QConSF...• If you use any of the components that are shared between Java SE and Java EE then you may need to adjust your build or deployment

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

Java9Module–AbeZerFoundaDonforCompaDbility

ConfidenDal–OracleInternal/Restricted/HighlyRestricted 48

Page 49: Java 9: Tips on Migraon and Upgradability - QConSF...• If you use any of the components that are shared between Java SE and Java EE then you may need to adjust your build or deployment

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

JDK7Internaldependencies

ConfidenDal–OracleInternal/Restricted/HighlyRestricted 49

Page 50: Java 9: Tips on Migraon and Upgradability - QConSF...• If you use any of the components that are shared between Java SE and Java EE then you may need to adjust your build or deployment

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

Java9Module–AbeZerFoundaDonforCompaDbility

ConfidenDal–OracleInternal/Restricted/HighlyRestricted 50

Page 51: Java 9: Tips on Migraon and Upgradability - QConSF...• If you use any of the components that are shared between Java SE and Java EE then you may need to adjust your build or deployment

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

Summary•  Thecloudispuxngincreasingdemandsonupgradeability(minute/weekvsmonth/year)– Toreducecomplexityandcost(uDlitycompuDng)– Toaddressvulnerabilityandsustainingupgradesaso`enasneeded

•  UpgradeabilityissignificantissuestomanageCloudservicesatscale•  JDK9ModuleandstrongencapsulaDonattheJVMlevelismovingthebarbeyondwhatanyotherdeveloperrunDmeisprovidingtoimproveupgradabilityandguaranteecompaDbility•  Uptaking9maybesomeisnotthatscary!•  Pleaseuptake9andassembleyourservicesasmoduleforthesakeofourindustryJ

ConfidenDal–OracleInternal/Restricted/HighlyRestricted 51

Page 52: Java 9: Tips on Migraon and Upgradability - QConSF...• If you use any of the components that are shared between Java SE and Java EE then you may need to adjust your build or deployment

Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.|

Q&A

ConfidenDal–OracleInternal/Restricted/HighlyRestricted 52

Page 53: Java 9: Tips on Migraon and Upgradability - QConSF...• If you use any of the components that are shared between Java SE and Java EE then you may need to adjust your build or deployment