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.

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

IaaS Competition: It’s not only about the pricing.

IaaS has become much much more than just compute on demand with an API and pay per use. Interesting to note that Oracle cloud announced to match AWS IaaS prices for their customers which is a cool and bold move. Obviously this will help to keep Oracle customers on the Oracle cloud.

AWS IaaS actually is more. You can have cheap reserved instances and even cheaper spot instances. Today AWS announced spot instances with a block duration for jobs that need to be finished but run economically. Good to see that competition keeps bringing new features. Remember when many years ago I wrote about the benefits for customers that will be caused by cloud computing? Nowadays this has become a fact.

ec2_payment_with_block_1

There are more public cloud advantages and features you should know.

Another View: Your Data Center’s Degree of Cloud

Here is another view that I just developed to describe a customer’s level of cloud. I used this view because quite often a public cloud is just regarded as an “outsourced datacenter”, however there are many steps in between the two extremes. Sometimes it’s easier to approach the cloud computing topic from the classical perspective of virtualization.

Anything you would like to add?

Screen Shot 2015-09-18 at 20.39.08

I recommend to compare what Amazon, Google or Oracle public cloud offers based on the table above compared to your on premise DC.

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

 

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 WebLogic running 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.