Oracle ADF Interview Questions and answers

To showcase your competence in any field, you need to outstand the crowd. The interview is the process to check how smartly you stand out. It may be the job role that has a scarcity of cadets or has ample cadets to choose from, your selection is still based on your knowledge and skills.

Seeing the vast usability of the Oracle platform, ADF (Application Development Framework) job roles are much in these days and in the coming future. Here Mindmajix team compiled a few very common ADF interview questions that should be thoroughly prepared for:

 Categories of Oracle ADF Interview Question and Answers

Q1) What is Oracle ADF?

Ans: The Oracle Application Development Framework (Oracle ADF) is an end-to-end application framework that builds on J2EE standards and open-source technologies to simplify and accelerate implementing service-oriented applications. If you develop enterprise solutions that search, display, create, modify, and validate data using web, wireless, desktop, or web services interfaces, Oracle ADF can simplify your job. Used in tandem, Oracle JDeveloper 10g, and Oracle ADF give you an environment that covers the full development lifecycle from design to deployment, with drag-and-drop data binding, visual UI design, and team development features built-in.

Q2) What is an active listener?

Ans: An action listener is a class that wants to be notified when a command component fires an action event. An action listener contains an action listener method that processes the action event object passed to it by the command component.

Q3) What is Top Link?

Ans:

  • Top Link is an Object-Relational Mapping layer that provides a map between the Java objects that the model uses and the database that is the source of their data.
  • By default, a session is created named default. In the following steps, you create a new session.

Q4) What is Managed Bean?

Ans: JavaBean objects managed by a JSF implementation are called managed beans. A managed bean describes how a bean is created and managed. It has nothing to do with the bean’s functionality.

A managed bean is about how the bean is created and initialized. As you know, JSF uses the lazy initialization model. It means that the bean in the particular scope is created and initialized not at the moment when the scope is started, but on-demand, i.e. when the bean is the first time required.

Q5) Differences between King Beans and Managed Beans?

Ans:

King BeansManaged Beans
A backing bean is any bean that is referenced by a form.A managed bean is a backing bean that has been registered with JSF (in faces-config.xml) and it automatically created (and optionally initialized) by JSF when it is needed.
 The advantage of managed beans is that the JSF framework will automatically create these beans, optionally initialize them with parameters you specify in faces-config.xml,
Backing Beans should be defined only in the request scopeThe managed beans that are created by JSF can be stored within the request, session, or application scopes

 

Q6) What are the different kinds of Bean Scopes in JSF?

Ans: JSF supports three Bean Scopes.

Request Scope: The request scope is short-lived. It starts when an HTTP request is submitted and ends when the response is sent back to the client.

Session Scope: The session scope persists from the time that a session is established until session termination.

Application Scope: The application scope persists for the entire duration of the web application. This scope is shared among all the requests and sessions.

Inclined to build a profession as Oracle ADF Developer? Then here is the blog post on, explore Oracle ADF Training

Q7) How to declare the page navigation in faces-config.XML file in10G?

Ans: Navigation rules tells JSF implementation which page to send back to the browser after a form has been submitted. We can declare the page navigation as follows:

<naviagation-rule>

<from-view-id>/index.jsp</from-view-id>

<navigation-case>

<from-outcome>login</from-outcome>

<to-view-id>/welcome.jsp</to-view-id>

</navigation-case>

</navigation-rule>

This declaration states that the login action navigates to /welcome.jsp, if it occurred inside /index.jsp.

Q8) Which component in ADF BC Manages transaction?

Ans: Application Module, manages transactions.

Q9) Where is that we write business rules/validations in ADF and why?

Ans: We should ideally be writing validations at an Entity Object level because they provide the highest degree of reuse.

Q10) What are the JSF lifecycle phases?

Ans: The six phases of the JSF application lifecycle are as follows (note the event processing at each phase):

 

Restore view

  • Apply request values; process events
  • Process validations; process events
  • Update model values; process events
  • Invoke application; process events
  • Render response

Q11) What are Association and View links?

Ans:

  • They define the join or the link among EO’s and VO’s. The association defines the link between EO’s. They can be considered as PrimaryKey/ForeignKey relationship between tables.
  • The View link is for a VO. It defines the Join conditions. A view link can be based on an association or based on attributes, Basing view links on associations have the same advantage of entity cache and a few more which are unveiled later.

Oracle ADF Interview Questions for Experienced

Q12) What is the Business Component Tester?

Ans: The most used component of the model layer is the tester, which is used to run and check the data model that is implemented. This serves as the first line of defense to see if data is exposed as we need it and to test the data model without a need to create a UI.

Q13)What is task flow?

Ans: ADF task flows provide a modular approach for defining control flow in an application. Instead of representing an application as a single large JSF page flow, you can break it up into a collection of reusable task flows. Each task flow contains a portion of the application’s navigational graph. The nodes in the task flows are activities. An activity node represents a simple logical operation such as displaying a page, executing application logic, or calling another task flow. The transactions between the activities are called control flow cases.

Q14) Advantage of Task Flow Over JSF flow?

Ans: ADF task flows offer significant advantages over standard JSF page flows

  • The application can be broken up into a series of modular flows that call one another.
  • You can add to the task flow diagram nodes such as views, method calls, and calls to other task flows.
  • Navigation is between pages as well as other activities, including routers.
  • ADF task flows are reusable within the same or an entirely different application. After you break up your application into task flows, you may decide to reuse task
  • Shared memory scope (for example, page flow scope) enables data to be passed between activities within the task flow. Page flow scope defines a unique storage area for each instance of an ADF bounded task flow.

Q15) What is the region in Task Flow?

Ans: You can render a bounded task flow in a JSF page or page fragment (.jsff) by using an ADF region. An ADF region comprises the following. You create an ADF region by dragging and dropping a bounded task flow that contains at least one view activity or one task flow call activity to the page where you want to render the ADF region. This makes sure that the ADF region you create has content to display at runtime.

Oracle ADF Tutorial

Q16) What is Association Accessor?

Ans:

  • It’s an operation by which an entity instance at one end of an association can access the related entity object instance at the other end of the association. An Accessor that travels from destination to source is called a source assessor and an accessor that travels from source to destination is called a destination accessor.
  • It is described in the entity object definition xml files which can be used by view object and view link definition to specify cross entity relationship. Its return type will be the entity object class of the associated entity object definition or ‘EntityImpl’ if the associated entity object definition has no entity object class.

Q17) What are the different data control scope?

Ans:

  • Isolated
  • Shared(Default)-Data is shared with the parent flow

Q18) What is application module pooling and how we can handle it?

Ans: Still trying to find more info on this.

But as of now, you can go http://andrejusb.blogspot.com/2010/02/optimizing-oracle-adf-application-pool.html

Q19) What do you mean by Bean Scope?

Ans: Bean Scope typically holds beans and other objects that need to be available in the different components of a web application.

Q20) What are various components in ADF?

Ans: Oracle ADF has the following components

  • ADF +business (components Model)
  • ADF Faces (view)
  • ADF Task flows(controller)

ADF Interview Questions

Q21) What made you opt for ADF?

Ans:

  • I already had an immense interest in technology with the purpose of making a significant difference. ADF, being the core development framework, can build absolutely any type of enterprise solution. I got inclined towards this technology which is so helpful. And of course so in line with my intentions and desires.
  • Secondly, ADF is known to be the mature J2EE development framework. And hence, the Oracle Fusion Middleware stack is built upon the ADF 11g. This is why we have ample opportunities here.
  • And third is, ADF has a range of inbuilt components that sorts us with the task of code writing. This way, I can actually focus on the features of the application and how it can do more good to the business. 

Q22) Explain the Adf Lifecycle?

Ans: ADF Lifecycle has 9 phases:

1) Initialize Context: Lifecycle, the binding container, and other associated values are set

2) Prepare Model: The application model is initialized by imparting it with needful parameters. And ADF is given the essential instructions.

3)Apply Input Values: The access request of the application is handled in this phase. 

4) Validate Input Values: Validates the request values mentioned in phase 3.

5) Update Model: Post validating the input values, data is piled up and updated. 

6) Validate Model Updates: The updated input values are validated. 

7) Process Component Updates: Any activities happening the input values are handled over here.

8) Metadata Commit: Commits the metadata runtime to the model.

9) Prepare Render: All the activities and the final page is sent to render.

Q23) What is Partial Page Rendering?

Ans: Partial Page Rendering (PPR) is very analogous to Ajax. PPR works dynamically and performs a suitable action whenever necessary. When the page needs to be triggered, it triggers it. When the page needs to update, it does it. PPR submits the page, once all the activities are settled right. 

To enable partial page rendering, you will need to:

Auto-submit: When auto-submit is on or set to true, the page automatically submits the values updated or changed on the page. 

PartialSubmit: When the partialSubmit is set to true, the changes and updates on the page submit the page partially.

Partial trigger: When the partial trigger is on, the page renders are simply listed. Once the triggers are settled, final changes are considered.

Q24) What is the difference between Validators And Convertors in ADF?

Ans:

Validators: Validators are supposed to validate your values. Either temporary or permanent. They can remember the validation conditions if you want them to. 

Converters: Converters convert the values from one form to another.

Q25) What is ADF Event Handling?

Ans:

  • Events are anything from clicking on a button to performing an action. Event handling is responding to the events performed.
  • Usually, the ADF event handling is taking place on the server. A few events can be added to a queue. Same as we create an algorithm in a linear and tree format.
  • ADF receives the commands for actions taken from the clients’ side and actions to be taken from the server’s side.

Q26) What is the role of Javascript in ADF?

Ans:

  • JavaScript in ADF is not used as a mandatory functionality. As the code writing in ADF is not that vital. We can use JavaScript to customize certain codes. 
  • While it is not necessary to use JavaScript in ADF, it is necessary to have at least the basic knowledge of the same. Knowing JavaScript would always be helpful in fixing bugs if any, while running the ADF project.

Q27) What Are Task Flows in ADF?

Ans:

  • ADF task flows are the derivative form of all the tasks. There are a lot of tasks involved in performing a single activity successfully. Hence, Taskflows allows us to see the short and specific part of the task that we want to see.
  • For instance, out of the 100s of tasks that a page performs, if we want to access only the activity of button clicks. With Taksflows, we will be able to access that particular file. 

Q28) Is ADF Better than JSF? 

Ans: ADF is a framework built on the JSF. ADF is very smooth when it comes to handling any business application. 

Let us compare from the user point of view:

ADF has:

  •  User-friendly and easy interface.
  •  Anyone can access it easily even if they are accessing it for the very first time.

  •  Almost everything is placed in one place.

  •  Smooth and solid looks and feel.

From Developer’s point of view:

  • Easy platform to develop an application.
  • More than 100 ready to use components

  • Editable components to customize the functionality

  • Easy to maintain

  • Easy to deploy

  • Easy to manage

  • Drag and drop functions supported

As ADF is built on JSF, any time ADF will give you a nicer and smoother performance. JSF is, nonetheless, a very good platform too. But when it comes to comparison, ADF is better. 

Q29) What is the Contextual Event?

Ans: Any page may need an external input at some point in time. For doing so, ADF passes on a query with specific parameters.

These parameters will happen to work only if the external source is capable of recognizing it. And if your parameters are capable of receiving and accepting the information sent.

Also, it happens many times that all the needful information is available with you in various Taskflows. 

So, instead of searching the values with parameters, Taskflows are asked to create a Contextual event.

These contextual events will help parameters to search for their query effectively, over the Taskflows values. 

Contextual Events in an Oracle ADF allows us to implement communications like:

  • view-to-region
  • region-to-view and 

  • region-to-region. 

To search and get the information right, or to be able to provide the searched information, contextual events do a sorted work.

Contextual events make it very easy for the search queries to find their desired inputs and to understand the inputs. 

Q30) What is the ADF BC Architecture?

Ans: ADF BC is a framework developed with the combination of Java language and XML language for developers. The Architecture of ADF BC includes:

  • Logic - both business and default
  • Handling Queries 

  • Handling and managing Transactions

  • Accessing Data

Q31) What are the Advantages of ADF BC?

Ans:

  • The core advantage of ADF BC is its ability to be reusable. ADF BC creates a separate channel for business logic. Users can directly interact over these channels. 
  • Having a separate business logic actually helps the database to focus only on data.
  • ADF BC maintains its cache smartly. Thus the database speed and quality are improvised with such cache maintenance. 
  • ADF BC is a framework that accesses libraries and helps the system with library management. 

Q32) What is the Role Of Vo, Eo, and Am?

Ans:

View object: View objects view the changes made by the user to the projects of Taskflows. VO helps the system to sort out the actions performed by the user. And organizes, filters, and manages the task, so that SQL queries could easily find out the results when searched for.

Entity object: An entity object is a row in a database. Similar to EJB in the J2EE, EO is the ADF. EO also makes it easier for recognizing the values in the row. It enclosed the entire row under a certain specified value. So it becomes easier to search for any value in the row. Even two EOs can be related to each other and can be grouped based on their relationship with one another. These related EOs are known to be Entity Associations.

Application module: An application module helps the client to access their work through the platform. AM has all the required and top-level procedures including the updated information in it. AM is known as the transactional module, as well, as it allows the client to access their own work. It also has multiple VO and Entity Associates in the View link form. 

Q33) Can we Write ADF Applications on a Webservice?

Ans: Yes. ADF Application can be easily written on web services. That’s the reason why ADF is known to be a versatile and easy solution for web-applications.

Bottom Line

ADF has a wide range of opportunities to work in. The interview is the gateway to get through. For experienced candidates, usually, the ADF interview questions are based and inclined technically. To answer the experienced ADF questionnaire, you need to focus on being technically sound. And your basic concepts of coding are expected to be very clear. The more conceptually you are clear, the more contextual answers you will be able to answer the ADF interview questions.