A Path to the Future for Dinosaur Nerds · SAGE Computing Services. Customised Oracle Training...

31
SAGE Computing Services Customised Oracle Training Workshops and Consulting A Path to the Future for Dinosaur Nerds - A Jdeveloper ADF mind map for Forms developers Penny Cookson www.sagecomputing.com.au [email protected]

Transcript of A Path to the Future for Dinosaur Nerds · SAGE Computing Services. Customised Oracle Training...

  • SAGE Computing ServicesCustomised Oracle Training Workshops and Consulting

    A Path to the Future for Dinosaur Nerds -

    A Jdeveloper ADF mind map for Forms developers

    Penny Cookson

    [email protected]

  • SAGE Computing ServicesCustomised Oracle Training Workshops and Consulting

    Penny Cookson

    Managing Director and Principal Consultant

    Working with Oracle products since 1987

    Oracle Magazine Educator of the Year 2004

    [email protected]

  • So What Should we be Doing?

  • cldandsnray_lg_nwm.swf

    Some of the Biggest New Projectswill be Forms Modernisation

    and its not so different

  • An Approach

    Install (and unfortunately pay for) WebLogic Server

    Migrate your Forms/Reports to 11g

    Start adding new functionality/add ons in Jdeveloper ADF

    Aim for Forms and ADF to co-exist

  • Technologies

    JSP

    Struts

    Java Classes(POJO)

    WebServices

    View

    Controller

    ADF Model

    Business Services

    JSF

    Mobile

    ADF Swing

    Swing

    Trinidad

    JSF

    EJB3 & JPA(EclipseLink)

    ADF Business Components

    ADF Bindings

    ADF Faces RC

    ADF (JSF) Controller

  • Approach

    Build the Pages

    Build the Page Flow

    Build the Business Components

    Design and build the Database

  • Alternative Approach

    Build the Page Flow

    Build the Pages

    Build the Business Components

    Design and build the Database

  • Demo Business Components

  • How Does it Work Model Layer

    EventsOrganisations Bookings

    OrganisationsVO Bookings VOEvents VO

    SELECTSELECT SELECT

    OrganisationsEO Bookings EOEvents EO

    INSERTUPDATEDELETELOCK

    INSERTUPDATEDELETELOCK

    INSERTUPDATEDELETELOCK

    BookingService (Application Module )COMMITROLLBACK

  • EventsOrganisations Bookings

    InsertRows(p_table_name in varchar2,p_new_rec_array in pTabType)

    Generic PL/SQL Package

    LockRows(p_table_name in varchar2,p_key_array_in pKeyTabType)

    UpdateRows(p_table_name in varchar2,p_new_rec_array in pTabType)

    DeleteRows(p_table_name in varchar2,p_key_array_in pKeyTabType)

    A Pure PL/SQL Approach

  • EventsOrganisations Bookings

    ADF Business Components Java Classes

    XML Files hold the properties

    Creates an instance of EntityCache for each user to point to the bookings records they are working with

    oracle.jbo.server.EntityCache

    Creates an instance of EntityImplfor each Bookings record for each user

    oracle.jbo.server.EntityImpl

    Reads the XML files

    oracle.jbo.server.EntityDefImpl

  • Why Do We Care?

    Because we can Extend and Override them

  • Demo Code in ADF BC

    Demo ADF Faces Rich Client

  • How Does it Work View

    Model

    Handle the interaction between the page and the model

    Binding Classes

  • How Does it Work View

    Model

    Handle the interaction between the page and the model

    Binding Classes

    oracle.jbo.uicli.binding.JUCtrlValueBinding

    oracle.adf.uicli.binding.JUIteratorBinding

    oracle.adf.model.binding.DCBindingContainer

    oracle.adf.model.BindingContext

    oracle.adf.model.binding.DCDataControl

    oracle.adfinternal.view.faces.model.binding. FacesCtrlActionBinding

  • We can access the Binding classes to perform View/Controller level coding

  • Controller

  • Controller

  • SAGE Computing ServicesCustomised Oracle Training Workshops and Consulting

    Questions?

    Next Sage Jdeveloper Training Workshop 31st Jan 4th Feb

    Presentations are available from our website:http://www.sagecomputing.com.au

    [email protected]@sagecomputing.com.au

    Slide Number 1Slide Number 2Slide Number 3Slide Number 4So What Should we be Doing?Slide Number 6Slide Number 7Slide Number 8Slide Number 9Slide Number 10TechnologiesApproachAlternative ApproachDemo Business ComponentsSlide Number 15How Does it Work Model LayerSlide Number 17A Pure PL/SQL ApproachADF Business Components Java ClassesWhy Do We Care?Slide Number 21Slide Number 22Demo Code in ADF BCDemo ADF Faces Rich ClientHow Does it Work View How Does it Work View We can access the Binding classes to perform View/Controller level codingControllerControllerSlide Number 29Slide Number 30Slide Number 31