Oracle ADF Overview


Published on

Published in: Technology, Education
1 Comment
No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • 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.
  • Oracle ADF Overview

    1. 1. Oracle ADF OverviewPrepared ByKarsten Schulz Terp-Nielsen @Oracle DenmarkPresented ByBahaa Farouk @hp Egypt
    2. 2. Oracle ADFMotivation – 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. 3. Oracle ADFIntroduction 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. 4. Oracle ADFEnd-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. 5. Oracle ADFVisual 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. 6. Oracle ADFJ2EE Architecture (Simplified) Enterprise JavaBeans ADF Business Components Web Services Java Objects Clients Business Services Database
    7. 7. Oracle ADFNo Standard API for Client Binding Enterprise JavaBeans ADF Business Components ? JDBC Web Services Java Objects Clients Business Services Database
    8. 8. Oracle ADFADF 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. 9. Oracle ADFADF 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. 10. Oracle ADFADF 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. 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. 12. ADF BC High-level architectureHTML, 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. 13. ADF BC Application View Objects Entity Objects Top Customer Customers Customer Pending Order Ord Orders Database Application Module
    14. 14. Start withdatabase tables
    15. 15. Entity objects encapsulatebusiness rules, logic,defaults in a consistentway for a table
    16. 16. View objectsencapsulate SQLqueries to project, join,filter, order data forexternal client interaction
    17. 17. Application module defines datamodel of view object usages for acomplete application use case
    18. 18. UI works with theapplication module asbackend businessservice
    19. 19. As you build newapplications, underlyingcomponents are reusable
    20. 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. 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 – docs/faq_adffaces_apache.html
    22. 22. ADF Faces
    23. 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. 24. JSF Architecture Rendererwith 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. 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