JSF On Rails - Devoxx 2008

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    JSF On Rails - Devoxx 2008 - Presentation Transcript

    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. Speaker’s 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
      • 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’
      • Demo: JEE Application Development – EJB 3.0/JPA & JSF using 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
      Overview
      • ADF = Oracle’s 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 3 rd 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
      JEE Web Application on ADF
    5. The Data Model for the demo
    6. 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)
      • Step One – Master (table) Detail (table)
      Rapid Demonstration Result
      • Step Two –
            • Wrap Employee Table in PanelCollection (Detach and run-time Column Management) &
      • Enable Sort on Employee Table
      Rapid Demonstration Result
      • Step Three – the Real Estate Challenge:
            • Accordion with Employee Table and Salary Graph
            • Popup with extra context details (Department Manager)
      Rapid Demonstration Result
      • Master-Detail synchronization
      • Table-Table
      • Sort & Column Manipulation
      • Accordion
      • Popup
      • Chart
      • ============ (+ 10 minutes
      Rapid Demonstration Result
      • 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
      Some Remaining Challenges
    7. 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
            • Integrated Role based authorization for pages and items
    8. 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
    9. DEMO
      • Demonstration JEE Web Application Development on Rails - Introducing JHeadstart
      • JDeveloper 11g, ADF & JHeadstart
      • Business Tier: ADF Business Components
      • ADF Model
      • Web Tier: JavaServer Faces (ADF 11g Faces Rich Client Components)
      • Menu
      • Master-Detail
      • Search Form
      • Edit/Delete/Duplicate
      JSF on Rails Demo Results
      • Editing the Application Definition
      JSF on Rails Demo Results
    10. JSF on Rails Demo Results
    11. 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
    12. 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)
    13. Q&A
    14. Thanks for your attention!
      • See: http://technology.amis.nl/blog for resources, more demonstrations, examples and presentation material
      • Email: lucas.jellema@amis.nl

    + Lucas JellemaLucas Jellema, 12 months ago

    custom

    1392 views, 0 favs, 3 embeds more stats

    Presentation from the Tools in Action Track at Devo more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 1392
      • 1229 on SlideShare
      • 163 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 39
    Most viewed embeds
    • 160 views on http://technology.amis.nl
    • 2 views on http://www.javaoracleblog.com
    • 1 views on http://209.85.133.132

    more

    All embeds
    • 160 views on http://technology.amis.nl
    • 2 views on http://www.javaoracleblog.com
    • 1 views on http://209.85.133.132

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories