12 Things about Oracle WebLogic Server 12.2.1 Open World 2015 Dr. Frank Munz Dave Cabelus Oracle WebLogic Server Product Management October 2015 Copyright 2015, Oracle and/or its affiliates. All rights reserved. Oracle ConfidenFal Internal/Restricted/Highly Restricted
Safe Harbor Statement The following is intended to outline our general product direcfon. It is intended for informafon purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or funcfonality, and should not be relied upon in making purchasing decisions. The development, release, and Fming of any features or funcfonality described for Oracle s products remains at the sole discrefon of Oracle. Copyright 2015, Oracle and/or its affiliates. All rights reserved. Oracle ConfidenFal Internal/Restricted/Highly Restricted
Who s that guy? Dr. Frank Munz Founded in 2007 15 years Oracle WebLogic and Middleware Consulting and High-End Training Three Oracle / Cloud books @frankmunz on Twitter 4
Who s That Other Guy? Dave Cabelus WebLogic Server Product Manager since 2005 ExperFse in many areas of WebLogic Server 8 th consecufve year at OpenWorld Follow Dave on Twi\er at @dave_cabelus, videos at www.youtube.com/user/oracleweblogic Copyright 2015, Oracle and/or its affiliates. All rights reserved. 5
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) JDK 8u40 introduces resource management used by WebLogic multitenancy with G1 GC java -XX:+UnlockCommercialFeatures -XX:+ResourceManagement #9
#2 Java EE 7
Java EE 7 Every developer want to use it! Small subset of improved standards: EJB 3.2 Servlet 3.1 JDBC 4.0 WebSockets, JAX-RS 2.0, JSON-P 1.0 Batch 1.0 JMS 2.0 Concurrency Utilities 1.0 Tip: Learn about Java EE 7 h\p://de.slideshare.net/glassfish/fiby-feature-of #11
Recommendation #12
#3 IDE Integration
IDE Support NEW! wlserver/server/bin/eclipse.sh NetBeans 8.1 RC / Dev Build works with WebLogic 12.2.1 JDeveloper 12.2.1 available for OFM 12.2.1 Eclipse net (and package) installer -> easy OEPE download & install #14
#4 Console changes J
Production Mode You can revert production mode from console #16
#5 Deployment
Parallel Deployment WebLogic 12.2.1 provides parallel deployment Multiple applications Single application with multiple modules Applications across multiple partitions Parallel Prepare Across Modules in Applica6ons Available in WebLogic 11g Across Applica6ons New in WebLogic 12.2.1 Parallel Ac6vate 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: Dynamic Cluster config Elastic Cluster runtime + pre / post scaling callout to scripts How to scale? Console WLST REST Policy/Action Calendar based #20
#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 #22
#8 WLST
New Command for Scaling WLST command to scale dynamic cluster: scaleup/down ( ) clustername, numservers, [updateconfiguration], [block], [timeoutseconds], How many servers to add or remove #24
#9 WLDF
WLDF Watches and notifications are replaced by policies and actions Additional 4 WLDF actions scale up / down REST Script Diagnostic image files are.txt or.xml Prepackaged smart rules with configurable parameters #26
Smart rules: Predefined policies with open parameters #27
#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) #29
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) Used throughout WebLogic documentation #30
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 #31
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 #32
CRUDQ
Read Get server name and state of managed server with name surf1 via admin server GET (e.g. via web browser) http://localhost:7001/management/weblogic/ latest /domainruntime/serverlifecycleruntimes/ surf1?links=none&fields=name,state Response: { "name": "surf1", "state": "RUNNING" } #34
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 #35
Create Form Request create form (note, WebLogic 12.1.3 used HTTP OPTION) GET http://localhost:7001/management/weblogic/latest /edit/servercreateform #36
Update Update server surf7, with curl curl... -d "{ listenport: '9999' } " -X POST \ http://localhost:7001/management/weblogic/ latest/edit/surf7 #37
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/ latest/edit/servers/surf7 #38
Query Single bulk request queries to select and return specific subsets of tree. POST http://localhost: 7001/management/ weblogic/latest/ domainruntime/search #39
#11 Docker
WebLogic in a Docker Container
Virtualization vs. Isolation App Linux App Win VirtualBox Mac OS / Win App Win Appl 1 Solaris Appl 1 Linux Appl 1 Win OVM / VmWare ESX / Xen ejb.jar a.war tools WebLogic JDK x.py Jython Linux + Docker y.jar Hardware Hardware Hardware Desktop VirtualizaFon: type 2 hypervisor = with host OS Server VirtualizaFon type 1 hypervisor = on bare metal Docker container in Linux with own FS, network stack / IP address, process space and resource limits #42
Docker Docker is not a a.war ejb.jar lightweight VirtualBox WebLogic tools x.py Jython y.jar - it's about isolation. JDK Containers run on Linux + Docker Linux kernel of host Hardware -> Containers are visible on host #43
Docker Container Isolated runtime of Docker image Starts up in milliseconds Sandboxing uses Linux namespaces and cgroups -> isolated part of your Linux Open Container Standard / Linux Foundation docker run -d p 8080:9999 fmunz/micro #44
solves the Worked For Me! issue OS ufls, JDK, patches, database driver, libs, appserver, domain, deployment, tools, scripts ProducFon dockerize it! Docker OS tools, JDK, patches, database driver, libs, appserver, domain, deployment, tools, scripts IntegraFon, Performance, Acceptance TesFng Docker Registry You can pass environment variables for specific settings e.g. in prod #45
Docker Registry what should be your biggest nightmare: unknown and unofficial images (>14000)
Docker in the Cloud? Supported by every major cloud provider: Docker Registry On premise -> all clouds #47
Demo?
What Do You Get? NOT WebLogic from Docker registry NO automatic build via github Github repo with scripts to set up WebLogic on Oracle Linux in Docker Dev or generic distribution Docker is a supported environment for WebLogic 12.2.1 / 12.1.3 #49
Docker Style Independent, standalone WLS domain Microservices style architecture Just add your favorite Docker cluster manager OS tools, JDK, database driver, libs, appserver, single domain (admin server only), deployment, tools, scripts #50
The WebLogic Way $docker run -d -p 8001:8001 --name=wlsadmin fmdom1 startweblogic.sh $docker run -d --link wlsadmin:wlsadmin fmdom1 createserver.sh or createmachine.sh or startnodemanager.sh port 8001 IP:port 7001 JDK, WLS, Domain startweblogic.sh starts AdminServer wlsadmin --link JDK, WLS, Domain createserver.sh: creates machine/nm, starts NM, creates manserv, starts manserv Managed Servers connect to admin due to --link: /etc/hosts 172.17.1.99 wlsadmin 31a1baaf #51
Oracle Whitepaper WebLogic on Docker Containers Docker book by J. Turnbull (Docker 1.8) #52
Facts to Know Oracle supports WebLogic on Docker Docker networking is still experimental -> limitations for cross-machine deployments Docker cluster managers are still evolving: Docker Swarm, Kubernetes, Apache Mesos with Marathon, AWS ECS, CloudFoundry, etc. #53
#12 Multi Tenancy
WebLogic MulFtenant: Solving CriFcal Business Challenges Microcontainer Portability for Devops 3X Consolida6on Ra6o Secure/Isolated Mul6tenant Java Java Cloud Service Java Cloud Service WebLogic MT WebLogic MT WebLogic WebLogic WebLogic Copyright 2015, Oracle and/or its affiliates. All rights reserved. Oracle ConfidenFal Internal 55
Key Technical Concepts ParFFon 1 ParFFon 1 JNDI Virtual Target App App JMS Data Source Service 1 Service 2 Service N ParFFon 2 ParFFon 2 JNDI Coherence Virtual Target App App JMS Data Source Traffic Director WebLogic Server Database Copyright 2015, Oracle and/or its affiliates. All rights reserved. Oracle ConfidenFal Internal 56
IsolaFon for Pluggable ParFFons Independence and Autonomy for Microcontainers Run6me Isola6on JDK and WebLogic partnership Heap, CPU, threads, requests Administra6ve Isola6on Admin roles, lifecycle, troubleshoofng Security/Iden6ty Isola6on Realm, users per parffon Traffic/Data Isola6on Dedicated JNDI, segregated data Dedicated and shared Coherence caches Copyright 2015, Oracle and/or its affiliates. All rights reserved. Oracle ConfidenFal Internal
Microcontainers in WebLogic Server 12.2.1 Maximum portability between environments Parity between dev and producfon Fast startup/shutdown disposability Easy scale up Enable migrafon to the cloud Apps Resources Apps Resources Apps Resources Dev Env Oracle WebLogic Server Java Cloud Service Copyright 2015, Oracle and/or its affiliates. All rights reserved. Oracle ConfidenFal Internal
Summary 1. JDK 8 2. Java EE 7 3. IDE 4. Console 5. Deployment 6. JMS 7. Cluster 8. WLST 9. WLDF 10. REST 11. Docker 12. Multi Tenancy #59
Other WebLogic Server Session Oracle Weblogic Server 12.2.1 Multitenancy: Efficiency, Agility, and Lower Cost [CON8630] Multitenancy in Java: Innovation in the JDK and Oracle WebLogic Server 12.2.1 [CON8633] Oracle WebLogic Server: Automated and Simplified Management in a World of Clouds [CON8634] Oracle WebLogic Server and Docker Containers [CON8629] #60
Oracle s WebLogic blog h\ps://blogs.oracle.com/weblogicserver www.munzandmore.com/blog Facebook h\ps://www.facebook.com/oracleweblogic facebook.com/cloudcomputingbook facebook.com/weblogicbook TwiRer h\ps://twi\er.com/oracleweblogic @frankmunz youtube.com/weblogicbook YouTube -> more than 50 WLS web casts h\p://www.youtube.com/oracleweblogic Developer Webcast Series h\p://www.oracle.com/goto/weblogicdevcast ilearning Interac6ve WebLogic Server 12.1.3 new features: h\p://goo.gl/eskvhj Copyright 2014, Oracle and/or its affiliates. All rights reserved.
Copyright 2015, Oracle and/or its affiliates. All rights reserved. Oracle ConfidenFal Internal/Restricted/Highly Restricted
Oracle ConfidenFal Internal/Restricted/Highly Restricted 63