Jonas Jacobi Principal Product Manager Oracle Corporation

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

description

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

Transcript of Jonas Jacobi Principal Product Manager Oracle Corporation

Page 1: Jonas Jacobi Principal Product Manager Oracle Corporation

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

Page 2: Jonas Jacobi Principal Product Manager Oracle Corporation

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.

Page 3: Jonas Jacobi Principal Product Manager Oracle Corporation
Page 4: Jonas Jacobi Principal Product Manager Oracle Corporation

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

Page 5: Jonas Jacobi Principal Product Manager Oracle Corporation
Page 6: Jonas Jacobi Principal Product Manager Oracle Corporation

Java Server Faces

Everything you always wanted to know but were afraid to ask…

Page 7: Jonas Jacobi Principal Product Manager Oracle Corporation

Agenda

JSF Introduction– What and Why JSF?– Architecture– JSF Technology

JSF and Oracle– JDeveloper– ADF Faces– Future

Page 8: Jonas Jacobi Principal Product Manager Oracle Corporation

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

Page 9: Jonas Jacobi Principal Product Manager Oracle Corporation

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

Role of Faces

Page 10: Jonas Jacobi Principal Product Manager Oracle Corporation

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?

Page 11: Jonas Jacobi Principal Product Manager Oracle Corporation

JSF brings backing of a standard specification – JSR 127

Here is why!

Aims to simplify J2EE web application development

Page 12: Jonas Jacobi Principal Product Manager Oracle Corporation

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

Page 13: Jonas Jacobi Principal Product Manager Oracle Corporation

Servlets JSP JSF

Evolution of J2EE web tier

Each is built on the previous layer Progressive levels of abstraction Higher level programming

Page 14: Jonas Jacobi Principal Product Manager Oracle Corporation

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

Page 15: Jonas Jacobi Principal Product Manager Oracle Corporation

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

Page 16: Jonas Jacobi Principal Product Manager Oracle Corporation

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

Page 17: Jonas Jacobi Principal Product Manager Oracle Corporation

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

Page 18: Jonas Jacobi Principal Product Manager Oracle Corporation

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

Page 19: Jonas Jacobi Principal Product Manager Oracle Corporation

JSF Architecture

HTMLrender kit

Fro

nt C

on

troller

Fro

nt C

on

troller

WMLrender kit

WMLrender kit

BackendBackendCodeCode

Page 20: Jonas Jacobi Principal Product Manager Oracle Corporation

JSF LIFECYCLE

Formal Phases – Initial Request

Restore ViewRestore View

Client / BrowserClient / Browser

RenderRenderResponseResponse

Page 21: Jonas Jacobi Principal Product Manager Oracle Corporation

JSF LIFECYCLE

Formal Phases - Postback

Restore ViewRestore View

Client / BrowserClient / Browser

ApplyApplyRequestRequestValuesValues

UpdateUpdateModelModel

InvokeInvokeApplicationApplication

RenderRenderResponseResponse

ProcessProcessValidationValidation

Page 22: Jonas Jacobi Principal Product Manager Oracle Corporation

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

Page 23: Jonas Jacobi Principal Product Manager Oracle Corporation

ApplicationsPages

UI ComponentsMarkup

JavaHttp Requests

Ease of Development

Lower Level

JSF vs. Traditional JSP

Product

UI

Events

Developer

JSFJSFJSPJSP

Page 24: Jonas Jacobi Principal Product Manager Oracle Corporation

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)

Page 25: Jonas Jacobi Principal Product Manager Oracle Corporation

The Top Three

Component Based model – Markup vs. Components

Consistent Programming Model– JSP & Java

Clear separation of Presentation and Behavior on components

Page 26: Jonas Jacobi Principal Product Manager Oracle Corporation

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

Page 27: Jonas Jacobi Principal Product Manager Oracle Corporation

Agenda

JSF Introduction– Why JSF– Architecture– JSF Technology

JSF and Oracle– JDeveloper– ADF Faces– Rich Web Clients

Page 28: Jonas Jacobi Principal Product Manager Oracle Corporation

JSF and JDeveloper 10.1.3

JSF Visual Editing– JSF UI Component visual editing– Provides backend code generation– Mobile WYSIWYG

Page 29: Jonas Jacobi Principal Product Manager Oracle Corporation

JSF and JDeveloper 10.1.3

Faces Config Editing Console– Console for productive editing of faces-config.xml

Page 30: Jonas Jacobi Principal Product Manager Oracle Corporation

JSF and JDeveloper 10.1.3

JSF Page Flow– Visually design Faces navigation model

Page 31: Jonas Jacobi Principal Product Manager Oracle Corporation

JSF and JDeveloper 10.1.3

Declarative data binding – JSR 227– Drag and drop data binding support

Page 32: Jonas Jacobi Principal Product Manager Oracle Corporation

JDeveloper Mobile: Design-Time Support

Page 33: Jonas Jacobi Principal Product Manager Oracle Corporation

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

Page 34: Jonas Jacobi Principal Product Manager Oracle Corporation

Demonstration

JSF common programming model

Page 35: Jonas Jacobi Principal Product Manager Oracle Corporation

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

Page 36: Jonas Jacobi Principal Product Manager Oracle Corporation

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

Page 37: Jonas Jacobi Principal Product Manager Oracle Corporation

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

Page 38: Jonas Jacobi Principal Product Manager Oracle Corporation

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…

Page 39: Jonas Jacobi Principal Product Manager Oracle Corporation

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

Page 40: Jonas Jacobi Principal Product Manager Oracle Corporation

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

Page 41: Jonas Jacobi Principal Product Manager Oracle Corporation

Multi-client development

Page 42: Jonas Jacobi Principal Product Manager Oracle Corporation

Demonstration

Multi-client development

Page 43: Jonas Jacobi Principal Product Manager Oracle Corporation

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

Page 44: Jonas Jacobi Principal Product Manager Oracle Corporation

Documentation

Page 45: Jonas Jacobi Principal Product Manager Oracle Corporation

Summary

Think components, not markup

Not just for HTML

Plenty of opportunities for all skill levels

Page 46: Jonas Jacobi Principal Product Manager Oracle Corporation

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

Page 47: Jonas Jacobi Principal Product Manager Oracle Corporation

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

Page 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.”