java 9: tips on migraon and upgradability - qconsf...• if you use any of the components that are...
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](https://reader033.vdocuments.mx/reader033/viewer/2022042313/5edc7c37ad6a402d66672958/html5/thumbnails/1.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042313/5edc7c37ad6a402d66672958/html5/thumbnails/2.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042313/5edc7c37ad6a402d66672958/html5/thumbnails/3.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042313/5edc7c37ad6a402d66672958/html5/thumbnails/4.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042313/5edc7c37ad6a402d66672958/html5/thumbnails/5.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042313/5edc7c37ad6a402d66672958/html5/thumbnails/6.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042313/5edc7c37ad6a402d66672958/html5/thumbnails/7.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042313/5edc7c37ad6a402d66672958/html5/thumbnails/8.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042313/5edc7c37ad6a402d66672958/html5/thumbnails/9.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042313/5edc7c37ad6a402d66672958/html5/thumbnails/10.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042313/5edc7c37ad6a402d66672958/html5/thumbnails/11.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042313/5edc7c37ad6a402d66672958/html5/thumbnails/12.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042313/5edc7c37ad6a402d66672958/html5/thumbnails/13.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042313/5edc7c37ad6a402d66672958/html5/thumbnails/14.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042313/5edc7c37ad6a402d66672958/html5/thumbnails/15.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042313/5edc7c37ad6a402d66672958/html5/thumbnails/16.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042313/5edc7c37ad6a402d66672958/html5/thumbnails/17.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042313/5edc7c37ad6a402d66672958/html5/thumbnails/18.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042313/5edc7c37ad6a402d66672958/html5/thumbnails/19.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042313/5edc7c37ad6a402d66672958/html5/thumbnails/20.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042313/5edc7c37ad6a402d66672958/html5/thumbnails/21.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042313/5edc7c37ad6a402d66672958/html5/thumbnails/22.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042313/5edc7c37ad6a402d66672958/html5/thumbnails/23.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042313/5edc7c37ad6a402d66672958/html5/thumbnails/24.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042313/5edc7c37ad6a402d66672958/html5/thumbnails/25.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042313/5edc7c37ad6a402d66672958/html5/thumbnails/26.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042313/5edc7c37ad6a402d66672958/html5/thumbnails/27.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042313/5edc7c37ad6a402d66672958/html5/thumbnails/28.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042313/5edc7c37ad6a402d66672958/html5/thumbnails/29.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042313/5edc7c37ad6a402d66672958/html5/thumbnails/30.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042313/5edc7c37ad6a402d66672958/html5/thumbnails/31.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042313/5edc7c37ad6a402d66672958/html5/thumbnails/32.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042313/5edc7c37ad6a402d66672958/html5/thumbnails/33.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042313/5edc7c37ad6a402d66672958/html5/thumbnails/34.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042313/5edc7c37ad6a402d66672958/html5/thumbnails/35.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042313/5edc7c37ad6a402d66672958/html5/thumbnails/36.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042313/5edc7c37ad6a402d66672958/html5/thumbnails/37.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042313/5edc7c37ad6a402d66672958/html5/thumbnails/38.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042313/5edc7c37ad6a402d66672958/html5/thumbnails/39.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042313/5edc7c37ad6a402d66672958/html5/thumbnails/40.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042313/5edc7c37ad6a402d66672958/html5/thumbnails/41.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042313/5edc7c37ad6a402d66672958/html5/thumbnails/42.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042313/5edc7c37ad6a402d66672958/html5/thumbnails/43.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042313/5edc7c37ad6a402d66672958/html5/thumbnails/44.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042313/5edc7c37ad6a402d66672958/html5/thumbnails/45.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042313/5edc7c37ad6a402d66672958/html5/thumbnails/46.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042313/5edc7c37ad6a402d66672958/html5/thumbnails/47.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042313/5edc7c37ad6a402d66672958/html5/thumbnails/48.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042313/5edc7c37ad6a402d66672958/html5/thumbnails/49.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042313/5edc7c37ad6a402d66672958/html5/thumbnails/50.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042313/5edc7c37ad6a402d66672958/html5/thumbnails/51.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042313/5edc7c37ad6a402d66672958/html5/thumbnails/52.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022042313/5edc7c37ad6a402d66672958/html5/thumbnails/53.jpg)