What do all the ADF/JDeveloper configuration files do?

One thing that is particularly overwhelming when starting out with WebCenter is the number of configuration files used. My background is from working on JSF based applications, particularly Richfaces. Some of the files are common but a lot aren’t and the question in my mind so often was, “What on earth is this file doing?”

This post covers a number of useful links that I have come across during my reading that explain the purpose of all the diffent configuration files.

What configuration files should I know about?

Configuration files touched when manually migrating a project.

Web User Interface Configuration

ADF Meta Files

More Files

Files affected when developing and why

Iterative WebCenter Development and JRebel

It is possible to develop on the WebCenter platform iteteratively out of the box, however, there are some limitations. The tutorial that Oracle provides here explains a little about what is possible. Essentially, this includes making changes to existing pages (JSPX files, templates, CSS etc), however, it doesn’t do so well at everything else.

One product that I have used in the past that helps greatly with iterative development is JRebel.

Relying on WebLogics JVM hotswap or FastSwap will get you so far, i.e. JSP, Servlet, EJB support classes however, JRebel will take it a step further and include JPA and CDI changes. It also supports numerous frameworks too, including Spring, Hibernate, Guice etc.

JDeveloper and ADF’s close coupling

I’ve been a core Java developer for a number of years now and I have quite a bit of experience with Spring, JBoss, JSF and Richfaces. However, I’m new to Oracle ADF. The organisation I now work for relies heavily on Oracle Fusion Middleware and therefore ADF. As I now have to learn the technology and how it fits together I thought I’d share this with everyone else to help you along too.

One thing I discovered the other day which adds it’s challenges is the fact that the standard IDE for JDeveloper is intrinsically tied to Fusion Middleware stack. So, if you are working on a project that depends on version of ADF, then you have to use version of JDeveloper. There is no way of upgrading just JDeveloper to take advantage of newer features in the later versions without upgrading your entire application and application server at the same time.

Seems a little too restrictive in my mind, however, I’m continuing to keep an open mind with respect to JDeveloper.