1 / 48

Jonas Jacobi Principal Product Manager Oracle Corporation

“This presentation is for informational purposes only and may not be incorporated into a contract or agreement.”.

Download Presentation

Jonas Jacobi Principal Product Manager Oracle Corporation

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. “This presentation is for informational purposes only and may not be incorporated into a contract or agreement.”

  2. This document is for informational purposes.  It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions.  The development, release, and timing of any features or functionality described in this document remains at the sole discretion of Oracle.  This document in any form, software or printed matter, contains proprietary information that is the exclusive property of Oracle.  This document and information contained herein may not be disclosed, copied, reproduced or distributed to anyone outside Oracle without prior written consent of Oracle.   This document is not part of your license agreement nor can it be incorporated into any contractual agreement with Oracle or its subsidiaries or affiliates.

  3. Everything You Need to Know About JavaServer Faces and ADF Faces Jonas JacobiPrincipal Product Manager Oracle Corporation “This presentation is for informational purposes only and may not be incorporated into a contract or agreement.”

  4. Java Server FacesEverything you always wanted to know but were afraid to ask…

  5. Agenda • JSF Introduction • What and Why JSF? • Architecture • JSF Technology • JSF and Oracle • JDeveloper • ADF Faces • Future

  6. What is JSF? • Developed through Java Community Process (JCP) as JSR-127 • Nickname: Faces • Started: May 2001 • First release: March 2004 • Oracle is a primary contributor

  7. Role of Faces • Focus on components, not markup • Automatic event and state handling • Supports existing views and controllers • Designed to be leveraged by tools

  8. 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?

  9. Here is why! JSF brings backing of a standard specification – JSR 127 Aims to simplify J2EE web application development

  10. XML XML Skins Faces RI HTML Render Kits Portal Custom JSF components Components Java Server Faces / JSP Consistent Programming Model Industrial Browser Phone/PDA Gateway HTML Mobile Telnet RIA ASK Interface J2EE Bus. Logic

  11. Evolution of J2EE web tier Servlets JSP JSF • Each is built on the previous layer • Progressive levels of abstraction • Higher level programming

  12. JavaServer Faces and JSP • JSF is specified to support JSP • But is not required to use it • JSF comes with two JSP base component libraries • Core - For application tasks • Validation, Datatype conversion • HTML - For rendering basic HTML • Input fields, menus, tables button

  13. JSF Technology A basic JSF application consists of: • JSF UI components - encapsulated in JSP tag libraries • Navigation Model – defines rules for navigation • Managed Beans - facilitate the UI logic of the application • Helper Objects – validation and conversion

  14. JSF Technology JSF components • Basic building blocks of a JSF application • Components can represent simple to complex controls e.g. a button, a graph, or a complete page. • Can be associated to Model data objects through Value Binding • JSF components use helper objects: validators, converters, listeners/events

  15. JSF Component Model JSF Components consists of three things: • UIComponents • Functionality, definition, or behavior • Renderers • Converts components to and from a specific markup language • Render Kits • Library of Renderers • Basic HTML RenderKit is part of the specification

  16. JSF Architecture • Abstracts away from HTTP • Developers don’t need to understand request-response cycle • Abstracts away from HTML • Developers work with components, not markup • Developers don’t need to decode requests

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

  18. Formal Phases – Initial Request JSF LIFECYCLE Client / Browser Restore View Render Response

  19. Client / Browser Formal Phases - Postback JSF LIFECYCLE Restore View Apply Request Values Process Validation Render Response Invoke Application Update Model

  20. Client / Browser Formal Phases (cont.) - JSP JSP LIFECYCLE Servlet URL parsing Product code (state management, events, etc.) Render JSP Response

  21. JSF vs. Traditional JSP JSP JSF Developer Lower Level Ease of Development Http Requests Java Events Markup UI Components UI Pages Applications Product

  22. JavaServer Faces - Key Points • Framework for both Corporate Developers and Component Developers • Simple yet fully extendable • Fundamental unit is the Component • Built in event and state management • Component sets can be provided by any vendor • Closer to Swing or ASP.Net development • Choice of UI technology • Scale up (rich clients) • Scale down (mobile devices)

  23. The Top Three • Component Based model • Markup vs. Components • Consistent Programming Model • JSP & Java • Clear separation of Presentation and Behavior on components

  24. XML XML Skins Faces RI HTML Render Kits Portal Custom JSF components Components Java Server Faces / JSP Consistent Programming Model Industrial Browser Phone/PDA Gateway HTML Mobile Telnet RIA ASK Interface J2EE Bus. Logic

  25. Agenda • JSF Introduction • Why JSF • Architecture • JSF Technology • JSF and Oracle • JDeveloper • ADF Faces • Rich Web Clients

  26. JSF and JDeveloper 10.1.3 • JSF Visual Editing • JSF UI Component visual editing • Provides backend code generation • Mobile WYSIWYG

  27. JSF and JDeveloper 10.1.3 • Faces Config Editing Console • Console for productive editing of faces-config.xml

  28. JSF and JDeveloper 10.1.3 • JSF Page Flow • Visually design Faces navigation model

  29. JSF and JDeveloper 10.1.3 • Declarative data binding – JSR 227 • Drag and drop data binding support

  30. JDeveloper Mobile: Design-Time Support

  31. The Feature in JDeveloper • WYSIWYG editing for PDA and telnet applications • Component filtering based on device classes • Device-specific view port • Capability-based content filtering wizard • Mobile simulator registration and integration

  32. Demonstration JSF common programming model

  33. ADF Faces • Evolution of ADF UIX • Built on top of JSF APIs • Deployable on any compliant implementation of JSF • Over 100 types of components • Supporting Partial-page rendering, etc. • Rich feature set for customizing applications • ADF model support out-of-the-box

  34. ADF Faces Components • Accessibility and internationalization support across the board • Framework features e.g. Dialog framework and support for processes • Client side validation • Server- and client-side validation/conversion from the same code • Use standard JSF converters and validators(But you have to use our input components) • Released early and often – every 4-5 weeks

  35. Look And Feel Customization • ADF Faces provides two “as is” look and feels: • Oracle’s Browser Look and Feel (BLAF) • Minimal Look And Feel (MLAF) • ADF Faces will provide customizable look and feels • Support declarative Look &Feel definition

  36. ADF Faces RIA • Rich Internet Application (RIA) • A Rich Internet Client combining: • Deployment benefits of a Thin Client application • Rich interaction of a desktop application • Rich Internet JSF components • Leveraging “Ajax” technologies • JSF components with live updates in the Browser • Popup menus, Trees, Splitters etc…

  37. ADF Faces Mobile Runtime Extension J2EE Container SMS, IM, Pager, Email Ask Server (Resource Adapter) ADF Faces Applications Request IndustrialTelnet Server (Resource Adapter) Request telnet ADF Runtime HTTP Agent Detection Device Repository HTTP Wireless Renderer Kits View Handler Impl

  38. ADF Faces Mobile: Supported Devices • Currently certified platforms • Windows Mobile 2003 (Pocket PC) • Partial Page Refresh (PPR) through XMLHTTP • Palm Web Browser 3.0 • Access NetFront 3.0/3.1 • Minimum browser requirements for other platforms • HTML 4.0 • JavaScript 1.1 • CSS Level 2

  39. Multi-client development

  40. Demonstration Multi-client development

  41. JSF Web Resources • Oracle Technology Network JSF Resources • http://otn.oracle.com/jsf • JSF Reference Implementation • http://java.sun.com/j2ee/javaserverfaces/ • JSF Central - Popular Online JSF Community • http://www.jsfcentral.com

  42. Documentation

  43. Summary • Think components, not markup • Not just for HTML • Plenty of opportunities for all skill levels

  44. Q & Q U E S T I O N S A N S W E R S A

  45. Learn the Technology Visit OTN Microsites: otn.oracle.com Try the Software Visit the Hands-On Labs in Moscone West 1003, 1004 Ask Our Experts Fusion Middleware Demogrounds; Sessions

  46. “This presentation is for informational purposes only and may not be incorporated into a contract or agreement.”

More Related