adf interview questions and ansewrs.docx
TRANSCRIPT
-
7/23/2019 adf interview questions and ansewrs.docx
1/85
Q1. What is Oracle ADF?
Ans : Oracle Application Development Framework, usually called Oracle ADF, provides
a commercial Java framework for building enterprise applications. It provides visual and
declarative approaces to Java !! development. It supports rapid application
development based on ready"to"use design patterns, metadata"driven and visual tools.
Q2 How does ADF fall in MVC architecture?Oracle ADF Arcitecture is based on te #odel"$iew"%ontroller $%' designpattern.#$% consists of tree layers wic are model layer,view layer,controllerlayer.Oracle ADF implements #$% and furter separates te model layer from tebusiness services to enable service"oriented development of applications.
(e Oracle ADF arcitecture is based on four layers:
The usiness !er"ices la#er
(is layer provides access to data from various sources and andles business logic.ADF %omponent comes, in tis section are $iewOb)ect, !ntityOb)ect, $iew*ink,Association etc
The Model la#er
(is layer provides an abstraction layer on top of te +usiness ervices layer, enabling
te $iew and %ontroller layers to work wit different implementations of +usinesservices in a consistent way. ADF %omponent comes in tis section are -ageDefn,Data+indings,Data%ontrols &App#oduleData%ontrol, eberviceData%ontrol'
The Controller la#er
(is layer provides a mecanism to control te flow of te eb application. ADF%omponent comes in tis section are (askFlows&+ounded and unbounded, faces"config./ml, adfc"config./ml'
The View la#er
(is layer provides te user interface of te application. ADF components comes in tissection are )sff, )sp/ page.
Q$ How will %De"elo&er su&&ort ra&id de"elo&'ent?
-
7/23/2019 adf interview questions and ansewrs.docx
2/85
Ans : Oracle ADF is an Oracle product. Ide used to develop ADF application wic is
Oracle JDeveloper. (is ID! is as all component wic support in rapid developer
starting form designing Application using te 0#* to Java, $isual Designer, Data+ase
development, (esting ebservices to Deployment. #ost of te feature are )ust drag and
drop. ence tis ID! become te perfect coice for ADF development. Altoug it bit
slow and angs sometime but still we don1t ave any oter option.
Q( What are the different t#&e of usiness Co'&onent in Oracle ADF?
Ans : Different kinds of +usiness component support by ADF are !ntityOb)ect,
$iewOb)ects, $iew*inks, Association.
Q) What is *ntit# O+,ect in ADF Fra'ewor-?
Ans: !nitityOb)ect in ADF are similar to (able in database. Any number of $iewObe)ct
can create on single !ntity.
Q) What is ViewO+e,ct in ADF fra'ewor-?Ans : ViewO+,ectis represent te data collection. (ese view ob)ect can be created in
different ways wic are as follows:
*ntit# ased ViewO+,ect: (ese viewobe)ct will old te reference of underlying
entity. (ese view ob)ect can old data from single or multiple entities. ile defining
$iewob)ect based on !ntity you can select te attribute wic you want to keep in entity.
!Q ased ViewO+,ect: (ese $iewObe)ct are based on s2l 2uarries. (ese
viewobe)ct will ave underlying 3* 3uery. At runtime tey will old data return by 3*.
/ro0ra'atic View O+,ect: 0ser can define te view attribute wic defining
viewobe)ct. Data will insert programmatically into tese $iewOb)ect.
!tatic ViewO+,ect: ile defining user will define attribute for view and in later e as
to provide te values for tose attribute. (ese kindof viewobe)ct will ave fi/ed no of
rows.
Q What is Association in ADF?
Ans: Association represent te relationsip between 4 and more tables like foreign key
relationsip. If you create !ntities from database association will automatically got created
for entity. 0ser can also define custom association if tere is no foreign"key is define in
database. In tis way user can andle foreign key in ADF application and can remove
overead from database.
Q What is "iew lin-?
Ans: $iew*ink represent te relationsip between data of same or multiple !ntities or table.
It works in same manner as association work for entity. ile defining te $iew*ink user
-
7/23/2019 adf interview questions and ansewrs.docx
3/85
can define te reference of already created association if $iewObe)ct based on !ntity
Ob)ect else can manually select te column and define link between 4 $iewOb)ect.
Q3 Wh# we used a&&lication'odule in ADF fra'ewor-?
Ans:Applicationmodule is te component of ADF +% wic old te references of
$iewOb)ect and instantiate tem wile running te application. $iewObe)ct referencedefine in Application #odule can be used to define te )sff5)sp6 page. If you want to use
any $iewOb)ect on you page you must ave to provide te reference in Application
#odule.
A&&lication 'odule also &ro"ide the transaction 'ana0e'ent with co''it and
roll+ac- o&eration
Q14 What is the controller in ADF in res&ect of MVC architecture?
Ans:%ontrollers in ADF framework are (askFlows, Faces"config./ml, adfc"config./ml. Inall tere file you can define navigation between te pages.
Declare te manage"bean in different scope.
Q11 What are the different -ind of resource +undle su&&orted in ADF?
Ans: ADF support different types of resource bundle wic are as follows: -roperty file based &t/t file wic contains key"value pair'
/liff file based &/ml file wic contains key"value pair'
*ist 7esource bundle
Q12 How to &ro"ide co''on resource +undle for entire &roe,ct?
Ans: 8o to property file of you -ro)ect and select resouce bundle
From ere you can select one bundle for entire pro)ect.
Q1$ How to &ro"ide se&arate resource +undle for each ,sff5,s&6?
Ans: 7efer 3 94 answer tere is option using tat you can select One +undle per file.
Q1( What is the difference in ,s&6 and ,sff?
Ans: )sp/ and )sff file are same in most of manner. Only difference is tat you can run )sp/
directly on browser wile )sff file container wic will run on browser.
Q17 What is tas-flow ? how 'an# t#&e of tas-flow adf su&&ort?
Ans: (askflow is te %omponent of Oracle ADF wic is used to define simple task.
After successfully defining task"flow can consume any number of time.
ADF support two kind of taskflow: ounded Tas-Flow 8+onded taskflow re2uire te page on wic tey will
consume.
-
7/23/2019 adf interview questions and ansewrs.docx
4/85
9nounded Tas-Flow: 0nbounded taskflows can directly run on browser
Q1) How to de"elo& reusa+le tas-flow in ADF?
Ans: -lease fins te step below Define taskflow
Define deployment profile as ADF *ibrary )ar
Deploy adf )ar file
Open new pro)ect were you want to consume te task flow.
Add newly created )ar of taskflow pro)ect
go to component palate ou will fine you )ar name select it.
It will sow list of taskflow you developed
Drag drop your taskflow as region on )sff5)sp/ page and run ur application
Q1 Can +ounded tas-flow run on +rowser?
Ans: ;OQ1 What are different sco&e of adf tas-flow?
Ans:Isolate5ared
ared scope will sare data among te multiple instance of taskflows wile Isolated
doesn1t.
Q13 How can #ou force ADF tas-flow to use new transaction e"er#ti'e tas-flow
is called?
Ans: 8o taskflow overview and you will file below item
elect always begin new transaction fron dropdown
Q24 How to use sa'e transaction in ADF tas-flow?
Ans
Q 21 How can #ou &ass &ara'eter to adf tas-flow?
Ans: 8o to overview select parameters link it will sow screen like
-
7/23/2019 adf interview questions and ansewrs.docx
5/85
Q2( How can na"i0ation define in tas-flow?
Ans : ;avigation can be defined in taskflow using control flows and invoked by )sff5)sp/
page using action event like button link etc.
Q27 Can ADF tas- flow hold 'ore than 1 "iew acti"it#?
Ans: es. ADF taskflow can ave multiple view activity but 9 activity as to be definedas default activity.
Q2) What is the /arent Action in ADF Tas-flow?
Ans:-arent action is activity using tat you can invoke te %ontrol flow define in parent
taskflow from cild taskflow. #ore details about ow to develop it can be found
on -arent Activity
Q2 What is 'ethod acti"it# in Adf Tas-flow?
Ans: 0sing tis activity you can invoke and metod defined in manage"bean.
Q2 How to initiali:e ADF Tas-flow?Ans: Open te taskflow in Overview #ode select general like tere is initialli6er
property.
you can provide te any metod reference wic will get invoked wenever taskflow
instance created.
ADF ; /A=T 2
Q23 What is the different +etween Action and Actionistener?Ans 8 Actionistener8Action*istener is te metod wic got invoked wen user click on te
component like button, commandlink etc.
Action8Action is te outcome of were you want to move once actionlistener is completed. (is
can be define in te taskflow as activity. o wen listener completed application is redirected to
define activity.
Q$4 How 'an# -ind of VO su&&orted +# Oracle ADF?
Ans 8ADF support = type of view Ob)ect
$iewOb)ect +ased on !ntityOb)ect
$iewOb)ect +ased on s2l 2uery
$iewOb)ect based on static data
-rogramatic $iew Obe)ct.
Q$1 how to de"elo& Master>details "iew in adf?
Ans8 For Developing te #aster"details view in ADF. ou ave to created te relationsip
between 4 viewob)ect. (at relationsip can be created using te viewlink or association
http://amit-adf-work.blogspot.in/2012/12/parent-action-activity-in-adf-bounded.htmlhttp://amit-adf-work.blogspot.in/2012/12/parent-action-activity-in-adf-bounded.html -
7/23/2019 adf interview questions and ansewrs.docx
6/85
between entity Ob)ect. using tat relationsip you can create te master details view of
data. (at master details view can be Form"Form, Form"(able, (able"(able, (able"Form.
Q$2 what is "iew criteria how can #ou chan0e "iew criteria at runti'e?
Ans8 $iew %riteria is defined by for effective searcing of data. +y using tis criteria we can
created searc panel wic represent all 2ueryable attribute.
For canging te view criteria at runtime you )ust ave to make attribute as 2ueryable trueor false. +ased on tat attribute will get display in te searc panel at run"time.
Q$$ What is &&r in ADF?
Ans8 --7 means -artial -age 7endering. It means tat in ADF we can refres te portion
of page. e don1t need to submit wole page for tat.
Q$( What are the ADF te'&lates how the# are differ fro' si'&le ,s&6 and ,sff &a0e?
Ans8ADF templates are te template for pages. we can place common layout in template
so wenever we create te page we will select te appropriate template. -age layout will be
consistence across te pages.-age template can also used to ave common functionality like some button so you dont
ave to create tem again and again.
Q$7 How can #ou 'ana0e transaction in ADF?
Ans8 In ADF transaction can we manage at Application#odule as well as taskflow level.
(ask flow support different mode of transaction like:
tart new transaction always
0se !/isting (ransaction
Q$) What is the 'odel in ADF MVC?
Q$ How can #ou define custo' co'&onent?Q$ Can #ou use "iew o+,ect inside custo' co'&onent defination?
Q$3 What are the different tri00er t#&e for af8&o&u&?
Q(4 How to define 'ulti&le Actionistener for sin0le ADF co'&onent?
Q(1 How to ena+le securit# to ADF A&&lication?
Q(2 Which file holds the details of users and 0rou&s in adf?
Q($ How to create %de"elo&er co'&ati+le li+raries?
Q(( How to connect standalone we+lo0ic instance fro' ,de"elo&er?
Q(7 How to de&lo# a&&lication to standalone we+lo0ic instance fro' ,de"elo&er?
Q() What are the MD!@MetaData !er"ices?
Q( What is user custo'i:ation?Q( What is seed custo'i:ation?
Q(3 What are different -ind of MD! #ou confi0ured?
Q74 Which file hold details of confi0ured MD!?
Q71 What are the ste&s to confi0ure MD!?
-
7/23/2019 adf interview questions and ansewrs.docx
7/85
Oracle ADF Interview Question and Answers.
Q: Lifecycle of a Web Page Request Using Oracle ADF and JSF
Ans : Below figure shows a sequence diagram of the lifecycle of a web page
request using JSF and Oracle ADF in tandem.
Lifecycle of a Web Page Request Using JSF and Oracle ADF
As shown in the figure the basic flow of processing happens as follows:
A web request for http://yourserver/yourapp/faces/some.jsp arri!es from the
client to the application ser!er
"he ADFBindingFilter finds the ADF binding conte#t in the $""% session and if not
yet present initiali&es it for the first time.
During binding conte#t initiali&ation the ADFBindingFilter:
http://myexpwithoracleadf.blogspot.com/2013/04/oracle-adf-interview-question-and.htmlhttp://myexpwithoracleadf.blogspot.com/2013/04/oracle-adf-interview-question-and.html -
7/23/2019 adf interview questions and ansewrs.docx
8/85
'onsults the ser!let conte#t initiali&ation parameter named CpxFileNameand
appends the *.cpxfile e#tension to its !alue to determine the name of the binding
conte#t metadata file. By default the parameter !alue will be (DataBindings( so it
will loo) for a file named DataBindings.cpx.
*eads the binding conte#t metadata file to disco!er the data control definitions thepage definition file names used to instantiate binding containers at runtime and the
page map that relates a JS% page to its page definition file.
'onstructs an instance of each Data 'ontrol and a reference to each
Binding'ontainer. "he contents of each binding container are loaded la&ily the first
time they are used by a page.
"he ADFBindingFilter in!o)es the egin!e"uest#$method on each data control
participating in the request. "his gi!es e!ery data control a notification at the start
of e!ery request where they can perform any necessary setup.
An application module data control uses the egin!e"uestnotification to acquire aninstance of the application module from the application module pool.
"he JSF %ifecycleclass which is responsible for orchestrating the standard
processing phases of each request notifies the ADF&hase%istenerclass during each
phase of the lifecycle so that it can perform custom processing to coordinate the
JSF lifecycle with the Oracle ADF +odel data binding layer.
,ote:
"he Faces'ervlet-in javax.faces.(eapp is configured in the (e.xmlfile of a JSF
application and is responsible for initially creating the JSF%ifecycleclass-in javax.faces.lifecycle to handle each request. $owe!er since it is
the %ifecycleclass that does all the interesting wor) the FacesSer!let is not
shown in the diagram.
"he ADF&hase%istener creates an ADF &age%ifecycleob/ect to handle each request
and delegates appropriate before0after phase methods to corresponding methods in
the ADF&age%ifecycleclass as shown in 1f the appropriate binding container for
the page has ne!er been used before during the user2s session it is created.
o! JSF Page Lifecycle and ADF Page Lifecycle P"ases Relate
-
7/23/2019 adf interview questions and ansewrs.docx
9/85
"he JSF %ifecycleforwards control to the page to be rendered.
"he 31 components on the page access !alue bindings and iterator bindings in the
page2s binding container and render the formatted output to appear in the browser.
"he ADFBindingFilter in!o)es the end !e"uest#$method on each data control
participating in the request. "his gi!es e!ery data control a notification at the end
of e!ery request where they can perform any necessary resource cleanup.
An application module data control uses the end!e"uestnotification to release the
instance of the application module bac) to the application module pool.
"he user sees the resulting page in the browser.
#nitiali$e %onte&t: 1n this phase the adf page initiali&es the 4ifecycle'onte#t
with information that will be used during the 4ifecycle.
Pre'are (odel: 1n this phase ui model is prepared and initiali&ed. 1n this
phase page parameters are set and methods in the e#ecutable section of the page
definition of the ADF page are e#ecuted.
A''ly #n'ut )alues: "his phase handles the request parameters. "he !alues
from the $"+4 are sent to the ser!er and applied to the page binding in page
definitions.
-
7/23/2019 adf interview questions and ansewrs.docx
10/85
)alidate #n'ut )alues: "his phase !alidates the !alues that were built in the
Apply input !alues phase
U'date (odel: 5alidated !alues supplied from user are sent to ADF business
components data model
)alidate (odel U'dates: 1n this phase the business components will !alidate
user supplied !alues.
#n*o+e A''lication: "his phase will process the ui e!ents stac) built during the
life cycle of page and also fire na!igational e!ents
Pre'are Render: "his is the final phase where $"+4 code is generated from
the !iew tree.
Q : W"at is Action Listener ,
Ans : An action listener is a class that wants to be notified when a command
component fires an action e!ent. An action listener contains an action
listener method that processes the action e!ent ob/ect passed to it by
the command component
Q:W"at are ADF -%.-usiness %o/'onents0 ,Describe t"e/1
Ans: All of these features can be summari&ed by saying that using ADF
Business 'omponents for your J677 business ser!ice layer ma)es your life a
lot easier. "he )ey ADF Business 'omponents components that cooperate
to pro!ide the business ser!ice implementation are:
BEntity Object: An entity ob/ect represents a row in a database table and
simplifies modifying its data by handling all D+4 operations for you. 1t can
encapsulate business logic for the row to ensure your business rules are
consistently enforced. 8ou associate an entity ob/ect with others to reflectrelationships in the underlying database schema to create a layer of business
domain ob/ects to reuse in multiple applications.
BApplication Module: An application module is the transactional component that
31 clients use to wor) with application data. 1t defines an updatable data model and
top9le!el procedures and functions -called ser!ice methods related to a logical unit
of wor) related to an end9user tas).
-
7/23/2019 adf interview questions and ansewrs.docx
11/85
BView Object: A !iew ob/ect represents a S4 query and simplifies wor)ing with
its results. 8ou use the full power of the familiar S4 language to /oin pro/ect
filter sort and aggregate data into e#actly the (shape; required by the end9user
tas) at hand. "his includes the ability to lin) a !iew ob/ect with others to create
master0detail hierarchies of any comple#ity.
-
7/23/2019 adf interview questions and ansewrs.docx
12/85
handle actual O0* mapping. For many !iew ob/ect definitions the +4 file by itself
is sufficient.
A !iew ob/ect class which represents an indi!idual !iew ob/ect instance. 5iew
ob/ect classes allow you to write custom methods that affect multiple rows in aquery. 5iew ob/ect classes e#tend the classoracle.jo.server.ie(+ject,mpl. 1f
you do not need to write custom !iew ob/ect methods you need not generate anentity ob/ect classADF can use oracle.jo.server.ie(+ject,mpldirectly to
represent instances of the query result set.
A !iew row class which represents indi!idual rows of the query result. 5iew
row classes allow you to write custom methods that affect a single row of data and
they pro!ide typesafe accessors to retrie!e and change data. 5iew row classes
e#tend the class oracle.jo.server.ie(!o(,mpl. 1f you do not need custom row9
le!el methods or typesafe accessors you need not generate a !iew row classADFcan useie(!o(,mpldirectly to represent !iew rows.
A !iew definition class which represents the query itself. 5iew definition
classes act as Ja!a wrappers for the +4 file so if you need special handling of themetadata -for e#ample if you need to change it dynamically you can add this
code in the !iew definition class. 5iew definition classes e#tend the
classoracle.jo.server.ie(Def,mpl. 1f you do not need custom handling of your
metadata you need not generate a !iew definition classADF can
use ie(Def,mpldirectly to wrap the metadata.
2 Attribute (a''ings
4i)e entity attributes the !alues of !iew attributes can be read or changed using
the methods getAttriute#$andsetAttriute#$in the ie(!o(,mplclass or by using
generated getters and setters in a custom !iew row class.
"here are two different types of !iew attributes howe!er for which these accesssor
methods function quite differently:
SQL-only view attributesare not mapped to entity attributes. For these
attributes the accessor methods read !alues from and ma)e changes to data in the
!iew ob/ect instance?s cache of !iew rows.
Entity-derived view attributesare mapped to attributes in an entity ob/ect
definition. For these attributes the accessor methods willcall getAttriute#$and setAttriute#$on the rele!ant entity ob/ect instance. "he
data will be changed within the entity collection?s cache of entity ob/ect instances
not within the !iew ob/ect instance?s cache of !iew rows.
Because entity ob/ect definitions handle D+4 operations attributes that will be used
to ma)e changes to the database must be entity9deri!ed. $owe!er if a !iew ob/ect
definition will be used for data retrie!al only there is an ad!antage to ma)ing all its
attributes S49only: such !iew ob/ect definitions called SQL-only view object
definitions bypass the entity collection?s cache entirely a!oiding the o!erhead and
resources required to create entity ob/ect instances.
-
7/23/2019 adf interview questions and ansewrs.docx
13/85
3 4a*igating 5"roug" Result Sets
5iew ob/ect instances are row iterators. 1n particular they are row iterators of !iew
rows.
4i)e other row iterators !iew ob/ect instances contain a current row pointer that
points to one particular !iew row. "his pointer can be mo!ed around and used to
e#tract rows from the iterator.
*ow iterators contain a number of methods to help you na!igate and e#tract
indi!idual rows from them:
next#$ad!ances the current row pointer in the row iterator and returns that
row.
hasNext#$chec)s to ma)e sure that the row iterator has more rows after the
current row pointer. 8ou can use next#$and hasNext#$together to create a loop to
cycle through the rows in the iterator.
First#$mo!es the current row pointer to the first row in the iterator and
returns that row.
%ast#$mo!es the current row pointer to the last row in the iterator and
returns that row.
&revious#$steps the current row pointer bac) one row and returns that row.
has&revious#$chec)s to ma)e sure that the row iterator has more rows after
the current row pointer. 8ou can use previous#$and has&revious#$together to
create a loop to cycle bac)wards through the rows in the iterator.
6 %reating and Deleting Ro!s
ie(+ject,mplalso contains methods to create rows:
create!o(#$creates a !iew row appropriate to the !iew ob/ect definition.
insert!o(#$inserts the row into the !iew cache.
8ou can mar) a row for deletion by
calling !o(.remove#$or ie(+ject,mpl.removeCurrent!o(#$.
7 8eys
A keyis a set of attributes that allow you to quic)ly retrie!e one or more rows from
a !iew ob/ect instance?s query result. %ersistent !iew ob/ect attributes based onprimary )eys are automatically part of the !iew ob/ect?s )eyC you can ma)e other
attributes part of the !iew ob/ect?s )ey as well.
8ou can use an array containing a partial or complete list of attribute !alues to set
up an ob/ect of typeoracle.jo.-ey. 8ou can then pass this ob/ect into the
-
7/23/2019 adf interview questions and ansewrs.docx
14/85
method ie(+ject,mpl.findBy-ey#$to return an array of rows that match the )ey
!alues.
9 )ie! %riteria
View criteriaare structured criteria that you can use to create searches.
5iew criteria are collections of view criteria rows. A !iew criteria row specifies
query9by9e#ample requirements for one or more !iew ob/ect attributes. A !iew
row matchesif it meets all of the requirements.
-
7/23/2019 adf interview questions and ansewrs.docx
15/85
View linkdefinitions which consist of an +4 file that defines the !iew lin)
View link instances which are particular references to a Oracle ADF !iew lin)
definition within a Oracle ADF application module definition.
)ie! Accessors:
3se to define the list of a!ailable !iew accessors on the current entity ob/ect or !iew
ob/ect.
5iew accessors are !alue9accessor ob/ects in ADF Business 'omponents. 8ou create
a !iew accessor to point from a base entity ob/ect attribute or !iew ob/ect attribute
to a source !iew row set.
"he !iew accessor returns a list of all possible !alues to the attribute of the base
ob/ect.
2 Accessor Attributes
-
7/23/2019 adf interview questions and ansewrs.docx
16/85
"o maintain a synchroni&ed master9detail relationship you should use !iew lin)
instances in an application module instance.
3 %ardinality:
4i)e associations !iew lin) definitions can be one9to9one one9to9many or many9
to9many. One9to9one and one9to9many !iew lin) definitions can either be based on
associations or they can use attribute matching the way associations do. +any9to9
many !iew lin) definitions must be based on many9to9many associations.
Q: ADF 2g na*igation rules e&a/'le in faces;config1&/l file1
Ans: ,a!igation rules tells JSF implementation which page to send bac) to the
browser after a form has been submitted.
-
7/23/2019 adf interview questions and ansewrs.docx
17/85
Q : W"at are *arious co/'onents in ADF,
A : Oracle ADF has following components
ADF Business 'omponents: 5O 7O = A+
ADF +odel : DataBinding -.cp# .#ml = Data'ontrols-.dc#
ADF 5iew: JS% JSF ADF Faces etc. ADF 'ontroller: "as) flows -adf9config.#ml faces9config.#ml
Q : W"at is t"e return ty'e of Ser*ice (et"ods,
A : Ser!ice +ethods can return Scalar or %rimiti!e Data types.
Q : %an Ser*ice (et"ods return ty'e )oid,A : 8es Ser!ice +ethods can *eturn type 5oid
Q : %an Ser*ice (et"ods return %o/'le& Data ty'es,A : ,o ser!ice methods can return only primiti!e0scalar data types.
Q : W"ere do !e !rite business rules or *alidations in ADF and !"y,
A :
-
7/23/2019 adf interview questions and ansewrs.docx
18/85
Sco'e Descri'tion
application "he application scope lasts until the application stops. 5alues that
you store in a managed bean with this scope are a!ailable to e!erysession and e!ery request that uses the application.
A!oid using this scope in a tas) flow because it persists beyond the
life span of the tas) flow.
session "he session scope begins when a user first accesses a page in the
application and ends when the user?s session times out due to
inacti!ity or when the application in!alidates the session.
3se this scope only for information that is rele!ant to the whole
session such as user or conte#t information. A!oid using it to pass
!alues from one tas) flow to another. 1nstead use parameters to
pass !alues between tas) flows. 3sing parameters gi!es your tas)flow a clear contract with other tas) flows that call it or are called by
it. Another reason to a!oid use of session scope is because it may
persist beyond the life span of the tas) flow.
pageFlow 'hoose this scope if you want the managed bean to be accessible
across the acti!ities within a tas) flow. A managed bean that has a
pageFlow scope shares state with pages from the tas) flow that
access it. A managed bean that has a pageFlow scope e#ists for thelife span of the tas) flow.1f another tas) flow?s page references the
managed bean the managed bean creates a separate instance of
this ob/ect and adds it to the pageFlow scope of its tas) flow.
!iew 3se this scope for managed bean ob/ects that are needed only withinthe current !iew acti!ity and not across !iew acti!ities. 1t defines
scope for each !iew port that ADF 'ontroller manages for e#ample
a root browser window or an ADF region.
"he life span of this scope begins and ends when the
current vie(,dof a !iew port changes. 1f you specify !iew the
application retains managed bean ob/ects used on a page as long as
the user continues to interact with the page. "hese ob/ects are
automatically released when the user lea!es the page.
request 3se request scope when the managed bean does not need to persist
longer than the current request.
bac)ingBean
A bac)ing bean is a con!ention to describe a managed bean thatstores accessors for 31 components and e!ent handling code on a
JSF page. 1t e#ists for the duration of a request and should not be
-
7/23/2019 adf interview questions and ansewrs.docx
19/85
Sco'e Descri'tion
used to maintain state.
3se this scope if it is possible that your tas) flow appears in two ADF
regions on the same JSF page and you want to isolate each instanceof ADF region.
Q : o! to S+i' )alidation in ADF using S+i')alidation,
A : "his method mainly used for (odel layer!alidation s)ip.
ADF has a !ery robust !alidation framewor). 5alidations can be added at different
layers -!iew model and business ser!ices based on your application?s requirement.
"o learn more about the ADF !alidation framewor) please go through the Fusion
Developer's Guide for Oracle Application Development Framework.
"hat said howe!er in a real business scenario there are cases where the !alidation
needs to be s)ipped -or by passed conditionally while submitting the form. "his
post discusses this topic with some common use cases.
8ee' i//ediate=true
A !ery common way to s)ip !alidation is by )eeping the !alue for immediate
attribute as ?true? for the 31'omponents. 1mmediate attribute allow processing of
components to mo!e up to the Apply *equest 5alues phase of the lifecycle.
scenario:
-
7/23/2019 adf interview questions and ansewrs.docx
20/85
Sometimes you may need to update 31 controls with model data as part of the
Kimmediate2 action. +a)e sure that you call resetValue()on the 311nput in this
scenario. "his causes to reset the submitted !alue and would ensure that 31 gets
updated with right !alue from the model.
S+i')alidation
Another approach is to use S)ip5alidation property associated with the page
definition file.Ski#Validation by pass the model layer !alidation based on the
specified parameter !alue.
%lease note that:
L. "his doesn2t ha!e any impact on JSF0ADF 4ifecycle.
6. "his property doesn2t ha!e any effect on the client side !alidation -e!en if it is
generated using the 74 bound with model layer
!ere can " locate S#ipValidation$
S)ip5alidation can be located as part of the root node of the page definition file.
http://java.sun.com/javaee/javaserverfaces/1.2/docs/api/javax/faces/component/UIInput.html#resetValue()http://java.sun.com/javaee/javaserverfaces/1.2/docs/api/javax/faces/component/UIInput.html#resetValue() -
7/23/2019 adf interview questions and ansewrs.docx
21/85
%ossible !alues for S)ip5alidation are gi!en below.
-
7/23/2019 adf interview questions and ansewrs.docx
22/85
a1 S+i')alidation=true
Setting KS)ip5alidation2 property to true will bypass the ADF +odel !alidation. 1n
this case !alidation happens only when you commit the transaction- i.e: when you
call transaction.commit-. %lease note that S)ip5alidation s)ips only the entity
le!el !alidation. "he attribute le!el !alidation fire irrespecti!e of the !alue for the
boolean flag
-
7/23/2019 adf interview questions and ansewrs.docx
23/85
Scenario:
"his is useful where you need to delay the !alidation till the point where transaction
gets committed to Database. "here are cases where business data needs to be
captured in bul). A typical e#ample would be capturing transaction data using a grid
form0tabular list. Business user must be able to )ey in !alues in any order. i.e. e!en
without completing the data capture for the current record user must be able to
mo!e to ne#t set of records. $ere model le!el !alidation needs to be delayed till we
really sa!e the data. S)ip5alidationtrue is the right option to achie!e this sort of
use case which does the !alidation across records only while committing the
transaction.
b1 S+i')alidation=custo/
1n this case framewor) !alidates only the ?'ustom5alidator? specified in page
definition file.
"he !alue of the ?'ustom5alidator? property would be an 74 e#pression that
e!aluates to a bean that implements the @oracle.binding.Binding'ontainer5alidator
interface@
-
7/23/2019 adf interview questions and ansewrs.docx
24/85
Scenario:
"his gi!es more control to the de!eloper while !alidating the data. Only !alidates-or
rather e#ecutes what is gi!en in custom implementation for
Binding'ontainer5alidator. 1t is much useful in comple# business scenarios where
de!eloper needs finer control on !alidation.
-
7/23/2019 adf interview questions and ansewrs.docx
25/85
c1 S+i')alidation=s+i'Data%ontrols
s)ipData'ontrols means that it will s)ip the data control le!el !alidation -also
)nown as "ransaction 4e!el !alidation and instead only will !alidate data in the row
or rows which got updated through iterator in the current binding container.
Scenario:
"he property is !ery much useful while dealing with below gi!en scenarios.
L. A single entity is mapped to multiple tabs in a page.
6. Same page is ma)ing use of multiple Data 'ontrols. $ere commit on one Data
'ontrol should not trigger !alidation on other Data 'ontrols defined in the same
page.
d1 S+i')alidation=false
"his is the default !alue for S)ip5alidation apparently this setting /ust ensures the
normal flow for !alidation during form submission.
Q1W"at are >ntity Ob?ects,
A: >ntity ob?ects are Data Access Ob?ects .DAOs that are responsible for
persisting = caching data !alidation and encapsulating business rules.
-
7/23/2019 adf interview questions and ansewrs.docx
26/85
M *epresent a database table or other data source.
M $andles database caching.
M 'ontains attributes representing the database columns.
M 7ncapsulates attribute9le!el and entity Nle!el !alidation logic.
M 'an contain custom business methods.
Q : %an an entity ob?ect be based on t!o Database Ob?ects.tables
-
7/23/2019 adf interview questions and ansewrs.docx
27/85
M 'annot be used for insert update or delete.
. 3se S49based !iew ob/ects for query Nonly !iews which do not need the
functionality of entity ob/ects.
Q1W"at is A''lication (odule,
A: An ADF components application module is a ser!ice ob/ect thatcoordinates !iew
ob/ects for a specific tas) in the same way that a form usually encapsulates a single
user tas). 1t contains only the business ser!ices that the application requires and
can be compared to a Forms module.
An application module can represent and assist with tas)s such as:
M 3pdating customer information
M 'reating new order
M %rocessing salary increases.
Q1W"at is *ie! lin+, o! to create it, W"at is idea be"ind it,
A:)ie! Lin+ is an acti*e lin+ bet!een *ie! ob?ects1Cou can create *ie!
lin+s by 'ro*iding t"e Source destination )O attributes1
Oracle ADF !iew lin)s are business components that define a relationship between
two Oracle ADF !iew ob/ect definitions -the @source@ and @destination@ !iew ob/ects
based on sets of !iew attributes -the @source@ and @destination@ attributes from
each.
"hese can range from simple one;to;/anyrelationships to comple#/any;to;
/any relationships. "his allows you to easily create master0detail relationships
between data controls in the client. For e#ample creating a !iew lin) between !iew
ob/ects will allow you to create relationships between:
A dropdown list for selecting a customer and a table displaying that
customer?s orders
"he nodes in a tree control and their respecti!e children An $"+4 page containing two frames: one that allows the user to browse for
items and the other that lists the wherehouses in which the selected item is stored
)ie! Lin+s can be created using:
L. "wo 5iew ob/ects
-
7/23/2019 adf interview questions and ansewrs.docx
28/85
6. Based on 7O Association
)ie! Lin+s and Queries
A !iew lin) definition relates two !iew ob/ect definitions. 1n the !ast ma/ority of
cases the !iew ob/ect definitions will contain S4 queries that access a databaseand the !iew lin) definition will relate those queries using a
parametri&ed
-
7/23/2019 adf interview questions and ansewrs.docx
29/85
SELECT * FROM CUSTOMERS WHERE CUSTOMERS.CUSTOMER_ID = 101
Q1 %an you /a+e )ie! Lin+ bidirectional,
A: 8es you can ma)e a !iew lin) bidirectional.
1t2s handled by !iew lin) query.
5iew 4in)s created on Association are also bidirectional.
Q1 o! to create read only )O,
A: O to >O association 'ossible li+e )O, #f yes "o!,
Direct 7O97O association is possible.
1n Jde!eloper select option K,ew Association@ Qi!e name to association selectattributes in source = destination 7os.
21 One;to;/anyrelationships based on foreign )eys.
31 A single /any;to;/any association corresponds tot!o foreign
+ey relationships:
-
7/23/2019 adf interview questions and ansewrs.docx
30/85
A one9to9many relationship between the source table and a third table
the intersectiontable
A one9to9many relationship between the destination table and the intersection
table.
Q1 W"at is %ontrol "int,
A: 'ontrol hints are additional attribute settingsthat the !iew layer can use to
automatically display the queried information to the user in a consistent locale9
sensiti!e way.
JDe!eloper manages storing the hints in a way that is easy to locali&e for multi9
lingual applications.
3sed to set: %arameters in screenshot
-
7/23/2019 adf interview questions and ansewrs.docx
31/85
>&1 4u/ber@ 4u/ber for/at@ Date For/at etc1
Q: W"at are U# ints List U# ints,
A:U# ints: )O ;E Query ;E %reate or >dit *ie! criteria ;E clic+ 5ab U# ints
3se to specify the default properties for a query search component2s runtime usage
of indi!idual named !iew criteria. ,amed !iew criteria that you create for !iew
ob/ect collections can be used by the web page designer to create query9by9
e#ample search forms.
-
7/23/2019 adf interview questions and ansewrs.docx
32/85
List U# ints: O'en *ie!;ob?ect ;E List U# ints
3se to specify default 4O5 -list of !alues hints when you want the 4O59enabled
attributes of other !iew ob/ects to inherit the list 31 hints from the current !iew
ob/ect. 3se to specify the type of 4O5 -list of !alues component and one or more
attributes to display in the 4O5 for the attributes that you will 4O59enabled.
Additionally you can set properties of the 4O5 component to customi&e it beha!ior
in the user interface.
-
7/23/2019 adf interview questions and ansewrs.docx
33/85
Q: W"at are t"e security a''lication layers "o! t"ey "andled in Oracle
ADF,
-
7/23/2019 adf interview questions and ansewrs.docx
34/85
Q: W"at is 'olicy store and identity store in O#D,
A: 1dentity Store is used to store information about users and groups while the
%olicy Store is used to store information about security policies.
Q: W"at is t"e difference bet!een databindings1c'& and datacontrol1dc&,
A: "he Data-indings1c'&file contains the Oracle ADF binding conte#t for your
entire application and pro!ides the metadata from which the Oracle ADF binding
ob/ects are created at runtime.
"he Data%ontrols1dc&file is created when you register data controls on thebusiness ser!ices. "his file is not generated for Oracle ADF Business 'omponents. 1t
identifies the Oracle ADF model layer data control classes-factory classes that
facilitate the interaction between the client and the a!ailable business ser!ice.
Q: W"at is binding conte&t and binding container,
-
7/23/2019 adf interview questions and ansewrs.docx
35/85
A: -inding conte&tis a runtime map between the data controls and page
definition of pages in the application which is used to access the binding layer. 1t is
accessible through the 74 e#pression in your /sp# pages.
-inding containeris a request9scoped map that is used to instantiate the page
bindings. "his is accessible through the 74 e#pressions. Also since it is request9
scoped map it is accessible during e!ery page request.
Q: W"at are t"e different ty'es of bindings in ADF,
A: ADF contains the following types of bindings:
(et"od -indings: "his binding is used when you want to use custom methods to
be e#ecuted.
Attribute -indings: "his is the binding to retrie!e the !alue of a single !iew
attribute in the iterator binding2s current !iew row. For egC
GHbindings.'ustomer1d.1nput5alueI
5ree -indings: "his is used for tables tree9tables and trees. 1t is used to e#pose
rows of a table in the iterator binding2s current range. 7gC All 'ustomers9GHbindings.All'ustomers.labels.'ustomer1dI
Action -indings: "his binding type is used when buttons or command lin)s are
dropped on the user interface and require an action to be performed on them.
-
7/23/2019 adf interview questions and ansewrs.docx
36/85
A : Ser!ice +ethods can return Scalar or %rimiti!e Data types.
Q : %an Ser*ice (et"ods return ty'e )oid,
A : 8es Ser!ice +ethods can *eturn type 5oid
Q : %an Ser*ice (et"ods return %o/'le& Data ty'es,
A : ,o ser!ice methods can return only primiti!e0scalar data types.
Q : W"ic" co/'onent in ADF -% /anages transaction ,
A : Application +odule manages transaction.
Q : %an an entity ob?ect be based on t!o Database Ob?ects.tables
-
7/23/2019 adf interview questions and ansewrs.docx
37/85
A: 3se the faces9config.#ml file to register a Framewor) application2s resources
such as custom !alidators and managed beans and to define all page9to9page
na!igation rules.
Q : #n !"ic" &/l do you configure t"e s+in for your fra/e!or+ a''lication,
A: trinidad9config.#ml
Q : o! do you decide !"et"er t"e a''lication s"ould be de'loyed as an
>AR or a WAR,
A: 1f the application contains run9time customi&ations using +DS it must be
bundles as an 7A*. For simple webcenter portal application with no such
customi&ations
-
7/23/2019 adf interview questions and ansewrs.docx
38/85
Q8 *6&lain Data Control /alette hierarch#
A8 Data Control /alette hierarch#8(e Data %ontrol -alette displays two types of actions:
Actions tat typically operate on all data collections in te current web page1s binding
conte/t &suc as %ommit and 7ollback' in te Operations folder at te root level of teierarcy.
Operations on a specific data collection &for e/ample, #y$iew9'. Data collection"specific
operations &suc as %reate and Delete' appear in te Operations folder as cild nodes of tecollection in te Data %ontrol -alette.Q8 Write code to access the current row and or the view object inside your
bean.
A: code to access the current row and or the view object inside your bean:
BindingContainer c 4BindingContext.getCurrent#$.getCurrentBindings2ntry#$
DCBindingContainer dcc 4 #DCBindingContainer$ c
DC,teratorBinding lBinding 4dcc.find,teratorBinding#;2mployeesie(,terator;$
2mployeesie(!o( ro( 4 #2mployeesie(!o($ lBinding.getCurrent!o(#$
2mployeesie( vie( 4 #2mployeesie($ lBinding.getie(+ject#$
You have to change the iterator name 'EmployeesViewIterator' to the name of your
VO iterator loo! it up in the page bindings" and the classes Employees#
Q: How many types of VOs we can create in Oracle ADF
A:$here are four types of VOs we can create as shown in below image% select radiobutton & create VO#
-
7/23/2019 adf interview questions and ansewrs.docx
39/85
L. U'datable )O-3pdatable access through entity ob/ects 9 $ere 7O need to be
created for updatable 5Os.
6. Read only )O-*ead9only access through Sl query 9 ,o need to create 7O5Os can be created using S4 queries table or !iews.
R. Ro!s 'o'ulated 'ro;gra//atically not based on query 9 "his is also read9
only !iew. $ere add one or more attributes to use in program. 1n the Attribute
Settings page ad/ust any setting you may need to for the attributes you defined.
. Static )O -*ows populated at design time9 Static 4ist: 8ou use the 'reate 5iew
Ob/ect wi&ard to create static !iew ob/ects. "he wi&ard lets you define the desired
attributes -columns and enter as many rows of data as necessary. "he wi&ard
displays the static data table as you create it.
8ou can also use the 'reate 5iew Ob/ect wi&ard to create the attributes based on
data from a comma9separated !alue -'S5 file format li)e a spreadsheet file. "he
wi&ard will attempt to create the attributes that you define in the wi&ard with data
from the first row of the flat file.
-
7/23/2019 adf interview questions and ansewrs.docx
40/85
'hec) below image9 circled import option is to import comma separated .c!s file or
other file.
Q: %an !e c"ange D- connection for any 'articular A(,
A: 87S follow steps to change DB connection:
L. Double clic) on A+.
6. QO to the configuration tab clic) on configuration file bc7?1&/l
R. $ere we ha!e attribute JDB',ame under element App+odule'onfig change the
connection which is created for other DB.
Q: W"at is *ie! criteria@ "o! can you c"ange *ie! criteria at runti/e,
A: )ie! %riteria: 5iew criteria are structured criteria that you can use to create
searches.
5iew criteria are collections of !iew criteria rows. A !iew criteria row specifies
query9by9e#ample requirements for one or more !iew ob/ect attributes. A !iew row
matches if it meets all of the requirements.
-
7/23/2019 adf interview questions and ansewrs.docx
41/85
therefore !iew criteria assemble a
-
7/23/2019 adf interview questions and ansewrs.docx
42/85
Q: W"at is -undled >&ce'tion (ode in ADF,
A: An application module pro!ides a feature called bundled e#ception mode which
allows web applications to easily present a ma#imal set of failed !alidation
e#ceptions to the end user instead of presenting only the first error that gets
raised. By default the ADF Business 'omponents application module pool enables
bundled e#ception mode for web applications.
8ou typically will not need to change this default setting. $owe!er it is important to
understand that it is enabled by default since it effects how !alidation e#ceptions
are thrown. Since the Ja!a language and runtime only support throwing a single
e#ception ob/ect the way that bundled !alidation e#ceptions are implemented is by
wrapping a set of e#ceptions as details of a new @parent@ e#ception that contains
them. For e#ample if multiple attributes in a single entity ob/ect fail attribute9le!el
!alidation then these multiplealidation2xception
ob/ects will be wrapped in
a!o(al2xception. "his wrapping e#ception contains the row )ey of the row that
has failed !alidation. At transaction commit time if multiple rows do not
successfully pass the !alidation performed during commit then all of
the !o(al2xceptionob/ects will get wrapped in an enclosing "#n5al7#ception
ob/ect.
-
7/23/2019 adf interview questions and ansewrs.docx
43/85
"as) flows pass the control not only between JSF pages but also between other
acti!ities for instance method calls or other tas) flows.
,ote:
1n fusion web application na!igation and declaration of managed bean are ta)en
care by adfc9config e!en though faces9config.#ml file is required for JSF9relatedfunctions such as defining global resource bundles and data type con!erters.
Difference bet!een JSF Page Flo! ADF 5as+ Flo!:
JSF Page Flo!:
# "he entire application must be represented in a single page na!igation file-faces9config.#ml. Although you can ha!e multiple copies of faces9config.#ml in a
pro/ect the application loads these files as one at runtime.
(# All nodes within a JSF page flow must be JSF pages. ,o other types ofob/ects can e#ist within the JSF page flow.
)# ,a!igation is only between pages.
*# Application fragments cannot be reused.+# "here is no shared memory scope between multiple requests e#cept for
session scope.
ADF 5as+ Flo!:
# "he application can be bro)en up into a series of modular flows that call oneanother.
(# 8ou can add to the tas) flow diagram nodes such as !iews method calls andcalls to other tas) flows.
)# ,a!igation is between pages as well as other acti!ities including routers.*# ADF tas) flows are reusable within the same or an entirely different
application. After you brea) up your application into tas) flows you may decide toreuse tas) flows containing common functionality.
+# Shared memory scope -for e#ample page flow scope enables data to bepassed between acti!ities within the tas) flow. %age flow scope defines a unique
storage area for each instance of an ADF bounded tas) flow.
"as) flows pro!ide a more modular and transaction9aware approach to na!igation
and application control.
Aside from pages tas) flows can also coordinate page fragments. %age fragments
are JSF JS% documents that are rendered as content in other JSF pages. 8ou can
create page fragments and the control between them in a bounded tas) flow as youwould create pages and then insert the entire tas) flow into another page as a
region.
Unbounded 5as+ Flo!s: A set of acti!ities control flow rules and managed
beans that interact to allow a user to complete a tas). An ADF unbounded tas)
flow consists of all acti!ities and control flows in an application that are not
-
7/23/2019 adf interview questions and ansewrs.docx
44/85
included within any bounded tas) flow.
1t is similar to the JSF page flow#
-
7/23/2019 adf interview questions and ansewrs.docx
45/85
A''lication 9 "he application scope lasts until the application stops. 5alues
that you store in a managed bean with this scope are a!ailable to e!ery session and
e!ery request that uses the application.
A!oid using this scope in a tas) flow because it persists beyond the life span of the
tas) flow
Session 9 "he session scope begins when a user first accesses a page in the
application and ends when the user?s session times out due to inacti!ity or whenthe application in!alidates the session.
3se this scope only for information that is rele!ant to the whole session such asuser or conte#t information. A!oid using it to pass !alues from one tas) flow to
another. 1nstead use parameters to pass !alues between tas) flows. 3sing
parameters gi!es your tas) flow a clear contract with other tas) flows that call it or
are called by it. Another reason to a!oid use of session scope is because it may
persist beyond the life span of the tas) flow.
'ageFlo! 9 A managed bean that has a pageFlow scope shares state with
pages from the tas) flow that access it. A managed bean that has a pageFlow scopee#ists for the life span of the tas) flow.
1f another tas) flow2s page references the managed bean the managed
bean creates a separate instance of this ob/ect and adds it to the pageFlow scope of
its tas) flow.
8ou can specify page flow scope as the memory scope for passing data between
acti!ities within the ADF bounded tas) flow. %age flow scope defines a unique
storage area for each instance of an ADF bounded tas) flow. 1ts lifespan is the ADF
bounded tas) flow which is longer than request scope and shorter than session
scope.
-
7/23/2019 adf interview questions and ansewrs.docx
46/85
)ie! 9 3se this scope for managed bean ob/ects that are needed only within
the current !iew acti!ity and not across !iew acti!ities. 1t defines scope for each
!iew port that ADF 'ontroller manages for e#ample a root browser window or an
ADF region."he life span of this scope begins and ends when the current !iew1d of a !iew port
changes. 1f you specify !iew the application retains managed bean ob/ects used ona page as long as the user continues to interact with the page. "hese ob/ects are
automatically released when the user lea!es the page.
Request N 3se request scope when the managed bean does not need to
persist longer than the current request.
-ac+ing -ean 9 A bac)ing bean is a con!ention to describe a managed bean
that stores accessors for 31 components and e!ent handling code on a JSF page. 1t
e#ists for the duration of a request and should not be used to maintain state.
3se this scope if it is possible that your tas) flow appears in two ADF regions on the
same JSF page and you want to isolate each instance of ADF region.
Q : W"at are t"e different ty'es
-
7/23/2019 adf interview questions and ansewrs.docx
47/85
Single 'oint of entry : An ADF bounded tas) flow has a single point of
entry a default acti!ity that e#ecutes before all other acti!ities in the tas) flow.
Page flo! /e/ory sco'e : 8ou can specify page flow scope as the
memory scope for passing data between acti!ities within the ADF bounded tas)
flow. %age flow scope defines a unique storage area for each instance of an ADF
bounded tas) flow. 1ts lifespan is the ADF bounded tas) flow which is longer thanrequest scope and shorter than session scope.
Addressable :8ou can access an ADF bounded tas) flow by specifying its
unique identifier within the +4 source file for the bounded tas) flow and the file
name of the +4 source file. For more information.
Reuse: 8ou can identify an entire group of acti!ities as a single entity an
ADF bounded tas) flow and reuse the bounded tas) flow in another applicationwithin an ADF region. For e#ample the $ot 1tems and Start Shopping tabs on thehome page of the Fusion Order Demo application reuse the same tas) flow
embedded in a region. Different parameters are passed to each region to determine
the lists of products that display.
8ou can also reuse an e#isting bounded tas) flow simply by calling it. For e#ample
one tas) flow can call another bounded tas) flow using a tas) flow call acti!ity or a
3*4.
1n addition you can use tas) flow templates to capture common beha!iors for
reuse across different ADF bounded tas) flows.
Para/eters and return *alues: A caller can pass input parameters to an
ADF bounded tas) flow and accept return !alues from it.
1n addition you can share data controls between bounded tas) flows.
-
7/23/2019 adf interview questions and ansewrs.docx
48/85
5ransaction /anage/ent:An ADF bounded tas) flow can represent a
transactional unit of wor). 8ou can declarati!ely specify options on the bounded
tas) flow that determine whether when entering the tas) flow the tas) flow
creates a new transaction /oins an e#isting one or is not part of the e#istingtransaction.
Reentry :8ou can specify options on the bounded tas) flow that determine
whether or not it can be reentered.
On;de/and loading of /etadata :ADF bounded tas) flow metadata is
loaded on demand when entering an ADF bounded tas) flow.
Security: 8ou can secure an ADF bounded tas) flow by defining the
pri!ileges that are required for someone to use it.
Q: W"at is tas+flo! , "o! /any ty'e of tas+flo! adf su''ort,
Ans: "as)flow is the 'omponent of Oracle ADF which is used to define simple tas).
After successfully defining tas)9flow can consume any number of time.
ADF support two )ind of tas)flow:
-ounded 5as+Flo! :Bonded tas)flow require the page on which they will
consume. An ADF bounded tas) flow is used to encapsulate a reusable portion
of an application. A bounded tas) flow is similar to a Ja!a method in that it:
# $as a single entry point(# +ay accept input parameters
)# +ay generate return !alues
*# $as its own collection of acti!ities and control flow rules
+# $as its own memory scope and managed bean lifespan -a page flow scope
instance
Un-ounded 5as+Flo!: 3nbounded tas)flows can directly run on browser
Q: %an bounded tas+flo! run on bro!ser,
Ans: ,O
Q: o! to de*elo' reusable tas+flo! in ADF,
Ans: %lease fins the step below
Define tas)flow
Define deployment profile as ADF 4ibrary /ar
-
7/23/2019 adf interview questions and ansewrs.docx
49/85
Deploy adf /ar file
Open new pro/ect where you want to consume the tas) flow.
Add newly created /ar of tas)flow pro/ect
go to component palate 8ou will find your /ar name select it.
1t will show list of tas)flow which you ha!e de!eloped. Drag drop your tas)flow as region on /sff0/sp# page and run an application
Q: W"at are different sco'e of adf tas+flo!,
Ans:1solate0Shared
Shared scope will share data among the multiple instance of tas)flows while
1solated doesn?t.
Q: o! can you force ADF tas+flo! to use ne! transaction e*eryti/e
tas+flo! is called,
Ans: Qo tas)flow o!er!iew and you will find Share data controls with calling tas)
flow option as shown below
Select always begin new transaction fron dropdown
Q: o! to use sa/e transaction in ADF tas+flo!,
Ans Select Always 3se e#isting "ransaction option.
Q o! can you 'ass 'ara/eter to adf tas+flo!,
Ans: Qo to o!er!iew select parameters lin) it will show screen li)e
$ere you can add multiple parameter which you want to pass to ta)flow while
loading it.
-
7/23/2019 adf interview questions and ansewrs.docx
50/85
Q: >&'lain t"e 'ur'ose of using %ontrols flo! in adf,
Ans:'ontrols flow defined in tas)flow can be called anytime from any page of that
tas)flow.
if you ha!e same flow for multiple pages /ust define the control flow once in
tas)flow. 8ou can in!o)e it anytime from any action e!ent.
Q: W"at is t"e be"a*ior of router in ADF tas+flo!,
Ans : Based on some condition router can decide which route need to be follow. 1f
none of condition match in that case router will follow default route defined by
used.
Q: o! can na*igation define in tas+flo!,
Ans : ,a!igation can be defined in tas)flow using control flows and in!o)ed by
/sff0/sp# page using action e!ent li)e button lin) etc.
Q: %an ADF tas+ flo! "old /ore t"an 2 *ie! acti*ity,Ans: 8es. ADF tas)flow can ha!e multiple !iew acti!ity but L acti!ity has to be
defined as default acti!ity.
Q: W"at is t"e Parent Action Acti*ity in ADF 5as+flo!,
Ans: %arent action acti!ity using it you can in!o)e the 'ontrol flow define in parent
tas)flow from child tas)flow.
3sed to create new tas) flow using e#isting tas) flow.
Q: W"at is /et"od acti*ity in Adf 5as+flo!,
Ans: 3sing this acti!ity you can in!o)e a method defined in manage9bean.
Q: o! to initiali$e ADF 5as+flo!,
Ans: Open the tas)flow in O*er*ie! +ode select eneral optionthere is
initialli&er property.
you can pro!ide the any method reference which will get in!o)ed whene!er
tas)flow instance created.
Q: o! to con*ert an ADF bounded tas+ flo! to Unbounded 5as+Flo! or Page Frag/ents,
Ans: 1n the editor open the bounded tas) flow diagram.
*ight9clic) anywhere in the diagram other than on an acti!ity or control flow.
'hoose a menu item such as %on*ert to Unbounded 5as+ Flo!or %on*ert to
5as+ Flo! !it" Page Frag/ents.
-
7/23/2019 adf interview questions and ansewrs.docx
51/85
1f the bounded tas) flow contains fragments the menu item will be %on*ert to
5as+ Flo! !it" Pages.
Q: o! to use sa/e *alue in /ulti'le acti*ities of a 5as+ Flo!,
Ans:
3sing Shared memory scope -for e#ample page flow scope enables data to
be passed between acti!ities within the tas) flow.
%age flow scope defines a unique storage area for each instance of an ADF
bounded tas) flow.
Any managed beans you decide to use within tas)9flow can be specified in
page flow scope so are isolated from the rest of the applicationQ: W"at are entry 'oints for tas+ flo!,
Ans: "his tas) flow contains a number of *ie! acti*itiesthat are all entry points
to the application.
Q: o! can one bounded tas+ flo! can call anot"er,
Ans:One tas) flow can call another bounded tas) flow using a tas) flow call acti!ity
or a 3*4.
Q: o! to identify default acti*ity in bounded tas+ flo!,
Ans: A green circle identifies the default acti!ity in a tas) flow
diagram.
"he first acti!ity that you add to a new ADF bounded tas) flow diagram is
automatically identified as the default acti!ity.
8ou can also right9clic) any acti!ity in the tas) flow diagram and choose (ar+
Acti*ity E Default Acti*ity.
"he default can be any acti!ity type and it can be located anywhere in the control
flow of the ADF bounded tas) flow.
-
7/23/2019 adf interview questions and ansewrs.docx
52/85
"o find the default acti!ity right9clic) anywhere on the tas) flow diagram and
choose o to Default Acti*ity.
5as+ Flo! Acti*ities:
(et"od %all:1n!o)es a method typically a method on a managed bean. A
method call acti!ity can be placed anywhere within an application2s control flow to
in!o)e application logic based on control flow rules.
Parent Action:Allows a bounded tas) flow to generate outcomes that are
passed to its parent !iew acti!ity.
Router: 7!aluates an 74 e#pression and returns an outcome based on the
!alue of the e#pression. For e#ample a router in a credit chec) tas) flow mighte!aluate the return !alue from a pre!ious method call and generate success
failure or retry outcomes based on !arious cases. "hese outcomes can then be
used to route control to other acti!ities in the tas) flow.
Sa*e Point Restore:*estores a pre!ious persistent sa!e pointincluding application state and data in an application supporting sa!e for laterfunctionality.
5as+ Flo! %all:'alls a bounded tas) flow from an unbounded tas) flow or
another bounded tas) flow.
5as+ Flo! Return:1dentifies when a bounded tas) flow completes and
sends control flow bac) to the caller. -A!ailable for bounded tas) flows only.
URL )ie!:*edirects the root !iew port -for e#ample a browser page to
any 3*49addressable resource e!en from within the conte#t of an ADF region. )ie!: Displays a JSF page or page fragment. +ultiple !iew acti!ities can
represent the same page or same page fragment.
%ontrol Flo! %ase: 1dentifies how control passes from one acti!ity to the
ne#t in the application.
Wildcard %ontrol Flo! Rule: *epresents a control flow case that can
originate from any acti!ities whose 1Ds match a wildcard e#pression. For e#ample
it can represent a control case from9acti!ity9id containing a trailing wildcard such as
fooT.
Q1 #f you !ant to s"o! infor/ation to end users in a secondary bro!ser@
"o! !ill you s"o!,
Ans: 3se dialogs option from acti!ities.
>&a/'les:
L. you want to display help information to end users to assist them with a tas) in
the primary browser window
-
7/23/2019 adf interview questions and ansewrs.docx
53/85
6. you want end users to select a !alue from a list of !alues.
Oracle ADF UI & Data Visualization Components Interview questions
and answers
Q: W"at are t"e ADF te/'lates@ ?s'& 'ages@ ?sff 'age declarati*e
co/'onents,
A: ADF Faces pro!ides the following types of reusable building bloc)s
Page frag/ents.1?sff0:%age fragments allow you to create parts of a page. A
JSF page can be made up of one or more page fragments. For e#ample a large JSF
page can be bro)en up into se!eral smaller page fragments for easier
maintenance.
-
7/23/2019 adf interview questions and ansewrs.docx
54/85
throughout the application.
Declarati!e components can also be used in page templates.
Declarati!e components can also be used in other applications its possible after
creating JA* file of that component.
Q: W"at is region in Oracle ADF,A:"ag name : /af:region0
"he region tag allows dynamic content to be included in a master page. "his tag is
bound to a *egion+odel. "he model decides which !iew1d is to be included. "he
model has methods that allow pre and post processing of an include. See the
/a!adoc for oracle.adf.!iew.rich.model.*egion+odel.
"his component does not support any facets.
*egions support nesting -one af:region component can contain another af:region
component.
*egions are not allowed to be placed inside of af:for7ach c:for7ach or other
for7ach9li)e tags because of limitations in how JSF handles component 1Ds and
component state which would manifest in your application in obscure manners such
as loss of component state.
*egions are also not allowed to be placed inside of af:iterator because the region
requires bindings to be established at the tag e#ecution phase in order to perform
its JS% include operations and the !ariables for iterators are not established until
later in the life9cycle.
*egions in release LLg are reusable page flows. "hey ha!e their own na!igation
rules managed beans and ADFm page definitions. 7ach page within the region is a
page fragment -/sff. Do not confuse the LLg af:region component with the L.L.R
or "rinidad region. "he L.L.R and "rinidad region components are single pagefragments that do not ha!e multiple pages na!igation rules nor managed beans.
"he L.L.R region is similar to the LLg page templates and declarati!e components.
-
7/23/2019 adf interview questions and ansewrs.docx
55/85
"he Eaf:region will not stretch all included children but it will stretch an included
child if all of the following are true:
"he region itself does not ha!e a header
"he region itself is being stretched "here is only a single included child
"he child must be capable of being stretched
!"ample:
Q: W"at is Gf:facetE ,
A: 5"is tag is used to add a facet to t"e co/'onent /eans t"is tag is used
to add its c"ild as a facet of t"e closest 'arent co/'onent1
-
7/23/2019 adf interview questions and ansewrs.docx
56/85
1t ha!e two attributes :
From N the source of the !alueC can be an 74 e#pression or a constant !alue
"o N the target for the !alueC must be an 74 e#pression
Laf:setAction%istenerfrom4;>ro(.salary?;
"his setAction4istener will pic) !alue of salary of that row and store this !alue into
salaryL !ariable.So anyone can use this salary as processScope.salaryL.
1t is !ery simple to use and !ery useful.
Q: o! to 'ass )alues -et!een Pages,
A:$he A12 2aces pageFlo('copescope ma!es it easier to pass values from one page
to another% thus enabling you to develop master3detail pages more easily# Valuesadded to thepageFlo('copescope automatically continue to be available as the user
navigates from one page to another% even if you use a redirectdirective# 4ut
unli!e sessionscope% these values are visible only in the current page 5ow or
process# If the user opens a new window and starts navigating% that series of
windows will have its own process# Values stored in each window remain
independent#
6i!e objects stored in any standard 782 scope% objects stored in the pageFlo(scopecan be accessed through E6 e9pressions# $he only dierence withthe pageFlo(scope is that the object names must use the pageFlo('copepre;9# 2ore9ample% to have a button's label provided by a managed bean stored inthe pageFlo(scope% and to have a method on the bean called when the button isselected% you might use the following code on your page:
af:commandButton text4;>pageFlo('cope.uttonBean.lael?; action4;>pageFlo('cope.uttonBean.action?;/
$he pageFlo('copeis a java.util.7apobject that may be accessed from 7ava code#
$he set&roperty%istenertag allows you to set property values onto a scope% and
also allows you to de;ne the event the tag should listen for# 2or e9ample% when you
-
7/23/2019 adf interview questions and ansewrs.docx
57/85
use the set&roperty%istenertag with the typeattribute set to action% it provides a
declarative way to cause an action source for e9ample% commandButton" to set a
value before navigation# You can use the pageFlo('copescope with
the set&roperty%istenertag to pass values from one page to another% without
writing any 7ava code in a bac!ing bean# 2or e9ample% you might have one page
that uses the set&roperty%istenertag and a command component to set a value inthe pageFlo('copescope% and another page whose te9t components use
the pageFlo('copescope to retrieve their values#
You can also use the pageFlo('copescope to set values between secondary windows
such as dialogs#
-
7/23/2019 adf interview questions and ansewrs.docx
58/85
-# "o clear the pageFlo('copescope access it and then manually clear it.
For e#ample you might use the following Ja!a code to clear the scope:
W. *equest'onte#t af'onte#t *equest'onte#t.get'urrent1nstance-C
af'onte#t.get%ageFlowScope-.clear-C
Q1 o! to 'ass HHaf:selectOne%"oiceHH*alue to ot"er 'age,
A: Add value&ass6hru4;true;attribute to select list.
Q1 W"at are ty'es of ADF Faces co/'onents,
A: ADF Faces co/'onents:
Data components
1nput components
4ayout components
,a!igational components
Output components
Q1 W"y Hti/eIoneH attribute is required !"en Gaf:con*ertDate5i/e is
used,
A:
-
7/23/2019 adf interview questions and ansewrs.docx
59/85
E0af:input"e#t
Q: W"at is t"e difference bet!een trinidad1config and trinidad1s+ins,
A: trinidad.config file is ceated when you create a webcenter portal application. "his
is used to register the s)in9family you are going to use for your entire application.
"rinidad.s)ins is used when we use s)in as a Jar file. "his file pro!ides a mapping
between the S)in 1d and the actual path where the s)in e#ists.
Q: W"at is t"e difference bet!een an action and an action listener,
A: Actions are designed for business logic and participate in na!igation handling
whereas action listeners typically perform user interface logic and do not participatein na!igation handling.
Action listener is a class that wants to be notified when a command component fires
an action e!ent.
Action returns String Action4istner returns !oid.
Action used for page navigation with faces3con;g#9ml or adf3con;g#9ml% Action6istner is used for event handling% to retrieve data & otheroperations% its used with bac!ing beans or bindings#
Action use 3 for page navigation% Action6istner use 3 chec! bo9% drop downbo9#
Q: W"at is a *ie! sco'e,
A: !iew9state allocates a new !iewScope when it enters. "his scope may be
referenced within the !iew9state to assign !ariables that should li!e for the duration
of the state. "his scope is useful for manipulating ob/ects o!er a series of requests
from the same !iew.
Q: W"at is t"e difference bet!een *isible 'ro'erty and render 'ro'erty
A: "he !isible property is set to true0false based on the requirement whether we
want to see the field on the page or not at run time. "he field or component still
e#ists on the page though hidden. "he render property is used to conditionally load
the component based on a criteria.
-
7/23/2019 adf interview questions and ansewrs.docx
60/85
Q: o! do you define 'agination in adf,
A: 1t was not possible to do pagination on af:tablecomponent before *L release
LL.L.L.] although this feature was e#ist in Lg but not a!ailable in pre!ious LLg
series. -*ef blog 9 Click here..
1n LLg series there were some customi&ation approach for pagination:
L.
-
7/23/2019 adf interview questions and ansewrs.docx
61/85
product from the list and clic) on submit the other portlet displays the details of
the respecti!e product.
Q1 o! to do table 'agination in Oracle ADF,
A: "his feature has brought bac) from Lg to new *L release LLg9%SV -L.L.L.].
Qo through blog: Click here..
Q: o! 5o %ontrol ADF 5able Pagination on Runti/e and Do %ase
#nsensiti*e Searc",
A: Qo through blog: Click Here..
Q : W"at is PPR and "o! do you enable Partial Page Rendering.PPR0,
A : %%* is a feature supported by ADF Faces using which we can render a small
portion of a $"+4 %age without refreshing the complete page.
1t is enabled by.9 Setting AutoSub/it property to true on the triggering element.
9 Setting the Partial5riggers property of target component to refer to component
id of the triggering element.
Q : >&'lain #terator RangeSi$e Attribute
A :1terator bindings ha!e a rangeSi&e attribute that the binding uses to determine
the number of data ob/ects to ma)e a!ailable for the page for each iteration. "his
attribute helps in situations when the number of ob/ects in the data source is quitelarge. 1nstead of returning all ob/ects the iterator binding returns only a set
number which then become accessible to the other bindings. Once the iterator
reaches the end of the range it accesses the ne#t set.
7#ample shows the default range si&e for the 'ustomer1nfo5O iterator.>&a/'le *angeSi&e Attribute for an 1terator
Eiterator Binds@'ustomer1nfo5O@
*angeSi&e@6U@ Data'ontrol@StoreSer!iceA+Data'ontrol@ id@'ustomer1nfo5OL1terator@'hange7!ent%olicy@ppr@0
By default the rangeSi&e attribute is set to 6U.
8ou can set it to 9L to ha!e the full record set returned.
http://andrejusb.blogspot.in/2013/04/adf-11g-ps6-adf-10g-table-pagination.htmlhttp://andrejusb.blogspot.in/2013/04/how-to-control-adf-table-pagination-on.htmlhttp://andrejusb.blogspot.in/2013/04/adf-11g-ps6-adf-10g-table-pagination.htmlhttp://andrejusb.blogspot.in/2013/04/how-to-control-adf-table-pagination-on.html -
7/23/2019 adf interview questions and ansewrs.docx
62/85
These are ADF Exams questions and so possible interview questions
In blue I ll try to give some possible answers or "sources for answers".
;ntroduction to Fusion and ADF
@ Describe Fusion ArcitectureCheck: Check Part I Chapter 1 : What Is Fusion? in Oracle JDeveloper 1
@ !/plain ow ADF fits into te Fusion arcitecture
(e ADF is te framework used to build Fusion eb Apps.
"he Oracle #pplication Develop$ent Fra$e%ork Oracle #DF or &ust #DF
that !ul!ills the core re)uire$ents !or a !ra$e%ork as outlined in the prece
integrates a $i+ o! sub!ra$e%orks to provide the ke, !unctions !or ob&ect(
other !or$s o! service access- data bindings- and user inter!ace- along %ihold it all together re!erence: http:..%%%*a$a/on*co*uk.Oracle(JDevelope
"his chapter describes the architecture and ke, !unctionalit, o! the Oracle
@ Describe te ADF tecnology stack $%'
%eck: ttp:55download.oracle.com5docs5cd5!9??4>BC95web.99995b>9E=5
@ Identify sources of additional information about ADF and ADF +usiness %
=hec! >?esourses> in the bottom of the blog and also po
ettin0 !tarted with %De"elo&er
@ Describe benefits tat JDeveloper provides for application development
%eck:ttp:55www.oracle.com5tecnetwork5developer"tools5)dev5)develope
@ 0tili6e common ID! mecanisms wen developing and testing componen
http://www.amazon.co.uk/Oracle-JDeveloper-11g-Handbook-Development/dp/B001NLL53Q/ref=sr_1_4?ie=UTF8&s=digital-text&qid=1294509536&sr=8-4http://download.oracle.com/docs/cd/E15523_01/web.1111/b31974/intro.htm#BHCFFJHChttp://www.oracle.com/technetwork/developer-tools/jdev/jdeveloper11g-datasheet-1-133040.pdfhttp://www.oracle.com/technetwork/developer-tools/jdev/jdeveloper11g-datasheet-1-133040.pdfhttp://www.amazon.co.uk/Oracle-JDeveloper-11g-Handbook-Development/dp/B001NLL53Q/ref=sr_1_4?ie=UTF8&s=digital-text&qid=1294509536&sr=8-4http://download.oracle.com/docs/cd/E15523_01/web.1111/b31974/intro.htm#BHCFFJHChttp://www.oracle.com/technetwork/developer-tools/jdev/jdeveloper11g-datasheet-1-133040.pdf -
7/23/2019 adf interview questions and ansewrs.docx
63/85
@ et ID! preferences based on user re2uirements
@ Initiate te creation of empty applications, pro)ects, and connections in JD
uildin0 a Data Model with ADF usiness Co'&onents
@ Describe te role of ADF +usiness %omponents in building a business se
%onnect to te database
7etrieve data
*ock database records
#anage transactions
#ore on ttp:55download.oracle.com5docs5cd5!9??4>BC95web.99995b>9E=
@ !/plain te arcitecture of ADF +%
+elow is a description of te arcitecture. Anoter more compact approa
Oracle #DF 0usiness Co$ponentsis a framework implements te +usine
(o use Oracle ADF +%, you use wi6ards in JDeveloper to create:
A&&lication Module
An application $odule is a service component tat 0I o
ou can enable a service inter!aceon any#pplication @
ou can use any application module bot as a local com
*ntit# o+,ect
An entit, ob&ect represents a row in a database table anView o+,ect
A vie% ob&ect represents a 3* 2uery and simplifies wo
(e following diagram illustrates te relationsip among application modu
http://download.oracle.com/docs/cd/E15523_01/web.1111/b31974/bcintro.htm#sm0052http://download.oracle.com/docs/cd/E15523_01/web.1111/b31974/bcintro.htm#sm0052 -
7/23/2019 adf interview questions and ansewrs.docx
64/85
@ Identify te types of components tat cooperate to provide te business s
!ntity ob)ect
An entity ob)ect represents a row in a database table and simplifies modif $iew ob)ectA view ob)ect represents a 3* 2uery and simplifies working wit its resu
Application moduleAn application module is te transactional component tat 0I clients use t
-
7/23/2019 adf interview questions and ansewrs.docx
65/85
#ore on:ttp:55download.oracle.com5docs5cd5!9??4>BC95web.99995b>9
@ !/plain ow ADF +% components are used in a eb Application
%eck: ttp:55download.oracle.com5docs5cd5!9??4>BC95web.99995b>9E=5
ttp:55download.oracle.com5docs5cd5!9??4>BC95web.99995b>9E=5bcdcpal
Quer#in0 and /ersistin0 Data
@ Describe te caracteristics of an ADF +% view ob)ect
@ %reate a view ob)ect tat can be used for performing a 2uery in a eb a
@ Define a 3* statement on wic to base a 2uery for a view ob)ect
@ !/plain ow entity ob)ects relate to database tables
@ Describe te persistence mecanism of entity ob)ects
@ 0se te %reate !ntity Ob)ect wi6ard to generate entity ob)ects from data
@ %reate associations between entity ob)ects to represent business relatio
@ %reate updatable view ob)ects based on entity ob)ects
@ *ink view ob)ects to one anoter in a master"detail ierarcy
@ 7efactor ob)ects in an application
http://download.oracle.com/docs/cd/E15523_01/web.1111/b31974/intro.htm#BHCFFJHChttp://download.oracle.com/docs/cd/E15523_01/web.1111/b31974/intro.htm#BHCFFJHChttp://download.oracle.com/docs/cd/E15523_01/web.1111/b31974/bcdcpal.htm#CIHJFEJFhttp://download.oracle.com/docs/cd/E15523_01/web.1111/b31974/bcdcpal.htm#BBJBDCHFhttp://download.oracle.com/docs/cd/E15523_01/web.1111/b31974/intro.htm#BHCFFJHChttp://download.oracle.com/docs/cd/E15523_01/web.1111/b31974/bcdcpal.htm#CIHJFEJFhttp://download.oracle.com/docs/cd/E15523_01/web.1111/b31974/bcdcpal.htm#BBJBDCHF -
7/23/2019 adf interview questions and ansewrs.docx
66/85
*6&osin0 Data to Clients
@ !/plain te role of application modules
An application module is an ADF +usiness %omponents component tat
In te early pases of application development, arcitects and designers
(e domain business ob)ects involved. (o answer te 2uestion, Gat co
(e user"oriented view of business data re2uired. (o answer te 2uestion
(e identified domain ob)ects involved in eac use case elp you identify
(e application module is te Gwork unitG container tat includes instance
Application #odule Is a +usiness ervice %omponent !ncapsulating a 0n
@ Describe te caracteristics of application modules
@ 0se te %reate Application #odule wi6ard to define te data model for an
@ !/plain ow application modules can manage business components tran
@ !/plain ow application modules can manage application state!
@ !/plain te role of te ADF #odel
-
7/23/2019 adf interview questions and ansewrs.docx
67/85
Declarati"el# Custo'i:in0 Data !er"ices
@ Declaratively cange data beaviour
@ Declaratively modify te default beavior of view ob)ects, entity ob)ects, a
@ Define a view accessor for a list of values&*O$'
@ Define a list of values &*O$' for an attribute
/ro0ra''aticall# Custo'i:in0 Data !er"ices
@ 8enerate Java classes for business components to modify default beav
@ Override class metods to cange or augment default beavior
@ #odify te
@ !/plain te benefits of adding service metods at te application module
@ %reate a test client for testing your custom code
@ #odify a view ob)ect1s client code to add a new employee to te employe
Validatin0 9ser ;n&ut
@ Describe te types of validation available for ADF applications
@ !valuate wic validation options are appropriate for different validations
@ Add declarative validation for an entity ob)ect
@ Identify te oter non"declarative validation options and wen tey mig
@ Describe te benefits of using domains for validation
Trou+leshootin0 ADF C A&&lications
@ Identify te JDeveloper tools for logging and diagnostics
@ 0se Java code auditing tools
@ #ake use of File#on and Junit to debug an application
@ 0se te JDeveloper profiler
@ 0se te JDeveloper debugger
@ Identify sources of
-
7/23/2019 adf interview questions and ansewrs.docx
68/85
9nderstandin0 9; Technolo0ies
@ Describe te use of eb browsers and
-
7/23/2019 adf interview questions and ansewrs.docx
69/85
@ Describe te structure of an !* &!/pression *anguage' e/pression
/lannin0 the 9ser ;nterface
@ Describe te #odel"$iew"%ontroller design pattern
@ Differentiate between bounded and unbounded task flows
-
7/23/2019 adf interview questions and ansewrs.docx
70/85
@ %reate task flows to define control flow in an application
@ pecify control flow rules
@ Define global navigation
@ 0se routers to declaratively route control flow to activities based on an !
@ Define te role of managed beans in task flows
@ !/plain te types of validation available in te user interface
Addin0 Functionalit# to /a0es
@ Internationali6e te user interface so tat te application can be used in m
@ 0se component facets to specify subordinate elements suc as toolbars,
@ Implement a list of values &*O$' to enable users to select a value from a
@ Add a calendar component to an input date field to make it easy for users
@ 0se te table component to display structured data as a formatted table
@ !mploy te tree component to display ierarcical data
@ Add icons and images to an application wit ADF Faces output compone
@ %reate earc forms using te ADF 2uery component
@ 0se ADF Data $isuali6ation components to add carts, graps, map etc
;'&le'entin0
-
7/23/2019 adf interview questions and ansewrs.docx
71/85
@ !/plain te role of ADF Faces skins
@ 0se dynamic page layout
*nsurin0 =eusa+ilit#
@ Identify te benefits of reusing components
@ %reate a resource catalog to enable saring of resources witin and acro
@ %reate ADF libraries to sare components witin and across teams and a
@ %reate a task flow template for reuse across different