480 likes | 503 Vues
“This presentation is for informational purposes only and may not be incorporated into a contract or agreement.”.
E N D
“This presentation is for informational purposes only and may not be incorporated into a contract or agreement.”
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.
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.”
Java Server FacesEverything you always wanted to know but were afraid to ask…
Agenda • JSF Introduction • What and Why JSF? • Architecture • JSF Technology • JSF and Oracle • JDeveloper • ADF Faces • Future
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
Role of Faces • Focus on components, not markup • Automatic event and state handling • Supports existing views and controllers • Designed to be leveraged by tools
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?
Here is why! JSF brings backing of a standard specification – JSR 127 Aims to simplify J2EE web application development
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
Evolution of J2EE web tier Servlets JSP JSF • Each is built on the previous layer • Progressive levels of abstraction • Higher level programming
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
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
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
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
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
JSF Architecture Front Controller BackendCode HTML render kit WML render kit
Formal Phases – Initial Request JSF LIFECYCLE Client / Browser Restore View Render Response
Client / Browser Formal Phases - Postback JSF LIFECYCLE Restore View Apply Request Values Process Validation Render Response Invoke Application Update Model
Client / Browser Formal Phases (cont.) - JSP JSP LIFECYCLE Servlet URL parsing Product code (state management, events, etc.) Render JSP Response
JSF vs. Traditional JSP JSP JSF Developer Lower Level Ease of Development Http Requests Java Events Markup UI Components UI Pages Applications Product
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)
The Top Three • Component Based model • Markup vs. Components • Consistent Programming Model • JSP & Java • Clear separation of Presentation and Behavior on components
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
Agenda • JSF Introduction • Why JSF • Architecture • JSF Technology • JSF and Oracle • JDeveloper • ADF Faces • Rich Web Clients
JSF and JDeveloper 10.1.3 • JSF Visual Editing • JSF UI Component visual editing • Provides backend code generation • Mobile WYSIWYG
JSF and JDeveloper 10.1.3 • Faces Config Editing Console • Console for productive editing of faces-config.xml
JSF and JDeveloper 10.1.3 • JSF Page Flow • Visually design Faces navigation model
JSF and JDeveloper 10.1.3 • Declarative data binding – JSR 227 • Drag and drop data binding support
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
Demonstration JSF common programming model
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
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
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
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…
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
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
Demonstration Multi-client development
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
Summary • Think components, not markup • Not just for HTML • Plenty of opportunities for all skill levels
Q & Q U E S T I O N S A N S W E R S A
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
“This presentation is for informational purposes only and may not be incorporated into a contract or agreement.”