ADF Performance on Docker – Lighting Fast

ADF performance depends on server processing power. Sometimes ADF is blamed for poor performance, but in most of the cases real issue is related to poor server hardware, bad programming style or slow response from DB. Goal of this post is to show how fast ADF request could execute and give away couple of suggestions how to minimize ADF request time. This would apply to ADF application running on any environment, not only Docker. I'm (more...)

ADF Performance Story – This Time Developer Was Wrong

ADF is fast. If ADF application is slow, most likely this is related to development mistakes. I would like to tell you one story, based on my ADF tuning experience. Problem description: ADF application runs fast in DEV, when DB size is small. Same application runs slow in TEST/PROD, when DB size is large. Question - what is slow. Answer - slow means forms are loading slow. Ok, lets go to the story.

Developer decides (more...)

#DEVCAMP17 wrap up

 

Yesterday I attend the annual barcamp DEVCAMP of the DOAG development community. There are mostly developers with SQL, PL/SQL, Forms & Reports, ADF, JET background and some Java, Javascript and APEX developers too. And not to forget: 1 dba and some managers. Here are my summary.

I arrived on evening before just in time for the life cooking event and later at the bar to meet lot of the people I already know and some new too.

The morning begins with (more...)

#DOAG2016 wrap up

doag_wegweiser

Another DOAG is over and here are my summary.

Day 1

Unfortunately the early train from duesseldorf arrives not before 9:30, so I missed the first morning slot. But on the other hand I this was the slot where I had to decide between 8 presentations, which I’m interested in.

The first soft skill presentation was about creative techniques beyond brain storming. The mentioned 3 techniques was all unknown for me, maybe I give it (more...)

Mastering Oracle ADF Bindings: Advanced Techniques

My Oracle OpenWorld presentation “Mastering Oracle ADF Bindings: Advanced Techniques” is now available for download from the OpenWorld web site. In this presentation, I talk about

  • Reading the Bindings tab
  • Bindings in the ADF lifecycle
  • Working programmatically with bindings
  • Getting the binding from a component
  • Working with dynamic bindings
  • Creating a binding programmatically

If you are interested in creating bindings programmatically, you should read Eugene Fedorenko’s blog post on this. He also makes (more...)

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

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

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

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:

http://www.meetup.com/Copenhagen-Oracle-ADF-Developers/events/157687292/

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 11.1.2.4.0 on Red Hat 6

Here is my experiences with installing ADF 11.1.2.4.0 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 11.1.1.7 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.1.2.0.0_GENERIC_130608.2330.6668.
Oracle-Label-JDEVADF: JDEVADF_12.1.2.0.0_GENERIC_130608.2330.6668.

# FMW 11.1.1.7
[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

 (more...)

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