oa framework part1

Upload: sirish-mahendrakar

Post on 06-Jul-2018

245 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/16/2019 Oa Framework Part1

    1/35

    OA FRAMEWORK-1

  • 8/16/2019 Oa Framework Part1

    2/35

    Java Concepts

    • Class/Interface• Package

    • Me!er "ar#a!les

    • Me!er F$nct#ons

    •  Access %pec#f#ers

    • In&er#tance

    • Overloa'#ng/Overr#'#ng

  • 8/16/2019 Oa Framework Part1

    3/35

    Frae(ork ) *oals + ,enef#ts

     )eclarat#ve appl#cat#on 'evelopent )Rap#' 'evelopent env#ronent

     )Cons#stent + copell#ng .I

     ),$#lt-#n '$ra!le Personal#at#on %$pport )E0tens#!le .I an' !$s#ness log#c

     )12 Java + 3M4 on Oracle platfor

     )Co#tent to M"C arctect$re

  • 8/16/2019 Oa Framework Part1

    4/35

    Mo'el-"#e(- ontroller 5M" 6 Arctect$re

    Controller Controller 

    ModelModel ViewView

    A component-based design with clean interfaces

    among model, view, and controller objects

    The model  encapsulates

    underlying data and

    business logic of the

    application

    The view formats and

    presents data from a

    model to the user

    The controller  responds to

    user actions and directsapplication flow

  • 8/16/2019 Oa Framework Part1

    5/35

    Ke7(or's

    • ,4AF Browser Look and Feel • C4AF Custom Look and Feel  

    • OC8J Oracle Containers For Java

    •,C8J

    Business Components For Java

    • M% Meta Data Services

    • 4O" List of Values

    • J,C Java Database Connectivity 

  • 8/16/2019 Oa Framework Part1

    6/35

    Fle0#!le Arctect$re

    • "#e( ) Coon .I3-!ase' 9:M4coponents $se' t&ro$g&o$t

     Appl#cat#ons

     ) Controller ) OA Controllerrespon's to $ser act#ons;'#rects appl#cat#on flo(

     ) Mo'el ) ,$s#ness log#c

    encaps$late' #n ,$s#nessCoponents for Java v#e(o!

  • 8/16/2019 Oa Framework Part1

    7/35

    :ec&nolog7 %tack

    #eb $erver 

    Oracle%i A$

    &''( $erver and ")** Container 

    Common $ervices

    Apache OC4J

    Portal   SSO   LDAP  

    UI

    Meta +ata

    epositor

    Applications

    $chemaC!".C!".

    XM/ 0 "avaXM/ 0 "ava

    for data model 0for data model 0

    1siness /ogic1siness /ogic

    UIX.UIX.XM/ 0 "avaXM/ 0 "ava

    for 1ser interfacefor 1ser interface

    OA Controller.OA Controller.

    "ava for flow and action events"ava for flow and action events

    +ata $erver rowser 

  • 8/16/2019 Oa Framework Part1

    8/35

    :ec& %tack Coponents

     ) ,C8J - Java !$s#ness coponents forrepresent#ng !$s#ness log#c

     ) .I3 - Java coponents for represent#ng .I

     ) OA E0tens#on ) ,$#l' 'eclarat#ve 'ata for .I3• E0tens#on to Jeveloper 

    • Meta'ata res#'es #n 'ata!ase or 3M4 f#les

     ) OA Frae(ork - Prograat#c =gl$e> t&at

    #ntegrates t&ese tec&nolog#es

  • 8/16/2019 Oa Framework Part1

    9/35

    Encaps$lat#on? 4a7ere'

    Re$sa!#l#t7

    *ntitObjects

    +

    ViewObjects

    ApplicationMod1les

    OAControllers

    'ataflo( $p stack 5p$ll6

    'ataflo( 'o(n stack 5p$s&6

    • Eac& la7er onl7 @kno(s a!o$tt&e la7ers !elo( #tB

    • :s encaps$lat#on allo(s

    re$se at an7 of t&e la7er!o$n'ar#esB

  • 8/16/2019 Oa Framework Part1

    10/35

    Mo'el? ,$s#ness Coponentsfor Java

    • :&ere are t&ree !as#c coponent classes ) :&e Appl#cat#on Mo'$le ) a conta#ner for

    relate' ,C8J o!

  • 8/16/2019 Oa Framework Part1

    11/35

    Mo'el? ,$s#ness Coponentsfor Java

    +atabase

    'ables,Views

    (/2$3/

    Ent#t7 O!

  • 8/16/2019 Oa Framework Part1

    12/35

    "#e( - Coponents

    Page 9#erarc&7Page 9#erarc&7

    Meta +ata

    OA Frae(ork R$nt#eOA Frae(ork R$nt#eOA Frae(ork es#gn t#eOA Frae(ork es#gn t#e

    .I3.I3,ean 9#erarc&7,ean 9#erarc&7

    .I3.I3Ren'erersRen'erers

    J%P/9:M4J%P/9:M4

    ,ro(ser ,ro(ser 

    4XM/

    CacheCache

  • 8/16/2019 Oa Framework Part1

    13/35

    "#e(? OA Frae(ork-,ase'Page

  • 8/16/2019 Oa Framework Part1

    14/35

    "#e(? Java O!

  • 8/16/2019 Oa Framework Part1

    15/35

    "#e(? A Frae(ork E0aple

    es1lts tableean

    &eader ean

    $1bmit b1tton

    ean

  • 8/16/2019 Oa Framework Part1

    16/35

    "#e(? Page 9#erarc&7

    •  :s #s t&e page str$ct$re  as seen #n OA E0tens#onat  'es#gn t#eB

     ) :&e Frae(ork $ses t&e  or'er of t&e #tes to  'eter#ne t&e#r pos#t#on  (#tn a page or reg#on .I

      at r$nt#eB

  • 8/16/2019 Oa Framework Part1

    17/35

    Controller? Controll#ng .I,e&av#or 

     ) Controller classes 'ef#ne &o( 7o$r Java ,eans !e&aveB

     ) Do$ can overr#'e controller classes to?

    • Man#p$late t&e .I at r$nt#e

    • Man$all7 #n#t#al#e 'ata #tes

    • Intercept an' &an'le $ser events l#ke !$tton cl#cks ) Controller classes s$!class OAControllerImpl.

     ) OAPage,ean #s t&e a#n OA Frae(ork pageprocess#ng classB

     ) :&ere are et&o's #n t&e Controller class to &an'le *E:

    an' PO%: re$estsB

  • 8/16/2019 Oa Framework Part1

    18/35

    Controller? 9an'l#ng a *E:Re$est

     ) :&e OAPage,ean calls t&e processRequest et&o'(&en a !ro(ser #ss$es a *E: re$estB

     ) :&e OAPage,ean $ses ts et&o' to !$#l' t&e !eanerarc&7B

     ) :&e processRequest et&o' #s calle' for eac& !ean

    #n t&e page erarc&7B

     ) Do$ can overr#'e ts et&o' on an7 of t&e conta#ner!eans #n t&e erarc&7B

     ) :&e processRequest() et&o' can !e $se' to

    • C$sto#e page la7o$t at r$nt#e• Perfor an$al 'ata #n#t#al#at#on

    • Perfor an a$to$er7

  • 8/16/2019 Oa Framework Part1

    19/35

    Controller? 9an'l#ng a PO%:Re$est

     ) :&e OAPage,ean calls processRequest foreac& ,ean #n t&e erarc&7 5s##lar to a *E:6B

     ) :&e OAPage,ean t&en callsprocessFormData for pages t&at #nsert or

    $p'ate 'ataB ) :&e processFormData et&o' rea's for

    f#el' 'ata to appl7 #t to $n'erl7#ng v#e( o!

  • 8/16/2019 Oa Framework Part1

    20/35

    Controller? :&e OAPageConte0tO!

  • 8/16/2019 Oa Framework Part1

    21/35

    Controller? :&e OAPageConte0tO!

  • 8/16/2019 Oa Framework Part1

    22/35

    Cl#ent an' %erver 

    Client 'ier Middle 'ier $erver 'ier  

    5ind AM

    Invo6e MethodAM finds VO

    web1i server  

    Client $ide $erver $ide

    OA(ageConte7t OA+'ransaction

  • 8/16/2019 Oa Framework Part1

    23/35

    %ett#ng .p Jeveloper 

    • OA Frae(ork/Jeveloper patc& to $se )  !bout t%is pa&e l#nk )'ec%nolo&y Components :a!) OA Frae(ork ) &ttps?//etal#nkBoracleBco/etal#nk/plsl/s&o('ocG

    '!HO:+#'H81LB1

    • ,C F#le )  !bout t%is pa&e l#nk )(a&e Conte)t  :a!) ata!ase

    • RE%PKED

     ) FRE%PO%I,I4I:IE%

     ) FAPP4ICA:IO%• 4og#n Cre'ent#als

     ) .serae/Pass(or' ) Please $se t&e $ser (&o &as t&e respons#!#l#t7 ass#gne' to B

  • 8/16/2019 Oa Framework Part1

    24/35

    #rector7 %tr$ct$re

  • 8/16/2019 Oa Framework Part1

    25/35

    Packages• oracleBappsBfn'B$lt#orgBlovBserver 

    • oracleBappsBfn'B$lt#orgBserver • oracleBappsBpoB'oc$ent

    • oracleBappsBpoB'oc$entBagreeentBserver 

    • oracleBappsBpoB'oc$entBagreeentB(e!$#

    • oracleBappsBpoB'oc$entBor'erB(e!$#

    • oracleBappsBpoB'oc$entBserver 

    • oracleBappsBpoBlovB(e!$#• oracleBappsBpoBpopl#st

    • oracleBappsBpoBpopl#stBserver 

    • oracleBappsBpoBsc&eaBserver 

  • 8/16/2019 Oa Framework Part1

    26/35

    *eneral a#ng R$les

    • ae lengt&? ) F#le naes are l##te' to NBN c&aracters for OA

    E0tens#on 3M4 f#les 5B

  • 8/16/2019 Oa Framework Part1

    27/35

    ,C8J Coponents• Ent#t7 O!

  • 8/16/2019 Oa Framework Part1

    28/35

    Package a#ng ) 3M4 f#le or a s$!-'#rector7 s#gn#f7 a s#ngle f$nct#onal $n#t 5s$!-

    coponent6 of t&e appl#cat#on

     ) %$!-'#rector7 package nae s&o$l' clearl7 #n'#cate t&e naeof t&e s$!-coponent an' !e #n lo(ercase lettersB

    • E0aple?oracle/apps/per/selfserv#ce/emppersonalinfo/(e!$#

     ) 3M4 f#le package nae s&o$l' clearl7 #n'#cate t&e nae oft&e s$!-coponent an' follo( t&e Java class naestan'ar'sB

    • E0aple?

    oracle/apps/per/selfserv#ce/(e!$#/PerEmpPersInfo.xml

  • 8/16/2019 Oa Framework Part1

    29/35

    Page a#ng•  A page represents a step #n a task flo(B Pages are assoc#ate'

    (#t& an o!

  • 8/16/2019 Oa Framework Part1

    30/35

    Reg#on a#ng

    • :&e top page reg#on 5page4a7o$t st7le6 s&o$l'al(a7s !e nae' Page4a7o$tR

    • Reg#on nae 5!ot& e!e''e' an' 3M4 f#lenae6s&o$l' take t&e for takes t&e for

    Object51nctional-str1ct1re9 an' s&o$l' follo(t&e Java class nae stan'ar'B

    • Ob*ect  e0aples? eplo7ee; contact

    • E0aples? Eplo7eeR; EpMaster R;

    EpContactseta#lR; Ep%earc&R;Ep:a!leR

  • 8/16/2019 Oa Framework Part1

    31/35

    C&eck#ng Oracle %tan'ar'Co'e• .I Coponents

     ) 3M4 Coponents

    • PRO.C::OP/'s/Qpackage str$ct$re

     ) Java Coponents

    • JA"A:OP/Qpackage str$ct$re

    • ,C8J Coponents

     ) 3M4 Coponents

    • JA"A:OP/Qpackage str$ct$re

     ) Java Coponents

    • JA"A:OP/Qpackage str$ct$re

    • 3M4 f#les are #n A%CII forat an' can !e rea'B

    • Java f#les are cop#le' #n to class f#les an' nee' to !e'ecop#le' to !e rea'B

  • 8/16/2019 Oa Framework Part1

    32/35

    C$sto Controllers• For e0aple (e (#ll c$sto#e C$stoer %tan'ar' %earc& PageB

    • F#n' o$t t&e stan'ar' controller 7o$ (ant to overr#'eB

    • Create a C$sto Controller #n appropr#ate packageB

    • Cop#le t&e C$sto ControllerB

    • Personal#e t&e page an' place t&e C$sto ControllerB

    • :est t&e pageB• ote? :&e Controller Java/Class f#le an' t&e Personal#at#on f#le

    s&o$l' !e sppe' as 'el#ver7 !$n'leB

    • :&e Personal#at#on f#le can !e generate' $s#ng F$nct#onal A'#n#strator respons#!#l#t7B

    • F$nct#onal A'#n#strator esp-Personal#at#on5'ab6-Iport/E0port5$1b'ab6

  • 8/16/2019 Oa Framework Part1

    33/35

    Cop#l#ng C$sto E0tens#onControllers• 4og#n to .n#0 ,o0

     ) l0sNerBsol$t#onsBgl!snetBco

     ) r1$ser/pass1;B

    • %et t&e Env#ronent "ar#a!le ) E0ec$te t&e Env In#t#al#at#on %cr#pt APP4:OP/APP%QI%:ACEAMEBenv– . /ata/R!"#I$/apps/apps%st/appl/APP$R!"#I$%lxs&er'.en

    • .p'ate t&e PA:9 var#a!leB– export PA*+,/ata/R!"#I$/apps/tec-%st/!'.!.&/appsutil//0in/12PA*+ 

    • F:P f#les to $n#0 !o0 &oe '#rector7

    • Cop#le t&e Java Co'e– aac – 23A#A%*OP 4filename5.aa

    • "er#f7 t&e Class f#le

  • 8/16/2019 Oa Framework Part1

    34/35

    ,$#l' OAF Page•

    Create an Ent#t7 O!

  • 8/16/2019 Oa Framework Part1

    35/35

    Reso$rces•

    F$rt&er rea'#ng? ) O! Framework Developer,s -uide? Anato7 of an OA Frae(ork Page

     ) OA Frae(ork Java'oc