Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
12 Things about 

Oracle WebLogic Server 12c
OTN Latin America Tour 2015 / Oracle Open World 2014


Dr. Frank Munz 

munz & more



with David Cabelus
Oracle WebLogic Server Product Management
1
Who’s that guy?
• Dr. Frank Munz!
• Founded munz & more in 2007!
• 15 years Oracle WebLogic 

and Middleware!
• Consulting and 

High-End Training!
• Three Oracle / Cloud 

books !
2
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
What we’re going to talk about…
1
2
Why upgrade to WebLogic 12.1.3
12 things you should know about WebLogic 12c
3
Copyright © 2014, 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 © 2014, Oracle and/or its affiliates. All rights reserved. |
WebLogic Server 12.1.1
• Java EE 6
• Lightweight Zip Installer
• Maven integration
• Coherence/Toplink
integration
WebLogic Server 12.1.2
• DB Integration
• Dynamic Clusters/Elastic JMS
• Unified Management
• Exalogic Optimizations
!
• Websockets
• Toplink Data Services
• More Maven Integration
WebLogic Server 12.1.3
• JAX-RS 2.0 (Java EE 7)
• JSON (Java EE 7)
• RESTful Management APIs
• HA Optimizations
!
!
• Fusion Middleware
• Websockets Update (Java EE
7)
• Emulation Client/Server-
Sent Events
• Maven WLST Goal
Why Upgrade to WebLogic 12.1.3

5
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
WebLogic Server 12.1.3

Mobile App Enablement, Developer Productivity
WLS12.1.3Clients
HTML5
clients
ADF Mobile
Proxies
OTD
Apache
OHS
Web Sockets (JSR
356)
TopLink Data
Services
Server-Sent Events
JAX-RS 2.0
WebSocket Emulation
WebSocket
Emulation
JAX-RS 2.0, WebSocket 1.0
JSON Programming API
JPA 2.1
Server-Sent Events
WebSocket Emulation
JPA-RS
JPA
Change

Notification
Database
JSON Programming
API
HTTP/S, JSON/XML
WebSocket, Server-
Sent Events, Long
polling
Java EE 7
APIs
Additional
WebLogic
Value-Add
6
6
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Seamless Upgrade
Prior WebLogic 

Server Versions
JBoss

WebSphere
Migration Services
GlassFish
Simple Upgrade Redeployment
Internet

Application Server
Automated Tooling
12 things, 

no agenda ☺
#1 !
OUI / opatch
opatch for WLS
munz & more
New Installer
• OUI – consistent with OFM and Oracle DB!
• Java is not included!
• No console mode anymore

-> silent mode with response file
Other
options:
Vagrant
with Chef
or Puppet,

maven and
even
Dockerjava –jar fmw12.1.3.0.0_wls.jar –silent 

–responseFile fullPathToRespFile –invPtrLoc /etc/oraInst.loc
10
munz & more
The oraInst.loc File
oraInst.loc points to product inventory:!
!
!
!
location depends on OS, e.g. OS X:!
/var/opt/Oracle
11
munz & more
Prerequisite Checks
12
munz & more
Prerequisite Checks
• CPU with 0 MHz ?!

-> wrong BIOS selection

in Virtual Box!
• swap enabled ?!
• /tmp on tempfs ?

check size in /etc/fstab"
• Ignore result of check (NOT recommended):

-ignoreSysPrereqs
13
munz & more
opatch
• Located in WEBLOGIC_HOME/Opatch"
• Uses oraInst.loc"
• opatch uses ORACLE_HOME variable



make sure it does not conflict with
ORACLE_HOME of an installed DB 

-> different installation user
14
#2 !
Domain Wizard
munz & more
config.sh
domain location 

includes domain name
-Dcom.oracle.cie.config.showProfile

enables Compact/Expanded Domain Topology Selection (mainly for OFM)
16
munz & more
config.sh
Oracle doc WLS
12.1.1
Instead use 

WLST, unpack, maven, …

17
#3 !
Per Domain 

Node Manager
Per Domain NM
munz & more
Per Domain Node Manager
• Easier setup!
• Config and logs part 

of domain directory!
• Uses SSL per default!
• unpack recreates 

demo certs!
• Startscript: 

DOMAIN_HOME/bin/startNodeManager.sh
19
munz & more
Per Domain Node Manager
• DOMAIN_HOME/nodemanager contains
nodemanager.properties and
nodemanager.domains "
!
• Per machine NM still possible:

startNodeManager.sh 

in WL_HOME/server/bin
20
munz & more
Certificates
Demo Cert per Domain under DOMAIN/security
keytool –list -storepass DemoIdentityKeyStorePassPhrase –v 

-keystore DemoIdentity.jks
Certificate contains
hostname.
Unpack recreates Demo Cert
with hostname of new host.
21
munz & more
3 Simple Steps
1. Start Node Manager !
2. Create Machine!
3. Create Servers / Dynamic Cluster

and assign machine

Then use admin server web console to start
managed servers
22
munz & more
New in WLS 12.1.3"
Some nodemanager.properties names changed,
old names are deprecated now:



StartScriptEnabled 

-> weblogic.StartScriptEnabled



also StartScriptName, JavaHome, StopScriptName,
UseMACBroadcast, …
23
#4 !
Server Templates
Server Templates
munz & more
Server Templates
st=create('myTemplateName','ServerTemplate')
MBean type ServerTemplate with name myTemplate has been created successfully.
st.setStartupTimeout(300)
25
munz & more
Examples
All managed servers should ...!
!
• have the same log level!
• have certain start up parameters
26
#5 !
Dynamic Cluster
Dynamic Cluster
munz & more
Dynamic Cluster
28
munz & more
How Dynamic Is It?
• Only configuration is dynamic!
• Must start servers manually

(dynamic runtime is still missing)!
• To decrease cluster size: 

stop last server, then decrease 

number of dynamic servers configuration
29
munz & more
What else you should know
Server Migration for dynamic and mixed cluster is
supported only with WLS 12.1.3!
!
-> Template based dynamic clusters are usually
easier than cloning a managed server
30
#6 !
Unicast Groups
Unicast Groups
munz & more
New Unicast Groups"
Implementation in WebLogic 12.1.3 changed:!
• Fixed max # of groups is 10!
• Groups can by asymmetric!
• Servers are consistently placed in groups based
on hash of server name
32
Classic Cluster Size 3
33
Dynamic Cluster Size 15
34
#7 !
Cluster Targeted JMS
Cluster Targeted JM
munz & more
Easier JMS
• Target JMS server to cluster 

(also to dynamic cluster!)!
• Persistent stores are provisioned automatically !
• Then target distributed queue to JMS server
36
munz & more
Elastic JMS in WLS 12.1.3
• Supports whole server migration (WSM) with
WebLogic 12.1.3!
• Note, there are some restrictions: 

No Unit-of-Order, no Unit-of-Work, no service
migration…
see also

https://blogs.oracle.com/WebLogicServer/entry/introducing_elastic_jms
37
#8 !
Java Mission Control
JMC and JDBC
munz & more
Java Mission Control
Java Mission Control comes 

with JDK 1.7.0_40+ 

• Free for development !
• Ported over from JRockit!
• Detailed, graphical views!
-> start with jmc
39
Monitoring JDBC

munz & more
Java Mission Control
To enable JMC, you need the following switches!
JAVA_OPTIONS=” -XX:+UnlockCommercialFeatures 

" " " " " -XX:+FlightRecorder" 

e.g. configure settings in

DOMAIN_HOME/bin/setUserOverrides.sh 

Configure
WebLogic 

Domain-Wide
Settings here
41
#9 !
WLDF Built-in
Modules
munz & more
WLDF Diagnostic Module"
WLDF Modules now easier: based on built-in!
!
!
!
!
“Low” enabled by default in production mode
43
munz & more
Predefined Watches (Medium)
44
#10!
RESTful !
Management

RESTful Config Part I / Part
munz & more
REST Management API
API has changed in WLS 12.1.3

!
-> Supports configuration changes:!
• Server lifecycle!
• For resources, eg. JDBC data source: 

create, stop, test, …,!
• Deployments
46
munz & more
REST Management API
Example http GET:



http://localhost:7001/

management/wls/

latest/deployments/

application
47
munz & more
http OPTIONS with

/management/wls/latest

/datasources



returns the default JSON

structure for data sources

-> Fill in the values and send

it back to server
Generate Template / OPTIONS
48
munz & more
Create Data Source / POST
POST JSON data with all mandatory values to

/management/wls/latest/datasources

returns:
49
munz & more
Limitations
Some resources not supported yet in 12.1.3!
• JMS!
• Work Managers!
• WLDF
50
#11 !
Development
Oracle White
munz & more
Partial Support of Java EE 7 APIs""
WebLogic 12.1.3:!
• Java API for WebSocket 1.0! ! ! NEW

• JSON-P 1.0! ! ! ! ! ! ! ! ! NEW

! !
• JAX-RS 2.0 with lib deployed! ! ! UPDATE

JAX-RS 1.1. ! ! ! ! ! ! ! ! ! OOTB

• JPA 2.1! with lib deployed! ! ! UPDATE

JPA 2.0! ! ! ! ! ! ! ! ! ! !
OOTB
deploy /
wlserver/common/
deployable-
libraries/

jax-rs-2.0.war
deploy 2 shared
libs
52
munz & more
New Maven Goal""
• 25 maven goals for WebLogic 12.1.3!
• WebLogic 12.1.3:

New maven WLST goal: wlst-client 



-> does not require local WebLogic installation
for WLST online commands.
53
One more thing.
#12 !
Yes, Docker!
WLS and Docker
WebLogic
in a Docker
Container
munz & more
What is Docker?"
• NOT Now officially supported by Oracle!
• Sandboxing based on Linux containers!
• Layered images!
• Public / private repository!
• Containers start up in milliseconds!
• Portable standard -> 

runs on Linux, also in clouds
57
Dockerfile
Dockerfile
+Scripts

Oracle blog
DockerContainer
munz & more
Summary
1. OUI / opatch!
2. Domain Wizard!
3. Per Domain Node
Manager!
4. Server Templates!
5. Dynamic Cluster!
6. Unicast Groups!
7. Cluster Targeted JMS!
8. Java Mission Control!
9. WLDF Builtin Modules!
10. RESTful Management!
11. Development!
12. Docker
59
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Oracle’s WebLogic blog

https://blogs.oracle.com/weblogicserver
Facebook

https://www.facebook.com/oracleweblogic
Twitter

https://twitter.com/oracleweblogic
YouTube
http://www.youtube.com/oracleweblogic


Developer Webcast Series
http://www.oracle.com/goto/weblogicdevcast
!
iLearning Interactive WebLogic Server 12.1.3 new
features:
http://goo.gl/ESkvHj
www.munzandmore.com/blog



facebook.com/cloudcomputingbook"
facebook.com/weblogicbook"
!
@frankmunz"
!
youtube.com/weblogicbook
-> more than 45 WLS web casts

12 Things About WebLogic 12.1.3 #oow2014 #otnla15

  • 1.
    Copyright © 2014,Oracle and/or its affiliates. All rights reserved. | 12 Things about 
 Oracle WebLogic Server 12c OTN Latin America Tour 2015 / Oracle Open World 2014 
 Dr. Frank Munz 
 munz & more
 
 with David Cabelus Oracle WebLogic Server Product Management 1
  • 2.
    Who’s that guy? •Dr. Frank Munz! • Founded munz & more in 2007! • 15 years Oracle WebLogic 
 and Middleware! • Consulting and 
 High-End Training! • Three Oracle / Cloud 
 books ! 2
  • 3.
    Copyright © 2014,Oracle and/or its affiliates. All rights reserved. | What we’re going to talk about… 1 2 Why upgrade to WebLogic 12.1.3 12 things you should know about WebLogic 12c 3
  • 4.
    Copyright © 2014,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
  • 5.
    Copyright © 2014,Oracle and/or its affiliates. All rights reserved. | WebLogic Server 12.1.1 • Java EE 6 • Lightweight Zip Installer • Maven integration • Coherence/Toplink integration WebLogic Server 12.1.2 • DB Integration • Dynamic Clusters/Elastic JMS • Unified Management • Exalogic Optimizations ! • Websockets • Toplink Data Services • More Maven Integration WebLogic Server 12.1.3 • JAX-RS 2.0 (Java EE 7) • JSON (Java EE 7) • RESTful Management APIs • HA Optimizations ! ! • Fusion Middleware • Websockets Update (Java EE 7) • Emulation Client/Server- Sent Events • Maven WLST Goal Why Upgrade to WebLogic 12.1.3
 5
  • 6.
    Copyright © 2014,Oracle and/or its affiliates. All rights reserved. | WebLogic Server 12.1.3
 Mobile App Enablement, Developer Productivity WLS12.1.3Clients HTML5 clients ADF Mobile Proxies OTD Apache OHS Web Sockets (JSR 356) TopLink Data Services Server-Sent Events JAX-RS 2.0 WebSocket Emulation WebSocket Emulation JAX-RS 2.0, WebSocket 1.0 JSON Programming API JPA 2.1 Server-Sent Events WebSocket Emulation JPA-RS JPA Change
 Notification Database JSON Programming API HTTP/S, JSON/XML WebSocket, Server- Sent Events, Long polling Java EE 7 APIs Additional WebLogic Value-Add 6 6
  • 7.
    Copyright © 2014,Oracle and/or its affiliates. All rights reserved. | Seamless Upgrade Prior WebLogic 
 Server Versions JBoss
 WebSphere Migration Services GlassFish Simple Upgrade Redeployment Internet
 Application Server Automated Tooling
  • 8.
  • 9.
    #1 ! OUI /opatch opatch for WLS
  • 10.
    munz & more NewInstaller • OUI – consistent with OFM and Oracle DB! • Java is not included! • No console mode anymore
 -> silent mode with response file Other options: Vagrant with Chef or Puppet,
 maven and even Dockerjava –jar fmw12.1.3.0.0_wls.jar –silent 
 –responseFile fullPathToRespFile –invPtrLoc /etc/oraInst.loc 10
  • 11.
    munz & more TheoraInst.loc File oraInst.loc points to product inventory:! ! ! ! location depends on OS, e.g. OS X:! /var/opt/Oracle 11
  • 12.
  • 13.
    munz & more PrerequisiteChecks • CPU with 0 MHz ?!
 -> wrong BIOS selection
 in Virtual Box! • swap enabled ?! • /tmp on tempfs ?
 check size in /etc/fstab" • Ignore result of check (NOT recommended):
 -ignoreSysPrereqs 13
  • 14.
    munz & more opatch •Located in WEBLOGIC_HOME/Opatch" • Uses oraInst.loc" • opatch uses ORACLE_HOME variable
 
 make sure it does not conflict with ORACLE_HOME of an installed DB 
 -> different installation user 14
  • 15.
  • 16.
    munz & more config.sh domainlocation 
 includes domain name -Dcom.oracle.cie.config.showProfile
 enables Compact/Expanded Domain Topology Selection (mainly for OFM) 16
  • 17.
    munz & more config.sh Oracledoc WLS 12.1.1 Instead use 
 WLST, unpack, maven, …
 17
  • 18.
    #3 ! Per Domain
 Node Manager Per Domain NM
  • 19.
    munz & more PerDomain Node Manager • Easier setup! • Config and logs part 
 of domain directory! • Uses SSL per default! • unpack recreates 
 demo certs! • Startscript: 
 DOMAIN_HOME/bin/startNodeManager.sh 19
  • 20.
    munz & more PerDomain Node Manager • DOMAIN_HOME/nodemanager contains nodemanager.properties and nodemanager.domains " ! • Per machine NM still possible:
 startNodeManager.sh 
 in WL_HOME/server/bin 20
  • 21.
    munz & more Certificates DemoCert per Domain under DOMAIN/security keytool –list -storepass DemoIdentityKeyStorePassPhrase –v 
 -keystore DemoIdentity.jks Certificate contains hostname. Unpack recreates Demo Cert with hostname of new host. 21
  • 22.
    munz & more 3Simple Steps 1. Start Node Manager ! 2. Create Machine! 3. Create Servers / Dynamic Cluster
 and assign machine
 Then use admin server web console to start managed servers 22
  • 23.
    munz & more Newin WLS 12.1.3" Some nodemanager.properties names changed, old names are deprecated now:
 
 StartScriptEnabled 
 -> weblogic.StartScriptEnabled
 
 also StartScriptName, JavaHome, StopScriptName, UseMACBroadcast, … 23
  • 24.
  • 25.
    munz & more ServerTemplates st=create('myTemplateName','ServerTemplate') MBean type ServerTemplate with name myTemplate has been created successfully. st.setStartupTimeout(300) 25
  • 26.
    munz & more Examples Allmanaged servers should ...! ! • have the same log level! • have certain start up parameters 26
  • 27.
  • 28.
  • 29.
    munz & more HowDynamic Is It? • Only configuration is dynamic! • Must start servers manually
 (dynamic runtime is still missing)! • To decrease cluster size: 
 stop last server, then decrease 
 number of dynamic servers configuration 29
  • 30.
    munz & more Whatelse you should know Server Migration for dynamic and mixed cluster is supported only with WLS 12.1.3! ! -> Template based dynamic clusters are usually easier than cloning a managed server 30
  • 31.
  • 32.
    munz & more NewUnicast Groups" Implementation in WebLogic 12.1.3 changed:! • Fixed max # of groups is 10! • Groups can by asymmetric! • Servers are consistently placed in groups based on hash of server name 32
  • 33.
  • 34.
  • 35.
    #7 ! Cluster TargetedJMS Cluster Targeted JM
  • 36.
    munz & more EasierJMS • Target JMS server to cluster 
 (also to dynamic cluster!)! • Persistent stores are provisioned automatically ! • Then target distributed queue to JMS server 36
  • 37.
    munz & more ElasticJMS in WLS 12.1.3 • Supports whole server migration (WSM) with WebLogic 12.1.3! • Note, there are some restrictions: 
 No Unit-of-Order, no Unit-of-Work, no service migration… see also
 https://blogs.oracle.com/WebLogicServer/entry/introducing_elastic_jms 37
  • 38.
    #8 ! Java MissionControl JMC and JDBC
  • 39.
    munz & more JavaMission Control Java Mission Control comes 
 with JDK 1.7.0_40+ 
 • Free for development ! • Ported over from JRockit! • Detailed, graphical views! -> start with jmc 39
  • 40.
  • 41.
    munz & more JavaMission Control To enable JMC, you need the following switches! JAVA_OPTIONS=” -XX:+UnlockCommercialFeatures 
 " " " " " -XX:+FlightRecorder" 
 e.g. configure settings in
 DOMAIN_HOME/bin/setUserOverrides.sh 
 Configure WebLogic 
 Domain-Wide Settings here 41
  • 42.
  • 43.
    munz & more WLDFDiagnostic Module" WLDF Modules now easier: based on built-in! ! ! ! ! “Low” enabled by default in production mode 43
  • 44.
    munz & more PredefinedWatches (Medium) 44
  • 45.
  • 46.
    munz & more RESTManagement API API has changed in WLS 12.1.3
 ! -> Supports configuration changes:! • Server lifecycle! • For resources, eg. JDBC data source: 
 create, stop, test, …,! • Deployments 46
  • 47.
    munz & more RESTManagement API Example http GET:
 
 http://localhost:7001/
 management/wls/
 latest/deployments/
 application 47
  • 48.
    munz & more httpOPTIONS with
 /management/wls/latest
 /datasources
 
 returns the default JSON
 structure for data sources
 -> Fill in the values and send
 it back to server Generate Template / OPTIONS 48
  • 49.
    munz & more CreateData Source / POST POST JSON data with all mandatory values to
 /management/wls/latest/datasources
 returns: 49
  • 50.
    munz & more Limitations Someresources not supported yet in 12.1.3! • JMS! • Work Managers! • WLDF 50
  • 51.
  • 52.
    munz & more PartialSupport of Java EE 7 APIs"" WebLogic 12.1.3:! • Java API for WebSocket 1.0! ! ! NEW
 • JSON-P 1.0! ! ! ! ! ! ! ! ! NEW
 ! ! • JAX-RS 2.0 with lib deployed! ! ! UPDATE
 JAX-RS 1.1. ! ! ! ! ! ! ! ! ! OOTB
 • JPA 2.1! with lib deployed! ! ! UPDATE
 JPA 2.0! ! ! ! ! ! ! ! ! ! ! OOTB deploy / wlserver/common/ deployable- libraries/
 jax-rs-2.0.war deploy 2 shared libs 52
  • 53.
    munz & more NewMaven Goal"" • 25 maven goals for WebLogic 12.1.3! • WebLogic 12.1.3:
 New maven WLST goal: wlst-client 
 
 -> does not require local WebLogic installation for WLST online commands. 53
  • 54.
  • 55.
  • 56.
  • 57.
    munz & more Whatis Docker?" • NOT Now officially supported by Oracle! • Sandboxing based on Linux containers! • Layered images! • Public / private repository! • Containers start up in milliseconds! • Portable standard -> 
 runs on Linux, also in clouds 57
  • 58.
  • 59.
    munz & more Summary 1.OUI / opatch! 2. Domain Wizard! 3. Per Domain Node Manager! 4. Server Templates! 5. Dynamic Cluster! 6. Unicast Groups! 7. Cluster Targeted JMS! 8. Java Mission Control! 9. WLDF Builtin Modules! 10. RESTful Management! 11. Development! 12. Docker 59
  • 60.
    Copyright © 2014,Oracle and/or its affiliates. All rights reserved. | Oracle’s WebLogic blog
 https://blogs.oracle.com/weblogicserver Facebook
 https://www.facebook.com/oracleweblogic Twitter
 https://twitter.com/oracleweblogic YouTube http://www.youtube.com/oracleweblogic 
 Developer Webcast Series http://www.oracle.com/goto/weblogicdevcast ! iLearning Interactive WebLogic Server 12.1.3 new features: http://goo.gl/ESkvHj www.munzandmore.com/blog
 
 facebook.com/cloudcomputingbook" facebook.com/weblogicbook" ! @frankmunz" ! youtube.com/weblogicbook -> more than 45 WLS web casts