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.

patterns

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.

map.png

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.

expression.png

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.

business-rule.png

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.

connection

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

spark

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.

topology

 

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

DesignPrinciplesBPMandSOA

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: https://github.com/gschmutz/docker-oracle-sx

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

NewImage

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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 fmw_12.1.3.0.0_oep_Disk1_1of1.zip, 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.1.3.0.0_oep.jar

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

step1ofz7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3. Click Next.

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

step2of7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5. Click Next.

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

step3of7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7. Click Next.

step4of7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8. Click Next.

step5of7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

step6of7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

step7of7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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/
./config.sh

2. The Configuration Wizard welcome screen should appear.

createdomain-1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3. Click Next.

createdomain-2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

createdomain-3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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.

createdomain-2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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.

create-domain5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

10. Click Next.

createdomain-6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

createdomain-5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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.

crate-domain-7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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.

config-folder

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 startwlevs.sh script:

./startwlevs.sh

run-server

 

 

 

 

 

 

 

 

 

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 fmw_12.1.3.0.0_soaqs_Disk1_1of1.zip, 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.1.3.0.0_soa_quickstart.jar

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.

Jdev

 

 

 

 

 

 

 

 

 

 

 

 

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.

soa-console

 

 

 

 

 

 

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.

NewImage

 

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:

NewImage

 

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

NewImage

 

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!

Poster published: Adaptive Case Management (ACM) in Practice

Knowledge-driven processes are typically unpredictable in their execution. Experts working on them decide what’s the next best action to take. This is in contrast to traditional BPM, in which all possible paths of a process are predetermined and modeled into the process. Adaptive Case management is a way to control and implement these unstructured processes.

We (Masons of SOA) published the poster Adaptive Case Management (ACM) in Practice, showing some of the key aspects of Adaptive Case Management (ACM) on one page. 

NewImage

 

 

 

 

 

 

 

 

 

 

 

 Feel free to download the PDF-version if you are interested in (login required):

  • What is ACM?
  • Why should I use ACM?
  • How can ACM user interfaces look like?
  • What are the main building blocks of an ACM solution?
  • How to visualize ACM cases with CMMN 1.0? 

First two chapters of “Industrial SOA” articles series have been published both on OTN and Service Technology Magazine

Updated: 14.4.2013

Industrial SOA is a 14-part  article series focused on service orientation, written collaboratively by a group of recognized experts and community leaders in service oriented architecture. I’m really happy and proud to be part of that group. 

NewImage

SOA and service-orientation have laid the foundation for a variety of emergent service technology innovations, while the original building blocks of SOA and service-orientation continue to evolve by embracing fundamental service technologies, concepts and practices. These new technology innovations do not replace service-orientation; they use it as their basis. Service-orientation continues to evolve towards a factory approach, towards industrializing integrated platforms, such as BI, master data management (MDM), mobile front-ends, BPM, adaptive processes, Big Data and Cloud Computing – all of which add architectural layers upon SOA-based infrastructure. All of these technologies can interface via standardized data and functions, published as service contracts, in order to avoid redundancy – that’s service-orientation.

The articles are & will be published both on Oracle Technology Network (OTN) and Service Technology Magazine (STM).

Available and upcoming Articles:

Chapter 1 : Industrial SOA (OTN, STM)
Chapter 2: SOA Blueprint: A Toolbox for Architects (OTN, STM)
Chapter 3: Service Categories (OTN, STM)
Chapter 4: SOA Maturity (OTN, STM)
Chapter 5: Enterprise Service Bus (OTN, STM)
Chapter 6: Securing a SOA Landscape (OTN, STM)
Chapter 7: Understanding Service Compensation (OTN, STM)
Chapter 8: SOA and User Interaction (OTN, STM)
Chapter 9: SOA in Real Life: Mobile Solutions (OTN, STM)
Chapter 10: Event-Driven SOA (OTN, STM)
Chapter 11: MDM and SOA: Be Warned! (OTN, STM)
Chapter 12: BPM and ACM (OTN, STM)
Chapter 13: SOA and Cloud (OTN, STM)

Thomas Erl, Editor of Service Technology Magazine: “Welcome to this special issue in which we are launching an extensive article series dedicated to the exploration of contemporary SOA topics and issues. This refreshing view of what is termed as “Industrial SOA” highlights some of the more recent innovations in practice that will especially be of interest to those who want to learn some techniques that go beyond the academic essentials. This issue begins with a preface by Oracle veteran Juergen Kress, and then moves on to the first of twelve articles in the series. Subsequent issues of the Service Technology Magazine will publish new articles, which will take the series into early 2014. These articles were authored by a group of SOA experts that have received wide-spread recognition throughout Europe and have been nicknamed the “Masons of SOA”. One of the masons, Clemens Utschig, was also a co-author of the SOA Manifesto back in 2009.”

Send us your feedback Twitter @twitter/soacommunity  #industrialSOA

 

I’m speaking at DOAG IMC Summit, 6th June 2013 in Mainz, Germany

In June I will be speaking for the German Oracle User Group (DOAG) at the Infrastructure and Middleware Community Summit in Mainz. This is all about Oracle Infrastructure and Middleware topics and has great speaker lineup for the german-speaking Oracle community.  The summit consists of the three tracks “Infrastructure”, “Middleware” and “on top of Middleware”.

My speech will be in the “on top of Middleware” track and it will be about “Where and when to use the Oracle Service Bus (OSB)”. Here is the abstract to my talk in german:

Der Oracle Service Bus (OSB) ist Bestandteil der SOA Suite 11g und steht im Zentrum moderner Prozess-. und Integrationslösungen. Die leichtgewichtige, zustandslose und hoch-performante Architketur des OSB macht ihn zu einem hervorragenden Werkzeug für die Transformation und das Weiterleiten (routing) von Nachrichten. Diese Präsentation erklärt wo und wann der Einsatz des Oracle Service Bus Sinn macht, zeigt dabei aber auch auf, wo die Limitationen des OSB sind. Wo sinnvoll wird auf die weiteren Komponenten der Oracle SOA Suite bzw. der Oracle Fusion Middleware hingewiesen. Anhand von bekannten Design Patterns wird gezeigt, wie diese mit dem Oracle Service Bus effizient umgesetzt werden können. Themen des Vortrages sind: Load-Balancing, Service-Throttling, Transaktionen, Adapter und Transformation über XQuery. 

Looking forward to meeting you there!