JavaServer Faces, Components, and The Next Big Thing* - PowerPoint PPT Presentation

About This Presentation
Title:

JavaServer Faces, Components, and The Next Big Thing*

Description:

JavaServer Faces, Components, and The Next Big Thing* Jacob Hookom. McKesson Medical-Surgical. JavaServer Faces & Web Tier Alignment EGs. Presentation Goals ... – PowerPoint PPT presentation

Number of Views:54
Avg rating:3.0/5.0
Slides: 29
Provided by: jacobh5
Category:

less

Transcript and Presenter's Notes

Title: JavaServer Faces, Components, and The Next Big Thing*


1
JavaServer Faces, Components,and The Next Big
Thing
  • Jacob Hookom
  • McKesson Medical-Surgical
  • JavaServer Faces Web Tier Alignment EGs

2
Presentation Goals
  • MVC Fundamentals 101
  • Advantages of Component Design
  • Going Under the Hood
  • Room For Improvement
  • The Next Big Thing
  • Questions and Answers

3
MVC 101 The Landscape
  • The Client-Server Disconnect
  • Representational State Transfer (REST)
  • Extreme Fragmentation in Java
  • 50 Frameworks Available
  • Struts
  • WebWork
  • JavaServer Faces
  • Tapestry

4
MVC 101 Past Present
5
What Does Model 2 Give Us?
  • Handles More Complex Requirements than Model 1
  • Single Event Architecture (The Request)
  • Wraps/Validates Transmitted State
  • Controller uses Transmitted State to Control Flow
  • Considered the Best Solution for Years

6
MVC Framework Responsibilities (Server)
  • Interpret the Request or Event
  • Validate the Event Data Coming In
  • Apply that Data to the Model
  • Invoke Behavior on the Model
  • Render Model Data back in the Response
  • Repeat as Desired

7
Rich Applications in Traditional MVC
  • Example
  • Display Editable Table
  • Manage Validation
  • Tree Menu
  • Routing Events
  • Managing State
  • Coordinating Re-Use
  • Desperate Solutions

8
Introducing The Component
  • Has State and Behavior
  • Self Sufficient
  • Participates in the Full MVC Lifecycle
  • Are not just for Rendering
  • Event Driven
  • Encapsulates Programmer Concerns
  • Easy to Use

9
Component Examples
  • Form Controls (Buttons and Fields)
  • A Pagable Sortable Table
  • Financial Chart Generation
  • Pop Up Calendar for Date Entry
  • Google Maps
  • Custom Layout or Panel
  • Collapsible Tree Menu
  • Whatever Marketing Comes up With

10
Going Under the Hood
  • Hidden Details of JavaServer Faces

11
Simple Example (Abbreviated)
  • ltfviewgt
  • lthpanelGridgt
  • ltmtaskPane /gt
  • ltmstatusBar /gt
  • lt/hpanelGridgt
  • ltmmenu /gt
  • lthdataTablegt
  • lthinputText /gt
  • lthcommandButton /gt
  • lt/hdataTablegt
  • lt/fviewgt

12
Component Trees Compositions
13
Component Trees Compositions
14
Component Trees Compositions
15
Component Trees Compositions
16
Component Trees Compositions
17
Component Trees Compositions
18
Component Trees Compositions
19
Component Trees Compositions
20
Component Trees Compositions
21
Component Trees Compositions
22
Component Trees Compositions
23
Component Tree State Management
  • All Components Post-Back to the Same View (Model
    1-ish)
  • Components must first be Encoded
  • Both the View and the State are Captured during
    Encoding
  • Previous State is Used to Process Post-Back

24
Representational vs. Actual State
lthdataTable valueemployees varemp/gt
lthcolumngt lthinputText valueemp.salary/
gt lt/hcolumngt lthcolumngt lthcommandButton
actionemp.delete/gt lt/hcolumngt lt/hdataTab
legt
25
Problems with Current Solution
  • Stale State in Layered Architectures
  • Encode before Decode Issues
  • Breaking Web Semantics
  • Is this Even True MVC?
  • AJAX Partial Tree Processing
  • True Compositions
  • How do We Fix These Issues?

26
A Few Ideas to Ponder (Importance of Identity)
  • Declarative vs. Imperative UIs
  • State Preservation vs. Reconstruction
  • Extending Resource Identifiers for Partial Tree
    Processing
  • Other Types of Hypermedia can be delivered

27
The Future Landscape
  • Web Tier Alignment Group (W.A.G)
  • The 5 Requirements of MVC are Constant
  • Component-based Development is here to Stay
  • Big Business Yahoo, Google, ESPN
  • Opportunity to Deliver new Ideas around
    Components on the Web

28
Questions And Answers
  • JavaServer Faces
  • Java EE 5
  • JSP EL
  • EJB 3 / JBoss Seam
  • How to Get Involved
Write a Comment
User Comments (0)
About PowerShow.com