www'devoxx'com - PowerPoint PPT Presentation

About This Presentation
Title:

www'devoxx'com

Description:

Lucas Jellema makes frequent contributions to the http://technology.amis.nl/blog weblog ... See: http://technology.amis.nl/blog for resources, more ... – PowerPoint PPT presentation

Number of Views:75
Avg rating:3.0/5.0
Slides: 25
Provided by: technol8
Category:
Tags: com | devoxx | weblog | www

less

Transcript and Presenter's Notes

Title: www'devoxx'com


1
www.devoxx.com
2
JSF on Rails JDeveloper 11g, ADF 11g and
JHeadstart
  • Lucas Jellema
  • Expertise Manager
  • AMIS (The Netherlands)

3
Overall Presentation Goal
  • Demonstrate the rapid, declarative development of
    Rich Internet Applications (EJB/JPA or ADF
    Business Components, JavaServer Faces) using
    JDeveloper 11g ADF 11g
  • and the warp-speed on-rails model driven
    development using JHeadstart 11g
  • (entice you to try it out for yourself)

4
Speakers qualifications
  • Lucas Jellema is CTO at AMIS an Oracle, SOA
    Java specialist in The Netherlands
  • Lucas Jellema is Oracle ACE Director
  • Lucas Jellema regularly writes articles for media
    like JDJ, Java Magazine (Dutch), JavaLobby,
    Oracle Technology Network, and various Oracle
    related magazines
  • Lucas Jellema presented in 2008 on Dutch Java
    User Group conference, JavaOne, Oracle Open
    World, Devoxx and various Oracle User Group
    events
  • Lucas Jellema makes frequent contributions to the
    http//technology.amis.nl/blog weblog

5
  • Java developers spend most of their time on
    solving non-functional problems that have already
    been solved
  • In other technology stacks
  • In existing Java frameworks, libraries or tools
  • By their (former) colleagues
  • And sometimes even by themselves
  • Over 90 of developer effort can be and should be
    oriented towards functional business requirements
  • No focus and little effort on programming generic
    plumbing code or developing functionality
    available from frameworks
  • Exploit declarative, predefined options in your
    technology stack and start programming in anger
    to go the extra mile

6
Overview
  • Demo JEE Application Development EJB 3.0/JPA
    JSFusing JDeveloper 11g with ADF 11g
  • Discussion of remaining challenges
  • Introduction of JSF on Rails with JHeadstart
  • Demo Declarative, model-driven, zero-code
    generation of JEE Applications using JHeadstart
  • Summary

7
JEE Web Application on ADF
  • ADF Oracles Application Development Framework
  • (rich) JSF implementation (ADF Faces aka MyFaces
    Trinidad) as well as ADF Swing and Struts/JSP
    support
  • its own persistency framework ADF Business
    Components (fka BC4J) as well as support for
    EJB/JPA, EclipseLink/TopLink, WebServices and 3rd
    party persistency solutions
  • Infrastructure for Data Binding to decouple
    Model and ViewController (and implement rich JSF
    backing models)
  • Note each of these elements can be used with or
    without the others

8
The Data Model for the demo
9
DEMO
  • Demonstration rapid JEE Web Application
    Development
  • JDeveloper 11g with ADF
  • Business Tier EJB 3.0/JPA
  • ADF Model
  • Web Tier JavaServer Faces (ADF 11g Faces
    Rich Client Components)

10
Rapid Demonstration Result
  • Step One Master (table) Detail (table)

11
Rapid Demonstration Result
  • Step Two
  • Wrap Employee Table in PanelCollection (Detach
    and run-time Column Management)
  • Enable Sort on Employee Table

12
Rapid Demonstration Result
  • Step Three the Real Estate Challenge
  • Accordion with Employee Table and Salary Graph
  • Popup with extra context details (Department
    Manager)

13
Rapid Demonstration Result
  • Master-Detail synchronization
  • Table-Table
  • Sort ColumnManipulation
  • Accordion
  • Popup
  • Chart
  • (10 minutes

14
Some Remaining Challenges
  • Even though a lot of drag drop, still a lot of
    manual activity involved
  • Because of that, keeping the pages consistent
    look feel, structure, interactivity can be a
    pain
  • Absorb/Apply global changes in either the Model
    or the layout and interaction structure and
    pattern is quite hard
  • Implementing common UI patterns List of Values,
    Search Forms, Navigation, Breadcrumbs can be
    made easier
  • The learning curve is quite steep even though
    initially little programming is involved

15
JHeadstart JSF on Rails
  • JHeadstart generates an ADF JSF application
    from the model and a declarative definition of
    pages data usages
  • For CRUD style applications
  • or a headstart for process/task oriented
    applications
  • Many common data, interaction and layout-patterns
    are supported with out-of-the-box generation
  • Master-Detail(-Detail-.), Shuttle, List of
    Values
  • Form, Table, Tree, Overflow areas, File
    upload/download
  • Menu, Deeplink Navigation, Breadcrumb trail
  • Run-time management of Resource Bundles and
    Custom Items
  • Integrated Role based authorization for pages and
    items

16
Develop iteratively with JHS
  • Preparation
  • Install JHeadstart extension for JDeveloper
  • Enable JHeadstart on Web application
  • Build (initial) business service with ADF BC
  • Create (default) Application Definition
  • Generate (initial) application JSF pages, Page
    Flows, Managed Beans Navigation rules, ADF Data
    Binding
  • Repeatedly, in iterations
  • Edit Application Definition
  • Change Generator Templates
  • Modify Model (ADF BC Business Service)
  • Regenerate

17
DEMO
  • Demonstration JEE Web Application Developmenton
    Rails - Introducing JHeadstart
  • JDeveloper 11g, ADF JHeadstart
  • Business Tier ADF Business
    Components
  • ADF Model
  • Web Tier JavaServer Faces (ADF 11g Faces
    Rich Client Components)

18
JSF on Rails Demo Results
  • Menu
  • Master-Detail
  • Search Form
  • Edit/Delete/Duplicate

19
JSF on Rails Demo Results
  • Editing the Application Definition

20
JSF on Rails Demo Results
21
Summary
  • ADF 11g helps create rich JavaServer Faces
    applications on top of EJB/JPA, WebService or ADF
    Business Components Business Services
  • ADF 11g Data Binding allow drag drop style data
    binding of complex data driven components (form,
    table, tree, shuttle, many graph types, slider,
    pivot table, )
  • ADF 11g Faces (Rich Client Components) provide
    rich layout components (popup, panelsplitter,
    accordion, tabs..)
  • JHeadstart 11g puts JSF/ADF on rails with
    extreme productive no code generation of CRUD
    applications

22
Concluding statement
  • Development of JavaServer Faces applications can
    and should be fast and productive yet rich and
    attractive with full focus on business
    functionality
  • ADF 11g allows for rapid JSF application
    development. JHeadstarts adds the highway
    (railway) to a jumpstart, especially when
    creating CRUD applications.
  • Both can easily be enhanced by Java programmers
  • Give it a try (all software can be downloaded
    from OTN)

23
QA
24
Thanks for your attention!
  • See http//technology.amis.nl/blog for
    resources, more
    demonstrations, examples and
    presentation material
  • Email lucas.jellema_at_amis.nl
Write a Comment
User Comments (0)
About PowerShow.com