1 / 24

Oracle ADF Faces: Simplifying Web Application Development

Learn about Oracle Application Development Framework (ADF) Faces and how it simplifies the complex process of building J2EE web applications. Increase productivity, reduce coding, and focus on the application rather than the underlying plumbing.

janiner
Download Presentation

Oracle ADF Faces: Simplifying Web Application Development

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Web Application Development Using ADF Faces Karsten Schulz Senior Principal Consultant Oracle Denmark

  2. Agenda • Application Developer Framework (ADF) introduction • Java Server Faces (JSF) introduction • Short on ADF Faces • Using JSF/ADF Faces in a development case • Q/A

  3. Challenges Faced when Building J2EE Applications • 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.

  4. Oracle Application Development Framework • 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

  5. Rich Clients Web and Wireless Clients Controller Model Business Services Oracle ADFEnd-to-end J2EE Framework • Implements standard J2EE best practices • Model-View-Controller (MVC) design pattern • Focus on the application, not the “plumbing” • Consolidation and evolution of previous frameworks

  6. 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

  7. J2EE Architecture (Simplified) EnterpriseJavaBeans ADF Business Components Web Services Java Objects Clients Business Services Database

  8. No Standard API for Client Binding EnterpriseJavaBeans ADF Business Components ? JDBC Web Services Java Objects Clients Business Services Database

  9. ADF Model • Data Controls • Data Binding • JSR-227: “A Standard Data Binding & Data Access Facility for J2EE” BusinessComponent Web Service TopLink Model EJB JavaClass

  10. ADF Model Architecture • Data control: describes the values and actions defined by the business service • Bindings: define how UI components use the values and actions in the data model Client Bindings Data Control Business Service

  11. 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

  12. Drag-and-Drop Binding Data Control Palette • Expose any business service • Available to any client

  13. ADF Business ComponentsService Object ADF Business ComponentsQuery Object ADF Business ComponentsEntity Object ADF – Productivity With Choice Rich Client Web / Wireless View JSF/ADF FACES Swing / JClient Swing / JClient JSP ADF UIX ADF UIX Controller Struts/JSF ADF Bindings ADF Bindings Model ADF Data Control ADF Data Control BusinessServices JavaClasses EJBSessionBeans ADF Business ComponentsService Object WebServices ADF Metadata Services ADF Metadata Services ADF Business ComponentsQuery Object JDBC TopLinkQueries EJBFinders DataAccess ADF Business ComponentsEntity Object PersistentBusinessObjects Java Classes EJB Entity Beans TopLink Mapping

  14. JavaServer Faces (JSF)Overview • Developed through Java Community Process as JSR 127 • Nickname : Faces • Goal: Simplify creation of Java Server GUIs • Started: May 2001 • First relase: March 2004 • Oracle is a primary contributor

  15. JavaServer Faces (JSF)Overview - Why JSF? • So what’s all the fuss about? • What makes JSF so compelling? • Why are IBM, Sun and Oracle devoting serious resources to JSF? • Why another framework?

  16. JavaServer Faces (JSF)Overview - Here is why! JSF brings backing of a standard specification – JSR 127

  17. JSTL Custom Tag Libraries JavaServer Faces JavaServer Faces JavaServer Pages Servlet API JavaServer Faces (JSF)Overview • JSF is a natural evolution of J2EE Web development Again, too low level… Finally, a comprehensive, standard API for J2EE Web applications! Not standard… Easier but…scriptlets Too low level…

  18. JSF Architecture Front Controller BackendCode HTML render kit WML render kit

  19. JSF Architecture Renderer UI Component Expr. Language • UIComponent is rendered through Renderer class • Expression Language Value Binding is used to access managed bean also know as a "backing bean" • Managed bean accesses J2EE persistence layer Managed bean JSF Page J2EE Persistence Layer / JDBC RDBMS

  20. JavaServer Faces (JSF)Oracle 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/htdocs/faq_adffaces_apache.html

  21. JavaServer Faces (JSF)Oracle ADF Faces

  22. JavaServer Faces (JSF)Oracle 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

  23. JSF Architecture with ADF Renderer UI Component Expr. Language • EL accesses “bindings” object to value bind UI components • ADF “bindings” object is set through ADF Filter in web.xml • Bindings object accesses ADF Binding container, which then accesses DataControl • Business Services provide access to various data sources ADF “bindings” Object JSF Page ADF Binding ADF DataControl BusinessService 3 BusinessService 2 BusinessService 1 XML URL RDBMS WS

  24. JavaServer Faces (JSF)Oracle ADF Faces – Extend the JSF life cycle Happens through a registered phase- listener

More Related