De-support dates for SOA Suite 10g
15 Jan 2012 by Simon Haslam (in General) | Comments (0)
Yesterday, Lonneke Dikmans, one of the managing partners at Vennster, and fellow collaborator on various things, asked if I knew when support ended on Oracle SOA Suite 10g. For middleware admins, who may not be familiar with the 10g version of SOA Suite, this is primarily BPEL Process Manager and Oracle Enterprise Service Bus, running on the OC4J J2EE application server (iAS/OAS).
You often see de-support dates in Oracle presentations, but there hasn't been an UKOUG App Server & Middleware SIG
for a while and so I couldn't remember - I just knew it was a year or
two after the main iAS de-support date. The general app. server support
dates are shown below (see later for where this table comes from):
The Rise and Fall of JRockit Virtual Edition
31 Dec 2011 by Simon Haslam (in Virtualization) | Comments (0)
Here's an end of year post that has been sitting as draft, waiting to be finished & published, for a few months now...
Every now and then in the IT industry we see innovations which really are very different to what's come before. Some of these turn into a big things, some rather less so, and almost all take far far longer to become established than the hype would suggest. Then there are conversations had late at night in the bars at conferences, where we wonder how, if we only invented something or other, we would change the world. One such example I have discussed many a time is "Why hasn't anyone produced a processor that runs Java"?
Now leaving aside the technicalities, or even desirability, of such a CISC processor, the next best thing has already been invented by BEA Systems, under the moniker of Liquid JVM. This is a JVM which runs on top of a type 1 hypervisor, doesn't need an operating system as such and, if you believe marketing, is therefore blazingly fast. Well, this approximately true - whilst it does actually have its own operating system-style kernel, it certainly feels quick.
This hypervisor version of the JRockit virtual machine product, running on the VMware ESX 3 hypervisor, was one of the products Oracle picked up when it acquired BEA systems in 2008. Oracle then did a bit of a rebrand - Liquid VM became JRockit Virtual Edition (JRVE) and was then packaged up with WebLogic into WebLogic Server Virtual Edition (WLS-VE).
My friend, and fellow Oracle middleware fan, Jacco Landlust blogged about JRVE last summer, though I didn't get around to playing with it until Mark Prichard's Hands-on Lab at Oracle OpenWorld 2010. Since then I have been hooked. As a product I'd say it's "production ready" (i.e. stable), though not really "production friendly" as it still needs quite a skilled administrator to set up the initial deployment. If you'd like to read a few suggestions have a look at a comment I made on the OTN WebLogic Server Virtual Edition forum... unfortunately since I first started writing this blog post the forum seems to have been deleted, or at least hidden, from OTN (and which just goes to show if you have content of value you should make sure you keep it under your own control).
WLS-VE has a few drawbacks, such as not being able to use JNI (simply because there is no "native" environment to speak of) and a lack of para-virtualised network drivers, but for pure java applications running on highly scaled and virtualised environment (aka private clouds) it appears to have a lot of potential. This was the key point I made in my UKOUG session at the Middleware SIG on 25 May (slides available on Veriton website). As I also demonstrated at my session how it is possible, though undocumented, to rebuild WLS-VE to run on top of VMware vSphere/ESXi 4.1 (which is rather handy for my lab environment).
JRockit Virtual Edition 2.0
Documentation for the latest release of JRVE was briefly up on OTN and I, fortunately, took the opportunity to download it. Note only JRVE itself has been released but it should be a straightforward job to deploy WLS 10.3.5 on top of it.
These are the new features according to the documentation:
- Supports multiple network interfaces, multi-home IP addresses, and routing of outbound traffic.
- Runs on Oracle VM VirtualBox in 32-bit mode (development and evaluation purpose only).
- Provides a new service for network diagnostics.
- Provides command-line options to upgrade an old virtual machine image.
- Supports multiple virtual CPUs for a virtual machine.
Discontinuation of JRockit Virtual Edition
Now, before we get too carried away, this is the sad part of this post: Oracle have now discontinued JRockit Virtual Edition. Here is what I have been told by Oracle:
"We are very proud of JRockit Virtual Edition, and especially of our last release JRockit Virtual Edition 2.0. We have been able to create an integrated JVM plus Operating System product which provides high performance, reduces complexity and improves the benefits of virtualization. Still, we have decided to end the product line of JRockit Virtual Edition. When we started develop JRockit Virtual Edition (then called Liquid VM) at BEA Systems five years ago we did not have an Operating System in the organization so JRockit Virtual Edition was an excellent vehicle for streamlining the Operating System layer for improved performance in virtualized environments. Since we were acquired by Oracle, and later did acquire Sun, we got two excellent Operating Systems in the organization: Oracle Linux and Solaris. The cost of having a third Operating System team is much higher than re-allocating the resources to do similar improvements in other product layers. The primary focus of this team moving forward will be Java & Operating System optimizations. We will ensure that the unique values of JRockit Virtual Edition, such as high performance, efficiency and simplicity, will continue to evolve within Oracle Operating Systems."
You can see Oracle's commercial reasoning behind this given that the take up of WLS-VE has been very low indeed (I don't know anyone using it - that doesn't mean such customers don't exist but does mean they must be rare or very secretive). Whether this is because the product was still relatively new, was unique and so "off the radar" for architects, or simply because it cost an extra £6,703/$10,000 per Oracle Processor on top of WebLogic Suite I don't know. In addition JRockit VE was going to need engineering effort - not only the upgrade to Java 7, but for integration (probably some sort of paravirtualised driver) to support InfiniBand networking in Oracle VM Server 3.0 for Exalogic servers.
Of course there's nothing to stop another project coming along and building a JVM to run directly on top of a hypervisor; indeed there are one or two in the pipeline. Plus Azul Systems have an interesting looking product, the Vega Appliance, in this area. However it would be highly unlikely that Oracle would certify any such product to run WebLogic and the rest of the middleware stack. The only chance for such a product would be if it came from IBM or, perhaps, SAP, and Oracle couldn't afford to ignore it. IBM don't seem to have anything like this (the nearest I have found is WebSphere Application Server Hypervisor Edition, which still runs a SUSE guest, albeit hidden), and whilst SAP do have their own JVM I can't imagine you would use it with Fusion Middleware.
Conclusions
JRockit Virtual Edition is pretty piece of technology that could have given Fusion Middleware administrators a clean and efficient deployment platform for pure java applications. Whilst I suspect that ongoing tuning will mean that the performance difference between JRockit VE and JRockit running on a cut-down operating system would be marginal, the elegance and simplicity of removing the operating system layer from the configuration still has tremendous appeal to middleware administrators.
With JRockit VE Oracle had something unique in the marketplace and something that none of their competitors could easily reproduce. Whilst we can expect to see Oracle Virtual Assembly Builder trying to achieve similar deployment goals I am still to be convinced that a pre-configured operating system template will still be as neat to manage.
UKOUG Conference 2011 Summary for Middleware Admins
11 Dec 2011 by Simon Haslam (in Events) | Comments (0)
Earlier this week UKOUG held its annual conference in Birmingham. Here I will describe many of the highlights from my perspective, though speaking, and other volunteer responsibilities, meant I couldn't attend all the sessions I would have liked to.
Sunday afternoon was themed with only Oak Table speakers. There were a mixture of database sessions including an excellent one on how Exadata (and 11.2) does multiblock reads by Frits Hoogland, as well as probably the most entertaining session of the conference by Connor McDonald talking about collecting statistics (and who, living in Perth, Australia, must have travelled the furthest to be here!). Connor has a pretty unique style and slides you would practically call animation. Of course, these was no middleware in sight (these are the Oak Table diehards afterall), but it's still very useful as a middleware admin to try to keep current on what's happening in the database. In fact only today I have been analysing a website with intermittent performance problems to finally narrow it down to some PL/SQL code running in the database.
On Monday, the Middleware Keynote, was delivered by Will Lyons. Only a few days early Will was giving the WebLogic 12c Launch Deep-Dive Webcast (see my recent post) so we were very lucky to have him with us for the first in-person presentation of 12c. Will also discussed Exalogic in a later session in the conference's "Exa..." track - a day full of presentations focussed on the large Exadata and Exalogic systems.
Needless
to say there's a lot of buzz around 12c at the moment - for admins it
revolves aroung full Java EE 6 compatibility, enhancements to GridLink,
JTA storage in the database, session affinity etc. Plus there's the new Oracle Traffic Director product on its way and a new release of Oracle Virtual Assembly Builder.
Lonneke Dikmans kindly stepped in to fill in for a last-minute cancellation and gave her popular introductory session about SOA (with her "breakfast as a service" analogy!) which I'd seen and enjoyed at Oracle OpenWorld earlier this year.
Monday afternoon was quite busy for me too: I gave a session on "High Availability Options for Modern Oracle Infrastructures" along with Julian Dyke. The talk was supposed to be a relatively high level (4 out of 5) discussion about all the various techniques for providing high availability from vMotion to Clusterware to RAC to Whole Server Migration, with the intention of getting all the options written down in one place with their pros and cons.

Oracle WebLogic 12c - Key Points from Online Launch Event
01 Dec 2011 by Simon Haslam (in Java) | Comments (1)
This post is a summary of the key points from both sessions combined, with my usual bias towards middleware architects and production administrators (rather than developers). Note it includes slides from the presentations which are now publicly available, but were prefaced with Oracle's standard "Safe Habour" statement which means you should not make any decisions based on them until 12c is actually available (expected to be around next Thursday by the way).
[Read More]Weird ORA-6502 errors from incorrectly sized PL/SQL package variables
29 Nov 2011 by Simon Haslam (in General) | Comments (0)
This is a rather unusual post for a middleware administrator, but I
felt I had to write it up as I'm embarrassed to say it took me over a
day to get to the bottom of this problem, and couldn't find anything
helpful on MOS or via Google. Therefore hopefully someone in a similar
posistion may stumble upon this post and find at least some hints.
The problem was with some changes I'd made to a very stable and mature system built by Veriton around 10 years ago. The first piece of PL/SQL code affected hadn't been changed for a very long time but was running some fancy SQL calling a remote database (running a different Oracle version) over a DB link... but, despite me doing 10046 traces, none of that was relevant. The essence of the issue are two observations:
- for a constant defined in a PL/SQL package the initialisation only happens at run-time,
- an initialisation failure of one variable in a package may manifest itself when you access a completely different variable in the same package.


