Base64 Encode / Decode with Python (or WebLogic Scripting Tool)

I had to estimate the effort for decoding a Base64 encoded message. Honestly :) A reminder to self (and for others working in the dark spheres of lowest level integration).

 

Python / WLST

You can easily decode a Base64 message in Python. With WebLogic installed this obviously is working with WLST (also in offline mode). No imports, no nothing, no questions asked:

‘Base64Encoded_String’.decode(‘base64′)

Online (I am tempted to write PaaS :-) )

For a quick I-need-to-get-this-decoded solution try one of the online services such as

https://www.base64decode.org which is working pretty well for me.

Christmas Book Raffle

Win a free copy of Middleware and Cloud Computing

I just completed a 1 day Multi-Cloud Computing workshop in Nuremberg covering Amazon, Google, Rackspace, Oracle and Openshift – all the major clouds and how clouds impact software development.

Christmas is just a few weeks away and I am gifting 3 copies of my Middleware and Cloud Computing book.

 

All you need to do to participate is either share the Facebook posting:

 

or retweet the following tweet

Good luck!

No purchase required :-) no cash disbursement and/or an replacement of the prizes is possible,Deadline is Dec 19th, 2014.

Cloud Workshop (AWS, Google, OpenShift, Oracle, Rackspace, Netflix OSS, Docker)

Cloud Training Course

A fortnight ago I was running a hands-on cloud training day in Nuremberg covering the most important public clouds and how clouds change software development.

Feedback

I actually tried, but with 30 attendees I was even too busy to take a picture of the overcrowded room (the workshop was fully booked). Anyway, feedback forms say that 97% were very happy or happy with the workshop.

thanks!

ps. Don’t miss out the Christmas book raffle.

WebLogic Startup Customization: setUserOverrides.sh

Many people modify the setDomainEnv.sh file that specifies the core settings for a WebLogic domain, e.g. for adding debug or monitoring ports or additional switches for the JVM:

DOMAIN_HOME/bin/setDomainEnv.sh

I confess, I do the same for quick and dirty hacks, yet changes here will be overwritten during a domain upgrade. It’s much better to put such changes into the following config file:

DOMAIN_HOME/bin/setUserOverrides.sh

Your changes will remain even when updating a domain, also they will be respected by pack/unpack. Check out the official Oracle documentation.

DOAG Schulungstag 2014: Cloud Computing

DOAG Schulungstag 2014

 

Screen Shot 2014-10-16 at 15.11.23

Cloud Computing und Public Clouds: Was Sie wissen müssen – gezeigt anhand von live und hands-on Beispielen

Den Teilnehmern werden herstellerunabhängige Grundlagen zum interessantesten Thema der letzten Jahre – Cloud Computing – vermittelt. Die Schulung beinhaltet die wichtigsten Public Cloud Provider wie Amazon, Google  und Oracle, sowie Netflix OSS, Openshift und Docker. Im Mittelpunkt steht die Technologie. Bereiche wie IaaS (Server mit SSDs und ¼ TB Hauptspeicher für 2€), hochverfügbarer Plattenspeicher, Datenbanken, Load Balancer usw. Ausserdem betrachten wir die Auswirkungen, die Cloud Computing mittlerweile auf den Softwareentwicklungsprozess und den Betrieb hat.

Zielgruppe:

Einsteiger und Teilnehmer mit mittlerem Wissen im Bereich Cloud Computing die sich mit dem Thema vertraut machen wollen, an der Technologie interessiert sind und einen Blick über den Oracle-Tellerand hinaus wagen!

Cloud-Computing und Public Clouds:
Was Sie wissen müssen – gezeigt anhand von Hands-on Beispielen.


✔ Freie Plätze sichern!
✔ Jetzt buchen
✔ DOAG 2014 Schulungstag.

http://www.doag.org/events/konferenzen/doag-2014/der-schulungstag.html#c6898

 

Cloud Survey: Computerworld Quotes

Update as of Nov 2014: You can get the whole survey now from here (registration required though).

 

Cloud is more popular than ever. Even the slower, more traditional software vendors now pick up the concepts I wrote about back in 2011. Keep going!

Find attached some quotes from the Computerworld magazine.

computerworld cloud survey

WebLogic 12.1.3 New Unicast Group Implementation

As of WebLogic 12.1.3 the implementation of unicast groups used for WebLogic clusters has changed.

What is new?

  1. There is a fixed maximum number of groups which is 10.
  2. Groups can be asymmetric.
  3. Servers are put into groups based on the hash value of their name (which obviously explains 2).

The group leader in a particular group might change if new servers are added but with dynamic clusters and generated cluster names this is rather unlikely.

Why?

The implementation has changed to make it more robust. The official Oracle documentation was initially wrong, but has been updated now.

Example

When creating a classic cluster with servers surf1, surf2, surf3 or servers abc, jkl, xyz, every server ends up in its own unicast group, the total number of groups is the same as the number of servers.

When creating a dynamic cluster with let’s say 15 servers, server server-1 and server-11, server-2 and server-12, etc. are grouped together into one group.

unicast groups dyn cluster

More?

It is not yet officially documented. Currently the official Oracle documentation still describes the old implementation. I described the new implementation in my Oracle Open World presentation together with Dave Cabelus.

Also there is a short web cast available here:

12 Things about WebLlogic 12.1.3

While you’re at it, make sure to download my Oracle Open World 2014 presentation slides for more ideas of what is new and newsworthy in WebLogic 12.1.3.

New RESTful Management API in WebLogic 12.1.3

What you should know:

WebLogic 12.1.3 comes with a new implementation of the RESTful management interface.

Why RESTful?

RESTful interfaces are interesting because they …
– can be used from any language (UNIX curl, Python, Java, you name it …)
– are leight-weight. All you send is an URL using http (and possibly some JSON data)
– are leight-weight on the client side. No JVM is required, unlike let’s say JMX.
– can easily be used across firewalls because the underlying protocol is http.

What is new?

Unlike previous versions of the management interface, WebLogic 12.1.3 provides a technically better implementation for RESTful management, since the interface…
– incorperates versioning
– uses canonical URLs
– uses the well-known http verbs GET (to retrieve information. e.g about a configured data sources), POST (to create e.g. a new data source), OPTIONS (to create a JSON data structure used as a template for create a new datasource), DEL (to delete a datasource).
– returns RESTful URLs in the response.

What is missing?

Currently there is no support for JMS, Workmangers, etc. Since there is no generic way of accessing MBean attributes in WebLogic’s implementation of the RESTful management interface you have to wait for Oracle to implement support for those ressources.

Gossip is spreading that the missing ressources will be included in WebLogic 12.2.1.

More?

more information can be found in the Oracle documentation. There are also some web casts available on the WebLogic Book Youtube channel.

Even More?

I recorded a 2 minute tech-tip for OTN. Previously I explained how the open source Jolokia alternative can be used together with WebLogic.

 

oow#2014 Slides Uploaded: 12 Things about WebLogic 12.1.3

I uploaded my presentation slides from Oracle Open World 2014. Make sure to subscribe to my slideshare content library:

WebLogic with Docker in the Cloud

docker

Docker has been without any doubt the most hyped technology this summer. Apart from incrementally and quickly creating light-weight containers that can be hooked up together it seems to become the de-facto standard for spinning up instances locally and in the cloud. In the past there was no real compatibility between cloud providers on an OS/instance-level and also import/export features were “demanding” at best.

Linux containers for clean sandboxing do exist since much longer, e.g. Google is starting over 2 billion Linux containers every week. With Docker there is an open source based de-facto standard now that customers want to use (honestly, few people looked into lxc and kernel namespaces before Docker had it’s appearance)

Docker and WebLogic?

Oracle WebLogic Server currently does not officially support Docker, yet there is a github project to start with created by Bruno Borges. This project contains the Dockerfile with all necessary WLST-scripts to create a Docker container running WebLogic.

Screen Shot 2014-09-21 at 12.19.11

You can run Docker itself in Oracle Enterprise Linux like in most other Linux distributions such as CentOS, Ubuntu etc. Docker containers always run Linux; e.g. you could have WebLogic running on Ubuntu in a Docker container which is running on CentOS.

Docker Hub Registry

The Docker hub registry is best known as a public registry for Docker images to start with but it can be used to store private images as well.

The Docker Registry contains base Docker images for Java, Ubuntu etc., yet there are no official images from Oracle at the moment. Let’s hope that Oracle will not repeat the rather sad story of poor support for Oracle product AMIs for Amazon Cloud.

Public Clouds can either deploy Docker containers directly from github by creating a container on the fly based on a Dockerfile on github, or by accessing an Docker image stored in the Docker registry. I will demonstrate below how to deploy WebLogic as Docker container straight from the Docker registry.

https://hub.docker.com

Clouds: Amazon, Google, …

Amazon Beanstalk, same as the Google Cloud, support Docker containers as well! So you can dockerize your application (including WebLogic) and run the same Docker image on the cloud. To the best of my knowledge there is currently no information available if Oracle has plans to support Docker in the Oracle cloud.

AWS Beanstalk Cloud

HowTo Run Your WebLogic in a Docker Container on Amazon Beanstalk

The following web cast gives a brief overview of the steps involved. It’s not intended as a A-Z tutorial, rather a quick recording to illustrate the point saving you from dozens of boring screen shots. I am using CentOS 7 to run Docker and create the local Docker container.

The following steps are shown:

  1. Create a running Docker container with WebLogic
  2. Create a new image based on the container
  3. Upload the image to Docker hub
  4. Create the Amazon Beanstalk JSON file for running a Docker container
  5. Create an AWS Beanstalk environment that runs the image from Docker hub
  6. To prove that 1. to 5. are working run a demo app in the cloud

 

If you want to know more, I recommend to get a good book about Clouds, and WebLogic, read Bruno Borges blog entry, the Docker documentation, and the AWS Beanstalk documentation.

Oracle supports the licensing of certain AWS/EC2 instances, also different versions of Oracle Database are available at the Amazon cloud, so ask your Oracle sales rep about the licensing with Docker and Beanstalk.

Enjoy!

Update

I just learned that this posting with the web cast made into the Docker Weekly. Cool, thanks!

Update 2

Soon there will be Microsoft in the boat as well. So Amazon, Google and Microsoft amongst others will support Docker containers. I am curious to see what this will mean for Oracle’s own cloud offering.

Oracle Open World 2014 Presentation

The Forefront of Application Platforms

speaking large

I’ll be speaking at the Oracle Open World 2014 conference in San Francisco about “The Forefront of Application Platforms” together with the Senior Principal Product Manager of WebLogic. 

I hope you are excited – I certainly am! 
Schedule me here: http://goo.gl/jrwgTZ

 

(c) Dr. F. Munz

 

From #ofmsummercamps to Oracle Open World 2014 #OOW2014 …

c63w7-aerosmith-oow14-2263713

 

The Oracle Fusion Middleware Summer Camp in Portugal just finished last week. I guess everybody agreed it was  fabulous event for getting your hands on Oracle SOA Suite and Service Bus 12c, Managed File Transfer, BPM, OEP, MAF, and the Enterprise Scheduler.
I already wondered who will be playing this year at OOW, but actually it is 3 epic nights of music! Since today the announcement for the Oracle Appreciation Event at Oracle Open World is out:

Amongst others, Aerosmith and Empire of the Sun are playing! (If you’re not into music, make sure to come to my presentation at least. Details to come…)

JDeveloper 12.1.3 for SOA Suite and OSB 12c Crashing?

Today at the Oracle Fusion Middleware Summer Camp in Lisboa I experienced some SIGSEGV JVM crashes. It happened when trying to use JDeveloper 12.1.3 under MacOS  with the SOA Suite Development installer – right after the installation when starting up the server from within JDeveloper. (Most of the experienced SOA Suite developers went the beaten path using Windows).

My installation used a fairly recent JDK 1.7_45, but SOA Suite 12c is supported on MAC OS only for a single user development installation starting with JDK 1.7_51.

Upgrading to JDK 1.7_65 and recreating the JDeveloper default domain fixed the issue.

OSB 12c with JDeveloper on MAC OS

 

Give it a try! It’s the best time to explore the brand new SOA Suite 12c features – now even natively on a MAC.

 

WLS Distinctive Book Give Away…

Guys, @wlscommunity has half my weight of the new WebLogic Distinctive Recipe book to give a away! I cannot imagine a better way to produce a huge drop in book sales :)

https://twitter.com/OTNArchBeat/status/494926738615713792

I recommend to tweet some fun Oracle / WLS community related pic. Shouldn’t be that difficult.

bE cReAtIve & do write a short review on Amazon!

Cloud Computing Workshop in Berlin

A Tad of Cloud Evangelism

It’s always a pleasure to travel to Berlin for various reasons. A fortnight ago I was running an AWS/Google/Netflix OSS/Cloud Management workshop for a non-disclosed European Agency. I had about 3 dozens of attendees working at the forefront of technology.

 

mosaik

 

Yesterday a Thank-You letter from their director arrived.

“My people work on mosaic pieces… Your presentation showed the whole picture”.

Thanks a million! I makes me feel flattered.

New WebLogic 12.1.2 Webcasts Posted

Those of you who subscribed the WebLogic Book Youtube Channel already know that I published 2 additional webcasts (the 2014 edition of WebLogic Distinctive Recipes Book references them).

I).  Per Domain Node Manager

Note, that I keep receiving comments about the WebLogic 12c node manager bug. This is fixed now in WLS 12.1.3.

II). WebLogic Server Templates

and Dynamic Cluster:

Oracle WebLogic Blog / Good Eats

Good eats.

sausage

Good to see that my new WebLogic book which is covering lots of features and showstoppers is mentioned on the Oracle WebLogic blog. Thanks!

Btw, anyone going to Open World? Drop me a line if you want to meet up for a coffee (or a sausage)!

New Webcasts

As mentioned already I will publish the new webcasts from the 2o14 edition of WebLogic Server 12c Distinctive Recipes book here. Don’t miss out – subscribe to youtube.com/weblogicbook

WebLogic 12c and Maven Part I:

 

WebLogic 12c and Maven Part II:

 

Server Templates:

 

Dr Kano and the XQuery Mapper of Oracle Service Bus

Requirements, Qualities and Dr. Kano

Ever heard of Noriako Kano? In the 80s he was thinking about customer satisfaction and came up with the theory that there are must-be qualities of a product (they are often taken for granted but you’ll be really unhappy if a product doesn’t have them) and attractive qualities (they are not expected but they will surprise you).

Oracle Service Bus’ XQuery Mapper

Today I finished a milestone in a large SOA project for a big logistics company. The project intensively uses Oracle Service Bus 11g and the OEPE based XQuery mapper which brought Dr Kano back to my mind…

The XQuery mapper comes with some attractive qualities. Did you ever map elements and later discover that they are repeating and are part of sequence? Just map the enclosing sequence and all depending elements will be magically corrected. Try it yourself and examine the generated XQuery code to fully appreciate it!

Xquery

However, there are far too many must-be qualities missing! Everybody creating something bigger than a hello-word example will discover them (I ended up with some 1200 lines of XQuery code).

Known Issues

1.) There is no “Find” for the graphical view. Find is essential. Often technical design documents describe mappings in an Excel sheet and you get insane when searching for 500 elements on the graphical mapper.

2.) You cannot access the type of an element directly from the graphical view. The pop up window that appears when you hover over an element is a okay start but what is really missing is to get to the XSD in another tab with one click. Manually switching to source view cannot be an option for 500 elements.

It works for Java and we need the same for the graphical XQuery mapper.

3.) There is no clever way to print a graphical mapping. Possibly that’s an attractive requirement. Hmm? I’d enjoy it (to show off those monster mappings).

4.) There is no Find in the “Testing” tab either.

from here on, things get much worse:

5.) The XQuery mapper will remove your custom XQuery code! There is a a lot of work beyond simple dragging and dropping lines from one element to another in real projects – so removing manually written XQuery code is not acceptable.

Even a simple comment will be removed. Wow.

Yes, in real simple examples you would start with the graphical mapper first and then code the rest. In many real life examples “the rest” could be more than 50%. Note, I am not complaining that the mapper obivously won’t be able to display your custom XQuery code.

6. The mapper  refuses to map e.g. an integer type to a string. If you drag it to the Expression tab you can still do it. Why the workaround that requires an extra “save”? We not asking me if I know what I am trying to do, and from then on just do it?

Conclusion

Gossip says that Oracle SOA Suite 12c beta test is currently running. SOA Suite 12c will be JDeveloper based, so it’s fresh start! Let’s hope we will see all these issues ironed out in 12c, after all they are must-be qualities.

Do you experience other mapper issues? Drop a comment here!  

ps. I am not beta testing SOA Suite 12c, so I don’t know more about it than anybody else.

WebLogic 12.1.2 Per Domain Nodemanger Command Line Arguments

Stepping out of any WebLogic admin training you will know that before WebLogic 12.1.2 we could start the node manager (NM) using its listen address and its port number as command-line arguments overwriting the settings in the nodemanager.properties file.

This is still possible, but doesn’t work OOTB for the per domain NM which was introduced in 12.1.2.

The reason is, that the start script in

DOMAIN_HOME/bin/startNodeManager.sh

is calling

WL_HOME/server/bin/startNodemanager.sh

The script located in WL_HOME is still okay, but the one in DOMAIN_HOME doesn’t forward the command-line parameters. So if you just want to be able to run it as before, then replace

${WL_HOME}/server/bin/startNodeManager.sh

with

${WL_HOME}/server/bin/startNodeManager.sh ${1} ${2}

in the startNodeManager.sh in DOMAIN_HOME/bin.

Have a great day!

ps. Are you observing this 12.1.2 NM bug? Let me know if you don’t.

A/B Testing with Oracle WebLogic Server 12c Distinctive Recipes

I am doing some A/B testing: Last week my #WebLogic 12c Distinctive Recipes book was 60% off in the US. The ebook is $9 only. Now it is time for part B: The book stays the same price, but I let everybody know…

WebLogic 12.1.2: RESTful Management Services Bug in AJAX Client

Seems to me like the AJAX frontend for the RESTful Management Service in WebLogic 12.1.2 is a zombie now. I tested on CentOS and MacOS with Chrome and Safari. The initial page shows up, but after submitting the request there is no sign of life, no result displayed.

The AJAX frontend used to work fine in WebLogic 12.1.1, for 12.1.2 there is no response returned. A pity since I always liked to demo it! You can read about it in a blog posting from W. Oliveira.

ajax

 

Anyway, submitting the URLs directly is still working fine, i.e. it’s a bug with the AJAX frontend and not the RESTful service itself.

restdata

Also if you want to read more, a WebLogic RESTful Management service vs. open source Jolokia discussion (based on older postings here and here) can be found in my WebLogic book.

Per Domain Node Manager in WebLogic 12.1.2

The per domain node manager is one of the exciting new features of WebLogic 12.1.2. The basics are covered in the Oracle documentation  and Dave’s blog posting.

The real beauty of having a node manager for every domain on a particular machine are the following two improvements:

– Since the node manager is part of the domain, it will start the servers using the UID of the domain owner. JVM processes on a multi-domain server will be separated and belong to the individual UIDs.

– Node manager configuration and management scripts but even more important node manager logs are within the domain now. So no more logging from node manager into the product installation directory of WebLogic.

20th WebLogic Book Review comes from India!

The two statements from @ganeshk_8 a Senior Technical Consultant for OFM about my WebLogic 12c book are top notch:

“It promises much more than what its name suggests.”

“You will end up thinking – had I read this book earlier, I would have saved a lot of time in my project.”

 

Read the full review here.

2013 on Twitter

see my 2013 on Twitter video here.