Saturday, 22 September 2012

1. What is OA Framework ?

Before starting about OA Framework, lets try to understand the word 'Framework':

As more and more applications are being developed, new technologies are also evolving at the same time.
If we look at our web application from scratch, even state is not maintained for our pages. For example, I want to create a search form. When I click on search/submit button, the criteria fields will not retain their values automatically. Also we use javascript for validations and lots of other things for similar basic functionalities.

Now, the solution to these problems is that lots of frameworks are there in which such common functionalities are already done (pre-written) for us.
So whether it is Sun or Oracle or Microsoft, the main motive behind creating frameworks is that the attention of developers should only be towards developing the application i.e. the business rule (such as what tax should be deducted from an invoice) and get rid of all other things like 'request.getParameter' or 'making input fields inside an HTML file'. Because these things are not contributing to that part of software development which is directly related to users. By doing this we are not implementing any business rule. The aim here is to do these tasks ASAP so that developers can only concentrate on implementing the business application.

One more thing I want to put here is: difference between API & Framework:

  • API is a library. At times we instantiate objects of library code and call their functions.
  • Framework on the other side is like that there is already some blocks of code written and we have have to fit our own code somewhere inside those blocks.
  • So to fit our code what we do is that sometimes we make our classes to inherit from other classes, implement the methods what framework specifies. This is what happens in most of the frameworks.
  • For example we want to make our application on MVC architecture. So for that we can use Structs (a framework which provides built in support for MVC). However this doesn't provide much support for UI.
JSF is also a framework which provide us a complete model of visual components, provides event handling tech for web-apps and lots of other services.

Now, I think its easy to define Oracle Application Framework :)

Oracle Application Framework
OAF - Framework developed by Oracle for building and launching web pages within Oracle E-Business Suite (EBS).
Below is a sample web page of Oracle EBS:

All pages within EBS are almost similar in look and feel. Based on this fact, below are some common functionalities which are already provided by this framework so that we can mainly concentrate on implementing business logic:
  • Built in support for MVC architecture.
  • Inbuilt support for Apps specific features like flexfields, menus etc..
  • Provide classes for all standard components seen on pages like text fields, buttons, tables etc..
  • Support for connection pooling and session management.
  • Built in protection against web hacking.
  • Personalization - We can change look and feel, layout or visibility of contents on the standard pages delivered by Oracle. However the main thing here is that OAF allows somewhat skilled functional user to apply these changes. 
  • Almost every implementation of EBS has to make some changes to some of these pages. OAF has mechanism to implement these changes in such a way that the changes are not wiped out even after patches delivered by Oracle are applied.
  • Since OAF is used only for creating EBS pages, copyright links and global links are provided by this framework by default.

No comments:

Post a Comment