UKOUG Tech 14 in Liverpool

I’ll be going to the UKOUG Tech 14 conference in Liverpool in December to give one of my favorite presentations: “APEX or ADF? From Requirements to Tool Choice”. I’m also leading the Development Tools roundtable, which is always lively at the UKOUG conference. If you want to discuss your options as a developer in the Oracle world, UKOUG Tech 14 is the place to be.

APEX or ADF? From Requirements to Tool Choice
APEX or (more...)

Use tree binding accessors to show detail rows

Tree bindings can be very handy, for example to combine details in the same row as the master. Let’s assume we have the following starting point based on the HR schema:

We see the department in a form layout with navigation buttons, with a table under the form showing information about the employees. As you can see in the screenshot below in the ApplicationModule, there is also a Jobs detail under the EmployeeView.

If you (more...)

Access your MDS-SOA repository from your ADF application

In our Enterprise Landscape the SOA Services and our Canonical Data Model (CDM) live on a different WebLogic Server than our ADF application. But often we want to use these services and CDM in our ADF application. 
Calling WebServices from an ADF application is not that difficult, however, we often want to manipulate the result that comes from this WebService. In 90 percent of the time, this are little adjustments to the existing CDM (more...)

Using Bean Validation in Oracle ADF

Oracle ADF version 12c runs on JEE6 container Weblogic 12c.  ADF Faces 12c (current version 12.1.2) is based on Java Server Faces 2.1 standard. Version 2 of JSF introduced support for Bean Validation , as described in  JSF specification ( Chapter 2.5.7). To summarize: it basically states,  that java bean properties , annotated with Bean Validation constraints, are going to be validated

Announcement: ADF EMG XML DataControl

During the ADF community event at AMIS Services last Thursday (22 may 2014), Wilfred and myself announced a new upcoming open source project, named XML DataControl.

On the AMIS Live blog there was a good summary about the functionality of the XML DataControl:
The XML Data Control is an ADF Data Control that is used by developers to create data bindings in ADF Faces pages, just like the ADF BC Data Control and the (more...)

New release of the ADF EMG Audit Rules

There is a new release of the ADF EMG Audit Rules extension. With this release there is now support for both JDeveloper11R1 and JDeveloper12c. However, remember that JDeverlop11g does not support the suppression of violations, so this may lead to a lot of violation on existing projects.
Remember that you can define a custom profile in the Audit tab under preferences to unselect certain rules, but off course it is better to look at the (more...)

ADF Book Bundle – get one free!

Packt Publishing has a “buy one, get two” offer that runs until Wednesday. If you don’t have my ADF books, this would be a great opportunity to buy my new book Oracle ADF Enterprise Application Development – Made Simple: Second Edition and get a free copy of Developing Web Applications with Oracle ADF Essentials (or the other way around ;-)

What I learned from the UX Event

Last Tuesday, March 18, there was an UX Event organized by AMIS Services together with the Oracle Applications User Experience Team. Between noon and 8 p.m. I visited a total of 13 sessions, 3 demonstrations and had a lot of great discussions, overall a great day and amazing event.

I picked up various things, from small tips and tricks to big lessons. Instead of keeping my notes to myself, I will try to give (more...)

The Long Tail of Application Usage

A long tail is a distribution of some data point where a few data point have a high value, but most of the data points have a much lower value. When sorting the data points by value, there will be a large “head” and a long “tail”.

Application usage displays the “long tail” characteristic: A few screens are used much more than others.

Long tail of app usage

If you are re-developing your application, for example moving from Oracle Forms (more...)

New publication for Oracle professionals

OTech Magazine Winter 2014If you are working with Oracle software as a developer, DBA or application server administrator, you should read the new OTech Magazine.

The Winter 2014 issue is almost a book: 136 pages of high-quality technology articles by some of the leading experts in their respective fields.  My contribution is the article “From Requirements to Tool Choice” about how to choose the right Oracle development tools (ADF, APEX, or Forms).

And did I mention it (more...)

The Sorcerer’s Apprentice

The first issue of my ADF Mastery newsletter has just been published (sign up here if you missed it). In this issue, I discuss Oracle ADF skill levels.

If builders built buildings the way programmers wrote programs, then the first woodpecker that came along would destroy civilization.

Gerald Weinberg, Weinberg’s Second Law

Too many programmers simply Google for a code snippet that seems like it might solve the problem at hand, and use it (more...)

ADF Meetup in Copenhagen January 7

I’m establishing an ADF community here in Denmark (primarily Copenhagen) where we can meet face to face and discuss our ADF projects and challenges across companies and projects. The next meeting is on January 7 – please sign up here:

Extra Christmas Present?

In 2014, I’ll be sending out a monthly ADF newsletter to help you on your way towards mastering ADF. If you sign up for the newsletter before Christmas, you’ll be entered into the drawing for a copy of my latest book “Developing Web Applications with Oracle ADF Essentials”. Sign up (more...)

Webservice interaction patterns – part 2 – Synchronous Webservice call timeouts

Goal: For reasons of performance and more importantly, good user experience, he client application (ADF) should be able to timeout gracefully instead of hanging indefinitely (and/or potentially causing STUCK threads on the ADF server) when invoking an external 'synchronous' web service.

At runtime
When I run the application,
If I (more...)

Installing ADF on Red Hat 6

Here is my experiences with installing ADF on Red Hat 6 (64-bit) using Java 7.

FMW releases are big and complicated. Between the main FMW releases, Oracle release some products on separate “branches”. This is to fast track new features.

ADF 11g Release 2 is such a fast track product. The latest ADF 11g release 1 version is and the latest release 2 is 11.1. (more...)

Easy way to display ADF version for FMW installations

Extra from jar files

# FMW 12.1.2
[oracle@wintermute ~]$ cd /u01/app/oracle/product/adf12c/oracle_common
[oracle@wintermute oracle_common]$ unzip -p modules/oracle.adf.share_12.1.2/adf-share-support.jar | tr '[\000-\011\013-\037\177-\377]' '.'  | grep "JDEVADF"

Oracle-Label: JDEVADF_12.
Oracle-Label-JDEVADF: JDEVADF_12.

[oracle@wintermute ~]$ cd /u01/app/oracle/product/osb111/oracle_common
[oracle@wintermute oracle_common]$ unzip -p modules/oracle.adf.share_11.1.1/adf-share-support.jar | tr '[\000-\011\013-\037\177-\377]' '.'  | grep JDEVADF


ADF Architecture Made Simple: Small, Medium, Large

There are lots of ways of building ADF applications, so there is a very large number of possible architectures. I’ve found that three good architectures are:

  • Simple
  • Modular
  • Enterprise

In a simple architecture, you build the entire application in one workspace. Business components go into a model project in the (more...)

JDeveloper 12.1.2 EJB & Java Service Facade Datacontrol

With JDeveloper 12c (12.1.2)  Oracle added some great updates to the ADF EJB / Java Facade Datacontrol. Oracle already added the Java Facade and Named Criteria support in its previous versions of JDeveloper but now also added the so wanted List of Values feature, just like we have (more...)

(Automatic) Partial Page Rendering across Taskflows

One of the great features of ADF is the easy out-of-the-box support for Partial Page Rendering (PPR) using the partialTriggers, autoSubmit and partialSubmit properties. And when things get a bit more complex there is a very easy API to do it programmatically. But what if

I am sailing…

Next week, I’m off for the OUGN Spring Conference that the Norwegian Oracle User Group arranges on board a cruise ship sailing from Oslo to Kiel and back. This event gathers the Oracle A-List, including Tom Kyte, Cary Millsap, Bryn Llewellyn, Mark Rittman, Markus Eisele and many others – it’s (more...)