adf interview questions and ansewrs.docx

Upload: leninbabus

Post on 11-Feb-2018

214 views

Category:

Documents


0 download

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?;

    6 [email protected]@0

    "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