SlideShare a Scribd company logo
1 of 25
Oracle ADF Overview

Prepared By
Karsten Schulz Terp-Nielsen @Oracle Denmark
Presented By
Bahaa Farouk @hp Egypt
Oracle ADF
Motivation – Challenges building J2EE apps

 Building J2EE applications can be complex.
 Development time can be extensive.
 Choosing and implementing appropriate design
  patterns can be overwhelming.
 “Do it yourself” applications often repeat existing
  application code.
 A large portion of “do it yourself” code is dedicated to
  common tasks.
 The more code you write, the greater the chance of
  errors.
 An application framework is needed.
Oracle ADF
Introduction

 Reduces the complexity of J2EE development by
  providing visual and declarative development
 Increases development productivity
    –   Less coding, more reuse
    –   Focus on the application, not the “plumbing”
 Provides a flexible and extensible environment by
  allowing multiple technology choices and
  development styles
 Encourages J2EE best practices by implementing
  standard J2EE design patterns
Oracle ADF
End-to-end J2EE Framework
 Implements standard J2EE best practices
 Model-View-Controller (MVC) design pattern

            Rich Clients              Web and Wireless Clients


                                               Controller


                                Model


                           Business Services



 Focus on the application, not the “plumbing”
 Consolidation and evolution of previous frameworks
Oracle ADF
Visual and Declarative Development

 End-to-end Application Development
    –   J2EE & Services
 Visual
    –   WYSIWYG editors
    –   UML modelers
    –   Structure pane
 Declarative
    –   Structure pane
    –   Property inspector
 Code View/Design View Synchronization
    –   No separate generation step - always synchronized
    –   Underlying code always accessible
Oracle ADF
J2EE Architecture (Simplified)

                     Enterprise
                     JavaBeans

                   ADF Business
                    Components


                    Web Services


                    Java Objects



   Clients       Business Services   Database
Oracle ADF
No Standard API for Client Binding

                      Enterprise
                      JavaBeans

                    ADF Business
                     Components
              ?                       JDBC
                     Web Services


                     Java Objects



    Clients       Business Services          Database
Oracle ADF
ADF Model

Data Controls
Data Binding
JSR-227: “A Standard Data Binding & Data
 Access Facility for J2EE”          Business
                                   Component
                                       Web
                                      Service

                                      TopLink
                       Model
                                       EJB

                                       Java
                                       Class
Oracle ADF
ADF Model Architecture

Data control: describes the values and
 actions defined by the business service
Bindings: define how UI
 components use the                Client
 values and actions in
 the data model                   Bindings

                              Data Control

                            Business Service
Oracle ADF
ADF Model Architecture

Decouples client and business service layers
Client code contains no references to the
 business service
   –   Better design practice
   –   Code is more maintainable
Architecture can be extended to add more
 types of business services
ADF Business Components

                            Simplifies and
                            optimizes
                            O/R mapping


                            Simplifies and
                            optimizes
                            binding of
                            View to logic


                            Deployed
                            either as a
                            Local Model or
                            as a remote
                            Session Facade


      Flexible Deployment
ADF BC High-level architecture

HTML, Java, and    Task-Based    Data Presentation    Business
 XML Interfaces    App Service    & Manipulation       Logic
        L
     XM            Application       View              Entity




                   Payment       SlowPaying          Customer
                  Plan Mgmt      Customers

                                                        Bill
                                    Late
                                  Payments
                                                     Payment
ADF BC Application

         View Objects    Entity Objects




              Top        Customer
           Customers
                                          Customer


            Pending
                           Order              Ord
            Orders                        Database


              Application Module
Start with
database tables
Entity objects encapsulate
business rules, logic,
defaults in a consistent
way for a table
View objects
encapsulate SQL
queries to project, join,
filter, order data for
external client interaction
Application module defines data
model of view object usages for a
complete application use case
UI works with the
application module as
backend business
service
As you build new
applications, underlying
components are reusable
ADF – Productivity With Choice
                         Rich Client                                Web / Wireless
                                                                                        JSF/ADF
                          Swing / JClient                   JSP         ADF UIX          FACES          View

                                                                      Struts/JSF                      Controller

                                                   ADF Bindings

                                                 ADF Data Control
                                                                                                       Model
 ADF Metadata Services




                          Java
                                         EJB            ADF Business                 Web              Business
                                       Session
                         Classes
                                        Beans
                                                         Components
                                                        Service Object
                                                                                   Services           Services

                                                                  ADF Business
                                    TopLink         EJB                                    Data
                          JDBC                                    Components
                                    Queries       Finders                                 Access
                                                                  Query Object



                                                                     ADF Business        Persistent
                           Java Classes       EJB Entity Beans                           Business
                                                                     Components
                                    TopLink Mapping                  Entity Object        Objects
ADF Faces
 Built on top of JSF APIs
 A large component set >100 different components
 Far more advanced and interesting components
    –   Partial-page rendering, etc.
 ADF model support out-of-the-box
 ADF Faces skins (Look and Feel)
ADF Databinding (JSR 227)
Open Source per January 2006
    –   http://www.oracle.com/technology/products/jdev/ht
        docs/faq_adffaces_apache.html
ADF Faces
ADF Faces
ADF Faces also includes many of the framework
 features most needed by JSF developers today:
   –   File upload support is integrated at a component
       level
   –   Client-side validation is automatically derived from
       Validators and Converters for an improved user
       experience
   –   A pageFlow scope makes it easier to pass values
       from one page to another
   –   A new hybrid state saving strategy gives developers
       the best of both client and server-side state saving
JSF Architecture                                     Renderer


with ADF                              UI Component              Expr. Language


 EL accesses “bindings” object
  to value bind UI components      JSF Page
                                               ADF “bindings” Object

 ADF “bindings” object is set
  through ADF Filter in web.xml                   ADF Binding
 Bindings object accesses ADF
                                                ADF DataControl
  Binding container, which then
  accesses DataControl
 Business Services provide        Business        Business        Business
  access to various data sources   Service 1       Service 2       Service 3



                                                                 XML
                                                    RDBMS              URL
                                                                             WS
Demonstration



  Develop a more complex Web Application
  based on ADF Faces
  1.   Create ADF Business Components model
  2.   Layout flow
  3.   Make Edit page
  4.   Optional: Make Create page

More Related Content

What's hot

The Challenges Oracle Forms Migration to ADF
The Challenges Oracle Forms Migration to ADFThe Challenges Oracle Forms Migration to ADF
The Challenges Oracle Forms Migration to ADF
DataNext Solutions
 
ADF Introduction By Sandeep Sharda
ADF Introduction By Sandeep ShardaADF Introduction By Sandeep Sharda
ADF Introduction By Sandeep Sharda
Er. Sndp Srda
 
New & Emerging _ Mick Andrew _ Adding mobile and web 2.0 UIs to existing appl...
New & Emerging _ Mick Andrew _ Adding mobile and web 2.0 UIs to existing appl...New & Emerging _ Mick Andrew _ Adding mobile and web 2.0 UIs to existing appl...
New & Emerging _ Mick Andrew _ Adding mobile and web 2.0 UIs to existing appl...
InSync2011
 
Guidelines for moving from Oracle Forms to Oracle ADF and SOA
Guidelines for moving from Oracle Forms to Oracle ADF and SOAGuidelines for moving from Oracle Forms to Oracle ADF and SOA
Guidelines for moving from Oracle Forms to Oracle ADF and SOA
Steven Davelaar
 
Integrating oracle cloud and existing applications final sg
Integrating oracle cloud and existing applications  final sgIntegrating oracle cloud and existing applications  final sg
Integrating oracle cloud and existing applications final sg
Ken Ng
 
OOW09 Integration Architecture EBS R12
OOW09 Integration Architecture  EBS R12OOW09 Integration Architecture  EBS R12
OOW09 Integration Architecture EBS R12
jucaab
 

What's hot (20)

The Challenges Oracle Forms Migration to ADF
The Challenges Oracle Forms Migration to ADFThe Challenges Oracle Forms Migration to ADF
The Challenges Oracle Forms Migration to ADF
 
Introduction to Oracle ADF Task Flows
Introduction to Oracle ADF Task FlowsIntroduction to Oracle ADF Task Flows
Introduction to Oracle ADF Task Flows
 
ADF Introduction By Sandeep Sharda
ADF Introduction By Sandeep ShardaADF Introduction By Sandeep Sharda
ADF Introduction By Sandeep Sharda
 
Oracle ADF Overview for Beginners
Oracle ADF Overview for BeginnersOracle ADF Overview for Beginners
Oracle ADF Overview for Beginners
 
New & Emerging _ Mick Andrew _ Adding mobile and web 2.0 UIs to existing appl...
New & Emerging _ Mick Andrew _ Adding mobile and web 2.0 UIs to existing appl...New & Emerging _ Mick Andrew _ Adding mobile and web 2.0 UIs to existing appl...
New & Emerging _ Mick Andrew _ Adding mobile and web 2.0 UIs to existing appl...
 
Customizations in Enterprise Applications using Oracle ADF
Customizations in Enterprise Applications using Oracle ADFCustomizations in Enterprise Applications using Oracle ADF
Customizations in Enterprise Applications using Oracle ADF
 
A-Team Mobile Persistence Accelerator Overview
A-Team Mobile Persistence Accelerator OverviewA-Team Mobile Persistence Accelerator Overview
A-Team Mobile Persistence Accelerator Overview
 
ADF Mobile: Implementing Data Caching and Synching
ADF Mobile: Implementing Data Caching and SynchingADF Mobile: Implementing Data Caching and Synching
ADF Mobile: Implementing Data Caching and Synching
 
Running ADF Faces on Tablets and Mobile Phones
Running ADF Faces on Tablets and Mobile PhonesRunning ADF Faces on Tablets and Mobile Phones
Running ADF Faces on Tablets and Mobile Phones
 
Upcoming JDeveloper ADF Business Components REST support
Upcoming JDeveloper ADF Business Components REST supportUpcoming JDeveloper ADF Business Components REST support
Upcoming JDeveloper ADF Business Components REST support
 
Guidelines for moving from Oracle Forms to Oracle ADF and SOA
Guidelines for moving from Oracle Forms to Oracle ADF and SOAGuidelines for moving from Oracle Forms to Oracle ADF and SOA
Guidelines for moving from Oracle Forms to Oracle ADF and SOA
 
Integrating oracle cloud and existing applications final sg
Integrating oracle cloud and existing applications  final sgIntegrating oracle cloud and existing applications  final sg
Integrating oracle cloud and existing applications final sg
 
37727897 Oaf Basics
37727897 Oaf Basics37727897 Oaf Basics
37727897 Oaf Basics
 
Implementing Data Caching and Data Synching Using Oracle MAF
Implementing Data Caching and Data Synching Using Oracle MAFImplementing Data Caching and Data Synching Using Oracle MAF
Implementing Data Caching and Data Synching Using Oracle MAF
 
AD303: Building Composite Applications for IBM Workplace Collaboration Servic...
AD303: Building Composite Applications for IBM Workplace Collaboration Servic...AD303: Building Composite Applications for IBM Workplace Collaboration Servic...
AD303: Building Composite Applications for IBM Workplace Collaboration Servic...
 
As 400
As 400As 400
As 400
 
OBIEE11g Architecture & Internals : Collaborate'11, Orlando 2011
OBIEE11g Architecture & Internals : Collaborate'11, Orlando 2011OBIEE11g Architecture & Internals : Collaborate'11, Orlando 2011
OBIEE11g Architecture & Internals : Collaborate'11, Orlando 2011
 
Special Purpose Role-Based Clients for PLM using Aras
Special Purpose Role-Based Clients for PLM using ArasSpecial Purpose Role-Based Clients for PLM using Aras
Special Purpose Role-Based Clients for PLM using Aras
 
Obiee
ObieeObiee
Obiee
 
OOW09 Integration Architecture EBS R12
OOW09 Integration Architecture  EBS R12OOW09 Integration Architecture  EBS R12
OOW09 Integration Architecture EBS R12
 

Viewers also liked

A guide to ADF fusion development
A guide to ADF fusion developmentA guide to ADF fusion development
A guide to ADF fusion development
DataNext Solutions
 
ADF User Interface Design Best Pratices
ADF User Interface Design Best PraticesADF User Interface Design Best Pratices
ADF User Interface Design Best Pratices
Andreas Koop
 
Oracle ADF Task Flows for Beginners
Oracle ADF Task Flows for BeginnersOracle ADF Task Flows for Beginners
Oracle ADF Task Flows for Beginners
DataNext Solutions
 
SCRUM Development Process
SCRUM Development ProcessSCRUM Development Process
SCRUM Development Process
Bahaa Farouk
 

Viewers also liked (20)

All the Java ADF beginners need to know - part1
All the Java ADF beginners need to know - part1All the Java ADF beginners need to know - part1
All the Java ADF beginners need to know - part1
 
A guide to ADF fusion development
A guide to ADF fusion developmentA guide to ADF fusion development
A guide to ADF fusion development
 
Oracle ADF 11g Tutorial
Oracle ADF 11g TutorialOracle ADF 11g Tutorial
Oracle ADF 11g Tutorial
 
Understanding Oracle ADF and its role in Oracle Fusion Middleware
Understanding Oracle ADF and its role in Oracle Fusion MiddlewareUnderstanding Oracle ADF and its role in Oracle Fusion Middleware
Understanding Oracle ADF and its role in Oracle Fusion Middleware
 
Building a custom Oracle ADF Component
Building a custom Oracle ADF ComponentBuilding a custom Oracle ADF Component
Building a custom Oracle ADF Component
 
18 Invaluable Lessons About ADF-JSF Interaction
18 Invaluable Lessons About ADF-JSF Interaction18 Invaluable Lessons About ADF-JSF Interaction
18 Invaluable Lessons About ADF-JSF Interaction
 
ADF User Interface Design Best Pratices
ADF User Interface Design Best PraticesADF User Interface Design Best Pratices
ADF User Interface Design Best Pratices
 
Oracle ADF Task Flows for Beginners
Oracle ADF Task Flows for BeginnersOracle ADF Task Flows for Beginners
Oracle ADF Task Flows for Beginners
 
Adf presentation
Adf presentationAdf presentation
Adf presentation
 
TeKslate Oracle ADF
TeKslate Oracle ADFTeKslate Oracle ADF
TeKslate Oracle ADF
 
Oracle fusion soa online training in africa
Oracle fusion soa online training in africaOracle fusion soa online training in africa
Oracle fusion soa online training in africa
 
Be Part Of Software Development
Be Part Of Software DevelopmentBe Part Of Software Development
Be Part Of Software Development
 
QualiTech Profile
QualiTech ProfileQualiTech Profile
QualiTech Profile
 
M-Brokrage
M-BrokrageM-Brokrage
M-Brokrage
 
Career building and Skills Development
Career building and Skills DevelopmentCareer building and Skills Development
Career building and Skills Development
 
Being Architect
Being ArchitectBeing Architect
Being Architect
 
Soa
SoaSoa
Soa
 
Mastering Oracle ADF Bindings
Mastering Oracle ADF BindingsMastering Oracle ADF Bindings
Mastering Oracle ADF Bindings
 
Presentation indexing new features oracle 11g release 1 and release 2
Presentation    indexing new features oracle 11g release 1 and release 2Presentation    indexing new features oracle 11g release 1 and release 2
Presentation indexing new features oracle 11g release 1 and release 2
 
SCRUM Development Process
SCRUM Development ProcessSCRUM Development Process
SCRUM Development Process
 

Similar to Oracle ADF Overview

Oracle - Programatica2010
Oracle - Programatica2010Oracle - Programatica2010
Oracle - Programatica2010
Agora Group
 
Oracle fusion adf_online_training_in_africa
Oracle fusion adf_online_training_in_africaOracle fusion adf_online_training_in_africa
Oracle fusion adf_online_training_in_africa
magnificsmile
 
Fusion app customization_con8719_pdf_8719_0001
Fusion app customization_con8719_pdf_8719_0001Fusion app customization_con8719_pdf_8719_0001
Fusion app customization_con8719_pdf_8719_0001
jucaab
 
JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practi...
JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practi...JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practi...
JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practi...
Steven Davelaar
 
N(i)2 technical architecture 2.0 (v1 1)
N(i)2 technical architecture 2.0 (v1 1)N(i)2 technical architecture 2.0 (v1 1)
N(i)2 technical architecture 2.0 (v1 1)
kvz
 
Oracle fusion adf online training in africa
Oracle fusion adf online training in africaOracle fusion adf online training in africa
Oracle fusion adf online training in africa
magnifics
 
Oracle fusion adf online training in africa
Oracle fusion adf online training in africaOracle fusion adf online training in africa
Oracle fusion adf online training in africa
magnificsmile
 
Adf coursecontent(1)
Adf coursecontent(1)Adf coursecontent(1)
Adf coursecontent(1)
Amit Sharma
 

Similar to Oracle ADF Overview (20)

Oracle - Programatica2010
Oracle - Programatica2010Oracle - Programatica2010
Oracle - Programatica2010
 
J developer, oracle adf introduction
J developer, oracle adf   introductionJ developer, oracle adf   introduction
J developer, oracle adf introduction
 
Oracle fusion adf_online_training_in_africa
Oracle fusion adf_online_training_in_africaOracle fusion adf_online_training_in_africa
Oracle fusion adf_online_training_in_africa
 
Oracle ADF Tutorial
Oracle ADF TutorialOracle ADF Tutorial
Oracle ADF Tutorial
 
Fusion app customization_con8719_pdf_8719_0001
Fusion app customization_con8719_pdf_8719_0001Fusion app customization_con8719_pdf_8719_0001
Fusion app customization_con8719_pdf_8719_0001
 
JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practi...
JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practi...JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practi...
JHeadstart Forms2ADF Generator – Migrating from Oracle Forms to a Best-Practi...
 
Oracle Fusion Development, May 2009
Oracle Fusion Development, May 2009Oracle Fusion Development, May 2009
Oracle Fusion Development, May 2009
 
Oracle ADF Online Training By Seasoft IT Solutions | Orace ADF Course Content...
Oracle ADF Online Training By Seasoft IT Solutions | Orace ADF Course Content...Oracle ADF Online Training By Seasoft IT Solutions | Orace ADF Course Content...
Oracle ADF Online Training By Seasoft IT Solutions | Orace ADF Course Content...
 
Build java-ee-applications-with-adf
Build java-ee-applications-with-adfBuild java-ee-applications-with-adf
Build java-ee-applications-with-adf
 
Pure Ejb Within An Agile Context
Pure Ejb Within An Agile ContextPure Ejb Within An Agile Context
Pure Ejb Within An Agile Context
 
Introducing ADF Mobile - and Luc Bors(AMIS SIG, 12th November 2012)
Introducing ADF Mobile - and Luc Bors(AMIS SIG, 12th November 2012)Introducing ADF Mobile - and Luc Bors(AMIS SIG, 12th November 2012)
Introducing ADF Mobile - and Luc Bors(AMIS SIG, 12th November 2012)
 
ADF Mobile sig 12-11-2012
ADF Mobile sig 12-11-2012ADF Mobile sig 12-11-2012
ADF Mobile sig 12-11-2012
 
Дамир Тенишев Exigen Services Business Processes Storehouse
Дамир Тенишев Exigen Services Business Processes StorehouseДамир Тенишев Exigen Services Business Processes Storehouse
Дамир Тенишев Exigen Services Business Processes Storehouse
 
Java Ide Day 2008 - Presentation on JDeveloper by Paolo Ramasso
Java Ide Day 2008 - Presentation on JDeveloper by Paolo RamassoJava Ide Day 2008 - Presentation on JDeveloper by Paolo Ramasso
Java Ide Day 2008 - Presentation on JDeveloper by Paolo Ramasso
 
N(i)2 technical architecture 2.0 (v1 1)
N(i)2 technical architecture 2.0 (v1 1)N(i)2 technical architecture 2.0 (v1 1)
N(i)2 technical architecture 2.0 (v1 1)
 
Oracle fusion adf online training in africa
Oracle fusion adf online training in africaOracle fusion adf online training in africa
Oracle fusion adf online training in africa
 
Oracle fusion adf online training in africa
Oracle fusion adf online training in africaOracle fusion adf online training in africa
Oracle fusion adf online training in africa
 
so-aDF
so-aDFso-aDF
so-aDF
 
Build application with adf framework
Build application with adf frameworkBuild application with adf framework
Build application with adf framework
 
Adf coursecontent(1)
Adf coursecontent(1)Adf coursecontent(1)
Adf coursecontent(1)
 

Recently uploaded

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Modernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaModernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using Ballerina
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
 
Simplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptxSimplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptx
 
Design and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data ScienceDesign and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data Science
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 
Quantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation ComputingQuantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation Computing
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
How to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfHow to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cf
 
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
 

Oracle ADF Overview

  • 1. Oracle ADF Overview Prepared By Karsten Schulz Terp-Nielsen @Oracle Denmark Presented By Bahaa Farouk @hp Egypt
  • 2. Oracle ADF Motivation – Challenges building J2EE apps  Building J2EE applications can be complex.  Development time can be extensive.  Choosing and implementing appropriate design patterns can be overwhelming.  “Do it yourself” applications often repeat existing application code.  A large portion of “do it yourself” code is dedicated to common tasks.  The more code you write, the greater the chance of errors.  An application framework is needed.
  • 3. Oracle ADF Introduction  Reduces the complexity of J2EE development by providing visual and declarative development  Increases development productivity – Less coding, more reuse – Focus on the application, not the “plumbing”  Provides a flexible and extensible environment by allowing multiple technology choices and development styles  Encourages J2EE best practices by implementing standard J2EE design patterns
  • 4. Oracle ADF End-to-end J2EE Framework  Implements standard J2EE best practices  Model-View-Controller (MVC) design pattern Rich Clients Web and Wireless Clients Controller Model Business Services  Focus on the application, not the “plumbing”  Consolidation and evolution of previous frameworks
  • 5. Oracle ADF Visual and Declarative Development  End-to-end Application Development – J2EE & Services  Visual – WYSIWYG editors – UML modelers – Structure pane  Declarative – Structure pane – Property inspector  Code View/Design View Synchronization – No separate generation step - always synchronized – Underlying code always accessible
  • 6. Oracle ADF J2EE Architecture (Simplified) Enterprise JavaBeans ADF Business Components Web Services Java Objects Clients Business Services Database
  • 7. Oracle ADF No Standard API for Client Binding Enterprise JavaBeans ADF Business Components ? JDBC Web Services Java Objects Clients Business Services Database
  • 8. Oracle ADF ADF Model Data Controls Data Binding JSR-227: “A Standard Data Binding & Data Access Facility for J2EE” Business Component Web Service TopLink Model EJB Java Class
  • 9. Oracle ADF ADF Model Architecture Data control: describes the values and actions defined by the business service Bindings: define how UI components use the Client values and actions in the data model Bindings Data Control Business Service
  • 10. Oracle ADF ADF Model Architecture Decouples client and business service layers Client code contains no references to the business service – Better design practice – Code is more maintainable Architecture can be extended to add more types of business services
  • 11. ADF Business Components Simplifies and optimizes O/R mapping Simplifies and optimizes binding of View to logic Deployed either as a Local Model or as a remote Session Facade Flexible Deployment
  • 12. ADF BC High-level architecture HTML, Java, and Task-Based Data Presentation Business XML Interfaces App Service & Manipulation Logic L XM Application View Entity Payment SlowPaying Customer Plan Mgmt Customers Bill Late Payments Payment
  • 13. ADF BC Application View Objects Entity Objects Top Customer Customers Customer Pending Order Ord Orders Database Application Module
  • 15. Entity objects encapsulate business rules, logic, defaults in a consistent way for a table
  • 16. View objects encapsulate SQL queries to project, join, filter, order data for external client interaction
  • 17. Application module defines data model of view object usages for a complete application use case
  • 18. UI works with the application module as backend business service
  • 19. As you build new applications, underlying components are reusable
  • 20. ADF – Productivity With Choice Rich Client Web / Wireless JSF/ADF Swing / JClient JSP ADF UIX FACES View Struts/JSF Controller ADF Bindings ADF Data Control Model ADF Metadata Services Java EJB ADF Business Web Business Session Classes Beans Components Service Object Services Services ADF Business TopLink EJB Data JDBC Components Queries Finders Access Query Object ADF Business Persistent Java Classes EJB Entity Beans Business Components TopLink Mapping Entity Object Objects
  • 21. ADF Faces  Built on top of JSF APIs  A large component set >100 different components  Far more advanced and interesting components – Partial-page rendering, etc.  ADF model support out-of-the-box  ADF Faces skins (Look and Feel) ADF Databinding (JSR 227) Open Source per January 2006 – http://www.oracle.com/technology/products/jdev/ht docs/faq_adffaces_apache.html
  • 23. ADF Faces ADF Faces also includes many of the framework features most needed by JSF developers today: – File upload support is integrated at a component level – Client-side validation is automatically derived from Validators and Converters for an improved user experience – A pageFlow scope makes it easier to pass values from one page to another – A new hybrid state saving strategy gives developers the best of both client and server-side state saving
  • 24. JSF Architecture Renderer with ADF UI Component Expr. Language  EL accesses “bindings” object to value bind UI components JSF Page ADF “bindings” Object  ADF “bindings” object is set through ADF Filter in web.xml ADF Binding  Bindings object accesses ADF ADF DataControl Binding container, which then accesses DataControl  Business Services provide Business Business Business access to various data sources Service 1 Service 2 Service 3 XML RDBMS URL WS
  • 25. Demonstration Develop a more complex Web Application based on ADF Faces 1. Create ADF Business Components model 2. Layout flow 3. Make Edit page 4. Optional: Make Create page

Editor's Notes

  1. The UIX components that you use to create your user interfaces can be broadly divided into three groups: Simple components Layout components Composite components Simple components define visible objects like text and images, and objects that map to standard HTML controls on a page. Examples include Button, Image, and Text components. Layout components do not map to visible objects but define the appearance, behavior, and position of other visible objects. Examples include TableLayout, PageLayout, and StackLayout components. Composite components define more complex visible objects that have greater interactive usage. Examples include Shuttle, HideShow, and Tree components.