No Slide Title

Download Report

Transcript No Slide Title

“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 Jacobi
Principal Product Manager
Oracle Corporation
“This presentation is for informational purposes only and may not be incorporated into a contract or agreement.”
Java Server Faces
Everything 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
Consistent Programming Model
Industrial
Browser
Phone/PDA
Gateway
HTML
Portal
XML
XML
HTML
RIA
Faces RI
Skins
Mobile
Telnet
Custom JSF components
Java Server Faces / JSP
J2EE
ASK
Render Kits
Components
Interface
Bus. Logic
Evolution of J2EE web tier
Servlets
JSP
 Each is built on the previous layer
 Progressive levels of abstraction
 Higher level programming
JSF
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 requestresponse cycle
• Abstracts away from HTML
− Developers work with components, not markup
− Developers don’t need to decode requests
JSF Architecture
HTML
render kit
Front Controller
Backend
Code
WML
render kit
Formal Phases – Initial Request
JSF LIFECYCLE
Client / Browser
Restore View
Render
Response
Formal Phases - Postback
JSF LIFECYCLE
Client / Browser
Restore View
Apply
Request
Values
Process
Validation
Render
Response
Invoke
Application
Update
Model
Formal Phases (cont.) - JSP
JSP LIFECYCLE
Client / Browser
Servlet
URL parsing
Render
JSP Response
Product code
(state management,
events, etc.)
JSF vs. Traditional JSP
JSP
JSF
Developer
Lower Level
Ease of
Development
Events
Http Requests
Java
UI
Markup
UI Components
Product
Pages
Applications
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
Consistent Programming Model
Industrial
Browser
Phone/PDA
Gateway
HTML
Portal
XML
XML
HTML
RIA
Faces RI
Skins
Mobile
Telnet
Custom JSF components
Java Server Faces / JSP
J2EE
ASK
Render Kits
Components
Interface
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
JDeveloper Mobile: Design-Time
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
SMS, IM,
Pager,
Email
telnet
J2EE Container
Ask Server
(Resource
Adapter)
Request
Industrial
Telnet Server
(Resource
Adapter)
Request
ADF Faces
Applications
ADF Runtime
HTTP
Agent
Detection
HTTP
Wireless
Renderer Kits
Device
Repository
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
Multi-client development
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
Documentation
Summary
 Think components, not markup
 Not just for HTML
 Plenty of opportunities for all skill
levels
QUESTIONS
ANSWERS
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.”