jonas jacobi principal product manager oracle corporation

Post on 03-Jan-2016

39 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

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

Jonas JacobiPrincipal Product ManagerOracle Corporation

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

Everything You Need to Know About JavaServer Faces and ADF Faces

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

Focus on components, not markup Automatic event and state handling Supports existing views and controllers Designed to be leveraged by tools

Role of Faces

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?

JSF brings backing of a standard specification – JSR 127

Here is why!

Aims to simplify J2EE web application development

Consistent Programming Model

J2EEJ2EE Bus. LogicBus. Logic

HTMLHTML RIARIA MobileMobile TelnetTelnet

IndustrialIndustrial

XMLXML XMLXML

HTMLHTML

Phone/PDAPhone/PDABrowserBrowser

SkinsSkins

Render KitsRender Kits

ComponentsComponents

InterfaceInterfaceJava Server Faces / JSPJava Server Faces / JSP

Faces RIFaces RI Custom JSF componentsCustom JSF componentsPortalPortal

ASKASK

GatewayGateway

Servlets JSP JSF

Evolution of J2EE web tier

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 tasksValidation, 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

HTMLrender kit

Fro

nt C

on

troller

Fro

nt C

on

troller

WMLrender kit

WMLrender kit

BackendBackendCodeCode

JSF LIFECYCLE

Formal Phases – Initial Request

Restore ViewRestore View

Client / BrowserClient / Browser

RenderRenderResponseResponse

JSF LIFECYCLE

Formal Phases - Postback

Restore ViewRestore View

Client / BrowserClient / Browser

ApplyApplyRequestRequestValuesValues

UpdateUpdateModelModel

InvokeInvokeApplicationApplication

RenderRenderResponseResponse

ProcessProcessValidationValidation

JSP LIFECYCLE

Formal Phases (cont.) - JSP

Servlet Servlet URL parsingURL parsing

Client / BrowserClient / Browser

RenderRenderJSP ResponseJSP Response

Product codeProduct code(state management, (state management,

events, etc.)events, etc.)

ApplicationsPages

UI ComponentsMarkup

JavaHttp Requests

Ease of Development

Lower Level

JSF vs. Traditional JSP

Product

UI

Events

Developer

JSFJSFJSPJSP

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

J2EEJ2EE Bus. LogicBus. Logic

HTMLHTML RIARIA MobileMobile TelnetTelnet

IndustrialIndustrial

XMLXML XMLXML

HTMLHTML

Phone/PDAPhone/PDABrowserBrowser

SkinsSkins

Render KitsRender Kits

ComponentsComponents

InterfaceInterfaceJava Server Faces / JSPJava Server Faces / JSP

Faces RIFaces RI Custom JSF componentsCustom JSF componentsPortalPortal

ASKASK

GatewayGateway

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…

J2EE Container

ADF Faces Mobile Runtime Extension

ADF FacesADF FacesApplicationsApplications

IndustrialTelnet Server

(ResourceAdapter)

Ask Server (Resource Adapter)

SMS, IM, Pager, Email

telnet

Request

Request

HTTP

ADF RuntimeADF Runtime

Wireless Renderer Kits

Agent Detection

Device Repository

HTTP

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

AQ&Q U E S T I O N SQ U E S T I O N S

A N S W E R SA N S W E R S

Learn the TechnologyVisit OTN Microsites: otn.oracle.com

Try the SoftwareVisit the Hands-On Labs in Moscone West 1003, 1004

Ask Our ExpertsFusion Middleware Demogrounds; Sessions

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

top related