karsten schulz senior principal consultant oracle denmark

24
Karsten Schulz Senior Principal Consultant Oracle Denmark Web Application Development Using ADF Faces

Upload: boyce

Post on 05-Feb-2016

40 views

Category:

Documents


0 download

DESCRIPTION

Web Application Development Using ADF Faces. Karsten Schulz Senior Principal Consultant Oracle Denmark. Agenda. Application Developer Framework (ADF) introduction Java Server Faces (JSF) introduction Short on ADF Faces Using JSF/ADF Faces in a development case Q/A. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Karsten Schulz Senior Principal Consultant Oracle Denmark

Karsten SchulzSenior Principal ConsultantOracle Denmark

Web Application Development Using

ADF Faces

Page 2: Karsten Schulz Senior Principal Consultant Oracle Denmark

Agenda

Application Developer Framework (ADF) introduction

Java Server Faces (JSF) introduction Short on ADF Faces Using JSF/ADF Faces in a development

case Q/A

Page 3: Karsten Schulz Senior Principal Consultant Oracle Denmark

Challenges Faced when Building J2EE Applications

Building J2EE applications can be complex. Development time can be extensive. Choosing and implementing appropriate design

patterns can be overwhelming. “Do it yourself” applications often repeat existing

application code. A large portion of “do it yourself” code is dedicated to

common tasks. The more code you write, the greater the chance of

errors. An application framework is needed.

Page 4: Karsten Schulz Senior Principal Consultant Oracle Denmark

Oracle Application Development Framework

Reduces the complexity of J2EE development by providing visual and declarative development

Increases development productivity– Less coding, more reuse– Focus on the application, not the “plumbing”

Provides a flexible and extensible environment by allowing multiple technology choices and development styles

Encourages J2EE best practices by implementing standard J2EE design patterns

Page 5: Karsten Schulz Senior Principal Consultant Oracle Denmark

Oracle ADFEnd-to-end J2EE Framework

Implements standard J2EE best practices Model-View-Controller (MVC) design pattern

Focus on the application, not the “plumbing” Consolidation and evolution of previous frameworks

Business ServicesBusiness Services

Web and Wireless ClientsWeb and Wireless ClientsRich ClientsRich Clients

ModelModel

ControllerController

Page 6: Karsten Schulz Senior Principal Consultant Oracle Denmark

Oracle ADFVisual and Declarative Development

End-to-end Application Development– J2EE & Services

Visual– WYSIWYG editors– UML modelers – Structure pane

Declarative– Structure pane – Property inspector

Code View/Design View Synchronization– No separate generation step - always synchronized– Underlying code always accessible

Page 7: Karsten Schulz Senior Principal Consultant Oracle Denmark

J2EE Architecture (Simplified)

EnterpriseJavaBeans

ADF Business Components

Web Services

Business ServicesClients

Java Objects

Database

Page 8: Karsten Schulz Senior Principal Consultant Oracle Denmark

No Standard API for Client Binding

EnterpriseJavaBeans

ADF Business Components

Web Services

Business ServicesClients

Java Objects

Database

JDBC?

Page 9: Karsten Schulz Senior Principal Consultant Oracle Denmark

ADF Model

Data Controls Data Binding JSR-227: “A Standard Data Binding & Data

Access Facility for J2EE”Web

Service

TopLink

EJB

JavaClass

BusinessComponent

ModelModel

Page 10: Karsten Schulz Senior Principal Consultant Oracle Denmark

ADF Model Architecture

Data control: describes the values and actions defined by the business service

ClientClient

BindingsBindings

Data ControlData Control

Business ServiceBusiness Service

Bindings: define how UI components use the values and actions in the data model

Page 11: Karsten Schulz Senior Principal Consultant Oracle Denmark

ADF Model Architecture

Decouples client and business service layers Client code contains no references to the

business service– Better design practice– Code is more maintainable

Architecture can be extended to add more types of business services

Page 12: Karsten Schulz Senior Principal Consultant Oracle Denmark

Drag-and-Drop Binding

Data Control Palette– Expose any business service– Available to any client

Page 13: Karsten Schulz Senior Principal Consultant Oracle Denmark

ADF – Productivity With ChoiceADF UIX

ADF Bindings

ADF Data Control

ADF Business Components

Service Object

ADF Business ComponentsQuery Object

ADF Business ComponentsEntity Object

Swing / JClientA

DF

Me

tad

ata

Se

rvic

es

View

Controller

Model

BusinessServices

Swing / JClient JSP ADF UIXJSF/ADF FACES

Rich Client Web / Wireless

Struts/JSF

ADF Bindings

ADF Data Control

JavaClasses

EJBSessionBeans

WebServices

ADF Business Components

Service Object

JDBCEJB

FindersTopLinkQueries

ADF Business ComponentsQuery Object

DataAccess

ADF Business ComponentsEntity Object

Java Classes EJB Entity Beans

TopLink Mapping

PersistentBusinessObjects

AD

F M

eta

da

ta S

erv

ice

s

Page 14: Karsten Schulz Senior Principal Consultant Oracle Denmark

JavaServer Faces (JSF)Overview

Developed through Java Community Process as JSR 127

Nickname : Faces

Goal: Simplify creation of Java Server GUIs

Started: May 2001 First relase: March 2004 Oracle is a primary contributor

Page 15: Karsten Schulz Senior Principal Consultant Oracle Denmark

JavaServer Faces (JSF)Overview - 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 16: Karsten Schulz Senior Principal Consultant Oracle Denmark

JavaServer Faces (JSF)Overview - Here is why!

JSF brings backing of a standard specification – JSR 127

Page 17: Karsten Schulz Senior Principal Consultant Oracle Denmark

JavaServer Faces (JSF)Overview

JSF is a natural evolution of J2EE Web development

Servlet API

JavaServer Pages

Custom Tag Libraries

JSTL

Too low level…

Easier but…scriptlets

Not standard…

Again, too low level…

JavaServer Faces

Finally, a comprehensive, standard API for J2EE Web applications!

JavaServer Faces

Page 18: Karsten Schulz Senior Principal Consultant Oracle Denmark

JSF Architecture

HTMLrender kit

Fro

nt C

on

troller

Fro

nt C

on

troller

WMLrender kit

WMLrender kit

BackendBackendCodeCode

Page 19: Karsten Schulz Senior Principal Consultant Oracle Denmark

JSF Architecture

UIComponent is rendered through Renderer class

Expression Language Value Binding is used to access managed bean also know as a "backing bean"

Managed bean accesses J2EE persistence layer

Renderer

UI Component Expr. Language

Managed beanJSF Page

RDBMS

J2EE Persistence Layer / JDBC

Page 20: Karsten Schulz Senior Principal Consultant Oracle Denmark

JavaServer Faces (JSF)Oracle ADF Faces

Built on top of JSF APIs A large component set >100 different components Far more advanced and interesting components

– Partial-page rendering, etc.

ADF model support out-of-the-box ADF Faces skins (Look and Feel)

ADF Databinding (JSR 227) Open Source per January 2006

– http://www.oracle.com/technology/products/jdev/htdocs/faq_adffaces_apache.html

Page 21: Karsten Schulz Senior Principal Consultant Oracle Denmark

JavaServer Faces (JSF)Oracle ADF Faces

Page 22: Karsten Schulz Senior Principal Consultant Oracle Denmark

JavaServer Faces (JSF)Oracle ADF Faces

ADF Faces also includes many of the framework features most needed by JSF developers today:

– File upload support is integrated at a component level

– Client-side validation is automatically derived from Validators and Converters for an improved user experience

– A pageFlow scope makes it easier to pass values from one page to another

– A new hybrid state saving strategy gives developers the best of both client and server-side state saving

Page 23: Karsten Schulz Senior Principal Consultant Oracle Denmark

JSF Architecture with ADF

EL accesses “bindings” object to value bind UI components

ADF “bindings” object is set through ADF Filter in web.xml

Bindings object accesses ADF Binding container, which then accesses DataControl

Business Services provide access to various data sources

ADF “bindings” Object

ADF Binding

Renderer

UI Component Expr. Language

JSF Page

RDBMS

ADF DataControl

BusinessService 1

BusinessService 2

BusinessService 3

XMLURL

WS

Page 24: Karsten Schulz Senior Principal Consultant Oracle Denmark

JavaServer Faces (JSF)Oracle ADF Faces – Extend the JSF life cycle

Happens througha registered phase-listener