MTE10083 - Twelve Things You Should Know About Oracle WebLogic Server 12c
Oracle marketing likes to emphasize that there are over 200 new features in WebLogic 12c. In this session I will take a very different approach and present only 12 reasons that make it worth using the latest WebLogic Server 12c.
The features presented in this session are technical, derived from attendees’ questions in several hands-on workshops, without any sales pitch and somehow subjective. Also wherever limitations exist I will mention them.
Everything worth to upgrade to the latest WebLogic Server 12c from core features, important changes, to WebLogic running in a Docker container will be covered.
Question best at the end
thing you have to careful about
No more start script issues as in 12.1.3
JVM dependencies– Track resource usage per partition– Requires Hotspot JDK 8u40 with commercial features – Requires G1 garbage collection
*disable passivation of stateful EJB
*local async calls, non persistent timer EJBs
Deny uncovered HTTP requests
WebSockets @ServerEndpoint, @onMessage
+life cycle @onOpen Close Error
JSON Builder and Parser
Managed executors instead of starting threads on
Netbeans dev is very stable. A lot of devs use it all the time!
Jdev is not yet supporting MT, but works with 12.2.1
Enterprise Plugin for
SOA deployments have up to 30% speedup
You can turn it off if you must.
scale up cluster and start servers and call scripts before / after scaling ops
8 node cluster with 8 JMSscaling down:-> 6 node cluster with 8 JMS (keep running, because of Unit of Order)
7 & 8 migrate automatically
All JMS Artifacts can be targettted to cluster, including
For all kind of clusters configured, dynamic, mixed
updateConfig = increase cluster size in conifg
timeout: secs waiting to start before cancelling operation
policies can have a schedule
Tom Mareau: HTTP Options removed?
lest look at the CRUD pattern
authentication would happen by browser
READ is safe (wont change anything) and idempotent (you can call it as many times as you like with same effekt)
what if you are not sure what –d JSON to send here?
If you want to create but don’t know how to
Lets talk about Docker first, forget about Oracle for 7 minutes.
Docker containers are isolated, not having different OSes, actually not having a real OS at all.
Shared fs layers!
running Linux shows Docker processes!
Docker containers are isolated but share the kernel
more like a camel hump
not dockerized:Apps that load kernel modules
Low level OS stuff dealing with namespaces
namespaces isolate: PIDs, files, networking
cgroups limit ressources
rough idea: 1 process per container.
container -> microservice
one domain per container
Major Cloud vendors
*Microsoft Azure Container Service
*Amazon EC2 Container Service
*IBM Bluemix Containers
Google Container Engine
* partners with Docker Inc.
Kubernetes is 1.03 (14.000 commits from 400 contributors)
Mesos 0.2, Marathon 0.9
AWS EC2 Container Scheduler,
Oracle: Partitions = microcontainers (?)
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
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.
And each partition can have its own datasources that connect to dedicated PDBs. (PDBs are not required, but they are a natural fit)
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.
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
Do you trust partitions?
What if one affects the other? Define resource consumption manager
Shut down resources if everything goes wrong
Shutdown managed servers
Move OH to backup location
Move patched OH to original location
Start servers again
Repeat for remaining nodes