Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Oracle WebLogic Server 12.2.1
Do More With Less
Ed Burns @edburns
slideshare.net/edburns/
Java EE Specification Team
November 2015
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Safe Harbor Statement
The following is intended to outline our general product direction. It is intended for
information purposes only, and may not be incorporated into any contract. It is not a
commitment to deliver any material, code, or functionality, and should not be relied upon
in making purchasing decisions. The development, release, and timing of any features or
functionality described for Oracle’s products remains at the sole discretion of Oracle.
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Software Stylist
• JSF Spec Lead since 2003
• Servlet Spec Lead since 2014
Coder
• Implemented lots of Mojarra JSF RI
Author
Conference Speaker
• JavaOne, GeekOut, ConFESS,
JavaLand, DevNexus, Devoxx,
JavaZone, Jazoon, JAX,
Herbstcampus, JUGs…
Trainer
• Full day Java EE/HTML5 Training
• JSF training
Speaker Qualifications: Ed Burns
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
My Plan for Your Time Investment
Opinion Piece on App Servers
Threats and Responses
WebLogic Server 12.2.1 Big Ticket New Features
Multi-Tenancy, Java EE 7, Zero Downtime Patching,
Docker Support
Coherence 12.2.1 with Java SE 8 Features
1
2
3
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
20 Years of Java
Gewinnspiel Mauspad
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
20 Years of Java
Gewinnspiel Mauspad
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Meme: App Servers Are Dead
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
• Example: Eberhard Wolff, ex-Spring
http://www.slideshare.net/ewolff/j
ava-application-servers-are-dead
• Personally, I don’t buy into this
meme. Just as I am skeptical of
“Tech Radars”.
@Bodil
Meme: App Servers Are Dead
MEINUNG
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
• Example: Eberhard Wolff, ex-Spring
http://www.slideshare.net/ewolff/j
ava-application-servers-are-dead
• Puppies, however, are OK.
@puffnfresh
Meme: App Servers Are Dead
MEINUNG
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Meme: App Servers Are Dead
Original Vision for App Servers
MEINUNG
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Meme: App Servers Are Dead
Original Vision for App Servers
MEINUNG
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Meme: App Servers Are Dead
Original Vision for App Servers
MEINUNG
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Meme: App Servers Are Dead
Original Vision for App Servers
MEINUNG
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Meme: App Servers Are Dead
Original Vision for App Servers
MEINUNG
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Meme: App Servers Are Dead
Original Vision for App Servers
MEINUNG
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Meme: App Servers Are Dead
Original Vision for App Servers
MEINUNG
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Meme: App Servers Are Dead
MEINUNG
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Meme: App Servers Are Dead
MEINUNG
Credit: Gilbert Mercier
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Meme: App Servers Are Dead
MEINUNG
Credit: John W. Iwanski
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Meme: App Servers Are Dead
MEINUNG
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Meme: App Servers Are Dead
MEINUNG
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Meme: App Servers Are Dead
MEINUNG
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Meme: App Servers Are Dead
One Response To This Supposedly Failed Vision
MEINUNG
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Meme: App Servers Are Dead
MEINUNG
One Response To This Supposedly Failed Vision
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Opinionated Response
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Response: What Do You Mean By Dead?
Standards Are an On-Ramp to the Cloud
MEINUNG
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Response: What Do You Mean By Dead?
How Sticky Do You Want To Be?
MEINUNG
Credit: Neil Tackaberry
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Response: What Do You Mean By Dead?
Local to Remote
MEINUNG
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Response: What Do You Mean By Dead?
Injection Can Be Used for Good
MEINUNG
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Response: What Do You Mean By Dead?
The Importance of Being Portable: Your Mileage May Vary
MEINUNG
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Response: What Do You Mean By Dead?
Resource Usage and the Cloud
MEINUNG
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Response: What Do You Mean By Dead?
If You’ve Already Bought Into the App Server Lifestyle
MEINUNG
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
• A Monolith is simply a full stack
solution that no one wants to
maintain any more.
“Full Stack Solution” or “Monolith”
MEINUNG
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
My Plan for Your Time Investment
Opinion Piece on App Servers
Threats and Responses
WebLogic Server 12.2.1 Big Ticket New Features
Multi-Tenancy, Java EE 7, Zero Downtime Patching,
Docker Support
Coherence 12.2.1 with Java SE 8 Features
1
2
3
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
WebLogic Server 12.2.1 Big Ticket New Features
• Multi-tenancy
• Java EE 7
• Zero Downtime Patching
• RESTful access to all of configuration surface area
• Docker Support
• Redesigned Fusion Middleware Control (using ALTA experience)
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
WebLogic Server 12.2.1 Big Ticket New Features
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
WebLogic Server 12.2.1 Big Ticket New Features
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
WebLogic Server 12.2.1 Big Ticket New Features
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
WebLogic Server 12.2.1 Big Ticket New Features
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
WebLogic Multitenant: Solving Critical Business Challenges
Microcontainer
Portability for Devops
WebLogic MT
Java Cloud Service
3X Consolidation
Ratio
WebLogic WebLogic WebLogic
Java Cloud Service
Secure/Isolated
Multitenant Java
WebLogic MT
WebLogic Multitenancy: Efficiency, Agility, and Lower Cost 41
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | WebLogic Multitenancy: Efficiency, Agility, and Lower Cost 42
Microcontainers and a Shared Platform
WebLogic Multitenant
WebLogic
Apps
Resources
WebLogic
Apps
Resources
Apps
Resources
Apps
Resources
Apps
Resources
WebLogic
Apps
Resources
WebLogic
Encapsulate applications
into pluggable partitions
Run them on shared
platforms
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Key Technical Concepts
Traffic
Director
WebLogic Server
Partition 1
Virtual
Target
App App
JM
S
Data
Source
JNDI
Coherence
Service 1 Service 2 … Service
N
Partition 1
Database
Partition 2
Virtual
Target
App App
JM
S
Data
Source
JNDI
Partition 2
WebLogic Multitenancy: Efficiency, Agility, and Lower Cost 43
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Microcontainers in WebLogic Server 12.2.1
Dev Env
• Maximum portability between environments
• Parity between dev and production
• Fast startup/shutdown – disposability
• Easy scale up
• Enable migration to the cloud
Oracle WebLogic Server
Apps
Resources
Apps
Resources
Java Cloud Service
Apps
Resources
WebLogic Multitenancy: Efficiency, Agility, and Lower Cost
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Resource Consumption Managers
• Deep integration between WebLogic Server and the Oracle
JDK
• Prevents resource hogging, protects applications in a shared
JVM
• Managed resources
– Retained heap, CPU time, open file descriptors
• Triggerable actions
– Notify – inform administrator that a threshold has been crossed
– Slow – reduce partition’s ability to consume resources
– Fail – reject requests for the resource (file descriptors only)
– Stop – initiate the shut down sequence for the offending partition
• “Boundaries” and Fair Share usage patterns
Runtime Isolation Within a JVM
Partition
1
Partition
2
JVM
Boundary Between Partitions
WebLogic Multitenancy: Efficiency, Agility, and Lower Cost 45
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Declared Boundaries
46
Heap Example
9 GB JVM
Partition 1 Partition 2 Partition 3 Partition 4 <name>heap-level-1</name>
<heap>
<trigger>
<name>1.25GB</name>
<value>1250</value>
<action>notify</action>
</trigger>
<trigger>
<name>1.5GB</name>
<value>1500</value>
<action>slow</action>
</trigger>
<trigger>
<name>2GB</name>
<value>2000</value>
<action>stop</action>
</trigger>
</heap>
1.25
1.5
2.0
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Declared Boundaries
47
Heap Example
9 GB JVM
Partition 1 Partition 2 Partition 3 Partition 4 <name>heap-level-1</name>
<heap>
<trigger>
<name>1.25GB</name>
<value>1250</value>
<action>notify</action>
</trigger>
<trigger>
<name>1.5GB</name>
<value>1500</value>
<action>slow</action>
</trigger>
<trigger>
<name>2GB</name>
<value>2000</value>
<action>stop</action>
</trigger>
</heap>
1 GB
0.5 GB
0.75 GB
0.5 GB
1.25
1.5
2.0
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Declared Boundaries
48
Heap Example
9 GB JVM
Partition 1 Partition 2 Partition 3 Partition 4 <name>heap-level-1</name>
<heap>
<trigger>
<name>1.25GB</name>
<value>1250</value>
<action>notify</action>
</trigger>
<trigger>
<name>1.5GB</name>
<value>1500</value>
<action>slow</action>
</trigger>
<trigger>
<name>2GB</name>
<value>2000</value>
<action>stop</action>
</trigger>
</heap>
1.26 GB
0.5 GB
0.75 GB
0.5 GB
Crossing 1.25 GB
triggers “notify” action
1.25
1.5
2.0
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Declared Boundaries
49
Heap Example
9 GB JVM
Partition 1 Partition 2 Partition 3 Partition 4 <name>heap-level-1</name>
<heap>
<trigger>
<name>1.25GB</name>
<value>1250</value>
<action>notify</action>
</trigger>
<trigger>
<name>1.5GB</name>
<value>1500</value>
<action>slow</action>
</trigger>
<trigger>
<name>2GB</name>
<value>2000</value>
<action>stop</action>
</trigger>
</heap>
1.51 GB
0.5 GB
0.75 GB
0.5 GB
Crossing 1.5 GB triggers
“slow” action
1.25
1.5
2.0
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Declared Boundaries
50
Heap Example
9 GB JVM
Partition 1 Partition 2 Partition 3 Partition 4 <name>heap-level-1</name>
<heap>
<trigger>
<name>1.25GB</name>
<value>1250</value>
<action>notify</action>
</trigger>
<trigger>
<name>1.5GB</name>
<value>1500</value>
<action>slow</action>
</trigger>
<trigger>
<name>2GB</name>
<value>2000</value>
<action>stop</action>
</trigger>
</heap>
2.05 GB
0.5 GB
0.75 GB
0.5 GB
Crossing 2 GB triggers
“stop” action
1.25
1.5
2.0
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Declared Boundaries
51
Heap Example
9 GB JVM
Partition 1 Partition 2 Partition 3 Partition 4 <name>heap-level-1</name>
<heap>
<trigger>
<name>1.25GB</name>
<value>1250</value>
<action>notify</action>
</trigger>
<trigger>
<name>1.5GB</name>
<value>1500</value>
<action>slow</action>
</trigger>
<trigger>
<name>2GB</name>
<value>2000</value>
<action>stop</action>
</trigger>
</heap>
0.5 GB
0.75 GB
0.5 GB
1.25
1.5
2.0
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
High Density/Virtualization
• Lower Total Cost of Ownership of server-side
Java Infrastructure
– Reduce hardware footprint/CAPEX by 66%
– Reduce OPEX costs by 25%
– Consolidate domains by 10X
• Simplify with Java Cloud Infrastructure
– Easy to adopt
– Elasticity on demand
– Promotes consistency, quality, and standardization
3X Density Improvement
Apps
Resources
Microcontainer
Apps
Resources
Microcontainer
Apps
Resources
Microcontainer
Apps
Resources
Microcontainer
Apps
Resources
Microcontainer
Apps
Resources
Microcontainer
WebLogic Multitenancy: Efficiency, Agility, and Lower Cost
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
WebLogic MT Value Prop
• Benchmark Data shows
significant consolidation
opportunities
• Running 10 partitions in
shared JVMs shows no
increase in response
times, minimal increase in
memory footprint
• CPU load per app is
reduced
Density
Non-MT
= 1 VM + Guest OS + JVM
MT
= Partition within a JVM
Admin
Admin
Admin
Admin
Admin
Admin
Admin
Admin
Admin
Admin
Admin
WebLogic Multitenancy: Efficiency, Agility, and Lower Cost
Admin
Admin
53
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
MT Benchmark Data
WebLogic Multitenancy: Efficiency, Agility, and Lower Cost
MedRec
Non-MT:
1 domain
Admin + 4 node cluster
1 app/domain
Non-MT:
Extrapolated for
10 domains
WLS-MT:
1 domain
Admin + 4-node cluster
10 partitions/domain
1 app/partition
Savings
JVM Heap Setting -Xms:512m –Xmx 2g -Xms:512m –Xmx 2g -Xms:512m –Xmx 2g
Concurrent users 400 4000 4000
TPS Transaction/Sec 2.37 23.7 23.45
Response Time (Sec)
90% RT 0.47 0.239 0.057
Average RT 0.17 0.107 0.052
CPU Usage %CPU ( per VM )
2% each on 4 CPUs
0.5% of total server CPU
capacity
5% each on 16 CPUs
5% of total server
CPU capacity
8% of 4 CPUs
2% of total server CPU
capacity
60%/2.5X less CPU usage
Process OS Memory
Footprint (GB)
Average
3.88 (0.97 each on 4
VMs)
38.8 (0.97 each on 40
VMs)
11.2 (2.8 each on 4
VMs)
71%/3.5X less memory usage
54
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Multitenancy in WebLogic 12.2.1
• Agility/devops with lightweight
pluggable partitions
– Ultra-light container-like service packaging
– Portability across environments
• High density with domain and JVM sharing
– Consolidate/virtualize within domains and
JVMs
• Isolation between microcontainers
– Runtime, administration, security, data
55
Summary
Oracle WebLogic Server
Apps
Resources
Apps
Resources
App Svr
Apps
Resources
App Svr
Apps
Resources
WebLogic
Apps
Resources
Apps
Resources
WebLogic Multitenancy: Efficiency, Agility, and Lower Cost
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Java EE 7 Support
Meet the Family
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Java EE 7 Support
Meet the Family
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Oracle WebLogic Server Continuous Availability
• Simplify multi data center operations of
WebLogic Server and Coherence with
Oracle Site Guard
– From 1000’s of manual steps to complete
automation
• Enable zero planned downtime
• Enable zero unplanned downtime
Multi Data Center Deployment
WebLogic &
Coherence
WebLogic &
Coherence
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
WebLogic Continuous Availability: Multi Data Center
Resilience
Automated Data
Center Setup/Failover
Active Active
Continuous Availability
WebLogic WebLogic
Coherence
Reduced
Application Downtime
Database
Security
Patch
WebLogic
WebLogic WebLogic
Coherence
XCoherence
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Zero Downtime Patching
Continuous Application Updates
through automated patch rollout w/
rollback on error
Recoverable Persistent
Caching
Durable storage of cached data and
metadata with automated recovery
Multitenant Live Partition
Migration
Migrate Running Tenant Partitions
without impacting users
Reduce Application Downtime
Cluster 1 Cluster 2
Node 1
OracleHome-P1
OracleHome
ManagedServer
1
ManagedServer
2
Node 3
OracleHome-P1
OracleHome
ManagedServer
5
ManagedServer
6
Node 2
OracleHome-P1
OracleHome
ManagedServer
3
ManagedServer
4
Repository
Application
Coherence
WebLogic
WebLogic
WebLogic
WebLogic
Partition1
WebLogic
WebLogic
WebLogic
WebLogic
Partition1
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Configuration Accessible via REST
REST
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
ORACLE CLOUD PLATFORM
Oracle Cloud Platform: Application Services
WebLogic Server 12cR2 Demonstration – WebLogic 12.2.1 on Docker Containers
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | 62
• Complete and Integrated
• Best-in-Class
• Open Standards
• On-Premise and Cloud
CloudOn-Premise
COHERENCEJAVA CLOUDDEVELOPER CLOUD TUXEOWEBLOGIC SERVER
APPLICATION SERVICES
WebLogic Server 12cR2
on
Docker Containers
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Certification of WebLogic running on Docker
WLS Version JDK Version HOST OS Kernel Docker Version
12.2.1 8 Oracle Linux 6 UL 6 Unbreakable Enterprise Kernel
Release 3 (3.8.13)
1.7+
12.2.1 8 Oracle Linux 7 Unbreakable Enterprise Kernel
Release 3 (3.8.13) or
Red Hat Compatible Kernel
(3.10)
1.7+
12.2.1 8 Red Hat Enterprise Linux 7 Red Hat Compatible Kernel
(3.10)
1.7+
12.1.3 7/8 Oracle Linux 6 UL 5 Unbreakable Enterprise Kernel
Release 3 (3.8.13)
1.3.3+
12.1.3 7/8 Oracle Linux 7 Unbreakable Enterprise Kernel
Release 3 (3.8.13) or
Red Hat Compatible Kernel
(3.10)
1.3.3+
12.1.3 7/8 Red Hat Enterprise Linux 7 Red Hat Enterprise Linux Kernel
(3.10)
1.3.3+
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
WebLogic Docker Images
Oracle Linux 7
JDK 8 &WebLogic
Server Installation
WebLogic
Server
Domain
Base Image
Install Image
Domain
Image
• Base Image
– Oracle Linux 7 or RedHat 7 (already available on Docker
Hub)
• Install Image
– Download WebLogic installers and JDK
– WebLogic Dockerfiles to extend base image with Oracle
Linux 7, JDK 8, and the WebLogic Server 12.2.1
installation (Full or Developer installation)
• Domain Image
– Edit sample Dockerfile posted on GitHub to extend WLS
install image to create a domain configuration.
https://github.com/oracle/docker
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Running WebLogic Server Docker Container
65
• From the WebLogic Server image you can start two different
container configurations
‒Run Admin Server Container
‒Run Managed Server Container
• Using these containers you can create different topologies.
‒ WebLogic Server Docker Topology
‒ Containerized Oracle WebLogic Server Applications
Admin Server
Container
AS
Managed Server
Container
MS
App
NM
JMS
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
My Plan for Your Time Investment
Opinion Piece on App Servers
Threats and Responses
WebLogic Server 12.2.1 Big Ticket New Features
Multi-Tenancy, Java EE 7, Zero Downtime Patching,
Docker Support
Coherence 12.2.1 with Java SE 8 Features
1
2
3
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Summary
• Lambdas are a defining feature of Java 8
• Coherence 12.2.1 allows you to use lambdas
– Like standard Java, but both locally & in a distributed manner
– Allows in-place update without locking / synchronization
– With existing Coherence features (like Entry Processors, Listeners…)
– To perform stream-based operations
• Coherence adds support for serialization of standard functional interfaces
• Coherence handles distributed stream & lambdas in a dynamic way
– Supports multiple versions of clients seamlessly running side-by-side without restart
Distributed Lambdas Rock! Imagine the possibilities!
67
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Summary
• Stream API provides functional API for query and aggregation
• Collectors eliminate the need for custom code
• Coherence provides Distributed Stream API
– Allows parallel processing of data streams across a cluster “in-place”
– Scales multiple threads in a single process to multiple threads in multiple processes
across machines across the Coherence cluster (with high-availablity)
– Provides optimizations to avoid deserialization & use indexes
– Stable results even during cluster failure / recovery
• Next generation? Real-time continuous stream processing
Distributed Streaming Rocks!
68
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Join the WebLogic Server Community
Twitter
https://twitter.com/WebLogicServer
Facebook
https://www.facebook.com/WebLogicServer
Oracle’s WebLogic Server LinkedIn
https://linkedin.com/WebLogic Server
YouTube
http://www.youtube.com/OracleWebLogic
Oracle’s WebLogic Server blog
https://blogs.oracle.com/WebLogicServer
Oracle.com/WebLogicServer
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Safe Harbor Statement
The preceding is intended to outline our general product direction. It is intended for
information purposes only, and may not be incorporated into any contract. It is not a
commitment to deliver any material, code, or functionality, and should not be relied upon
in making purchasing decisions. The development, release, and timing of any features or
functionality described for Oracle’s products remains at the sole discretion of Oracle.
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Oracle WebLogic Server 12.2.1 Do More with Less

Oracle WebLogic Server 12.2.1 Do More with Less

  • 2.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | Oracle WebLogic Server 12.2.1 Do More With Less Ed Burns @edburns slideshare.net/edburns/ Java EE Specification Team November 2015
  • 3.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.
  • 4.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | Software Stylist • JSF Spec Lead since 2003 • Servlet Spec Lead since 2014 Coder • Implemented lots of Mojarra JSF RI Author Conference Speaker • JavaOne, GeekOut, ConFESS, JavaLand, DevNexus, Devoxx, JavaZone, Jazoon, JAX, Herbstcampus, JUGs… Trainer • Full day Java EE/HTML5 Training • JSF training Speaker Qualifications: Ed Burns
  • 5.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | My Plan for Your Time Investment Opinion Piece on App Servers Threats and Responses WebLogic Server 12.2.1 Big Ticket New Features Multi-Tenancy, Java EE 7, Zero Downtime Patching, Docker Support Coherence 12.2.1 with Java SE 8 Features 1 2 3
  • 6.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | 20 Years of Java Gewinnspiel Mauspad
  • 7.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | 20 Years of Java Gewinnspiel Mauspad
  • 8.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | Meme: App Servers Are Dead
  • 9.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | • Example: Eberhard Wolff, ex-Spring http://www.slideshare.net/ewolff/j ava-application-servers-are-dead • Personally, I don’t buy into this meme. Just as I am skeptical of “Tech Radars”. @Bodil Meme: App Servers Are Dead MEINUNG
  • 10.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | • Example: Eberhard Wolff, ex-Spring http://www.slideshare.net/ewolff/j ava-application-servers-are-dead • Puppies, however, are OK. @puffnfresh Meme: App Servers Are Dead MEINUNG
  • 11.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | Meme: App Servers Are Dead Original Vision for App Servers MEINUNG
  • 12.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | Meme: App Servers Are Dead Original Vision for App Servers MEINUNG
  • 13.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | Meme: App Servers Are Dead Original Vision for App Servers MEINUNG
  • 14.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | Meme: App Servers Are Dead Original Vision for App Servers MEINUNG
  • 15.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | Meme: App Servers Are Dead Original Vision for App Servers MEINUNG
  • 16.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | Meme: App Servers Are Dead Original Vision for App Servers MEINUNG
  • 17.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | Meme: App Servers Are Dead Original Vision for App Servers MEINUNG
  • 18.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | Meme: App Servers Are Dead MEINUNG
  • 19.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | Meme: App Servers Are Dead MEINUNG Credit: Gilbert Mercier
  • 20.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | Meme: App Servers Are Dead MEINUNG Credit: John W. Iwanski
  • 21.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | Meme: App Servers Are Dead MEINUNG
  • 22.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | Meme: App Servers Are Dead MEINUNG
  • 23.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | Meme: App Servers Are Dead MEINUNG
  • 24.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | Meme: App Servers Are Dead One Response To This Supposedly Failed Vision MEINUNG
  • 25.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | Meme: App Servers Are Dead MEINUNG One Response To This Supposedly Failed Vision
  • 26.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | Opinionated Response
  • 27.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | Response: What Do You Mean By Dead? Standards Are an On-Ramp to the Cloud MEINUNG
  • 28.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | Response: What Do You Mean By Dead? How Sticky Do You Want To Be? MEINUNG Credit: Neil Tackaberry
  • 29.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | Response: What Do You Mean By Dead? Local to Remote MEINUNG
  • 30.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | Response: What Do You Mean By Dead? Injection Can Be Used for Good MEINUNG
  • 31.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | Response: What Do You Mean By Dead? The Importance of Being Portable: Your Mileage May Vary MEINUNG
  • 32.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | Response: What Do You Mean By Dead? Resource Usage and the Cloud MEINUNG
  • 33.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | Response: What Do You Mean By Dead? If You’ve Already Bought Into the App Server Lifestyle MEINUNG
  • 34.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | • A Monolith is simply a full stack solution that no one wants to maintain any more. “Full Stack Solution” or “Monolith” MEINUNG
  • 35.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | My Plan for Your Time Investment Opinion Piece on App Servers Threats and Responses WebLogic Server 12.2.1 Big Ticket New Features Multi-Tenancy, Java EE 7, Zero Downtime Patching, Docker Support Coherence 12.2.1 with Java SE 8 Features 1 2 3
  • 36.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | WebLogic Server 12.2.1 Big Ticket New Features • Multi-tenancy • Java EE 7 • Zero Downtime Patching • RESTful access to all of configuration surface area • Docker Support • Redesigned Fusion Middleware Control (using ALTA experience)
  • 37.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | WebLogic Server 12.2.1 Big Ticket New Features
  • 38.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | WebLogic Server 12.2.1 Big Ticket New Features
  • 39.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | WebLogic Server 12.2.1 Big Ticket New Features
  • 40.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | WebLogic Server 12.2.1 Big Ticket New Features
  • 41.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | WebLogic Multitenant: Solving Critical Business Challenges Microcontainer Portability for Devops WebLogic MT Java Cloud Service 3X Consolidation Ratio WebLogic WebLogic WebLogic Java Cloud Service Secure/Isolated Multitenant Java WebLogic MT WebLogic Multitenancy: Efficiency, Agility, and Lower Cost 41
  • 42.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | WebLogic Multitenancy: Efficiency, Agility, and Lower Cost 42 Microcontainers and a Shared Platform WebLogic Multitenant WebLogic Apps Resources WebLogic Apps Resources Apps Resources Apps Resources Apps Resources WebLogic Apps Resources WebLogic Encapsulate applications into pluggable partitions Run them on shared platforms
  • 43.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | Key Technical Concepts Traffic Director WebLogic Server Partition 1 Virtual Target App App JM S Data Source JNDI Coherence Service 1 Service 2 … Service N Partition 1 Database Partition 2 Virtual Target App App JM S Data Source JNDI Partition 2 WebLogic Multitenancy: Efficiency, Agility, and Lower Cost 43
  • 44.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | Microcontainers in WebLogic Server 12.2.1 Dev Env • Maximum portability between environments • Parity between dev and production • Fast startup/shutdown – disposability • Easy scale up • Enable migration to the cloud Oracle WebLogic Server Apps Resources Apps Resources Java Cloud Service Apps Resources WebLogic Multitenancy: Efficiency, Agility, and Lower Cost
  • 45.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | Resource Consumption Managers • Deep integration between WebLogic Server and the Oracle JDK • Prevents resource hogging, protects applications in a shared JVM • Managed resources – Retained heap, CPU time, open file descriptors • Triggerable actions – Notify – inform administrator that a threshold has been crossed – Slow – reduce partition’s ability to consume resources – Fail – reject requests for the resource (file descriptors only) – Stop – initiate the shut down sequence for the offending partition • “Boundaries” and Fair Share usage patterns Runtime Isolation Within a JVM Partition 1 Partition 2 JVM Boundary Between Partitions WebLogic Multitenancy: Efficiency, Agility, and Lower Cost 45
  • 46.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | Declared Boundaries 46 Heap Example 9 GB JVM Partition 1 Partition 2 Partition 3 Partition 4 <name>heap-level-1</name> <heap> <trigger> <name>1.25GB</name> <value>1250</value> <action>notify</action> </trigger> <trigger> <name>1.5GB</name> <value>1500</value> <action>slow</action> </trigger> <trigger> <name>2GB</name> <value>2000</value> <action>stop</action> </trigger> </heap> 1.25 1.5 2.0
  • 47.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | Declared Boundaries 47 Heap Example 9 GB JVM Partition 1 Partition 2 Partition 3 Partition 4 <name>heap-level-1</name> <heap> <trigger> <name>1.25GB</name> <value>1250</value> <action>notify</action> </trigger> <trigger> <name>1.5GB</name> <value>1500</value> <action>slow</action> </trigger> <trigger> <name>2GB</name> <value>2000</value> <action>stop</action> </trigger> </heap> 1 GB 0.5 GB 0.75 GB 0.5 GB 1.25 1.5 2.0
  • 48.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | Declared Boundaries 48 Heap Example 9 GB JVM Partition 1 Partition 2 Partition 3 Partition 4 <name>heap-level-1</name> <heap> <trigger> <name>1.25GB</name> <value>1250</value> <action>notify</action> </trigger> <trigger> <name>1.5GB</name> <value>1500</value> <action>slow</action> </trigger> <trigger> <name>2GB</name> <value>2000</value> <action>stop</action> </trigger> </heap> 1.26 GB 0.5 GB 0.75 GB 0.5 GB Crossing 1.25 GB triggers “notify” action 1.25 1.5 2.0
  • 49.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | Declared Boundaries 49 Heap Example 9 GB JVM Partition 1 Partition 2 Partition 3 Partition 4 <name>heap-level-1</name> <heap> <trigger> <name>1.25GB</name> <value>1250</value> <action>notify</action> </trigger> <trigger> <name>1.5GB</name> <value>1500</value> <action>slow</action> </trigger> <trigger> <name>2GB</name> <value>2000</value> <action>stop</action> </trigger> </heap> 1.51 GB 0.5 GB 0.75 GB 0.5 GB Crossing 1.5 GB triggers “slow” action 1.25 1.5 2.0
  • 50.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | Declared Boundaries 50 Heap Example 9 GB JVM Partition 1 Partition 2 Partition 3 Partition 4 <name>heap-level-1</name> <heap> <trigger> <name>1.25GB</name> <value>1250</value> <action>notify</action> </trigger> <trigger> <name>1.5GB</name> <value>1500</value> <action>slow</action> </trigger> <trigger> <name>2GB</name> <value>2000</value> <action>stop</action> </trigger> </heap> 2.05 GB 0.5 GB 0.75 GB 0.5 GB Crossing 2 GB triggers “stop” action 1.25 1.5 2.0
  • 51.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | Declared Boundaries 51 Heap Example 9 GB JVM Partition 1 Partition 2 Partition 3 Partition 4 <name>heap-level-1</name> <heap> <trigger> <name>1.25GB</name> <value>1250</value> <action>notify</action> </trigger> <trigger> <name>1.5GB</name> <value>1500</value> <action>slow</action> </trigger> <trigger> <name>2GB</name> <value>2000</value> <action>stop</action> </trigger> </heap> 0.5 GB 0.75 GB 0.5 GB 1.25 1.5 2.0
  • 52.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | High Density/Virtualization • Lower Total Cost of Ownership of server-side Java Infrastructure – Reduce hardware footprint/CAPEX by 66% – Reduce OPEX costs by 25% – Consolidate domains by 10X • Simplify with Java Cloud Infrastructure – Easy to adopt – Elasticity on demand – Promotes consistency, quality, and standardization 3X Density Improvement Apps Resources Microcontainer Apps Resources Microcontainer Apps Resources Microcontainer Apps Resources Microcontainer Apps Resources Microcontainer Apps Resources Microcontainer WebLogic Multitenancy: Efficiency, Agility, and Lower Cost
  • 53.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | WebLogic MT Value Prop • Benchmark Data shows significant consolidation opportunities • Running 10 partitions in shared JVMs shows no increase in response times, minimal increase in memory footprint • CPU load per app is reduced Density Non-MT = 1 VM + Guest OS + JVM MT = Partition within a JVM Admin Admin Admin Admin Admin Admin Admin Admin Admin Admin Admin WebLogic Multitenancy: Efficiency, Agility, and Lower Cost Admin Admin 53
  • 54.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | MT Benchmark Data WebLogic Multitenancy: Efficiency, Agility, and Lower Cost MedRec Non-MT: 1 domain Admin + 4 node cluster 1 app/domain Non-MT: Extrapolated for 10 domains WLS-MT: 1 domain Admin + 4-node cluster 10 partitions/domain 1 app/partition Savings JVM Heap Setting -Xms:512m –Xmx 2g -Xms:512m –Xmx 2g -Xms:512m –Xmx 2g Concurrent users 400 4000 4000 TPS Transaction/Sec 2.37 23.7 23.45 Response Time (Sec) 90% RT 0.47 0.239 0.057 Average RT 0.17 0.107 0.052 CPU Usage %CPU ( per VM ) 2% each on 4 CPUs 0.5% of total server CPU capacity 5% each on 16 CPUs 5% of total server CPU capacity 8% of 4 CPUs 2% of total server CPU capacity 60%/2.5X less CPU usage Process OS Memory Footprint (GB) Average 3.88 (0.97 each on 4 VMs) 38.8 (0.97 each on 40 VMs) 11.2 (2.8 each on 4 VMs) 71%/3.5X less memory usage 54
  • 55.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | Multitenancy in WebLogic 12.2.1 • Agility/devops with lightweight pluggable partitions – Ultra-light container-like service packaging – Portability across environments • High density with domain and JVM sharing – Consolidate/virtualize within domains and JVMs • Isolation between microcontainers – Runtime, administration, security, data 55 Summary Oracle WebLogic Server Apps Resources Apps Resources App Svr Apps Resources App Svr Apps Resources WebLogic Apps Resources Apps Resources WebLogic Multitenancy: Efficiency, Agility, and Lower Cost
  • 56.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | Java EE 7 Support Meet the Family
  • 57.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | Java EE 7 Support Meet the Family
  • 58.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | Oracle WebLogic Server Continuous Availability • Simplify multi data center operations of WebLogic Server and Coherence with Oracle Site Guard – From 1000’s of manual steps to complete automation • Enable zero planned downtime • Enable zero unplanned downtime Multi Data Center Deployment WebLogic & Coherence WebLogic & Coherence
  • 59.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | WebLogic Continuous Availability: Multi Data Center Resilience Automated Data Center Setup/Failover Active Active Continuous Availability WebLogic WebLogic Coherence Reduced Application Downtime Database Security Patch WebLogic WebLogic WebLogic Coherence XCoherence
  • 60.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | Zero Downtime Patching Continuous Application Updates through automated patch rollout w/ rollback on error Recoverable Persistent Caching Durable storage of cached data and metadata with automated recovery Multitenant Live Partition Migration Migrate Running Tenant Partitions without impacting users Reduce Application Downtime Cluster 1 Cluster 2 Node 1 OracleHome-P1 OracleHome ManagedServer 1 ManagedServer 2 Node 3 OracleHome-P1 OracleHome ManagedServer 5 ManagedServer 6 Node 2 OracleHome-P1 OracleHome ManagedServer 3 ManagedServer 4 Repository Application Coherence WebLogic WebLogic WebLogic WebLogic Partition1 WebLogic WebLogic WebLogic WebLogic Partition1
  • 61.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | Configuration Accessible via REST REST
  • 62.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | ORACLE CLOUD PLATFORM Oracle Cloud Platform: Application Services WebLogic Server 12cR2 Demonstration – WebLogic 12.2.1 on Docker Containers Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | 62 • Complete and Integrated • Best-in-Class • Open Standards • On-Premise and Cloud CloudOn-Premise COHERENCEJAVA CLOUDDEVELOPER CLOUD TUXEOWEBLOGIC SERVER APPLICATION SERVICES WebLogic Server 12cR2 on Docker Containers
  • 63.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | Certification of WebLogic running on Docker WLS Version JDK Version HOST OS Kernel Docker Version 12.2.1 8 Oracle Linux 6 UL 6 Unbreakable Enterprise Kernel Release 3 (3.8.13) 1.7+ 12.2.1 8 Oracle Linux 7 Unbreakable Enterprise Kernel Release 3 (3.8.13) or Red Hat Compatible Kernel (3.10) 1.7+ 12.2.1 8 Red Hat Enterprise Linux 7 Red Hat Compatible Kernel (3.10) 1.7+ 12.1.3 7/8 Oracle Linux 6 UL 5 Unbreakable Enterprise Kernel Release 3 (3.8.13) 1.3.3+ 12.1.3 7/8 Oracle Linux 7 Unbreakable Enterprise Kernel Release 3 (3.8.13) or Red Hat Compatible Kernel (3.10) 1.3.3+ 12.1.3 7/8 Red Hat Enterprise Linux 7 Red Hat Enterprise Linux Kernel (3.10) 1.3.3+
  • 64.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | WebLogic Docker Images Oracle Linux 7 JDK 8 &WebLogic Server Installation WebLogic Server Domain Base Image Install Image Domain Image • Base Image – Oracle Linux 7 or RedHat 7 (already available on Docker Hub) • Install Image – Download WebLogic installers and JDK – WebLogic Dockerfiles to extend base image with Oracle Linux 7, JDK 8, and the WebLogic Server 12.2.1 installation (Full or Developer installation) • Domain Image – Edit sample Dockerfile posted on GitHub to extend WLS install image to create a domain configuration. https://github.com/oracle/docker
  • 65.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | Running WebLogic Server Docker Container 65 • From the WebLogic Server image you can start two different container configurations ‒Run Admin Server Container ‒Run Managed Server Container • Using these containers you can create different topologies. ‒ WebLogic Server Docker Topology ‒ Containerized Oracle WebLogic Server Applications Admin Server Container AS Managed Server Container MS App NM JMS
  • 66.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | My Plan for Your Time Investment Opinion Piece on App Servers Threats and Responses WebLogic Server 12.2.1 Big Ticket New Features Multi-Tenancy, Java EE 7, Zero Downtime Patching, Docker Support Coherence 12.2.1 with Java SE 8 Features 1 2 3
  • 67.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | Summary • Lambdas are a defining feature of Java 8 • Coherence 12.2.1 allows you to use lambdas – Like standard Java, but both locally & in a distributed manner – Allows in-place update without locking / synchronization – With existing Coherence features (like Entry Processors, Listeners…) – To perform stream-based operations • Coherence adds support for serialization of standard functional interfaces • Coherence handles distributed stream & lambdas in a dynamic way – Supports multiple versions of clients seamlessly running side-by-side without restart Distributed Lambdas Rock! Imagine the possibilities! 67
  • 68.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | Summary • Stream API provides functional API for query and aggregation • Collectors eliminate the need for custom code • Coherence provides Distributed Stream API – Allows parallel processing of data streams across a cluster “in-place” – Scales multiple threads in a single process to multiple threads in multiple processes across machines across the Coherence cluster (with high-availablity) – Provides optimizations to avoid deserialization & use indexes – Stable results even during cluster failure / recovery • Next generation? Real-time continuous stream processing Distributed Streaming Rocks! 68
  • 69.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | Join the WebLogic Server Community Twitter https://twitter.com/WebLogicServer Facebook https://www.facebook.com/WebLogicServer Oracle’s WebLogic Server LinkedIn https://linkedin.com/WebLogic Server YouTube http://www.youtube.com/OracleWebLogic Oracle’s WebLogic Server blog https://blogs.oracle.com/WebLogicServer Oracle.com/WebLogicServer
  • 70.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. | Safe Harbor Statement The preceding is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.
  • 71.
    Copyright © 2015,Oracle and/or its affiliates. All rights reserved. |

Editor's Notes

  • #3 Thanks for coming to this session nearly at the very end of the conference!
  • #4 Frank Nimphius: Glaubt alles, kauft nichts. ----- Meeting Notes (11/19/15 13:44) ----- Normally the German takes longer than the English, but not in this case.
  • #5 Do spend a little time on this. You have to remind people of your experience so your story is more credible. ----- Meeting Notes (11/19/15 13:44) ----- Even though I am speaking to you here about WLS the product, my real job is to work on the specification and implementation of two parts of WLS: JSF and Servlet.
  • #6  ----- Meeting Notes (11/19/15 13:44) ----- There are 18 other tracks you could have chose, plus the exhibition and the unconference, and you have chosen this one. So as a little thanks I have...
  • #7  ----- Meeting Notes (11/19/15 13:44) ----- A little gewinnspiel in the theme of the 20th anniversary of Java.
  • #8  ----- Meeting Notes (11/19/15 13:44) ----- This Java Factory Direct Mouse Pad will go to the person whose question at the end I like the best.
  • #9  ----- Meeting Notes (11/19/15 13:44) ----- Now for the opinion piece.
  • #10  ----- Meeting Notes (11/19/15 13:44) ----- There's this meme out there, fueled in part my my old pal Eberhard Wolff, ex of the Spring company. Give it a look. This reminds me of the popularity of "Tech Radars." Here is a tech radar on Tech Radars. I'm a little skeptical of tech radars.
  • #11  ----- Meeting Notes (11/19/15 13:44) ----- Puppies, on the other hand, are fine.
  • #12 Let’s recap the original vision for app servers. An App server is like a suburb, each house is like an app. App servers provide shared services to all the apps, such as
  • #13 message queues
  • #14 directory services
  • #15 metering and logging
  • #16 persistence
  • #17 Provide sufficient isolation to all the apps
  • #18 pause here. This isolation is one of the things that stays current in everything we are doing now in WLS and in the cloud as well.
  • #19 Another part of the meme is about portability. This was also held up as part of the value proposition of app servers. The original vision for portability looked something like this. You could avoid vendor lock-in and let market forces work for you instead of against you: competition among vendors on price, performance, etc.
  • #20 But some things are portable in name only. Look at this thing. Technically, it’s a mobile home, but it was not really designed to be mobile.
  • #21 This has lead some to conclude portability is a broken down and unrealized dream.
  • #22 Another frequent punching bag is the very concept of dependency injection.
  • #23 Some correctly point out that this is quite similar to plain old fashioned argument passing, but I think it is fundamentally different because DI acknowledges the need to easily run code in a variety of different environments without having to change that code.
  • #24 Another thing that is fueling this meme is the radically transparent and fine-grained pricing model of cloud solutions. Pay as you go: pay for only what you use. If you are paying cash for every bit of compute resource, you darn well better use those resources efficiently!
  • #25 So I have been seeing a trend in the last few years, which seems to be in response to these forces…
  • #26 You take what used to be your WAR or EAR and package it as an executable, such as an executable JAR *CLICK*. Package it into a Docker image. *CLICK* And deploy that image or images to the cloud. ----- Meeting Notes (11/19/15 13:49) ----- Pause here.
  • #28  * Standards are the on-ramp to the cloud.
  • #29 Look, if you thought app servers were sticky, clouds are even stickier. If you do your cloud based apps using standards, then you have a good shot at cloud portability. With 12.2.1, if you stick to standard APIs you have a good shot at cloud portability.
  • #30  * WLS gives you the ability to run your workloads on-premise or on cloud. *CLICK* *CLICK*
  • #31  * Sure, dependency injection can be misused, but the Java EE specs have been refining the idea for years and it's very capable now.
  • #32  * Of course the Spring guy is going to decry portability, since they are the definition of non-portable. Customers do in fact like choice, but your mileage may vary.
  • #33  * Cloud resource consumption argument: modular app servers mitigate this concern. We are aware of this and are working to make the whole stack less resource intensive.
  • #34 To tie it up in this section, if you already have bought into app servers, this talk is going to show how we are extending the return on your investment
  • #35  ----- Meeting Notes (11/19/15 13:51) ----- My last opinion statement.
  • #38 This is where I live. This is where your developers live. This is the stickiest part, therefore the best to stick to standards.
  • #39 But around the Java EE Spec features, and in fact most of the enterprise value add and product differentiation, is in what sits around those specifications.
  • #40 Incidentally, this ties nicely in with Dev…
  • #41 and Ops.
  • #42 Lets get into some ops. Big investment in creating a shareable platform. Following model of the database, but with features that fit middleware. Pluggable partitions – enable you to encapsulate your application and the essential pieces of the environment it needs to run in, and then plug into a shared application server platform. Container like in portability; ultra light weight – only encapsulate what you need. Not the whole app server or the operating system. Consolidation: run many of these pluggable microcontainers in a shared platform. Move the virtualization bar to within the app server Isolation: to really be able to share a platform, need enough isolation so that each pluggable partition can be managed independently and will not affect each other at runtime. We have some secret ingredients that make this possible.
  • #43  ----- Meeting Notes (11/19/15 13:58) ----- Let me introduce this term "Microcontainer". It's really a partition.
  • #44 Start with the central platform – WebLogic running with two partitions A domain partition is an administrative portion of a domain that can be managed independently and can share the runtime capacity in a domain – the managed servers and clusters, AKA JVMs. Each domain partition has a Virtual Target, applications, and required resources (click) From the Web tier (Traffic Director or plug-ins) traffic is routed to the address defined by the Virtual Target. Once a request enters into a partition, it stays in that partition. Each partition has its own JNDI tree, so any use of resources is within the partition. That also means data segregation. For JMS, each JMS server has its own set of queues and its own persistence. (click) And each partition can have its own datasources that connect to dedicated PDBs. (PDBs are not required, but they are a natural fit) (click) And, of course, we have Coherence integration. Applications can use a dedicated Service in Coherence, or they can use a shared Service, depending on application needs. OLD: No (minimal) code change to the application – WebLogic manages the tenant identification/isolation At deployment, apps and resources in the template are deployed/replicated for each partition (tenant) specified JNDI isolation and scoping for each partition Runtime traffic is isolated end to end: The user accesses the application via the virtual host – http://baylandurgentcare.com:7011 Separate application instances have their own JNDI tree, resources Work Manager per partition to manage threads Data is segregated with PDBs WebLogic infrastructure is shared among tenants
  • #45 We’re seeing an evolution in application management - combination of DevOps and a movement to break monolithic applications into smaller services ----- Meeting Notes (11/19/15 13:58) ----- Developer desktop On Premise Cloud
  • #46 This is the secret ingredient, but it is really not secret. In fact, the innovations we made in the JVM are available and production usable to anything running on the JVM, not just WebLogic.
  • #53  ----- Meeting Notes (11/19/15 13:58) ----- Show me the money!
  • #55 6 hour run Machine / Setup : HW : Sandybridge (16 CPU Cores, SUN FIRE X4170 M3, 2S8C2T, E5-2690 0 @ 2.90GHz 256 GB RAM Server : Sandybridge machine DB : Oracle 12c PDB/CDB (Sandybridge machine)
  • #56 Big investment in creating a shareable platform. Following model of the database, but with features that fit middleware. Pluggable partitions – enable you to encapsulate your application and the essential pieces of the environment it needs to run in, and then plug into a shared application server platform. Container like in portability; ultra light weight – only encapsulate what you need. Not the whole app server or the operating system. Consolidation: run many of these pluggable microcontainers in a shared platform. Move the virtualization bar to within the app server Isolation: to really be able to share a platform, need enough isolation so that each pluggable partition can be managed idependently and will not affect each other at runtime.
  • #59  ----- Meeting Notes (11/19/15 13:25) ----- We took a look at how people were already doing continuous availability, using a collection of features from all over the product, and codified those best practices into these single features.
  • #60  ----- Meeting Notes (11/19/15 13:26) ----- These are some of the configurations that are well supported with 12.2.1.
  • #61 On the left, we see a diagram showing how you declare the patch to the system and the system takes care to always meet availability requitements, while rolling the patch out to all the parts of the system. Interestingly, this goes directly against the “disposable infrastructure” meme. However, I don’t know if that meme is really practical for very many enterprises. We’ve made persistent caching in coherence recoverable.
  • #62 This is a simple diagram, but it says a lot. This means the entire configuration surface area of WLS is exposed three ways! Console or Fusion Middleware Control WLST at the command line REST access
  • #63 Now we come to docker. We believe at Oracle that people want to easily run their workloads either on-premise, or on the cloud, depending on business or legal requirements.
  • #64 This table you can read later, but the point is that we have been certifying WLS on Docker since 12.1.3.
  • #65  ----- Meeting Notes (11/19/15 13:58) ----- Here is a look at the FROM clauses you would have in your Dockerfiles.
  • #66 Main point: Cloud Application Foundation is the innovator’s complete and integrated modern cloud application infrastructure Built using best of breed components (WLS, Coherence, Tuxedo, more) #1 in productivity for standard and next-generation technologies, including Java, HTML5 and mobility 40% of the market-leading products are part of Cloud App Foundation Optimized to provide high availability and performance, integration tailored to Oracle Engineered Systems
  • #68 If we can serialize it, be can store it! Combined with Persistence & Federation, data and lambdas can exist on disk and be shared between data-centers, devices or clouds.
  • #71 This is a Safe Harbor Front slide, one of two Safe Harbor Statement slides included in this template. One of the Safe Harbor slides must be used if your presentation covers material affected by Oracle’s Revenue Recognition Policy To learn more about this policy, e-mail: Revrec-americasiebc_us@oracle.com For internal communication, Safe Harbor Statements are not required. However, there is an applicable disclaimer (Exhibit E) that should be used, found in the Oracle Revenue Recognition Policy for Future Product Communications. Copy and paste this link into a web browser, to find out more information.   http://my.oracle.com/site/fin/gfo/GlobalProcesses/cnt452504.pdf For all external communications such as press release, roadmaps, PowerPoint presentations, Safe Harbor Statements are required. You can refer to the link mentioned above to find out additional information/disclaimers required depending on your audience.