OAF versus ADF

OAF versus ADF

I have seen many forums asking about Difference between OAF and ADF. May be my post will clear some points on this

OAF – OAF is a framework for extending Oracle E-Business Suite. If you want to customize and Oracle EBS system you need to use OAF. OAF is a e-biz web development framework mainly for Oracle applications. If you want to develop new pages and extensions for Oracle applications 11i and R12, then use OA framework. OAF is based on MVC model while ADF has four layers (MVC+Business Services). OA framework is an Oracle Applications Specific framework. If you build for Oracle Applications – e.g. extending it – then it is good to use their framework because of the integration points to the existing application

ADF-ADF is a framework for developing custom applications .If you want to build a new system that has some level of integration with Oracle EBS you can do it with ADF and use SOA to talk to the back-end EBS system. Oracle ADF is at the heart of the Fusion technology stack. ADF  techstack is intended to utilize the benefits of Service Oriented Architecture (SOA) while building the Applications.ADF does not support oracle apps. It is used SOA related application. In ADF 11g apps will also be supported. ADF is based on JSR-227, which is supposed to be turned into a J2EE standard. we can say ADF as a next version of OAF with JSF – Java Server Faces, more J2EE architecture,
more dynamic page refreshing and handling etc.

Java OutOfMemory Error

We all would faced the OutOfMemory error some times in our projects. Some times it make some confusion to us that
we all thought  in college that Java manage it memory its own. Still there are some parameters by which you can tweak
you memory.
There are three basic reason which causes the OutOfMemory

  • Heap size
  • PermGen Space
  • Threads

Heap Size

Java always defines default heap size, it also varies with different version of jvm

java 1.5 has default 2mb minimum and 64 mb max heap size.

It always good to define your own heap size based on your application, other wise  GC overhead limit would exceed and throw the OutofMemory error

There can have some of following reasons and solution

  • Requested array size exceeds VM limit
  • Heap too small
  • Excessive use of finalizes
  • Monitor objects pending finalization
  • look for logic error in array allocation code
  • Memory leak

To avoid above error you should

  • Adjust maximum heap size (-Xms<size>)
  • Analyze heap dump(MemoryMXBean, jmap, jconsole)

I would be covering remaining topics in coming days.

Download source code with Maven

We all uses the lot of open source projects. It happened lot of times with me that while debugging
some code, it take lot of time to look up the code that component.

Now i have one simple solution for that, If you are using the Maven2 as build tool for your project then just run
mvn dependency:sources

It will download the source code of the component, if source code of that has uploaded by
project team in maven repository.

Happy debbuging