A distributed system is the one that prevents you from working because of the failure of a machine that you had never heard of

This quote is part of my tech quote explained series from Java One / Open World 2016. Actually it is the special edition for the OTN appreciation day ūüôā

Leslie’s Quote that I heard at Java One¬†2016:

“A distributed system is one that prevents you from working
because of the failure of a machine that you had never heard of.”

Leslie Lamport


The following explanation is mine, not Leslie Lamport’s.¬†Besides, yes, Leslie is the guy who is known for LaTex and his work on the Paxos algorithm.

There are many rather theoretical publications about distributed systems, but Leslie’s definition nails it. Distributed systems produce all kind of surprises! They are never boring. Latency issues or network failures may trigger¬†timeouts or split brain conditions.¬†System failures, availability zone outages or the complete failure of a data center region challenge your availability concept. If everything goes terribly, terribly wrong, you better have a good contingency plan within close reach.

Nowadays we offload some of these challenges to modern cloud architectures. On a PaaS or SaaS level you simply stop worrying about it, because somebody else solves the problem for you. On a IaaS level things are obviously more interesting. The popular circuit breaker pattern Рthe one that is now mentioned in seemingly every blog or presentation (I also wrote about it in my cloud book ) Рgoes back to the Netflix Cloud OSS and the research done in over 50 open source projects.

Antifragility means that you grow by doing the things that stress you. Like you when you grow your biceps when going to the gym. Modern cloud architectures run an armada of chaos monkeys, chaos gorillas and latency monkey that simulate system or data center failures in production environments and inject random latencies in networks. Due to this developers are challenged to write resilient code and architects architect for constant failure. The kind of failures Leslie mentioned in his quote.

Don’t miss the other quotes of this series, e.g. regarding app servers vs. monoliths, and about SaaS and Cloud APIs.

If you don’t have cloud APIs when connecting to SAAS it is not gonna work РLuis Weir / Oracle Open World 2016.

This quote is part of my tech quote explained series from Java One / Open World 2016.

Luis Weir’s Quote from Open World 2016:

“If you don‚Äôt have cloud APIs when connecting to SAAS it is not gonna work. Simple as that‚ÄĚ.”

Luis Augusto Weir, Principal Cap Gemini UK. @Luisw19


The following explanation is mine, not Luis’:

The number of APIs has grown exponentially over the last years. When a public API was almost exotic, strange and seemingly weird a couple years ago it has become the norm today. Do you still remember when you searched for a working implementation of a web service that you could access with a public WSDL just a while ago?

Nowadays there is a wide array of public APIs available. APIs give you access to Twitter, to Amazon Web Services, to your business partners, your Tesla or BMW car, to your home automation system and so on. No SaaS would make any sense without it.

The world has dramatically changed. Everything comes with an API and will continue to do so. This is why API Management becomes increasingly important and popular to manage such APIs. To understand more about this, including the evolution from REST and API Gateways to APIs everywhere, check out Luis API Management in 2016 presentation.



Don’t miss the first quote of this series regarding app servers vs. monoliths.

Using an app server does not mean you build a monolith – Mark Little / Java One

This quote is part of my tech quote explained series from Java One / Open World 2016.

Mark’s Quote from Java One 2016:

“Using an app server does not mean you build a monolith.”

Mark Little Red Hat. Lead JBoss Technical Direction / Research Develepment. @nmcl




The following explanation is mine, not Mark’s:

There is a lot of FUD about microservices these days. Some people assume that existing technologies such as application servers will be completely replaced by the new microservices trend. Sometimes application servers seem almost like an anti pattern for microservices, which is of course not true.

The dominant (and IMHO overused) example for a successful microservices architecture is Netflix. Netflix has been using Tomcat for many years as an web application server because they understood the importance of an abstraction for a “container” (obviously not in sense of a OS Linux/Docker container). Their former CTO Adrian Cockraft once explained that the “container” (again not in a Docker sense) you use doesn’t really matter, be it Tomcat, WebLogic or now a days Docker. What matters is that you have a unique abstraction that allows you to run and schedule your artifacts.

Mark has a blog posting talking about container-less development. I spoke about microservices at the OTN Latam Tour (see my trip report and Tim’s posting).

Technology Quotes Series: Java One and Oracle Open World 2016

Yesterday I touched down in Frankfurt and got off the A380 after this year’s Oracle Open World conference. Regarding the event I had quite some expectations¬†and to make it short most of them were fulfilled.

This year the whole event seemed even bigger to me and I spent considerable amount of time commuting from Java One to Oracle Open World and vice versa. There were just too many exciting sessions I attended to list them all here.

Some Background

There is dramatic change in technology happening right now and for those not able to travel to OOW, Java One or of course other conferences it is sometimes hard to follow.

Earlier this year, I designed a sticker. Surprisingly I received a lot questions about it. The kind of questions reminded me that some thoughts that keep me busy to a large percentage of my professional time not related to your daily business. Therefore often new trends, new tech and even new buzzwords are hard to understand.


The New Technology Quotes Series

Thinking about this inspired me for my new Open World and Java One 2016 quotes series. Instead of repeating the vendor announcements that you can read in other blogs, I decided to dig a little deeper on the presenters’¬†best quotes.

Why Quotes?

In a series of¬†postings I will quickly explain a quote each. So why quotes? I will talk about quotes, because they capture the essential, they are inspiring, amusing, challenging or simply surprising. They are related to somebody, not just a vendor slogan. It’s tech with emotion. Somebody said it who is passionate of about this tech bit, somebody who cares.

So will be about something that got stuck in my brain. As usual, I will avoid empty marketing phrases and instead focus on honest tech bits.

Every quote will be provided as best effort. Feel free to drop me an email if something is wrong about it.

… so stay tuned!

Win a Oracle WebLogic Server and a Middelware and Cloud Computing


At this year’s Oracle Open World I will be gifting a total of 4 review copies of my books. ¬†Opposite the official bookstore, right at the OTN Lounge.


Oracle Book raffle



To win: retweet the original Twitter announcement. I will pick a random retweet as the winner by Tuesday 13.00h and let you know. I suggest to follow me on Twitter so that I can inform you if you are the lucky winner. The winner can pick up the copy opposite the Oracle book shop at the OTN lounge at the following time only:

  • All books are given away in Moscone South,¬†Tuesday 15.15h, right at the OTN lounge. In case of doubt ask for the OTN manager Bob Rhubart (left on the picture below).
  • There will be free beer at the OTN lounge at that time, so pass by say Hello and join us for a drink and a photo.


This is not a lottery. No purchase required. The winner is kindly asked to write a short review an Amazon.com.

My Expectations for Open World 2016 Conference

I just arrived last night at SFO for Oracle Open World conference. This morning we will have the Oracle ACE director briefing updating us on Oracle’s upcoming tech under NDA.


My personal expectations for this year’s OOW are the following:

  1. major updates on Oracle Cloud
  2. Broader adoption of their Docker strategy (for the current strategy see my OTN Tour Latam 2016 presentation here)
  3. Hopefully cool announcements around microservices
  4. Smaller, but exciting updates on Oracle WebLogic Server, OSB and SOA Suite
  5. Enjoy listening to Sting playing at the appreciation event

Note, this post was written before attending the briefing and before being under NDA for a few days.


screen-shot-2016-09-15-at-10-47-32 screen-shot-2016-09-15-at-10-46-23

OTN Tour Latin America 2016: Colombia

Oracle Technology Network Tour 2016 in Pereira

After 2015 in Cali, the OTN conference in 2016¬†for Colombia¬†took place in Pereira. Pereira is a city located in an area that is famous for producing Colombia’s best coffee. And it is true, we saw coffee growing everywhere. Our hotel was located¬†in spacious green area – a nice and welcome difference to the big cities I had seen so far on this trip.

The Conference

The conference was as well organized as last year by Giovanna Bohorquez Paez and her team from the Asociación de Usuarios Oracle de Colombia. It took place at the University of Pereira. We had live translation and live streaming to the world, so even my family could see me there presenting, fancy that! Due to the location we had a unique chance to speak to students and explain them about Oracle technology, e.g. why it is so much more than the database. Actually quite a few came straight to me and my colleagues to ask us questions! This is alone was worth the trip.


Again, I was giving some of the Oracle books away that I authored, and you can tell attendees loved it.



I spoke about Oracle Service Bus and the FUD about Microservices and I delivered a presentation about What You Should Know About WebLogic 12.2.1.



The Non-Conference Part

After my first presentation in Pereira, i.e. after a total of 11 presentations and the same number of air conditioned plane rides and hotel stays, my voice totally was devastated. Tea with honey helped a lot, so I could deliver my second presentation the other day.

After the first day we had a great conference dinner! You can tell from the photo that everybody was really satisfied ūüôā


After the conference I spent a couple of days 0n my own expenses to see the Museo del Oro (gold museum) in Bogota and the Botero museum Рboth are excellent and I highly recommend seeing them.

Gold, gold, gold:


Impressions from Botero:


OTN Tour Latin America 2016: Peru

Oracle Technology Tour 2016: Lima

I have been there for the second time now, and Lima is always a good to me. I like the city, its food, its people, and the great places to go. This year I was staying closer to the sea and the popular Larcomar.

The Conference

The OTN Lima 2016 conference was in a more central hotel and offered a number of great auditoriums. I gave 2 books away based on the number guessing game that I learned from Heli. Before I gifting them they were perfectly guarded at the ladies at the reception. Seemed like none of my books ever got more attention :-).



Anyway, the audience was really interested in OFM as well. I spoke about What You Should Know about WebLogic 12c (12.2.1) and Docker Containers in the Oracle Universe.

After my presentation I had some good discussions and one even involved me drawing some impromptu technical solution design at the white board. So everyone was happy at the end.

20160806_170848 20160806_171206

The Non-Conference Part

With 3 hours left in Lima I headed to one of the best Ceviche places (according to 3 out of 3 cab drivers!) – instead of going directly to the airport with some extra headspace. Obviously I arrived late at the airport but it was worth it. Lovely food, fab atmosphere, great people and good music at the ceviche place place vs. 30 minutes more waiting at the airport. Should I post the name of the restaurant here? Those in the know can tell from the pic I guess.



OTN Tour Latin America 2016: Chile

Oracle Technology Network Tour Latam 2016:
Santiago de Chile

The conference in Chile was exceptional for a couple of reasons. For the first time ever I met German, the tech reviewer of my WebLogic 12c book. A great guy (not sure if he wants to read his name here Рjust get the book, he is in the acknowledgement!) who did a brilliant job in editing the 12c book. We had lunch together with his friends from Oracle ACS and the best I can say it felt like friends you know for years and not somebody you met 30 minutes ago. It was a pleasure meeting you guys!

2016-08-09 14.05.53


The conference itself was the University San Sebastian in Bellavista area. Quite a few presentations were running in several rooms in parallel.

Also Santiago¬†is¬†great. From every traffic jam you can see the mountains! It is really a pity I couldn’t go to any more remote places like Atacama desert or Torre de Paine. Anyway both are now top on my to-travel list. My friends know what this means. Stay tuned.

Again I did a Docker live demo. The audience seemed to like it, what do you think? Also the room was big enough for big ideas. Big thank you to CLOUG and Felipe Manriquez.

2016-08-09 14.07.53

The non Conference Part

I did not really have a lot of time for sightseeing but I managed to nip out and have a seafood lunch at the Mercado Central before heading to airport. Actually a memorable drive, since the Uber driver was driving alongside the runway but was not able to find the airport ūüôā

2016-08-09 14.00.48


OTN Tour Latin America 2016: Argentina

Oracle Technology Network Tour 2016 Buenos Aires

Buenos Aires was the first city of the OTN tour where I was slightly less busy. We got there by ferry from Montevideo. Arriving at the conference site we could already see our pictures in the elevators:-) I talked about WebLogic Server 12c, the heart of SOA and did a live demo about¬†Oracle’s perspective on Docker.


The Conference

Apart from delivering my own presentations, also I attended Carlos’s Sierras workshop about tuning tools for data bases. Conference itself was great, very well organized and again I met some great people who became friends.

2016-08-03 09.53.55

2016-08-04 21.13.28

Also I was asked to give an interview about the importance of conference like the OTN tour for students.

Some Sightseeing

I did a half day city tour with Carlos during half a day off.

2016-08-04 20.55.13

2016-08-04 20.58.06

2016-08-04 21.01.18


By the way here is a link to a video compiled of even more photos about Argentina.

OTN Tour Latin America 2016: Uruguay

OTN Tour 2016 Latam Stop in Montevideo

Next stop of the OTN tour after Brazil was Montevideo. We had a perfect start since Nelson from the Oracle User Group in Uruguay picked us up at the airport, we quickly dropped our luggage at the perfect Radisson hotel, had a perfect late lunch at the Mercado Central, with (you can guess it) perfect Tannat red wine, delicious meat and good company of fellow speakers. If Uruguay had been at the end of our trip and not only the second stop I would have bought some bottles of that wine.

The famous shot I always wanted to take myself after seeing it on the cover of some guide book:

Screen Shot 2016-09-05 at 21.49.38

The Event

The event was very professionally organized and running in two auditories at the same time. I was doing my OSB and the FUD about Microservices presentation for the first time and also presented about Docker containers (including a live demo) and had a lot of fun!

Finally I had a copy of my Cloud Computing and Middleware book to give away.


After Montevideo almost the whole ACE team took the night ferry to Buenos Aires.

Some Impression

Here are some more pics I took during our stay in Montevideo.


Screen Shot 2016-09-05 at 21.51.32

The day after the conference I boarded a hop-on hop-off to see a bit of Montevideo and finally had a beautiful walk back from the beach to the city center.

Screen Shot 2016-09-05 at 23.52.22

OTN Tour Latin America 2016: Brazil

Oracle Technology Network Tour Latam Sao Paulo

I attended the 2016 OTN Tour Latam. First stop was Brazil which was on my personal to-travel list for a long time. Still I hesitated for many years to finally go to Brazil because it¬†was clear to me¬†that I wouldn’t be able to communicate a lot. Earlier this year managed to learn about 16 words in¬†ŗł†ŗł≤ŗł©ŗł≤ŗĻĄŗłóŗłĘ – which by the way got me one of the best laughs of the last 5 years in one of the city’s swankiest¬†rooftop bars. So guys, learn languages!

2016-07-31 09.12.08

My Personal Challenge

Anyway, I sometimes like challenges and my plan for Brazil was to be able to speak some 100 words of Portuguese. After a bit of research, I quickly found a teacher in Munich (Bom dia, Chris!), studied and finally managed to achieve at least 50% of my goal (blame the usual boring excuses for missing the other 50%, but I was still better off than 95% of all other travellers).

2016-07-30 10.54.37

GOUB Tech Day: OTN Tour

The conference including the auditories were very good. I met many old friends, made too many new friends to list them all here, listened to great presentations from colleagues, and we had a wonderful, meaty conference dinner with a good selection of drinks. Actually I enjoyed everything, maybe except the surprisingly unfriendly and unprofessional reception at Blue Tree Morumbi Hotel.


I did a presentation about Oracle WebLogic (12.2.1) 12c and one about Docker.

Have a look at the pictures gallery here to get some more impressions! Slides will be uploaded in a few days.



APIs, and Clouds: Please Explain the Joke!

Some people have asked what the sentence on my laptop sticker means. I was gifting some of these stickers at the OTN Tour Latam 2016. Maybe it is a bit of a academic / nerdy joke. So let me explain.

Screen Shot 2016-08-10 at 10.23.24

The Posh (and boring)

Once upon a time there were people rich in money but poor in humor driving around in their second cars (typically a small Mercedes, a small BMW or a small Audi) with a sticker on it saying¬†that their first car is a huge Mercedes, Porsche or Bentley. Let’s not waste too much time talking about these people¬†here.


The cooll stuff as often started in Down Under. Some people with a lifestyle instead of a job came up with a cool car sticker, that basically said it is much nicer to have a small boat and go to the sea for diving than wasting money on a second car. E.g. see here for a rather fun version.


Then (to the best of my knowledge) Google made fun out of it, riding the cloud computing wave with a sticker that said “My other Computer is a Data Center“. Meaning that if you use the cloud you can have a whole data center.

Cloud Computing and APIs

Let’s get a bit more specific: What I pointed out half decade ago (yes, that time when everybody was just laughing about that topic) in my Cloud Computing book is the following: The true beauty of cloud computing is not that you access a compute¬†instance in somebody else’s data center – this is what you could simply get by outsourcing. Guys, it’s more that your whole data center is software. Your whole data center is an API!

With cloud computing the difference of placing a cloud instance in Sydney or Frankfurt is just one single parameter in an API call Рthat comes at no extra cost. Same for placing it in datacenter 1 in Frankfurt or datacenter 2. So you get geo-redundancy for free! Now go and try this at home.

Also there is no difference in using 100 instances for 1h or using 1 instance for 100h. So you have a massively parallel, distributed supercomputer at your fingertips for a few pennies. Try this in your DC.

I guess now you get an idea what¬†sticker means and why it says API. At the end it is all about APIs. And we haven’t even started to talk about the possibilities of PaaS, SaaS, HaaS, or API Management ūüôā Btw, sometimes I think most marketing people do a really bad job causing FUD instead of promoting tech.

Screen Shot 2016-08-22 at 11.20.04

Screen Shot 2016-08-22 at 11.35.15Screen Shot 2016-08-22 at 11.20.26

computer api cloud


Let me know if you spot more of these stickers out there and send me pics :-)!

Zero Downtime, REST, Domain Partitions / Multi Tenancy, Elasticity and WLDF. WebLogic 12.2.1 (12c)

I just finished a two week long hands-on consulting session for some pretty experienced application managers and architects at one of Europe’s premier¬†financial services institution.

In 5 days we explored WebLogic 12.2.1 extensively:

  • Zero Downtime
  • REST
  • Domain Partitions / Multi Tenancy
  • Resource Group Management
  • Java Mission Control
  • WLST
  • Elasticity
  • JMS Clustering
  • WLDF



Here is some feedback from the group. You can tell we had fun, although we worked very hard.

Screen Shot 2016-07-04 at 10.43.06


This is how a happy group looks like.



People seemed to be happy, here is what they liked.

Screen Shot 2016-07-04 at 10.44.13

For more details download the flyer from the Oracle WebLogic Server 12.2.1 (12c) course site.

Deploy with Deployment Plan (WebLogic 12.2.1)

You cannot deploy an application to WebLogic 12.2.1 and specify an arbitrary location for the deployment plan when using the admin console, but you can update a deployed application and specify the location of a deployment plan.

However, you can deploy an open directory with a app directory (containing, well, your app) and plan subdirectory (containing your deployment plan).


Zero Downtime: Restart Admin Server from Admin Console / Rolling Restart of Servers or Cluster (WebLogic 12.2.1)

Before WebLogic 12.2.1 I was often asked if there is any OOTB restart of the admin server, especially from the admin console. Now with WLS 12.2.1 it can be done easily. Also of course you rolling restart a set of servers, a cluster or two, or whole domain!

  • Admin Server has to be assigned to a machine
  • Admin Server has to be started under nodemanager

Goto DOMAIN / ZDT Control / Domain | Cluster | Servers, chose what you would like to rolling restart, then click on Patch.

Select Rolling Restart.


SQL to duplicate table structure with / without data rows

Just a note to myself.

How to duplicate a table structure with / without data. Drop the where 1=0 to copy over the data as well.

As an example the Oracle HR scheme with the employees table is used and replicated to employees2 (see bold SQL line below).

Note, that not null constraints are replicated but primary keys, foreign key, unique constraints and triggers aren’t.


SQL> describe employees;
 Name Null? Type
 ----------------------------------------- -------- ----------------------------

SQL> create table employees2 as select * from employees where 1=0;

Table created.

SQL> describe employees2;
 Name Null? Type
 ----------------------------------------- -------- ----------------------------

DevOps tools: http REST client httpie

Doing unplanned things adds fun¬†to our lives. Last year at Open World when heading back to the Hilton I sneaked into a REST session at Java One that I never planned to attend. Honestly, I went there to finish my very late lunch. There¬†I learned about a REST client tool that you should add to your toolbox:¬†http (pronounced “HTTP Pie”, with the brave abbreviation: http).

In short http is more convenient version of curl, for the non-color blind folks. It includes heaps of features, like storing session data that can referenced for following requests, easy specification of JSON values, etc.

Here is an example of its usage with the the new WebLogic 12.2.1 REST interface for administration:

http -a weblogic:welcome1 \ "localhost:7001/management/weblogic/latest/domainRuntime/serverLifeCycleRuntimes/AdminServer?links=none&fields=name,state"


Screen Shot 2016-04-15 at 09.34.54

You read it here first. But also check out my other DevOps tools postings like lsof, high CPU threads, tunnel with ngrok.


DevOps tools: Easily tunnel your localhost (WebLogic or some other) server with ngrok to the world

Here is another addition to my DevOps tools series that is worth to know if you work with any kind of servers such as WebLogic, nginx or Apache httpd etc.

ngrok is a fun and very easy tool I use from time to time in demos or when running a training.
It opens a public tunnel (that of course can be protected) to connect to your local server. Really nice if you are in a different network than your audience, or hidden between a DSL router etc.

In the webcast below I show how to access WebLogic 12.2.1 running on localhost:7001

You read it here first ūüôā

also check out the webcasts of the DevOps tools series about how to detect high CPU threads, or the usage of lsof.


Oracle Service Bus 12c (12.2.1) Native REST: Bug in HTTP GET in Pipeline?

While working on an Oracle tech presentation to be posted here, I discovered the following issue with native REST and Oracle Service Bus.


SOA Quickstart / 12.2.1 OSB, running on RedHat derivative with Oracle JDK 8.


OSB 12.2.1 Native REST pipelines don’t work with GET parameters.

Creating a native REST business services works fine, also adding a REST proxy service.
Once you insert a pipeline HTTP stops working correctly (since the URL parameters aren’t forwarded, a list will be returned by the backend service according to REST semantics), since URL parameters are not forwarded.

Steps to reproduce:

  • Use REST tech adapter to create a REST business service for an existing REST backend.
  • Define GET and POST methods. WADL will be created.
  • Test business service from WADL: both GET and POST will work.
  • Create proxy service from REST business service
  • Test proxy service, again GET and POST methods will work from OSB test client.
  • In JDev, drop a pipeline on the line connecting proxy and business service.
  • In JDev verify the¬†pipeline configuration. it will display correct values.
  • Test the proxy service again, only POST will work. GET does not work anymore (now returns a whole list), since the URL parameters are not forwarded. Even an¬†empty OSB pipeline will swallow the GET URL parameters.


IMHO this is a bug. I am currently in discussion with Oracle about it.

What is next?

I will let you know about updates / fixes or workarounds. Note, you could set the URL parameters as routing options to circumnavigate the issue for a particular use case.

Oracle Service Bus 12.2.1 JVM Settings: PermSize, Heap, Non-Heap, and ResourceManagement

Oracle Service Bus comes with JVM settings that cause questions to some customers. This posting provides answers to the most common questions I discussed in workshops or received so far.

Warning about PermSize Option

Question 1: “I see the following warning:

Java HotSpot(TM) 64-Bit Server VM warning: ignoring option PermSize=512m; support was removed in 8.0
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=1024m; support was removed in 8.0

Does that mean that Oracle generates the startup scripts with wrong JVM flags?”

Answer: With Oracle JVM 8 the permanent space was removed. Not having a perm space was a JRockit “feature” that has been¬†ported over to the Oracle JVM. The warnings of course are harmless. Startup scripts for WebLogic only domains are generated correctly for WebLogic 12.2.1. So Oracle needs to change this for OSB domains and they know about it.

Heap Size

Question 2: “How big is Oracle Service Bus now? I used to be able to create and run a cluster on my laptop with earlier versions but now I run into resource problems.”

Answer: Default startup parameters are: -Xms1024m -Xmx2048m, i.e. minimum heap size is 1 GB, maximum heap size is 2 GB. Hence you should expect your process size to be larger than 1 GB right from the start.

Screen Shot 2016-02-17 at 13.27.49 Screen Shot 2016-02-17 at 13.29.38

Roughly speaking after starting up a single OSB instance (everything hosted on the admin server), you should expect more than 400 Mb of heap used. Have a look at the screenshot above. The last drop in the first screenshot was caused by an external garbage collection request (I did it manually). In addition there is more than 500 Mb of non-heap used (100 Mb code cache and 400 Mb meta space, GC of course does not affect this area). This shows that 1GB as a minimum setting makes sense.

JVM ResourceManagement Flag

Question 3: “I see the following warning

<Feb 17, 2016 9:45:56 AM CET> <Info> <RCM> <BEA-2165021> <"ResourceManagement" is not enabled in this JVM. Enable "ResourceManagement" to use the WebLogic Server "Resource Consumption Management" feature. To enable "ResourceManagement", you must specify the following JVM options in the WebLogic Server instance in which the JVM runs: -XX:+UnlockCommercialFeatures -XX:+ResourceManagement.> 
Should I enable -XX:+ResourceManagement? Will it help to improve OSB 12c performance?"

Answer: You probably have read announcements that emphasize that OSB 12.2.1 is running on top of WebLogic 12.2.1 and WebLogic 12.2.1 supports a number of exciting new features. Nothing wrong with that, kind of marketing logic though.

It is important to understand¬†that Oracle Service Bus 12.2.1 (and other up stack 12c products such as Oracle SOA Suite, Oracle BPM etc.) doesn’t use yet some¬†really cool WebLogic 12.2.1 features such as domain partitioning or elastic cluster.

In short: Oracle JVM 8 resource management is used as a commercial feature together with G1 garbage collector to track JVM resource usage on the JVM level per partition. Based on the collected data about memory, file and thread usage WebLogic can then¬†react and ensure that a WebLogic partition within one domain doesn’t steal too many resources from another partition. It’s important to understand that the magic (the reaction) happens in WebLogic and it’s based on the data provided by the JVM.

So will¬†the¬†-XX:+ResourceManagement setting improve OSB 12.2.1 performance? I’d say no. It will only have benefits when used with partions which are so far not supported by OSB 12.2.1.



Opatch for Oracle WebLogic 12c or Oracle Fusion Middlware

Those of you who blog will know that the most useful postings are the ones that you lookup yourself now and then. This one I was pulling out of my virtual class room drawer several times when asked by customers.

opatch webcast

Quite a while ago I did a webcast about the new patching utility opatch (read the original Oracle opatch documentation for 12.2.1 here). Opatch is now used with Oracle WebLogic Server 12c but also with Oracle Fusion Middleware products such as service bus and SOA suite.

P.S. opatch is of course covered in my latest Oracle WebLogic Server 12c book.


Oracle Service Bus 12.2.1 Training Course

I provided a customer specific hands-on training for a dozen SOA architects of one Germany biggest companies. Another successful Oracle Features and Showstoppers training course.
This time we covered Oracle Service Bus 12.2.1, including all the new and cool features such as dynamic domain value maps, JDeveloper 12.2.1, pipeline templates, dynamic validation, end-to-end REST, JSON payloads, the new XQuery mapper with XQuery modules, clustering, Oracle Fusion Middleware Control, and much much more.

thanks to everyone who attended!

osb12c kurs

Quick Tip: Change OSB 12c Domain Value Maps (DVM) in Service Bus Console

Other people have written and explained the usage of Domain Value Maps (DVMs) in Oracle Service Bus already: They can be generated easily within JDeveloper and shared with SCA components of SOA Suite. Previously SOA Composer could be used to modify them.

Here is quick tip: You can now change (or even create!) them within service bus console easily at runtime. So open your service bus console, e.g. from http://localhost:7101/servicebus. Note that the previous /sbconsole is now /servicebus and comes with a fresh look. The old URL is still working but deprecated and should not be used anymore.


Btw there were other XQuery based approaches that also allowed DVM to be used and changed at runtime, but the built-in DVMs are easiest and most convenient.

Bug: Wrong Message Type and XQuery Expressions in OSB 12.2.1 /servicebus Console for Message Based Pipelines


I am using the latest download of JDeveloper 12.2.1 with the builtin test domain for SOA Suite 12.2.1 and OSB 12.2.1, all running on Java 1.8.0_65_b17 on a RedHat derivative.

Business Service

I created a message based business service based on a simple XML element definition for an Order via an XSD.


Testing the business service shows the correct test data. Good. Note, that there is an embracing <ord:order> element containing other element such as version or ID.



A pipeline is defined based on the same element.


Interestingly the pipeline shows a different variable structure, missing out the embracing <ord:order> element.


So any created XQuery expressions, e.g. for a Log action as seen on the screenshot above will be wrong as well and missing the embracing <ord:order> element. So put it more clear, non of the expression will return anything meaningful.

Conclusion / Impact

IMHO this is a severe¬†issue if confirmed. Let’s face it. OSB was never easy but a rock solid product. For almost a decade I solved problems by telling people to stay calm and carefully looking and the test data, the elements, and the namespaces provided by OSB testing console. Now this seems to be broken.


You can manually fix your XQuery expression. Possibly this also relates to another OSB 12.2.1 bug I blogged about earlier.