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.

arg5

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

20160804_132306

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.

mvd3

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.

goub

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.

Australia

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.

Google

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

api-with-a-view

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.

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

 

p1

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.

group2

 

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.

Scaling Failure with Elastic Cluster in Oracle WebLogic Server 12.2.1 (12c)?

The Issue

When you manually scale an elastic cluster let’s say from 2 to 3 there is no issue. Then try scaling the cluster from 3 to 4 and WebLogic admin console will report “FAILED”.

 

How it really Works

Actually it is not broken, it just doesn’t do what you expect it to do because of the cool down period for cluster scaling that has a default value of 900 seconds. This setting is useful to prevent oscillating cluster sizes (possibly due to conflicting rules).

elastic_cluster_fail

You can set this value yourself under Cluster / Configuration /

cooloff

 

What should Oracle Do?

Oracle should change the state from FAILED, to COOLDOWN_PERIOD or so.

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).

mdbplan

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.

rollingrestart

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
 ----------------------------------------- -------- ----------------------------
 EMPLOYEE_ID NOT NULL NUMBER(6)
 FIRST_NAME VARCHAR2(20)
 LAST_NAME NOT NULL VARCHAR2(25)
 EMAIL NOT NULL VARCHAR2(25)
 PHONE_NUMBER VARCHAR2(20)
 HIRE_DATE NOT NULL DATE
 JOB_ID NOT NULL VARCHAR2(10)
 SALARY NUMBER(8,2)
 COMMISSION_PCT NUMBER(2,2)
 MANAGER_ID NUMBER(6)
 DEPARTMENT_ID NUMBER(4)

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

Table created.

SQL> describe employees2;
 Name Null? Type
 ----------------------------------------- -------- ----------------------------
 EMPLOYEE_ID NUMBER(6)
 FIRST_NAME VARCHAR2(20)
 LAST_NAME NOT NULL VARCHAR2(25)
 EMAIL NOT NULL VARCHAR2(25)
 PHONE_NUMBER VARCHAR2(20)
 HIRE_DATE NOT NULL DATE
 JOB_ID NOT NULL VARCHAR2(10)
 SALARY NUMBER(8,2)
 COMMISSION_PCT NUMBER(2,2)
 MANAGER_ID NUMBER(6)
 DEPARTMENT_ID NUMBER(4)

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 I was working on an Oracle tech presentation, I discovered the following issue with native REST and Oracle Service Bus 12c.

Version

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

Description

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.

Severity

IMHO this is a bug. I am currently in discussion with Oracle PM about it. Since I am working on another cloud gig, I cannot file a SR myself.

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.

Update 1 (Oct 2016)

I received no feedback from Oracle unfortunately. Anyway, if you experience the same issue let me know. It is important to share the knowledge here – I receive a lot of positive feedback from people with the same issues. Anyhow, also file a SR with MOS if you can. This is the official way to get it possibly fixed.

Update 2 (Jan-12, 2017)

There is a Patch 25184543 now with a backport to 12.2.1.2, see comments below. Gracias a Juan! Kudos for getting this through MOS and for sharing the knowledge.

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 an open enrollment, hands-on training for a dozen SOA architects. 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.

dvm

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

Environment

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.

2016-01-21_12-16-15

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.

2016-01-21_12-07-41

Pipeline

A pipeline is defined based on the same element.

2016-01-21_12-16-36

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

2016-01-21_12-15-21

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.

Workaround

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

Tiny Improvement, Big Difference: Revert Production / Development Mode in WebLogic 12.2.1 Admin Console

A lot of people felt it was never right that you could not go back from production mode to development mode in WebLogic admin console. You alway could change it using WLST or overwriting it with a startup parameter or modifying config.xml.

With WebLogic 12.2.1 this has changed. You can change it using the admin console now.

2016-01-19_09-50-55

 

 

 

 

Bug: Typed One Way Pipeline in Oracle Service Bus / OSB 12.2.1

When creating a Service Bus pipeline in JDeveloper 12.2.1 for Oracle Service Bus 12.2.1, based on a typed, one-way business service (either one way WSDL based, or Messaging Service with XML request and XSD type with reply NONE business service) the pipeline won’t correctly use the request message type. It’s annoying because you cannot easily create expressions based on the request type, such as drilling open the $body variable, e.g. for an Order containing a shipping ID. All that is displayed within the pipeline is $body.

This happens although the pipeline configuration displays the correct XSD, eg. OrderType.xsd and the correct Type, eg. OrderType.

2016-01-18_18-13-41

I am quite surprised because this is not a very unusual use case. Anyway I couldn’t find a work around for JDeveloper 12.2.1 (let me know if you know one!). Interestingly, testing a proxy service based on the business service works all right (so maybe the bug slipped in when the pipeline construct was separated from the proxy service? just guessing.)

It is possible to work with the good old Service Bus web console /sbconsole. There everything is fine, i.e. the correct structure of the request message is displayed. The working Service Bus console is another indication that the way JDeveloper does it is broken.

2016-01-18_18-13-56

Don’t get me wrong. IMHO using the web console is not an acceptable solution.

 

Update OSB 12c Bug Fix:

I have seen this severe bug to be fixed with OSB patch 22276364 on a Windows system. So far I could not confirm it myself. Let me know if it works for you!

Update OSB 12.2.1.3 :

The patch available for previous versions never worked for me, however the issue is fixed now in OSB 12.2.1.3. All good!

WebLogic 12.2.1 RESTful Management

WebLogic 12.2.1 is out since Oracle Open World 2015 and comes with a new RESTful management interface.

  • RESTful management for 12.2.1 is a rewritten and different implementation.
    The previous two implementations supported only a small subset of JMX attributes, you could only read them, URLs and versioning were different.
  • The new URL format is:
     http://server:port/management/weblogic/latest/...

    if you scripts still contain /wls/ you are using the previous format.

  • Access to all WebLogic JMX MBeans and attributes is supported now.
  • Unlike in the previous version, RESTful management is turned on per default.
  • Unlike in the previous version, RESTful management is available on admin and managed servers.
  • The URL syntax is modelled after the WLST syntax (WLST tutorial  in this screencast).
  • A simple HTTP GET example (just type it into your browser), e.g. to retrieve name and state runtime values for a managed server named surf1:
    http://localhost:7001/management/weblogic/latest/domainRuntime/serverLifeCycleRuntimes/surf1?links=none&fields=name,state
    Response:
    { "name": "surf1", "state": "RUNNING" }
  • Another example to create a new server surf7 using 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
  • Within the /edit subtree, edit sessions are implicit.
  • To manually start/cancel/activate edit sessions:
    /edit/changeManager/startEdit|cancelEdit|activate
  • Unlike the previous version of the RESTful management where HTTP OPTIONS was used to get a JSON form of possible values e.g. when creating a ressource, now /ressourceCreateForm is used, e.g. you can retrieve the values to create a server with the following HTTP GET:
    http://localhost:7001/management/weblogic/latest/edit/serverCreateForm
  • You can issue bulk requests, which runs a search of a set of specific JSON nodes and returns the results at once. As shown in the following example, an HTTP POST operation to the following URL
    http://localhost:7001/management/weblogic/latest/domainRuntime/search

    and using the following JSON as payload:
    json query

 

More?

More interesting facts about the RESTful management interface:

  • The RESTful management interface comes with very good error messages if something goes wrong.
    However, if  you try to update a property that cannot be overwritten, e.g. the server name of a managed server, it will be silently ignored. This is intended behaviour.
  • In the curl example above all(?)  -H options could be omitted (if you were a sloppy person, but I guess you aren’t). This is true for all HTTP verbs except HTTP POST, then X-Requested-By header is required to prevent cross-site request  forgery (CSRF).
  • You could also get access to all WebLogic MBeans and attributes using the highly popular open source Jolokia, as I explained already in 2012. Jolokia works for every major application server and also supports bulk requests. Ever wondered where the chili on my WebLogic book comes from?
    Jolokia also involves using real MBean names and is therefore more complicated for the typical WebLogic user. Also it involves adding Jolokia as a JVM agent, proxy, or WebLogic deployment. So most typical WebLogic users will be better off using the built-in RESTful management interface.
    I was planting some real spicy Jolokia this year. Two tiny crumbs of dried Jolokia is enough for a Chili con Carne with 500g of meat serving at least 3 people. Give it a try!

More about WebLogic 12.2.1?

Some more examples of the RESTful management, and also 11 additional “things” about WebLogic 12.2.1 are shown in a presentation I’ve done at Oracle Open World 2015:

SOALatam Conference 2015 in Lima Review

whole_group

Now that the SOALatam Conference 2015 in Lima is over and work slows down a bit because Christmas is approaching it’s time for a summary. To conclude it was one of the best conferences I attended in 2015. You may ask why I favour SOALatam over the others and there are several reasons:

  • It’s vendor independent.
  • It’s cross technology.
  • Although it is cross technology, it is focusing on new developments, such as Docker, microservices and API Management.
  • It’s small but high quality. Good to fit into one single day!
  • There are brilliant people speaking from major companies such as ThoughtworksS&P Solutions but also independently working folks like Thomas Erl and me 🙂
  • There is a max of 2 parallel tracks (and one is more business oriented), so you never miss out a lot.

audience

I personally enjoyed it because I met a new bunch of colleagues. My presentation was about Linux Containers Docker: Thorough and Critical Overview, covering Docker security, Docker Swarm, Docker Compose and Docker Networking including some predictions for the future. Also I discussed some challenges that show up in a Docker environment when running non 12-factor applications such as Oracle WebLogic Server.

me_presenting

 

DOAG Conference 2015 – It’s a wrap!

 

20151117_175947DOAG Conference is completed and it was a good one. I did two presentation, both are available for download now from the official DOAG site and from slidshare:

Also I enjoyed meeting my top 3 customers at the conference, attending some great sessions about Hadoop Security, API management and Dueck’s keynote (elaborating about how to treat techies more like cats than dogs, instead of talking about volkswagening). Also, for the first time we had an Oracle ACE dinner organized by Björn Rost and Martin Klier – thanks to OTN!

 

Screen Shot 2015-11-13 at 18.10.54

JDK 8 and WebLogic 12.2.1

WebLogic 12.2.1 is available since Open World 2015.

Some news regarding Java and WebLogic 12.2.1:

  • javaWebLogic 12.2.1 requires Java 8 (JDK 8) as a runtime.
  • WebLogic 12.1.3 can be used with Java 7 or Java 8. Using WebLogic 12.1.3 with Java 7 caused warnings because of the permspace settings in the WebLogic start scripts. Permspace is removed from JDK 8, so also these warnings are gone now with WebLogic 12.2.1 and JDK8.
  • JDK 8 comes with Nashorn JavaScript engine. Try the jjs command line tool.
  • Main reason from a development perspective to upgrade: WebLogic 12.2.1 finally supports Java EE 7.
  • WebLogic 12.2.1 makes use of changes in the JVM. In JDK 8u40 a new feature was introduced to the JVM called resource management. Together with the G1 garbage collector WebLogic 12.2.1 uses this commercial feature to track resource usage (CPU, retained heap, # open file descriptors). It is enabled as follows:
    java   -XX:+UnlockCommercialFeatures  -XX:+ResourceManagement ...

Interview: The (Emerging) Role of the Cloud Architect

I did an interview in San Francisco hosted by Bob Rhubart with some well known folks of the industry including Sten Vesterli, Ronald Luttikhuizn, Simon Haslam, Arturo Viveros, and Ron Batra about the role of the cloud architect.

IMHO we won’t see many people with the job title Cloud Architect on their business card. It’s increasingly important and disruptive tech, every architect, team leader and CIO has to deal with it, however it’s tech that you as a professional have to understand. The cloud changes a lot if you do it right, read my article about cloud benefits.

Enjoy listening to the interview.bob

 

Oracle WebLogic / Coherence / Cloud SIG in MUC 2015 (German only)

WebLogic / Coherence / JCS SIG

I will be still travelling in Peru after delivering a presentation for the leading API management, microservices, and container conference SOALatam  in Lima, so I won’t be able to attend, but there is an interesting special interest group (SIG) meeting happening in Munich Germany if you want to know more about what was announced at Open World 2015. You can register here for the SIG.

DOAG 2015

Even before the SIG, if you are attending DOAG conference in Nürnberg this year don’t miss out my presentations about WebLogic 12.2.1 and WebLogic with Docker.