java update - bristol jug. part 2 - java ee / java in the cloud

54
Java Update Part 1 - Java SE / Roadmap Part 2 ' Java EE / Java in the Cloud Steve Ellio6 Java Technology Lead Oracle UK May 2016

Upload: steve-elliott

Post on 16-Apr-2017

264 views

Category:

Software


2 download

TRANSCRIPT

Java$Update$$Part$1$-$Java$SE$/$Roadmap$Part%2%'%Java%EE%/%Java%in%the%Cloud%

Steve$Ellio6$Java$Technology$Lead$Oracle$UK$$$

$May$2016$

Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$$

Safe$Harbor$Statement$

The$following$is$intended$to$outline$our$general$product$direcQon.$It$is$intended$for$informaQon$purposes$only,$and$may$not$be$incorporated$into$any$contract.$It$is$not$a$commitment$to$deliver$any$material,$code,$or$funcQonality,$and$should$not$be$relied$upon$in$making$purchasing$decisions.$The$development,$release,$and$Qming$of$any$features$or$funcQonality$described$for$Oracle’s$products$remains$at$the$sole$discreQon$of$Oracle.$

Copyright$©$2016,$Oracle$and/or$its$affiliates.$All$rights$reserved.$

From$Java$EE$$$$$Cloud,$Microservices$and$Beyond$

Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$$

Java EE Past & Present

Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$$

Marc%Fleury%creates%EJB'OSS%Later%renamed%to%JBOSS%and%JBoss%

2005$–$GlassFish$(Java$EE$5)$2007$–$GlassFish$2$2009$–$GlassFish$3$(Java$EE$6)$2013$–$GlassFish$4$(Java$EE$7)$$$2014$–$WildFly$8$(Java$EE$7)$2015$–$WildFly$9$2016$–$WildFly$10$$$2013$–$WebSphere$$$$$$$$$$$$$$Liberty$Profile$(Java$EE7)$$$2011$–$TomEE$(Java$EE$6w)$$

Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$$

Java EE 7 Themes

Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$$

Java EE 7

Connector 1.7

Managed%Beans%1.0% EJB%3.2%

Servlet%3.1%

Eco-system

JSF%2.2% JAX-RS 2

JMS 2 JPA%2.1%

EL 3

JTA%1.2%

JSP%2.3%

Interceptors%1.2% CDI%1.1%Common%AnnotaIons%

1.2%

Updated Major Release

New

Concurrency Utilities

Batch Applications

Java API for JSON

Java API for WebSocket

Bean Validation 1.1

Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$$

Java EE 8 Community Survey

h6ps://java.net/downloads/javaee-spec/JavaEE8_Community_Survey_Results.pdf$

h6ps://blogs.oracle.com/ldemichiel/entry/results_from_the_java_ee$

Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$$

Java EE 8 Themes

• HTML 5 / Web Tier Enhancements – JSON Binding, JSON-P enhancements, SSE, action-based MVC, HTTP/2

• Ease of Development / CDI alignment – CDI 2, EJB services outside EJB, security interceptors, EJB pruning

•  Infrastructure for running in the Cloud – Java EE Management 2.0, Java SE Security 1.0

Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$$

Java%SpecificaIon%Request%JSR$366$–$Java$EE$8$Plaeorm$

JSR$369$–$Servlet$4.0$–$HTTP/2$$

JSR$365$–$CDI$2.0$–$(Red$Hat)$CDI$for$Java$SE,$modularity$&$events$

JSR$367$–$JSON-B$1.0$$–$JSON$Binding$for$Java$Objects$

JSR$371$–$MVC$1.0$–$Model$View$Controller,$AcQon-Based,$HTML$framework$

JSR$368$–$JMS$2.1$–$MDB$Improvements,$CDI$Managed$Bean$integraQon$

JSR$372$–$JSF$2.3$–$IntegraQon$with$WebSocket,$MVC,$CDI,$Java$8$DateTime$

JSR$374$–$JSON-P$1.1$–$Query$enhancements,$Java$SE$8$improvements$

JSR$375$–$Security$1.0$–$SimplificaQons,$Cloud$enhancements$

JSR$370$–$JAX-RS$2.1$–$NIO,$Server-Sent$Events,$ReacQve$

JSR$373$–$Management$2.0$–$REST$based$Management$$

Java$EE$Going$Forward$

Copyright$©$2016,$Oracle$and/or$its$affiliates.$All$rights$reserved.$

ApplicaQon$Development$Is$Changing$

11$

Copyright$©$2016,$Oracle$and/or$its$affiliates.$All$rights$reserved.$

Rapid$Changes$Over$Past$Few$Years$

12$

Microservices%Apps$divided$into$many$small$pieces$

Distributed%CompuIng%Many$data$centers,$AZs,$regions,$etc$

Polyglot%Java$leads$but$use$of$others$increasing$

New%Technology%Docker,$Cloud,$DevOps,$etc$

Driven%by%increasing%business%needs%

Copyright$©$2016,$Oracle$and/or$its$affiliates.$All$rights$reserved.$

Microservices%•  Minimal$FuncQon$

•  Service$Discovery$•  API-first$

3% •  Polyglot$•  Choreography$•  Loose$Coupling$

DevOps%•  Automated$Provisioning$

•  Automated$Setup$•  ConQnuous$IntegraQon$

1% •  ConQnuous$Delivery$•  Automated$TesQng$•  Agile$•  Culture$Change$

*%as%a%Service%•  Consume$Infrastructure$and$

Sonware$as$a$Service$•  Fault$Tolerant$by$DefiniQon$

2% •  Auto-scaling$•  Infinite$ElasQcity$

What$is$Cloud$NaQve?$A%new%style%of%architecture%

Distributed%CompuIng%•  MulQ-master$

•  Many$Data$Centers$•  Many$Fault$Domains$

4% •  Many$Regions$•  Global$Server$Load$Balancing$•  ReplicaQon$

13$Copyright$©$2016,$Oracle$and/or$its$affiliates.$All$rights$reserved.$

Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$$ 14$

Java%In%The%Cloud%

Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$$

ConfidenQal$–$Oracle$Internal/Restricted/Highly$

Restricted$

15$

$$

Cloud$

On$Premise$

WebSphere$ WebLogic$Redhat$JBoss$

JAVA%CLOUD%SERVICE%

Java$EE$Has$Easily$TransiQoned$into$the$Cloud$$

06/05/16$ 15$Copyright$©$2016,$Oracle$and/or$its$affiliates.$All$rights$reserved.$

Copyright$©$2014$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$

Oracle$Cloud$Plaeorm$

16$

Copyright$©$2014$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$ 17$

DATA$MANAGEMENT$

•  Database$•  NoSQL$Database$•  Big$Data$•  Big$Data$SQL$

•  Big$Data$PreparaQon$•  Database$Backup$•  Exadata$

IT$OPERATIONS$MANAGEMENT$

•  IT$AnalyQcs$•  Log$AnalyQcs$•  ApplicaQon$Performance$Monitoring$

IDENTITY$MANAGEMENT$

•  IdenQty$

CONTENT$&$PROCESS$

•  Documents$•  Social$

•  Process$•  Sites$

APPLICATION$DEVELOPMENT$

•  Java$$•  ApplicaQon$Container$(Node,$Java$SE)$

•  ApplicaQon$Builder$•  Developer$•  Mobile$

INTEGRATION$

•  IntegraQon$•  SOA$•  API$Manager$

•  Internet$of$Things$•  GoldenGate$

MOBILE$

•  Mobile$•  IntegraQon$

•  Internet$of$Things$

BUSINESS$ANALYTICS$

•  Data$VisualizaQon$•  Business$Intelligence$•  Big$Data$Discovery$

•  Big$Data$PreparaQon$•  Internet$of$Things$

Copyright$©$2014$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$

Oracle$Cloud$Plaeorm:$ApplicaQon$Development$Services$

18$

•  Java$•  ApplicaQon$Container$(Node,$Java$SE)$

•  Developer$•  Mobile$

•  ApplicaQon$Builder$$

APPLICATION$DEVELOPMENT$

Copyright$©$2014$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$

Java$Cloud:$For$Java$EE$Workloads$$

Java%

Key$Features$

•  Full-Featured:$WebLogic$11g$or$12c$Instance$

•  Clustering,$In-Memory,$High$Availability,$

ElasQc$Load$Balancing,$Scale$Up$&$Scale$Out$$

•  Lifecycle$Tooling:$Back$Up/Restore,$Patching,$ApplicaQon$Server$Management$

•  Full$Portability:$On-premise$to$Cloud$

19$

Copyright$©$2014$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$

Advanced$MulQtenancy$on$Java$Servers$Even$Enables$a$Modern$Microservices$Architecture$on$Java$EE$

•  Java$EE$MulQtenancy$CharacterisQcs$– ParQQons$give$service$isolaQon$(CPU/Memory)$

– ParQQons$have$independent$service$lifecycles$$(start/stop/import/export)$

– ParQQons$are$easily$ported$between$environments$(DevOps$friendly)$

– ParQQons$can$be$aligned$with$pluggable$DB$for$app/data$alignment$

• New$applicaQons$can$be$modeled$as$services$in$MulQtenant$ParQQons$– ParQQon$1$=$microservice$1;$ParQQon$2$=$microservice$2$etc$

– ParQQons$are$extremely$lightweight$and$immutable$$-$low$memory,$fast$startup$

– ParQQons$can$be$plugged$easily$into$DevOps$pipelines$to$drive$fast$release$cycles$

20$

WebLogic$MT$Dev/Test$WebLogic$MT$

Coherence$$Prod$

MS1$ MS2$ MS3$

MS2$

MS1$ MS2$ MS3$

Copyright$©$2014$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$

Microservices$Built$on$Java$

21$

Some%on%Full%Java%EE,%Some%on%Java%Web%Profile,%Many%Aiming%at%Fat%Jar’s%on%Java%SE%

Enterprise%Standard%RunIme%for$

REST,$JSON,$Tx,$JMS,$EJB$

$

GlassFish,$WebLogic$

Wildfly,$Liberty$

Infrastructure$

Java$EE$Full$Profile$

Java$SE$$$

App$

Lightweight%Standard%RunIme$for$

HTTP,$REST,$JSON…$

$

GlassFish,$WebLogic$

Wildfly,$Liberty$

Infrastructure$

Java$EE$Web$Profile$

Java$SE$

App$

Even%Lighter%Non'standard%RunIme%for$

microservices$

$

Spring$Boot,$DropWizard,$

KumuluzEE$etc$

Infrastructure$

DIY$–$Pick$Your$API$

Java$SE$

Microservices$

Copyright$©$2014$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$

ApplicaQon$Container$Cloud:$For$Other$Workloads$

Key$Features$

•  Useful$for$any$Java$or$$Node.js$Framework$

(other$languages$such$as$Ruby,$Python,$PHP$etc$to$come)$

•  Cloud$tooling$for$lifecycle$management$

•  Fully$automated$provisioning,$patching,$backup,$and$recovery$$

Java%SE%

JRuby%

Node%

22$

An$open$highly$available$Docker$container-based$elasQc$polyglot$cloud$plaeorm$

Copyright$©$2014$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$

•  Deploy$applicaQons$to$a$selecQon$of$popular$language$runQmes$supported$–  IniQal$support$for$Java$SE$and$Node.js$

•  Leverage$unique$Oracle$Java$SE$features$– Immediate$access$to$plaeorm$upgrades,$security,$plaeorm$opQmizaQons$

– ConQnued$commercial$support$for$Java$SE$versions$no$longer$receiving$public$updates$

•  Node$access$to$Oracle$DB$with$open$source$database$driver$

23$

Polyglot$Plaeorm$

php

EE%

SE%

*Python,$Ruby,$PHP,$&$Java$EE$coming$soon$

Copyright$©$2014$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$ 24$

Open$Plaeorm$

Copyright$©$2014$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$

• ApplicaQons$run$on$Oracle$Linux$in$Docker$containers$

•  Stateless$ApplicaQons$– Ephemeral$disk$

– Permanent$storage$through$database$or$storage$service$

25$

Container-based$ApplicaQon$Plaeorm$as$a$Service$

Copyright$©$2014$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$

•  Java$applicaQon$can$use$Java$Flight$Recorder$to$monitor$applicaQon$and$JVM$behavior$and$analyze$in$Mission$Control$

• Use$ApplicaQon$Performance$Monitoring$Cloud$Service$for$advanced$use$cases$

26$

Profiling$

Copyright$©$2014$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$ 27$

Build% Zip% Deploy!%

Copyright$©$2014$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$

ApplicaQon$Archive$

Image$Builder$

Developer$

Java$Image$Node$Image$

Language$RunQmes$Docker$Image$Repository$$

Private$Tenant$Docker$Image$Repository$$

ApplicaQon$Image$

28$

ApplicaQon$Deployment$

Load%Balancer%

Java$SE$

Docker$

Ruby$

Docker$

Node$

Docker$

Copyright$©$2014$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$

Java%SE,%Node%Cloud%Service%

Tenant&2&

29$

ApplicaQon$Container$Cloud$Architecture$$

Developer$

Load%Balancer%

…%

Messaging$Cloud$Service$

Storage$Cloud$Service$

Database$Cloud$Service$

Java$Cloud$Service$

Developer$Cloud$Service$

Tenant&1&

Node$(App$2)$

Docker$

Java$SE$(App$1)$

Docker$

Java$SE$(App$3)$

Docker$

Node$(App$2)$

Docker$

Java$SE$(App$1)$

Docker$

Java$SE$(App$3)$

Docker$

Java$SE$(App$1)$

Docker$

Node$(App$2)$

Docker$

Ruby$(App$3)$

Docker$

Copyright$©$2016,$Oracle$and/or$its$affiliates.$All$rights$reserved.$

ArQfacts$Are$Now$Immutable$Containers$–$Not$EARs,$WARs$

30$

Containers%can%have%anything%in%them%and%are%highly%portable%

Hardware$

OperaQng$System$

Hypervisor$

VM$1$ VM$2$

App%Server%

Hardware$

OperaQng$System$

Container$1$ Container$2$

Cloud%NaIve%

•  No$more$installing$a$JVM,$app$server,$and$then$deploying$the$arQfacts$to$them$

•  Build$the$container$once,$deploy$it$anywhere.$Can$include$complex$environment$variables,$scripts,$etc$

•  Containers$should$be$free$of$state$and$configuraQon$

•  Containers$should$not$assume$they$are$able$to$write$to$a$persistent$local$file$system$

OS$

App$Server$

EAR/WAR$

OS$

App$Server$

EAR/WAR$ The%ArIfact%You%Deploy%

Copyright$©$2016,$Oracle$and/or$its$affiliates.$All$rights$reserved.$

ApplicaQon$Containers$–$Use$What$You$Have$Today$

31$

CharacterisQcs$of$Microservices-friendly$ApplicaQon$Server$

CharacterisQcs$of$ExisQng$$$ApplicaQon$Server$

•  Run$a$smaller,$microservice$that$does$one$thing$really$well$

•  Few$features$•  External$dependency$management$

•  Many$instances$per$host$

•  Stateless$

•  Run$a$very$large,$complicated$monolithic$applicaQon$

•  Many$advanced$features$

•  Integrated$dependency$management$

•  Few$instances$per$host$•  Stateful$

Run&whatever&works&best&–&few&firm&requirements&

Copyright$©$2016,$Oracle$and/or$its$affiliates.$All$rights$reserved.$ 32$

Using$WebLogic$+$Java$EE$For$Microservices$A%proven,%enterprise'grade%pla\orm%for%applicaIon%development%

Database$Cloud$Service$

Oracle$Cloud$

Oracle$Compute$Cloud$Service$ NoSQL$Cloud$Service$

Oracle$Management$Cloud$-$Management/Logging/AlerQng$

Messaging$Cloud$Service$

Caching$Cloud$Service$For&State,&Configura>on,&Service&Discovery&

Developer$Cloud$Service$

Oracle$Traffic$Director$

Docker$Containers$

Container$Placement$

WebLogic$MulQ-tenant$ WebLogic$MulQ-tenant$

Jersey$+$Grizzly$ Jersey$+$Grizzly$

WebLogic$ParQQon$

Copyright$©$2016,$Oracle$and/or$its$affiliates.$All$rights$reserved.$

Using$ApplicaQon$Container$Cloud$Service$For$Microservices$

33$

A%modern%pla\orm%for%lightweight%applicaIon%development%

Database$Cloud$Service$

Oracle$Cloud$

ApplicaQon$Container$Cloud$Service$ NoSQL$Cloud$Service$

Oracle$Management$Cloud$-$Management/Logging/AlerQng$

Messaging$Cloud$Service$

Caching$Cloud$Service$for$State$

Java$SE$Cloud$Service$

API$Load$Balancer$

Service$Discovery$

ConfiguraQon$

Node$Cloud$Service$

Other$Polyglot$RunQmes$

Bring$Your$Own$Container$

Jersey$+$Grizzly$

Docker$Containers$

Container$Placement$

Developer$Cloud$Service$

Copyright$©$2016,$Oracle$and/or$its$affiliates.$All$rights$reserved.$

Next$Up:$A$Next$GeneraQon$ApplicaQon$RunQme$

•  Take$core$Java$EE$APIS$-$Jersey/JAX-RS,$Tyrus/WebSocket$and$Grizzly/NIO$-$as$a$foundaQon$

•  FoundaQonal$to$a$new$style$microservices$plaeorm$

•  Key$capabiliQes$and$design$goals:$$–  Integrated$circuit$breaker$–  Simple$packaging$model$–$Java$-jar$

–  Fully$modular$(Jigsaw)$design,$to$allow$for$extensibility$$

–  Deep$Swagger$integraQon$–$opQonally$API$first$–  Deep$Maven$integraQon$

–  Easily$cap$resource$uQlizaQon$-$CPU,$memory$

–  ProgrammaQc$builder$or$class-path$discovery$modes$

–  AutomaQc$registraQon$of$transiQve$Module$dependencies$$

–  Concurrency$API$-$context$propagaQon,$managed$executor$services$

34$

As%part%of%a%larger%microservices%pla\orm%

MyApp.jar%

RunIme%

Compiler$

User%Code%

Key%Java%EE%APIs%

Java%SE%

Any+JVM+

Copyright$©$2016,$Oracle$and/or$its$affiliates.$All$rights$reserved.$Copyright$©$2016,$Oracle$and/or$its$affiliates.$All$rights$reserved.$

Oracle’s$Microservices$Strategy$Oracle’s%Microservices%Roadmap% Today%With%Oracle%Products%

RunIme%

Management/Logging/AlerIng%

Messaging%

Datastore%

API%Gateway/Load%Balancer%

Central%Source%of%Truth%

Infrastructure%

Build/Deploy%

35$

Container%OrchestraIon%

Service%Discovery%

EvenIng%

ConfiguraIon%

State% Planned%-$Oracle$Cloud$State$Service$

Planned%-$Oracle$Cloud$Config$Service$

Planned%-$$RunQme$-$Jersey$+$Grizzly$

Planned%-$Oracle$Cloud$EvenQng$Service$

Oracle$Messaging$Cloud$Service$

Oracle$Management$Cloud$Service$

Oracle$Database$or$NoSQL$Cloud$Service$

Oracle$Cloud$

Planned%-$Oracle$Microservices$Plaeorm$

Oracle$Developer$Cloud$Service$

Planned%-$Oracle$Microservices$Plaeorm$

Planned%-$Oracle$Microservices$Plaeorm$

Planned%-$Oracle$Microservices$Plaeorm$

Oracle$Coherence$or$Oracle$WebLogic$

Oracle$Coherence$

Oracle$WebLogic,$Node,$Java$SE,$etc$

Oracle$Coherence$

Oracle$Messaging$Cloud$Service$

Oracle$Management$Cloud$Service$

Oracle$Database$or$NoSQL$Cloud$Service$

Oracle$Cloud$

Oracle$App$Container$Cloud$Service$

Oracle$Developer$Cloud$Service$

Oracle$App$Container$Cloud$Service$

Oracle$Coherence$

Oracle$App$Container$Cloud$Service$

Copyright$©$2016,$Oracle$and/or$its$affiliates.$All$rights$reserved.$

An$All-New$Microservices$Plaeorm$From$Oracle$

Oracle$ConfidenQal$–$Internal/Restricted/Highly$Restricted$

$$

•  Config$•  State$•  EvenQng$•  Messaging$

•  Logging$•  Monitoring$

•  Database$•  NoSQL$•  Caching$•  IntegraQon$•  Big$Data$•  Mobile$

•  Process$•  Developer$

Infrastructure$AgnosQc$ High$Availability$ Hybrid$Cloud$

Placement$Constraints$ High$Density$ Internal$Load$Balancing$

Rolling$Upgrades$ Rollbacks$

Blue/Green$Releases$

Canary$TesQng$

Health$Monitoring$Service$Discovery$Stateless$Support$

Stateful$Support$Microservices%Pla\orm%

Language-specific$Tooling$

Install$Plaeorm$On$Any$IaaS,$On$Or$Off$Premise$(future)$Consume$Plaeorm$as$PaaS$on$Oracle$Cloud$

Oracle$Public$Cloud$

Oracle$Public$Cloud$Machine&

All$New$

Services&Available&for&Consump>on&Inside&the&PlaIorm&

RunIme%

Light/fast$

Jersey-based$

Easy$Packaging$

Copyright$©$2016,$Oracle$and/or$its$affiliates.$All$rights$reserved.$

New!$

36$

Copyright$©$2014$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$ 37$

Oracle$Developer$Cloud$Service—Included$$

Copyright$©$2014$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$ 38$

Build%

Zip%

Deploy!%

Copyright$©$2014$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$

Developer$Cloud$Service$–$Easy$AdopQon/IntegraQon$Pre'integrated%development%technologies%in%the%cloud%

•  Standards$Based$•  Git,$Maven,$Hudson,$Ant,$etc.$

•  Built-in$IDE$IntegraQon$•  Eclipse,$NetBeans,$JDeveloper$

•  Flexible$Source$LocaQon$•  Hosted$Git$or$GitHub$

•  Choice$of$Deployment$Target$•  Oracle$Cloud$or$on-premise$

39$

Copyright$©$2014$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$ 40$

Oracle$Developer$Cloud$Service$–$Base$Architecture$

Task$Tracking$System$

Oracle$Cloud$JCS$

JCS-SX$SOA$ACC$MCS$$

Management$Cloud$

On$Premise$WebLogic$Others$

Copyright$©$2014$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$ 41$

Another$Possible$ImplementaQon$Architecture$

Task$Tracking$System$

Oracle$Cloud$JCS$

JCS-SX$ACC$$$$

Management$Cloud$

On$Premise$WebLogic$Others$

On$Premise$

Copyright$©$2014$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$ 42$

Another$Possible$ImplementaQon$Architecture$

Oracle$Cloud$JCS$

JCS-SX$SOA$ACC$MCS$$

Management$Cloud$

On$Premise$WebLogic$Others$

Webhooks$$

Copyright$©$2014$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$

Oracle$Cloud$Plaeorm$-$ApplicaQon$Development$Cloud$NaQve,$Polyglot,$Java,$Mobile,$HTML5,$DeclaraQve$$

43$

Cloud$NaQve,$Polyglot$

$$

ApplicaQon$

Container$Cloud$

Modern$Java$$

$$

Java$Cloud/$

WebLogic$Server$

Mobile$$

$$

$

Mobile$Cloud$

DeclaraQve$$

$$

ApplicaQon$

Builder$Cloud$$

Copyright$©$2014$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$

Key$Features$

•  End-user$&$server$monitoring:$web,$mobile,$on-premises,$cloud$

•  Capacity$and$resource$planning$•  Estate-wide$event$and$metric$analyQcs$

•  Light-touch$log$aggregaQon$with$topology-aware$search$•  Machine$Learning$based$anomaly$detecQon$

•  Out-of-box$dashboards$Benefits$

•  Assure$good$user$experience$&$rapidly$troubleshoot$issues$•  Manage$complex$applicaQons$(heterogeneous,$mulQ-cloud,$etc.)$

•  Eliminate$operaQonal$data$silos$and$encourage$DevOps$

•  Get$started$quickly$and$easily$with$lightweight$deployment$

IT%AnalyIcs%

Log%AnalyIcs%

44$

Performance%Monitoring%

Management$Cloud:$For$IT$OperaQons$and$DevOps$

Copyright$©$2014$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$ Oracle$ConfidenQal$–$Internal/Restricted/Highly$Restricted$ 45$

Copyright$©$2014$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$

Bitnami$Popular$images,$provided$by$Bitnami,$ready$to$launch$on$Oracle$Cloud$Plaeorm$in$one$click.$

46$

h6ps://oracle.bitnami.com$

Copyright$©$2014$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$

Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$$

Product$Development$IT$(PDIT)$

•  602$Exadata$•  383$Exalogic$•  69,290$Sun$x86$servers$•  6,854$SPARC$servers$•  1,768$Sun$ZFS$appliances$•  Thousands$of$other$systems$

48$

SupporIng%enterprise,%development%IT,%cloud%and%managed%hosIng%at%Oracle%

924$Oracle$Products$135,000$Employees$

Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$$

How$Did$PDIT$Improve$Efficiency$by$>$2x$in$18$Months?$Culture%changes%enabled%by%technology%

49$

Culture%(Campbell%Webb,%Sr.%VP,%

Oracle)%

+% +%Cloud%

The%Same%Products%Oracle%Sells%

Infrastructure%AutomaIon%

PaaS%AutomaIon%%

Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$$

Oracle$Cloud$is$Provisioned$Using$Chef$

Database%Services%

Java%Services%

AnalyIcs%Services%

Mobile%Services%

Developer%Services%

CollaboraIon%Services%

Caching%Services%

Messaging%Services%

NoIficaIon%Services%

Storage%Services%

ApplicaIon%Store%

IdenIty%Services%

Powered&By&

50$

Oracle%Cloud%is%run%on%Chef%

Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$

Java%OpenJDK%

MOOC%

Java%SE%

Performance%

Security%JCP%Java%Duchess%

Java%EE%

Internet%of%Things%

OTN%

Java%Embedded%

Lambd

a%

Jigsaw

%

Tooling%

Java%Magazine%

Community%CollaboraIon%

Java%User%Groups%

Adopt'a'JSR%

Java%Cha

mpion

s%

Java%Card%Java%M

E%

Clou

d%APIs%

Big%Data%NetBeans%

JEPs%

Nashorn%

Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$$

Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$$

Q & A

Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$$

Acknowledgements$

• Oracle$PM$In$parQcular$Mike$Lehmann,$Shaun$Smith,$Kelly$Goetsch$h6p://www.slideshare.net/KellyGoetsch$

•  Java$EE$stuff$from$Linda$DeMichiel,$David$Delabassee,$Reza$Rahman,$Arun$Gupta…$

• App$Server$history$is$from$a$much$older$Sun$slide$I$had$put$together$($any$errors$in$there$are$all$mine$!$)$

Oracle$ConfidenQal$–$Internal/Restricted/Highly$

Restricted$

54$