Creating reusable Business Rules for SOA & BPM by Lykle Thijssen

image

 

This article dives into the Business Rules Engine (BRE) of Oracle SOA Suite and how to create reusable Business Rules for your SOA services and BPM processes. Basic knowledge of the BRE is assumed.

In many cases, when you work with SOA or BPM, Business Rules are involved. They are important for decision logic, validations and process routing. The Business Rule Engine (BRE) that comes with Oracle SOA Suite is a logical choice for modelling such Business Rules, but how do you make sure that those rules can be reused over different services and processes? And how do you isolate the Business Rules logic, so you don’t need to redeploy any other components upon changes?
In one of my projects, I’ve faced the situation of needing to address these issues and have come up with a flexible solution. This blog is the result of further finetuning of that solution, mainly by using the KISS approach.

Business Rule Engine (BRE)

First things first: let’s talk about the Business Rule Engine. It’s a powerful tool for executing if-then rules or rules in decision tables, but it’s not always too business friendly for modelling. If that’s a major problem for your client, you should consider Oracle Policy Automation instead. However, if you decided to use the BRE, then reusability becomes an issue pretty quickly. It’s very tempting to just create a BPM process and have the Business Rule component generated from there, but then those rules will only be exposed to that particular composite. There is no central repository for reusable Business Rules (like MDS), so your only real option is to put your Business Rules in a separate SOA composite.

When we dive deeper into the Business Rule Engine, we see four major components:

  1. Decision Services
  2. RuleSets
  3. Rules
  4. Facts

Decision Services are the interfaces of the Business Rule component. One BRE component can have multiple Decision Services and one Decision Service can call multiple RuleSets.
RuleSets are groups of rules that can be called by different Decision Services. They should generally contain rules that should always be executed together.
Rules are being executed by the BRE. A rule can only exist in the context of one RuleSet, so rules are not reusable on their own.
Facts are the input objects for your Rules. Since our objective is to create reusability, I recommend to stick to one input fact, which can then be used by all the Rules. Read the complete article here.

SOA & BPM Partner Community

For regular information on Oracle SOA Suite become a member in the SOA & BPM Partner Community for registration please visit www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn image[7][2][2][2] Facebook clip_image002[8][4][2][2][2] Wiki

IoT Cloud Service Real Time Analytics: From Sensor Data to Business Value by Luc Bors

image

This session will show you how to use Oracle IoT Cloud Service for Real Time Analytics. You’ll learn how to connect devices to the IoT Cloud Service and how to display sensor data from those devices in a web application. You’ll also learn how to use the stream explorer analytics capability of IoT Cloud Service to analyze the data that is retrieved from devices connected to Oracle IoT Cloud Service, including how to implement stream exploration and how to add filtering. Finally, you will learn how to publish the analyzed stream and show the results in a web application. Watch the free on-demand training here.

SOA & BPM Partner Community

For regular information on Oracle SOA Suite become a member in the SOA & BPM Partner Community for registration please visit www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn image[7][2][2][2] Facebook clip_image002[8][4][2][2][2] Wiki

FMW SOA Monitoring Module is released. (Supports 11g and 12c)

image

WLSDM SOA Monitoring, Diagnostics & Report Modules

  • SOA Smart Dashboards
    • Monitoring BPEL Engine (Only 11g)
    • BPEL Engine Dashboard (Historical – Only 11g)
    • Monitoring Composite Performance
    • Monitoring Callback and Invoke
    • Monitoring Composite Faults
    • Monitoring Deployed Composites Trend
    • Summarizing Composite List & Endpoint URIs
  • SOA Notifications and Alarms
    • BPEL Engine Notifications
    • Composite Performance Notifications
    • Callback and Invoke (DLV_MESSAGE) Notifications
    • Composite Faults and Errors Notifications
  • SOA Reports
    • Reporting SOA BPEL Engine
    • Reporting SOA Composite Performance
    • Reporting SOA Callback and Invoke (DLV_MESSAGE)
    • Reporting SOA Composite Faults and Errors

Get WLSDM here.

SOA & BPM Partner Community

For regular information on Oracle SOA Suite become a member in the SOA & BPM Partner Community for registration please visit www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn image[7][2][2][2] Facebook clip_image002[8][4][2][2][2] Wiki

Deploying Oracle Service Bus (OSB) Projects with Configuration Files in FlexDeploy by Greg Draheim

image

OSB Configuration files allow the developer to manage environment specific values during deployment.  FlexDeploy supports the use of these configuration files and extends them to using tokens in the configuration file that will get replaced with configured properties from FlexDeploy.   This way we do not need to generate a customization file for every environment where we are going to deploy the project.  We can have one configuration file that will work across environments.

My example is built using JDeveloper and SOA 12.2.1.  I have an OSB project named ValidatePayment that is acting as a proxy service for a SOA service:

The ValidateBS when I run locally, refers to localhost:

When I deploy this to our shared development environment, I want to replace http://localhost.flexagon:7001/ with http://soalt05.flexagon:7001/.  When I deploy to production, I want the URL to be http://soa.flexagon.com/.  To accomplish this I add a property to my OSB Deploy workflow in FlexDeploy.  First, I will show the full workflow for the OSB deploy.  Since FlexDeploy has smart plugins, the deploy workflow is a simple 1 step process to import the OSB project: Read the complete article here.

SOA & BPM Partner Community

For regular information on Oracle SOA Suite become a member in the SOA & BPM Partner Community for registration please visit www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn image[7][2][2][2] Facebook clip_image002[8][4][2][2][2] Wiki

Seamless source “migration” from SOA Suite 12.1.3 to 12.2.1 using WLST and XSLT by Maarten Smeets

image

When you migrate sources from SOA Suite 12.1.3 to SOA Suite 12.2.1, the only change I’ve seen JDeveloper do to the (SCA and Service Bus) code is updating versions in the pom.xml files from 12.1.3 to 12.2.1 (and some changes to jws and jpr files). Service Bus 12.2.1 has some build difficulties when using Maven. See Oracle Support: “OSB 12.2.1 Maven plugin error, ‘Could not find artifact com.oracle.servicebus:sbar-project-common:pom’ (Doc ID 2100799.1)”. Oracle suggests updating the pom.xml of the project, changing the packaging type from sbar to jar and removing the reference to the parent project. This however will not help you because the created jar file does not have the structure required of Service Bus resources to be imported. To deploy Service Bus with Maven I’ve used the 12.1.3 plugin to create the sbar and a custom WLST file to do the actual deployment of this sbar to a 12.2.1 environment. A similar solution is described here.

Updates to the pom files can easily be automated as part of a build pipeline. This allows you to develop 12.1.3 code and automate the migration to 12.2.1. This can be useful if you want to avoid keeping separate 12.1.3 and 12.2.1 versions of your sources during a gradual migration. You can do bug fixes on the 12.1.3 sources and compile/deploy to production (usually production is the last environment to be upgraded) and use the same pipeline to compile and deploy the same sources (using altered pom files) to a 12.2.1 environment. Read the complete article here.

SOA & BPM Partner Community

For regular information on Oracle SOA Suite become a member in the SOA & BPM Partner Community for registration please visit www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn image[7][2][2][2] Facebook clip_image002[8][4][2][2][2] Wiki

Converting ADLs to implement end to end JSON in SOA Suite 12.2.1 -PART I by Luis Augusto Weir

clip_image002

 

There is no doubt that web [Rest] APIs have become extremely popular and its usage has gone well beyond just building APIs in support of mobile apps. We can see the adoption of resource-oriented architectures (ROA) by probably all SaaS vendors who provide out-of-the-box APIs as the means to connect and interact with their cloud applications. Take for example the Oracle Cloud. To discover and consume publicly available Oracle SaaS APIs, all one need to do is browse the Oracle API Catalog Cloud Service (which is publicly accessible) and just select the Swagger definition for any given API.

But (as you probably already know) the adoption of web APIs hasn’t stopped there.  With the increased popularity of Microservice Architectures , initiatives such as Open Legacy ,  and node.js based frameworks like loopback and sails (to name a few), API-enabling system of records is becoming a lot easier.
This is putting a lot of pressure in software vendors to quickly modernise their integration suites to natively support the technology-stacks and patterns prevalent in these type of architectures. For example, if an organisations mobile application needs to interact with a system of record (on premise or the cloud) that already exposes a web API, the integration stack should be capable of supporting JSON over HTTP end-to-end without having to convert to XML back and forth. Not only is this impractical but introduces more processing burden to the core stack…
Luckily for many Oracle’s customers and Oracle Fusion Middleware / Oracle PaaS practitioners like myself, with the latest release of Oracle SOA Suite (12.2.1) , one of the many new features introduced is the support for handing JSON end-to-end.  I don’t want to understate the importance of this as with such feature it is possible to use BPEL for example to orchestrate several APIs (all in native JSON and also in-memory with the new SOA in-memory feature) and therefore deliver coarse grained business APIs that actually perform.
For me this represents an important milestone for Oracle SOA Suite as it shows the departure from traditional SOA tech-stack and into SOA 2.0 (as I like to call it) as the suite is now better suited to support the adoption of ROA, microservices, IoT, and so on. Having worked with SOA Suite since 10.1.3.1 this is very exiting. Read the complete article here.

SOA & BPM Partner Community

For regular information on Oracle SOA Suite become a member in the SOA & BPM Partner Community for registration please visit www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn image[7][2][2][2] Facebook clip_image002[8][4][2][2][2] Wiki

How Dev/Test in the cloud is accelerating delivery of Oracle Middleware projects by Matt Wright

clip_image002

 

The source of competitive advantage and value that an organization delivers to its end customers is increasingly defined by the software “systems” that underpin them. As a result, organizations find themselves in a digital race, where the speed at which IT can reliably deliver new features and innovations is what sets them apart from their competition.

In an industrial company, avoid software at your own peril . . . a software company could disintermediate GE someday, and we’re better off being paranoid about that.”

Jeff Immelt, CEO, General Electric

These innovations are seldom delivered by pre-packaged business applications, whether running on-premise or delivered as Software as a Service (SaaS), but by custom solutions derived in-house. Yet, most organizations have neither the time nor funds to build these systems of innovation from the ground up. Instead, they are delivered by layering new capabilities on top of existing applications, an approach defined by Gartner as “Pace-Layered”.

Oracle Middleware, such as the Oracle BPM Suite and Oracle SOA Suite provides the application glue to rapidly and continually combine these business apps, like puzzle pieces, into a custom integrated solution in order to deliver a seamless and unified experience to the customer.

Yet even with this Pace-Layered approach, many IT projects are still failing to deliver either on-time or on-budget, with development teams often held back by their own IT organization. So how can you reduce the cost of the software you develop and decrease the time it takes to get it right?

Research shows moving development to the cloud can initially reduce development time by an order of 11 to 20 percent. Organizations that fully embrace the cloud for Dev and Test are experiencing 30%+ time savings upon maturing their DevOps capabilities. Read the complete article here.

SOA & BPM Partner Community

For regular information on Oracle SOA Suite become a member in the SOA & BPM Partner Community for registration please visit www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn image[7][2][2][2] Facebook clip_image002[8][4][2][2][2] Wiki

Real-Time Integration Business Insight: External Dashboard

 

clip_image002

This video demonstrates how to include external dashboards in Oracle Real-Time Integration Business Insight. Watch the video here.

SOA & BPM Partner Community

For regular information on Oracle SOA Suite become a member in the SOA & BPM Partner Community for registration please visit www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn image[7][2][2][2] Facebook clip_image002[8][4][2][2][2] Wiki

Tapping into life – An Introduction to Stream Analytics by Jose Rodrigues

clip_image001Welcome to a new stream (no pun intended) on Red Mavericks articles. This time, we’ll be doing an introduction on Oracle’s new Stream Analytics.

We’ll be guiding you through this new, and very cool, product showing what it is and what it can do to leverage this largely untapped resource which is event stream analysis. In fact, streams are everywhere and are becoming more and more open and accessible. If you “wiretap” these, listen to them and understand the behavioral patterns , you can build extremely valuable applications that will help you deliver more to your customers.

It’s a whole new ball game. I hope you find this interesting.

What is Oracle Stream Analytics?

Oracle Stream Analytics (previously Oracle Stream Explorer) is, in fact, an application builder platform, focused on applications that process events coming from the most various systems, internal or external to the organization, thus enabling Business Insight information and deriving relevant data from these events.

It works using an Event Processing Engine to perform Fast Data Analysis over a large number of events that typically appear in a given timeframe.

It also provides a run-time platform that will allow you to run and manage the applications you built.

It’s not a new Oracle Event Processor. It uses OEP as the underlying Event Processing Engine (you can also use Apache Spark as a processing engine, if you prefer. More on this in other articles)

The real power in Oracle Stream Analytics is, curiously, in its UI. As an application builder, it went to great lengths to keep the UI really easy to use. The result is, in my view, very well achieved, with enough simplicity to allow that Business Users, provided they have a bit of technical knowledge, can actually build  applications on their own or with little help from the IT. Read the complete article here.

SOA & BPM Partner Community

For regular information on Oracle SOA Suite become a member in the SOA & BPM Partner Community for registration please visit www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn image[7][2][2][2] Facebook clip_image002[8][4][2][2][2] Wiki

Stream Analytics (OSA): the new Oracle Stream Explorer by Guido Schmutz

clip_image002

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. Read the complete article here.

SOA & BPM Partner Community

For regular information on Oracle SOA Suite become a member in the SOA & BPM Partner Community for registration please visit www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn image[7][2][2][2] Facebook clip_image002[8][4][2][2][2] Wiki