Oracle ADF Interview Questions 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?
- 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?
|King Beans||Managed 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 scope||The 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.
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:
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):
- 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?
- 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 Viewlink is for a VO. It defines the Join conditions. A viewlink 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.
ADF Busniess Components
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.
Q16) What is Association Accessor?
- It’s an operation by which an entity instance at one end of and 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 associated entity object definition or ‘EntityImpl’ if the associated entity object definition has no entity object class.
Q17) What are different data control scope?
- 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)