Professional Documents
Culture Documents
Dave Cabelus
October/November 2015
Copyright 2015, Oracle and/or its affiliates. All rights reserved. | Oracle Confidential Internal/Restricted/Highly Restricted
Copyright 2015, Oracle and/or its affiliates. All rights reserved. | Oracle Confidential Internal/Restricted/Highly Restricted
@frankmunz
on Twitter
3
12 new things,
no agenda J
#0
... download today!
#1
JDK 8
JDK 8
WebLogic 12.2.1 supports JDK 8 as runtime
Startup scripts work out of the box
(permspace is removed in JDK 8)
Coherence 12.2.1uses JDK 8
language features in a distributed, lazy way
JDK 8u40 introduced resource management
used by WebLogic multitenancy with G1 GC
java -XX:+UnlockCommercialFeatures
-XX:+ResourceManagement
munz
&
more
#8
#2
Java EE 7
Java EE 7
Every developer wants to use it!
Improved or new standards in Java EE 7:
EJB 3.2
Servlet 3.1
JDBC 4.0
WebSockets, JAX-RS 2.0, JSON-P 1.0
Batch 1.0
JMS 2.0
Tip: Learn about Java EE 7
http://de.slideshare.net/glassfish/fifty-feature-of
Concurrency Utilities 1.0
munz
&
more
#10
Recommendation
munz
&
more
#11
#3
IDE Integration
IDE Support
NEW! wlserver/server/bin/eclipse.sh
NetBeans 8.1 RC
/Dev Build works
with WebLogic
12.2.1
munz
&
more
JDeveloper
12.2.1
available for
OFM 12.2.1
Eclipse net
(and package)
installer
-> easy OEPE
download &
install
#13
#4
Console changes
J
Production Mode
You can revert production mode from console
munz
&
more
#15
#5
Deployment
Parallel Deployment
WebLogic 12.2.1 provides parallel deployment
Multiple applications -> OFM
Single application with multiple modules
Across Modules in
Across
Applications across
Applications
Applications
multiple partitions
Parallel
Available in
New in
munz
&
more
Prepare
WebLogic 11g
WebLogic 12.2.1
Parallel
Activate
New in
WebLogic 12.2.1
New in
WebLogic 12.2.1
#6
Elastic Cluster
Elastic Cluster
WebLogic 12.1.2:
WebLogic 12.2.1:
munz
&
more
#19
#7
JMS
JMS
JMS 2.0 support
Elastic JMS scales with elastic cluster
Simplified HA Configuration:
WebLogic 12.2.1 JMS restrictions are removed
Default CX-factory required per Java EE 7:
java:comp/DefaultJMSConnectionFactory
resolves to
weblogic.jms.XAConnectionFactory
munz
&
more
#21
#8
WLST
&
more
#23
#9
WLDF
WLDF
Watches and notifications
are replaced by policies and actions
Additional 4 WLDF actions
scale up / down
REST
Script
&
more
#25
Smart
rules:
Predefined
policies
with open
parameters
munz
&
more
#26
#10
RESTful Management
Why REST?
Simplicity
Language agnostic
No JVM, no WebLogic on client side <->JMX
Easy to tunnel through firewalls: HTTP
Current tech trend (eg. mobile dev)
munz
&
more
#28
RESTful Management
New generic REST implementation:
Full support for all resources (also JMS etc.)
RESTful management is turned on per default
Available on admin and managed Servers
Modelled after WLST structure
(real MBean names not required <-> Jolokia)
Used throughout WebLogic documentation
munz
&
more
#29
Tech Details 1
What you can access:
domain|serverConfig,
domain|serverRuntime, edit
[exclude]fields=field1, field2
[exclude]links=none, links=rel
interaction=async-polling|sync
munz
&
more
#30
Tech Details 2
URL format has changed:
/wls/ was WebLogic 12.1.3, now:
/management/weblogic/latest/
Edit sessions implicit: POST in /edit
Or create manually with
/edit/changeManager/
startEdit|cancelEdit|activate
munz
&
more
#31
CRUDQ
Read
Get server name and state of managed server
with name surf1 via admin server
&
more
#33
Create
Short way to create server surf7, with UNIX curl
curl v --user weblogic:welcome1 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{ name: 'surf7' } "
-X POST \
http://localhost:7001/management/weblogic/latest
/edit/servers
munz
&
more
#34
Create Form
Request create form
(note, WebLogic 12.1.3 used HTTP OPTION)
GET
http://localhost:7001/management/weblogic/latest
/edit/serverCreateForm
munz
&
more
#35
Update
Update server surf7, with curl
curl ...
-d "{ listenPort: '9999' } "
-X POST \
http://localhost:7001/management/weblogic/la
test/edit/surf7
munz
&
more
#36
Delete
Delete server surf7:
curl v --user weblogic:welcome1 \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
X DELETE
http://localhost:7001/management/weblogic/late
st/edit/servers/surf7
munz
&
more
#37
Query
Single bulk request
queries to select and
return specific subsets
of tree.
POST
munz
&
more
http://localhost:7001
/management/weblogic/
latest/domainRuntime/
search
#38
Take Aways
HTTP OPTION (WLS 12.1.2) is currently not
used -> RequestForm
Modifying a read-only value is silently
ignored (per design)
CREATE requires X-Requested-By header, to
prevent CSRF (cross-site request forgery)
Most other headers are not mandatory
munz
&
more
#39
#11
Docker
WebLogic
in a Docker
Container
Adrian Cockroft
Netflix
Why Docker
Because the whole world is talking about it J
Light-weight isolation technique
Solves "Worked for me" issue:
Dev to prod, and on-premise to cloud
Supported by Oracle for WebLogic 12.2.1
munz
&
more
#43
App
Linux
App
Win
&
x.py
tools
Appl 1
Solaris
Appl 1
Linux
Appl 1
Win
WebLogic
Jython
Linux + Docker
Hardware
Hardware
Hardware
more
Server Virtualization
type 1 hypervisor
= on bare metal
y.jar
JDK
VirtualBox
Mac OS / Win
Desktop Virtualization:
type 2 hypervisor
= with host OS
munz
ejb.jar
Oracle Whitepaper
munz
&
more
Docker book
#45
#12
Multi Tenancy
3X Consolidation
Ratio
Secure/Isolated
Multitenant Java
WebLogic MT
WebLogic MT
WebLogic
WebLogic
WebLogic
Copyright 2015, Oracle and/or its affiliates. All rights reserved. | Oracle Confidential Internal
47
Partition 1
Virtual
Target
Partition 2
Partition 2
Virtual
Target
Traffic
Director
JNDI
Service 1
App
App
JM
S
Service 2
Data
Source
Service
N
Coherence
JNDI
App
App
JM
S
Data
Source
Database
Copyright 2015, Oracle and/or its affiliates. All rights reserved. | Oracle Confidential Internal
48
Isolation: 4 Areas
Security: Security realm per partition
Life Cycle: Start / stop, debug flags
Data / Traffic:
separate JNDI tree, data sources,
(pluggable) DBs
Runtime: Ressource consumption manager
munz
&
more
#49
Resource Consumption
Resources:
munz
&
more
You can
define
multiple
policies
Recourses:
#50
Use Cases
Pack friendly domains together
Don't pack dev, test, and int together
<-> one debug port per JVM etc.
How about: blue / green
deployments using
partitions and
elasticity together?
munz
&
more
#51
&
more
#52
Summary
1.
2.
3.
4.
5.
6.
7.
munz
&
JDK 8
Java EE 7
IDE
Console
Deployment
JMS
Cluster
more
8.
9.
10.
11.
12.
WLST
WLDF
REST
Docker
Multi Tenancy
#53
&
more
#54
munz
&
more
#55
www.munzandmore.com/blog
Facebook
https://www.facebook.com/oracleweblogic
facebook.com/cloudcomputingbook
facebook.com/weblogicbook
Twitter
https://twitter.com/oracleweblogic
@frankmunz
YouTube
http://www.youtube.com/oracleweblogic
youtube.com/weblogicbook
-> more than 50 WLS web casts
Copyright 2015, Oracle and/or its affiliates. All rights reserved. | Oracle Confidential Internal/Restricted/Highly Restricted
58