Oracle Stream Analytics (OSA): the new Oracle Stream Explorer

A few days ago, Oracle released the new version of Oracle Stream Explorer and renamed it to Oracle Stream Analytics (OSA). This new version is an impressive release with over 15 new major features! It really deserves the name change.

Enhanced Patterns Library

The existing patterns have been enhanced substantially  now including Spatial, Statistical, General industry and Anomaly detection through streaming machine learning.


New Geo-spatial pattern

This pattern can be used to analyze streams containing geo-location data and determine how events relate to pre-defined geo-fences in your maps.


Integrated Expression Builder

The Expression Builder allows to add calculated/derived fields on the Live Output Stream of an exploration, an important step towards the “streaming Excel sheet” idea of Oracle Stream Analytics.


It provides the ability to apply and insert mathematical and statistical calculations into the active live output stream. Once a new expression has been defined and validated, a column will be added next to the column of relevance. This new column can then be used in subsequent filters and explorations.

Support for Business Rules in Explorations

The Business Rules section of the Stream Analytics canvas provides the ability to apply the more traditional IF-THEN-ELSE constraints and clauses on the various properties of the event shape.


This capability enables the user to combine both streaming query analytics using temporal criteria together with a collection of business rules that can randomly effect the information in existing or new columns.

New streaming end point connections/targets

Oracle Stream Analytics supports new Event Stream sources and targets, such as MQTT, Apache Kafka and Twitter.


Especially Kafka gets more and more important in modern Big Data architectures so I’m really pleased to see it available now.

We can now use Oracle GoldenGate for immediately capturing changes on any database table (CDC = change data capture), send these captured change events into Kafka using  GoldenGate for BigData  and consume it from OSA to apply streaming analytics on it.

Scaling-Out with Spark Streaming

An OEP server is no longer the only runtime option. With Oracle Stream Analytics you can deploy and execute streaming applications to a Spark Streaming infrastructure.

The figure below shows how you can select one of the two possible runtime environments (Spark grayed-out because not yet configured on my environment).


Better Insights with Catalog Topology Viewer and Navigation

Topology is a graphical representation of the connected entities. The topology illustrates the dependencies and connections between the entities. The Topology Viewer helps in identifying the dependencies that a selected entity has on other entities. Understanding the dependencies helps you in being cautious while deleting or undeploying an entity.



I’m really pleased with this new release and I’m looking forward to see more enhancements and improvements in future releases. As already mentioned, the product really deserves the name change, but I also hope it’s the last one for the next couple of years ;-). Oracle Stream Analytics simplifies stream processing and will enable Self Service Streaming Analytics applications for business people.

Find more information on Oracle Stream Analytics in the Documentation available here.

Stay tuned for an update on the Docker support I already had for Stream Explorer. I’m currently in the progress of updating it for Oracle Stream Analytics so you can quickly setup your own playground environment.


Our new book “Design Principles for Process-driven Architectures Using Oracle BPM and SOA Suite 12c” got published


In the past year I have contributed to a new Packt book titled “Design Principles for Process-driven Architectures Using Oracle BPM and SOA Suite 12c”. I’m very happy that we have managed to publish it this June.

This book is a design handbook and provides skills to successfully design, implement, and optimize business processes on top of SOA. Starting with business process modeling, it shows design principles to architect sound process architectures. It presents best practices for modeling business processes using BPMN, together with design principles for services and composite applications. It provides detailed coverage of how to prepare business processes for execution. An in-depth explanation of human interactions is given and also principles and best practices for using rules.

Moving on, Adaptive Case Management principles are explained, along with the reach of business processes to mobile devices and ensuring multichannel interactions. Business activity monitoring, event-driven architectures, complex event processing in relation to business processes, and enabling integration with events and IoT devices are explained. The design principles and best practices are demonstrated in a practical way on a rental car use case.

You will learn

  • Design principles to model business processes and business architectures
  • Best practices to produce executable business processes in BPMN
  • Principles when designing reusable services and composite applications
  • Advanced approaches to human interactions in business processes, including patterns and Adaptive Case Management
  • Business rules management and principles for rule design and implementation, including using rules in BPMN and BPEL processes
  • Prepare process applications for mobile and multichannel/omnichannel
  • Explore the best practices and principles of Business Activity Monitoring to define and monitor Key Performance Indicators
  • Extend the processes to Internet of Things devices and processing complex events

Enjoy the reading! We hope you like it!

Providing Oracle Stream Explorer environment using Docker

In the past week I have been experimenting with installing Oracle Stream Explorer into a Docker container, in order to simplify provisioning development/show case environments with a single docker run command. 

Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications. Consisting of Docker Engine, a portable, lightweight runtime and packaging tool, and Docker Hub, a cloud service for sharing applications and automating workflows, Docker enables apps to be quickly assembled from components and eliminates the friction between development, QA, and production environments. As a result, IT can ship faster and run the same app, unchanged, on laptops, data center VMs, and any cloud.

You can find the corresponding docker project on my GitHub:

Due to the Oracle licensing agreement, the Oracle software itself can not be provided in the GitHub project. So you first have to download the Java 7 SDK as well as Stream Explorer Runtime and the Stream Explorer User Experience using your own OTN login. Download the 3 artefacts into the downloads subfolder. 

After downloading these files into the downloads folder, you are ready to build the Docker image:

cd docker-oracle-sx
docker build -t gschmutz/docker-oracle-sx:12.1.3 .

This will take a while if run for the first time, as it downloads the oracle-linux base image first. At the end you should see a “Successfully build xxxxxxxx” message, indicating that the docker image has been built successfully.

Unfortunately the domain creation wizard cannot be run automatically, therefore the domain has been pre-created and is provided by the docker-oracle-sx project. This domain is named sx_domain and is copied into the docker image when building the container. 

Now let’s run the container:

docker run -d -p 9002:9002 gschmutz/docker-oracle-sx:12.1.3

With the -p option we are exposing the port 9002 from the docker container to the host machine. With that Oracle Stream Explorer is available under http://docker-host-ip:9002/sx. Connect with user wlevs and password welcome1


















The Oracle Event Processing Console is available under http://docker-host-ip:9002/wlevs.  

Happy stream exploring 🙂

Installing Oracle Event Processing 12c

A week ago, Oracle released Oracle SOA Suite 12c. In this blog I will show how easy it is to create a Standalone-server environment for Oracle Event Processing (OEP) 12c.

The major new features of Oracle Event Processing 12 are the new integrated development environment based on Jdeveloper and the Event Delivery Network (EDN) event adapter nodes which provide that tight integration at runtime to SOA Suite composites and all other SOA components supporting the EDN. To read more about what’s new, read the What is new in Oracle Event Processing 12c on OTN.

Oracle Event Processing consists of the Oracle Event Processing server, Oracle Event Processing Visualizer, a command-line administrative interface, and the Oracle JDeveloper Integrated Development Environment (IDE).

The easiest way to get the Oracle JDeveloper Integrated Development Environment (IDE) is to install a SOA Suite 12c Quick Start Distribution. In this article I will show how to install and create an Oracle Event Processing server.

Before starting the installation, make sure that you have a working Java Development Kit (JDK) environment.  At the moment Oracle Fusion Middleware products require JDK7.0 Update 55 or later.

Obtain the Product Distribution

Download the Oracle Event Processing from here. Find the, download it onto your system and extract it.

Installing Oracle Event Processing

1. Lauch the installation program by invoking the following command from a terminal window:

java -jar fmw_12.

2. The installation wizard will launch and the installation welcome screen should appear


















3. Click Next.

4. Click on Browse and navigate to the folder where the Oracle Event Processing home should be placed.





















5. Click Next.

6. Chose Event Processing with Examples to install the event server with the example applications.





















7. Click Next.





















8. Click Next.





















9. Click Install to start the installation. This will take a few minutes and after that the following screen should appear.





















10. After the installation finishes, click Next and the following screen should show the summary of the installation.





















11. Click Finish.

By that the Oracle Event Proceessing server software has been installed. In order to use it, we have to create an Oracle Event Processing domain.

Note: An Oracle Event Processing installation does not include Oracle Fusion Middleware Infrastructure, so only Standalone-server domains may be created for Oracle Event Processing. A standalone-server domain can later be incorporated into a Multiserver domain, if needed.

Configuring an Oracle Event Processing Sandalone-server domain

An Oracle Event Processing standalone-server domain contains a single Oracle Event Processing server. By default, the Configuration Wizard creates a standalone-server domain, which can be the starting point for a multiserver domain.

The Configuration Wizard is an administration tool that enables you to create a new domain or update an existing domain.

1. Lauch the Configuration Wizard in graphical mode by invoking the following command from a terminal window:

cd [OPE_HOME]/oep/common/bin/

2. The Configuration Wizard welcome screen should appear.



















3. Click Next.



















4. Choose Create a new OEP domain and click Next.


















5. In the Configure Administrator username and Password screen enter wlevs into the User name field and welcome1 into the User password and Confirm user password field.

6. Click Next.



















7. On the Configure Server screen, enter oep_server into the Server name field and 9002 into the Server listen port field.

8. Click Next.



















9. On the Configure Domain Identity Keystore screen enter welcome1 into the Keystore password field and Confirm keystore password field.

10. Click Next.


















11. On the Configuration Options screen, accept the defaults and click Next.


















12.  On the Create OEP Domain screen, enter oep_domain into the Domain name field and accept the default for the Domain location field.

13. Click Create to start the domain creation process. The progress is shown on the Creating Domain screen.



















14. Click Done to exit the Configuration Wizard.

Go to the domain location to see the domain just created. I have installed the domain on /u00/app/oracle/product/oep12c/user_projects/domains/oep_domain, which can also be seen on the confirmation screen above.


With the standalone-server domain in place, we can start the server.

Starting OEP server

To start the OEP server with the domain created above, perform the following steps:

1. Open a terminal window.

2. Navigate to the domain directory

cd /u00/app/oracle/product/oep12c/user_projects/domains/oep_domain/oep_domain.

3. Run the script:












You now have a running Oracle Event Processing server and can start developing and running Oracle Event Processing applications.

In order to get the Jdeveloper Integrated Development Environment, follow my other blog Installing Oracle SOA Suite 12c Quick Start Distribution.


Installing Oracle SOA Suite 12c Quick Start Distribution

A week ago, Oracle released Oracle SOA Suite 12c. In this blog I will show how easy it is to create a SOA Suite development environment.

The Oracle SOA Suite 12c Quick Start distributions allow you to quickly install a development or evaluation environment on a single host computer. It only takes a couple of minutes to set it up.

Before starting the installation, make sure that you have a working Java Development Kit (JDK) environment.  At the moment Oracle Fusion Middleware products require JDK7.0 Update 55 or later.

Obtain the Product Distribution

Download the Oracle Event Processing from here.

Find the, download it onto your system and extract it.

Soa suite download


















Installing Oracle SOA Suite Quick Start Distribution

1. Lauch the quick start installer from a terminal window:

java -jar fmw_12.

2. The installation wizard will launch and the installation welcome screen should appear.

Soa step1of6

















3. Click Next.

Soa step2of6

















4. Click on Browse and navigate to the folder where the SOA Suite Quick Start installation home should be placed.

5. Click Next.

Soa step3of6

















6. Click Next.

Soa step4of6

















7. Click Install to start the installation. This will only take a few minutes and after that successful installation should be confirmed with the following screen:

Soa step5of6

















8. Click Next.

Soa step6of6

















9. Leave the Start JDeveloper check box selected, so that the JDeveloper Integrated Development Environment is automatically started, and click Finish.

10. JDeveloper launches and after a few seconds, the Select Role screen should show up.

Jdev select role














11. Select the Studio Developer role and click OK.

12. When prompted, say No to import preferences from a previous JDeveloper installation. The JDeveloper IDE with the Start Page should show up.














13. To launch the integrated WebLogic Server, chose Run from the main menu and then select Start Server Instance from the drop-down menu.

Run menu










14. The first time you launch the server instance, you will be prompted to enter a password for your default domain. Enter welcome1 into the Password and Confirm Password field and leave the other fields on the default.

Create default domain














15. Click OK to launch the integrated server. This will take several minutes.

You can track the server’s launch in the Messages window pane. This window should automatically open at the bottom of the JDeveloper screen. If it is not there, you can open it by selecting Window from the top bar menu and Log from the drop-down menu.

When you see the following messages appear in the log, the Integrated WebLogic Server has launched successfully.








The Oracle SOA Suite Development environment is now ready to use. Follow this blog to see future articles addressing what you can do with Oracle SOA Suite 12c.

Unable to change WS Policy Store to “App Server Connection” in JDeveloper

Today when trying different settings with Basic Authentication and SOA Suite, I wanted to from the embedded OWSM Policy Repository of JDeveloper to the one stored on the application server. In JDeveloper you can do that through preferences (Tools | Preferences). See this blog for more details.

Click on the App Server Connection option and choose an existing connection through the Connections drop-down or add a new one by clicking New.



Unfortunately the change was not saved after clicking OK and when returning to the screen the option was still set to File Store.

A restart of JDeveloper just before changing the option solved the issue!

I’m speaking at BPM Integration Days 2014

Vom 24. – 25. Februar 2014 finden in München die BPM Integration Days 2014 statt.

Die BPM & Integration Days konzentrieren sich diesmal auf die praktischen Synergien von BPM mit Systemintegration, Mobile, BI und Cloud, gepaart mit Erkenntnissen aus vielen Jahren Projekterfahrung aller Referenten.

Am ersten Tag haben wir ein erstklassiges Programm mit insgesamt 18 Sessions, einer Keynote und einem Panel zusammengestellt:



Am zweiten Tag werden die wichtigsten Schwerpunktthemen in vier Halbtagesworkshops und in einem ganztägigen Workshop intensiv vertieft:



Ich bin stolz auch bei der diesjährigen Durchführung als Sprecher dabei zu sein. Am ersten Tag werde ich die folgenden zwei Präsentationen halten:

Mehr zu den BPM Integration Days 2014 finden Sie hier.

Ein Anlass den Sie auf keinen Fall verpassen sollten!