Improved Display for Empty Field Values in ADF Form

I had a task in the project, to improve display for empty field in ADF form. By default, if there is no row data in the result - all input text entries in ADF form will be hidden, user will see only labels. This is not ideal, most of time users would prefer to see disabled input text boxes instead.

In this example below, on purpose I search for non existing value and this causing (more...)

Run a Spring Cloud Task from Pivotal Cloud Foundry using Cloud Foundry Tasks

Recently we announced Spring Cloud Task under the umbrella of Spring Cloud through the following blog entry.  In the post below I am going to show you how you would create a Cloud Foundry Task that can invoke this Spring Cloud Task itself.

Spring Cloud Task allows a user to develop and run short lived microservices using Spring Cloud and run them locally, in the cloud, even on Spring Cloud Data Flow. In this example (more...)

Oracle BPM 12c: Hide Implementation Details with the Refine Feature

Ever had a case with the Oracle BPM Suite where you wanted to create a BPMN model while hiding the details from the reader? Then the "refine" feature may be what you are looking for. Read on if you want to know more about this feature that has been added since 12c. I actually blogged about it before, but this time I want to also illustrate the impact it has on the flow trace.


ASP .NET Core (CLR) on Pivotal Cloud Foundry

There are two ways to run .NET applications on Pivotal Cloud Foundry. In short it's as follows

  1. Windows 2012 R2 Stack (Windows 2016 coming soon)
  2. Linux Stack - ASP.NET Core CLR only

In the example below I am going to show how you would push a sample ASP.NET Core application using the default Linux stack. I am using or better knows as PWS (Pivotal Web Services) instance which only supports a (more...)

Oracle Java Cloud – How to Create Access Rule for Managed Server

When you get fresh instance of Oracle Java Cloud, you are assigned with one admin and one managed server. If there is requirement to host multiple environments - demo, production, etc. - one managed server is not enough. Is better to run different environments on dedicated managed servers, this would simplify maintenance. WebLogic partitions are not supported yet for Fusion Middleware, so only choice we have right now - different managed (more...)

Spring Boot Actuator support added to Pivotal Web Services (PWS) Application Manager

Recently we added "Spring Boot Actuator support" to Pivotal Web Services (PWS) If you want to try this out simply use the demo below which is all setup to verify how this works.

Once pushed you will see a Spring Boot icon in the Application Manager UI showing the Actuator support as per below.

Oracle Java Cloud Upgrade to

We finished upgrade of our production Oracle Java Cloud instance to This allows us to use new ADF BC REST features (16.5.2 What You May Need to Know About Versioning the ADF REST Framework).

Upgrade to newer version in Oracle Cloud is similar to on-premise upgrade. We need to create new service instance for software release and later re-deploy our app, re-configure data (more...)

Are MicroServices the Death of BPM and Case Management?

When reading about MicroServices you could get the impression that orchestrated business processes or even case management applications will soon become legacy. I seriously doubt that, considering the challenges you will face with creating a landscape of MicroServices that will be able to support some of the characteristics that gave birth to BPM and Case Management in the first place. Also, Martin Fowler's primary guideline concerning MicroServices is "don't even consider MicroServices unless you have (more...)

Simple Way to Export Your Data from Oracle Cloud

You should not get stuck in the Cloud. There are various options to create Oracle Cloud backup, but is very important to keep a local copy of your data. One of the simplest options to create a local copy of data from the Oracle Cloud - use Oracle SQL Developer.

Define Oracle Cloud DB connection in SQL Developer (the same as regular DB connection):

Use Database Export utility from Oracle SQL Developer:

Allows to export (more...)

Which is the best career path: Oracle ADF or Java?

My answer on Quora to “Which is the best career path to choose, Oracle ADF, or Java?”

Concentrate on Oracle ADF. ADF skills are in high demand and pay better than pure Java skills.

Because Oracle ADF is a Java-based framework, you will need to learn some basic Java as you build you ADF skills. Once you land an ADF job, you will learn more Java as you work with ADF. This allows you (more...)

Who should create Oracle ADF skins?

My answer on Quora to “Who should create Oracle ADF skins: Developers or designers”

If you are on the latest ADF version (12.2.1.x.x), you have access to the web-based Theme Editor. In this case, your designer should use this user-friendly tool to create the skin. It has some limitations, but the designer is best placed to work around these.

In earlier ADF versions, a CSS developer is needed to develop the (more...)

ADF Editable Table – Recommendation For Data Entry Optimization

I will explain data entry use case related to ADF table. Specifically I will talk about a bit more complex case, when some columns in the table are set with AutoSubmit=true, to force values to be submitted to the server on change. This can be required when validation rule must be processed on value change or there are dependent re-calculated fields in the same row.

If you are using AutoSubmit=true columns in ADF table, it (more...)

From Microservices to Distributed Systems – Survival guide for Java Developers

It kind of feel like the hype for Microservices is slowly coming down to earth and our industry is starting to realise, that a system according to the architectural paradigms behind Microservices can't easily be created by just exposing some HTTP interfaces on top of existing components. We do seem to have agreement on the necessity of having service optimised infrastructures, cultural and organisational changes and last but not least the outer architecture or orchestration (more...)

How to Upgrade an Oracle-based Application without Downtime

One of most common reasons IT departments avoid database development is the belief that an application upgrade in the database causes downtime. However, nothing can be further from the truth. On the contrary, Oracle Database provides one of the most bullet proof ways to upgrade an application without any downtime: Edition Based Redefinition (EBR)

EBR is a powerful and fascinating feature of Oracle (added in version 11.2), that enables application upgrades with zero downtime (more...)

Setting Invalid Fields for the UI in ADF BC Groovy

What if you have entity level validation rule and want to attach validation error message to specific field. By default this is not possible - all entity level validation error messages are displayed in the popup and are not attached to the fields (differently than attribute level validation rule messages).

Apparently there is a way to achieve such requirement with Groovy expression, this can be executed from entity level validation - adf.error.addAttribute('Salary'). In (more...)

ADF 12c New Groovy API to Work with View Object Methods

I have interesting topic to share - new Groovy API in ADF to work with View Object, apply View Criteria, execute it. I have discovered it while experimenting with new features and functionality in ADF 12c. Starting from ADF 12.2.1, we have an option to code Groovy in separate file with extension .bcs - ADF BC Groovy Improvements in ADF 12.2.1. This makes sense especially with this new Groovy API - (more...)

Oracle SOA/BPM 12c: Contract WSDL Only in MDS?

In this posting I will discuss if it is a good idea to only have a (contract) WSDL in the MDS, and let your implementing composite point to that, instead of having a WSDL in the project itself (as well).

When developing SCA composites with JDeveloper, initially your WSDL will be in the project of the composite. Some people put a contract WSDL in the MDS, and then let the code of the SCA composite (more...)

Retrieving ATM location’s using the NAB API

NAB have released an API to determine ATM Locations amongst other things based on a GEO location. It's documented here.

Here we use this API but I wanted to highlight a few things you would need to know to consume the API

1. You will need to provide the following and this has to be calculated based on a LAT/LONG. The screen shot below shows what a GEO location with a (more...)

Contextual Event API Improvements in ADF 12.2.1.x

ADF 12.2.1.x brings improved API support for Contextual Event implementation - this should simplify Contextual Event usage. Now Contextual Events can be produced without referencing ActionEvent or SelectionEvent, also there is no need to define Data Control to implement Contextual Event handler. Read more in ADF 12.2.1.x documentation - 46.4 Creating Contextual Events Using Managed Beans. I will provide example and explanation how to use these improvements.

Download (more...)

Version Control for PL/SQL

Let's get this straight:

  • It is possible to put PL/SQL in proper version control. 
  • It is possible to have developers work on the same logical code unit (package, procedure, function etc...) at the same time without co-ordinating first. 
  • It is possible to merge these changes at a later time automatically. 
  • It is possible to eliminate all the errors resulting from manual preparation of deployment scripts. 
  • It is possible to build (more...)