Simon Haslam's Oracle Fusion Middleware blog

WebLogic 12.1.2 - an Important New Release for Middleware Admins

TomorrowToday Oracle is running a launch event for their new version of WebLogic 12c - 12.1.2 - plus some other products in the CAF (Cloud Application Foundation) family.

There was considerable hoopla around the time of the UKOUG 2011 conference for the initial WebLogic 12c release (12.1.1), mainly because WebLogic had (finally) been certified with Java EE 6 and it was such as a feature-rich release ("over 200 new features" if I remember rightly). In practice Oracle back-ported several of the non-Java EE changes (GridLink enhancements, JTS stored in the database, etc) to 11g(10.3.6) which was nice but meant that 12.1.1 wasn't hugely interesting for those responsible for production middleware infrastructures and outside of development.

Twenty months later this new WebLogic 12.1.2 release has a lot more to interest to the administrator though (plus more besides) and that is what this post will focus on.

Installer and Patching

The first major change you'll come across is that the BEA Installer, as used previously for WebLogic and Coherence, has now been replaced by the standard Oracle Universal Installer (OUI). This means the usual response files for silent installations, the same log formats and so on.

Likewise the method for applying patches is now via OPatch, a tool that has had its fair share of criticism over the years, but you don't have to be a WebLogic administrator for long before you run into irritations with the previous releases' BSU too! ("Encountered unrecognized patch ID" anyone?)

You now have a choice of 2 installers (in addition to the zip distribution for developers):

  1. WebLogic and Coherence (wls_121200.jar) - this is very similar in scope to the previous wls1211_generic.jar installer.
  2. WebLogic, Coherence and "infrastructure components" (fmw_infra_121200.jar) - this is a new one that I expect Fusion Middleware admins will use most and includes JRF and EM (i.e. FMC). Note: there's the FMW abbreviation again!

Here's the wls121200 product selection screen:

WebLogic 12.1.2 OUI

And here's the fmw121200 installer with Fusion Middleware Infrastructure selected and showing the JRF and Enterprise Manager "Feature Sets":

Fusion Middleware Infrastructure 12.1.2 OUI

Funnily enough you should be able to just make out that "OPatch" is one of the components installed - is this the first Oracle 13 product released?! The wretched "are you sure you want to be uninformed" screen is still around, but I think that the second installer makes a lot of sense and will save us an installation step or two - especially important for those new to Fusion Middleware.

Overall there was nothing actually wrong with the old BEA installer or patching tool, it was just different. Oracle administrators quite often have to look after a whole set of products - from the database through to middleware and applications - and so having the same installer/patching technique reduces the amount of cross-product learning, therefore I heartily welcome this change (and I never thought I'd say that about OUI!).

Configuration Wizard

If we look at the Configuration Wizard (e.g. the version included with the infra installation though I suspect they are both the same underneath) it too has had quite a few enhancements, most notably the configuration pages for data sources:

Configuring data sources for RCU with the new Configuration Wizard

I can imagine in the future you could install products such as SOA into the middleware home, and this central Configuration Wizard, rather than a SOA-specific one as it is today, could be used to create or extend a domain... it would be nice not to have to remember to get the right version of but I might be wrong :D

Node Manager Configuration

One of the Configuration Wizard enhancements relates to the Node Manager and I thought it worth highlighting separately.

Any readers who have attended one of my Oracle OpenWorld joint presentations with fellow HA middleware buddy Jacco Landlust will know that node manager usually brings up a bit of debate between us! Node Manager, the controller process (usually) responsible for starting and, if necessary, restarting WebLogic processes can look after more than one domain per host, if you choose. The main benefit of having one per host is simplicity - one port, one start-up script, one process to worry about. The downside is potential version issues, no possibility to run different WebLogic servers as different users (unless the node manager ran as root - hardly desirable), and the general coupling between domains.

Anyway node manager configuration was the first new feature that Jacco and I practically emailed each other simultaneously about when we first got hold of the 12.1.1 beta! The Config Wizard now gives you the choice of one node manager per domain (default), a node manager configured as part of one domain but outside the domain home, or manual configuration like previously. It also means that by default, providing your domain configuration is outside the middleware home (it is isn't it?!), the node manager configuration is also outside it too. Nice!

Aside: another handy detail is that the file provided in the middleware home now checks the NODEMGR_HOME environment variable and uses that. Irrespective of how you choose configure node manager this will mean you can use the provided script rather than having to copy/hack/create your own.

In addition Config Wizard also gives you the option of choosing your node manager credentials there and then, rather than having to go back into the admin server later to overwrite it with known values (or do the same with WLST)... simple, but very welcome for interactive installations.

Configuring node manager with the new Configuration Wizard

Another feature in this area, which I only heard of when reading Dave Cabelus' blog post, was that the domain pack/unpack utilities now understand the node manager configuration too and will change the host details appropriately (even so far as re-generating demo certificates for test environments). Node manager configuration on multiple hosts was a bit tedious and so this is another welcome change.

Enhanced JMS Configuration

Last week I suspect I may have been whooping with joy, rather than grinding my teeth, had I had the new cluster-targetted JMS servers feature for a project I'm working on at the moment! For HA systems almost everything we do revolves around clusters so having to mess around with JMS on individual servers has always been a pain, which on quick inspection I think this new 12.1.2 feature will help alleviate. I haven't had chance to look into it properly yet, but it sounds very appealing indeed.

Server Templates and Dynamic Clusters

As I mentioned earlier I was fortunate enough to take part in the 12.1.2 beta so have seen some of the features evolve: dynamic clusters was one which particularly caught my eye from the start. The idea behind it is that you set up a "server template" for a set of similar managed servers in a cluster, and then you let WebLogic set up as many servers based on this template as you like. There are two parts to this functionality: a "template" part, namely that you have several servers that are all basically the same, and a "dynamic" part, i.e. that you can expand and decrease the size of the cluster very easily (possibly even semi-automatically).

So let's think about the template aspect first. My initial thought was "what's the point?" when it's easy enough to create servers with WLST, and likewise to iterate around the servers (for s in cmo.getServers() for example). However as I've played with the feature, and had time for it to sink in, I can see a lot of benefit even in scripted environments - you reduce script complexity, enforce uniformity (e.g. no risk of servers added later having slightly different settings due to script changes), as well as reducing the number of items to be configured in a domain.

The second aspect is its dynamic nature. Over the last 3 years I think all bar one of the production Fusion Middleware systems I have designed or worked (these are mid-sided sites) have been on virtual machines. What is becoming common, especially with the larger heap sizes afforded by 64 bit hardware, has been a one JVM (i.e. managed server) per VM model. So what I think we can envisage for the future is some sort of integration between dynamic servers and server provisioning within the virtualised platform (rather lack the direction that the, sadly departed, WebLogic Virtual Edition was taking).

So, on to the mechanics of server templates and dynamic clusters. There's some flexibility in defining the template contents using substitution variables (like ${id}) in string MBeans, though mostly the server template details are the same as for a normal server definition:

Dynamic Servers - template

Aside: I like what Oracle have done with the left-hand Environment menu which had been getting a bit crowded in 12.1.1.

Then, on the cluster, there's a mechanism to configure the listen address and, probably more importantly, the machine name:

Dynamic Servers - cluster settings 

Finally servers in your dynamic clusters then appear, as if by magic, alongside any regular ones:

Dynamic Servers - server list

In the screenshot above you can see managed servers called <cluster>-<number> and their machine names/listen ports have been incremented automatically (this is just as an example - in practice if they were on different machines you would just use one port).

As you can probably tell, I like what I see with dynamic clusters, especially for the purpose of provisioning flexible, private cloud infrastructures. Whilst there may be one or two enhancements needed in this area to 12.1.2 I expect dynamic clusters and server templates will play a big role in future highly available, clustered WebLogic environments.

Server Groups

There's a new feature called Server Groups, which as their name suggests, is a logical means to group servers enabling you to perform actions, such as start-up, on them in one go. This is not a feature I've tried yet but it sounds useful.

Fusion Middleware Control Enhancements

You'll find are a raft of new functions in EM FMC that were previously only available in UI form from the WebLogic Console. Notably these include creating JDBC data sources, configuring clusters, server startup and shutdown, and domain modifications are all controlled by the usual Change Center procedures (one of my favourite features of WebLogic compared to OC4J). Clearly lots of work is going into EM development - the WLS console is a long way from being replaced but you can easily see EM becoming more convenient for many tasks.

WebLogic Management Framework & Oracle HTTP Server

Here's another big change for this release - no more OPMN! This is something Oracle middleware types have been speculating about since Oracle acquired BEA. Instead we have a new "WebLogic Management Framework" which, in short, means OHS (for now) is managed by node manager. The result is that you can treat an OHS instance much more like a WebLogic managed server - connect to the node manager to start it up, or even configure new OHS instances from WLST. I think we can expect this to be extended to other system (non-Java) components as other Fusion Middleware 12c products are released.

New Look Documentation Library

With 12.1.2 there's a new look and feel to the documentation library:

New look documentation library

I think the books/content are mostly the same but the navigation overlay seems richer. I can't decide whether I like the new format yet, the main difference being that navigation toolbar up the left-hand side has gone. I have fairly large (23") dual monitors and sometimes like to be able to use the full screen width effectively but I'm not sure layout helps yet (and PDF files are too clunky for links and searching).

One thing immediately notable by its absence is the library download file for off-line usage. For those of us on the road quite a lot it's vital to have local copies of the documentation and, whilst you can manually download PDFs and .mobi files, I just want the whole set so I know I've got everything I might need. Hopefully it is just a matter of time before it appears for this version.

Database 12c Integration

I've saved the best to last - this is arguably the area that is the most exciting for me in the whole 12.1.2 release. I don't have the time right now to do this topic justice, but in summary the key database integration features for a typical HA Fusion Middleware/RAC/DG administrator are:

  • Application Continuity and Transaction Guard: if a RAC instance fails the WebLogic JDBC data sources will switch over to another instance and replay all your SQL back to the same point, without the application having to do anything. This is not TAF - this is the real deal! It is deceptively simple feature that I expect has involved a colossal amount of engineering effort across Oracle's WebLogic, JDBC and database teams. This is an important new feature for improving the availability for very demanding/high volume applications, especially those provided by 3rd parties where you can't change the code.
  • Auto ONS: no more ONS configuration is needed - the ONS server details are piggy-backed onto the SQL*net messages... now you only have to forget to open the ONS port on the firewall to break your GridLink data sources!
This is definitely a subject I hope to have time to write more about soon.


I started writing this post several hours ago now, but have found so much to talk about I realise that one post doesn't really scratch the surface of what WebLogic 12.1.2 offers. 12.1.1 is undoubtedly a very significant new release, especially from the perspective of the middleware administrator and I'm sure we will see its improvements become the foundation of the next generation of Fusion Middleware products from Oracle.

If you've enjoyed reading about WebLogic 12.1.2 I'm speaking* on the panel Q&A session(!), along with Matthew Rosen of OOCL and Frank Munz on tomorrow's webcast so please tune into that (31 July, 6pm UK):

After that you can find out more in What's New in Oracle WebLogic Server in the official documentation.

* Gaff alert: I'm pretty sure I stumbled and said "web tier" at one point when I meant "WebLogic" tier... d'oh!


Post a Comment:
Comments are closed for this entry.

Search this blog

About me
Oracle ACE Director (Middleware and SOA)
Presentation downloads

I'm speaking at Oracle OpenWorld

UKOUG Ambassador Partner
Oracle WebLogic Server 12c Certified Specialist
Oracle WebLogic Server 12c Certified Specialist