Generate Docker Containerized Run Time and Design Time for Oracle StreamExplorer, Event Processor and JDeveloper using Vagrant, Puppet and VirtualBox

The objective of this article: prepare an environment for experimenting with Oracle StreamExplorer using two Docker containers inside a Linux VM running on my Windows laptop. And with the smallest number of manual steps possible – as to make the environment provisioning process highly repeatable.

In recent weeks, I have published a number of articles, investigating pieces of the puzzle that come together in today’s challenge. After general introductions of the combination of Vagrant and Docker – First steps with provisioning of Docker containers using Vagrant as provider and Vagrant and Docker – Next and Advanced steps with folders, ports, volumes, linking and more – that explained how Vagrant can be used on a Windows host to easily build, run and manage Docker containers – I discussed a number of more advanced topics such as the use of Puppet to do complex environment provisioning for the Docker containers – Vagrant and Docker followed by Puppet to provision complex environments – and how to configure and containers with GUI applications – Vagrant, Docker, VirtualBox and the Graphical Desktop for GUI applications in Docker Containers.

I have also discussed at length how to install OEP – using Puppet and without using Puppet: Generation of VM image for Oracle Event Processor and Stream Explorer using Vagrant and Puppet and Oracle StreamExplorer and Oracle Event Processor – installation instructions to quickly get going.


With all these findings under my belt, I felt ready to take on the challenge.

This article describes what I did and what the final result was – as visualized in this figure:


Lees verder

Implement an Asynchronous Web Service using JAX-WS in JDeveloper

This article discusses how to implement an asynchronous web service in Java EE. The Java application will expose a one way operation that will process the request and send a response message to a callback Web Service interface that is indicated in the request header through WS Addressing properties (messageID, replyToAddress). The Asynchronous Web Service is subsequently deployed and invoked from SoapUI.

The article starts with nothing but a simple WSDL file that defines the two portTypes: one way call and the [one way] call back:


The main steps are:

  1. Generate the JAX-WS Client & Proxy for the ThoughtfulGreeterCallback portType (to invoke the callback service in order to send the response)
  2. Generate the JAX-WS Web Service for the ThoughtfulGreeter portType (to implement the one way web service)
  3. Edit the generated code for the ThoughtfulGreeter portType in order to create the response and invoke the callback interface – used on WS-Addressing details in the request

When the implementation is thus complete, we create a new project in SoapUI. In this project, we will create a test request to invoke the ThoughtfulGreeter service. We will also create a MockService in SoapUI to act as the callback interface ThoughfulGreeterCallback. In the request from SoapUI to the ThoughtfulGreeter service, we will specify WS-Addressing properties that refer to the MockService.

Finally, when we have SoapUI make the call to the ThoughtfulGreeter service, we will receive a call (back) to the MockService, containing the response.

Lees verder