• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
What's cool in Apache MyFaces?
 

What's cool in Apache MyFaces?

on

  • 3,944 views

 

Statistics

Views

Total Views
3,944
Views on SlideShare
3,944
Embed Views
0

Actions

Likes
0
Downloads
29
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    What's cool in Apache MyFaces? What's cool in Apache MyFaces? Presentation Transcript

    • What's cool in Apache MyFaces
      Matthias Wessendorf (Oracle) | Principal Member Technical Staff
      Ali Ok (Innflow AG) | Java Developer
    • Ali Ok
      • Innflow AG
      • MyFaces committer
      • Google Summer of Code (HTML5)
      • PrimeFaces
      • Twitter : @aliok_tr
      • Blog : blog.aliok.com.tr
    • Matthias Wessendorf
      • Oracle
      • Apache Software Foundation
      • Member
      • Committer and PMC MyFaces
      • Author
      • Conference Speaker
      • Twitter : @mwessendorf
      • Blog : matthiaswessendorf.wordpress.com
    • Agenda
      • Planet Apache MyFaces
      • Core: Apache MyFaces 2.x
      • Google App Engine
      • Trinidad and the mobile Web
      • The ASF and Google Summer of Code
      • Overview MyFaces activities
      • MyFaces meets HTML5
      • Apache MyFaces and the 'Java Enterprise' ecosystem
      • Spring
      • Java EE
      • Groovy
      • Summery (and Q/A)
    • Agenda
      • Planet Apache MyFaces
      • Core: Apache MyFaces 2.x
      • Google App Engine
      • Trinidad and the mobile Web
      • The ASF and Google Summer of Code
      • Overview MyFaces activities
      • MyFaces meets HTML5
      • Apache MyFaces and the 'Java Enterprise' ecosystem
      • Spring
      • Java EE
      • Groovy
      • Summery (and Q/A)
    • Planet Apache MyFaces
      • Commiters: 67 (soon we have more! No kidding!)
      • First! OpenSource JSF Implementation
      • Offers different JSF implementations
      • JSF 1.1 (Maintenance Mode) Last release (1.1.8): June 10, 2010
      • JSF 1.2 (Maintenance Mode) Last release (1.2.9): June 10, 2010
      • JSF 2.0 (trunk and main focus) Current release 2.0.1: July 18, 2010
    • Planet Apache MyFaces
      • Since 2004 an Apache project
      • 2002 -> 2004 on sourceforge (LGPL)
      • Biggest JSF (user) community
      • Apache: Community over Code!
      • A good community builds good code
      • Interested? Join us!!! :)
      • More than „just“ an implementation
      • Innovation happens at Apache (MyFaces)*
    • Planet Apache MyFaces
      • Core: The JSF implementation
      • Tomahawk: a "classic" component library
      • Tobago: Component library with layout focus
      • Trinidad: Framework and component library
      • Commons: Goodies and non-renderkit tools (async-lifecycle,user-agent,validators, converters...)
      • Extensions: CDI, Validator and Scripting/Groovy
      • Orchestra: conversation (aka dialog) scope for beans
      • Portlet-Brigde: RI + TCK* for JSF/Portlet stuff (301/329)
      • Test: Shale Test continues here!
      • Maven: Several Plugins to generate JSF artifacts
      • GSOC: "root" folder for all (new) GSOC activities
    • Agenda
      • Planet Apache MyFaces
      • Core: Apache MyFaces 2.x
      • Google App Engine
      • Trinidad and the mobile Web
      • The ASF and Google Summer of Code
      • Overview MyFaces activities
      • MyFaces meets HTML5
      • Apache MyFaces and the 'Java Enterprise' ecosystem
      • Spring
      • Java EE
      • Groovy
      • Summary (and Q/A)
    • Apache MyFaces 2.x
      • 2.0.1 had a ton of improvements
      • still working on improving MyFaces (PERF,...)
      • working on being greatly productive...
      • Improvements for JavaServer Faces 2.1/ 2.2
      • MyFaces community had donations to the EG:
      • ajax uploads
      • Fix UIData state saving (spec issue 153)
      https://issues.apache.org/jira/browse/MYFACES-2616
    • Apache MyFaces 2.x
      • 2.0.1 had a ton of improvements
      • still working on improving MyFaces (PERF,...)
      • working on being greatly productive...
      • Improvements for JavaServer Faces 2.1 / 2.2
      • MyFaces community had donations to the EG:
      • ajax uploads
      • Fix UIData state saving (spec issue 153)
      https://issues.apache.org/jira/browse/MYFACES-2616
    • Agenda
      • Planet Apache MyFaces
      • Core: Apache MyFaces 2.x
      • Google App Engine
      • Trinidad and the mobile Web
      • The ASF and Google Summer of Code
      • Overview MyFaces activities
      • MyFaces meets HTML5
      • Apache MyFaces and the 'Java Enterprise' ecosystem
      • Spring
      • Java EE
      • Groovy
      • Summery (and Q/A)
    • MyFaces goes App Engine
      • What is Google App Engine?
      • Running web applications on G’s
      • Java (JVM based languages) and Python
      • Satisfactory quotas for free accounts
      • 1.3 M daily requests
      • 1 GB datastore (Bigtable / NoSql)
      • 500 MB webspace
    • Some limitations...
      • Blacklisted classes:
      • MyFaces will initiate without using them, some limitations occur
      • "Reload"s and "unload"s:
      • State: MyFaces initializes on each "reload", no effects other than some loading time (5 secs)
      • Not persisting application scope across "reload"s
      • Session is persisted across requests (via datastore) though:
      • Rule : need to implement session scoped managed beans as serializable
    • Agenda
      • Planet Apache MyFaces
      • Core: Apache MyFaces 2.x
      • Google App Engine
      • Trinidad and the mobile Web
      • The ASF and Google Summer of Code
      • Overview MyFaces activities
      • MyFaces meets HTML5
      • Apache MyFaces and the 'Java Enterprise' ecosystem
      • Spring
      • Java EE
      • Groovy
      • Summery (and Q/A)
    • Trinidad goes mobile
      • The mobile Web is back. It is REAL
      • Poweful Phones, like Android or iPhone
      • Still Challenges:
      • Wide variety of browser capabilities
      • JavaScript and Ajax
      • CSS / DOM
      • Uneven device performance
      • iPhone/BlackBerry Bold/other smartphones
      • Consumer phones
      • Different device interfaces and user interactions
      • Touch screen VS non-touch screen
      • Finger navigation VS „keyboard“
    • Compelling Mobile Web Applications
      • (device) native Look-and-feel
      • similar user experiences between mobile web application and native mobile application
      • Performs well across various device types and connectivity
      • Leverage advanced AJAX capabilities in smartphone browsers to reduce network traffic
      • Reduce or eliminate JavaScript and Style sheets for less capable mobile devices with limited bandwidth
      • Several (mobile) versions ???
    • Compelling Mobile Applications with JSF/Trinidad
      • Device-native application look-and-feel
      • Skinning: applications can be skinned to achieve device native LAF**
      • Two levels of rendering support:
      • Trinidad render kit renders UI component based on browser capabilities
      • Platform specific style sheets controlled by the developer **
    • Compelling Mobile Applications with JSF/Trinidad
      • Performs well across various device types and connectivity
      • AJAX Support reduces data and network round trips for smartphone browsers
      • Trinidad components automatically switch to plain HTML when targeting basic mobile devices
      • Better performance for devices with less powerful processors
    • Getting REAL
    • Getting REAL
    • Agenda
      • Planet Apache MyFaces
      • Core: Apache MyFaces 2.x
      • Google App Engine
      • Trinidad and the mobile Web
      • The ASF and Google Summer of Code
      • Overview MyFaces activities
      • MyFaces meets HTML5
      • Apache MyFaces and the 'Java Enterprise' ecosystem
      • Spring
      • Java EE
      • Groovy
      • Summery (and Q/A)
    • Google Summer of Code
      • Apache: Community over Code
      • Codeawards are a great fit!
      • Apache (MyFaces) started in 2005*
      • Getting new committers
      • In 2010 we have four projects
      • HTML5
      • MyFaces Application Builder
      • Performance improvements
      • Automated Testing Module
    • MyFaces meets HTML5
      • Google Summer of Code project
      • New Html5 Renderkit, focusing on popular new elements and some of new functionality like Drag and Drop
      • Getting ready for next generation web applications
      • Next versions of JSF
      • Compatibility problems between JSF and Html5
      • Making use of new APIs
      • JSF 2.Next :
      • Supporting Html5 features in standard JSF components
    • MyFaces meets Html5
      • What is cool in Html5?
      • APIs:
      • Websockets, File API, Desktop notifications, XHR Level 2, better error handling, ...
      • Html:
      • New input types, client-side validation, native DnD, semantics, new elements, ...
      • CSS:
      • New selectors, effects, transforms, ...
    • Html5 Spec Design
      • Backwards compatible
      • New elements designed with an approach to make old browsers just ignore them
      • Fixing lack of error handling
      • Reducing the necessity of external plugins
      • More semantic stuff
    • Component Design
      • Input components:
      • Client side validation, driven by JSF validators!
      • Html5 Behaviors:
      • Implemented as JSF behaviors
      • Works in Mojarra, using MyFacesshared
    • DEMO: MyFaces Html5 Component Library
      http://bit.ly/myfaces-html5-j1-demo
    • Roadmap
      • “Ajax” file upload, uploading multiple files, file upload area(drop zone) with XHR 2
      • Making use of new Html elements
      • Support for applicable Html5 features in core components
      • Websockets, Notifications, ... support
      • Form independence of input components
      • Fallbacks for older browsers and Html5 detection
    • Agenda
      • Planet Apache MyFaces
      • Core: Apache MyFaces 2.x
      • Google App Engine
      • Trinidad and the mobile Web
      • The ASF and Google Summer of Code
      • Overview MyFaces activities
      • MyFaces meets HTML5
      • Apache MyFaces and the 'Java Enterprise' ecosystem
      • Spring
      • Java EE
      • Groovy
      • Summery (and Q/A)
    • Enterprise Java integration
      • JavaServer Faces is view-tier
      • Different „backend“ technologies are used
      • Most common
      • Java EE
      • Spring Framework
      • Java is not the only language for the JVM
      • Scala
      • Groovy
      • Apache MyFaces helps to integrate them!
    • Groovy/Scripting Module
      • Groovy: dynamic language for the JVM
      • JSR 241 (unfinished / inactive)
      • Similar to Java and easy to learn
      • MyFaces Scripting
      • Groovy; other languages may follow...
      • STATUS: Beta, playing never hurts ;-)
      • Write JSF pieces in Groovy and script them!
      • NOT ONLY managed beans ;-)
    • BLOG APPLICATION DEMO
    • Orchestra: Spring Support
      • JSF Extension Library
      • Conversation Scope (for multi request)
      • for managed beans (spring or @nnotations)
      • Persistence Context Handling
      • ConversationScope & PersistenceContext
      • no more LazyInitializationExceptions
      • ViewController
      • callbacks (initView(), preProcess(), preRenderView())
      • Declarative Transactions
      • Via @annotations (JDK 1.5 or later)
    • Java EE
      • Java EE 6 is a modern and lightweight platform
      • MyFaces offers first class support for
      • Bean Validation (JSR 303)
      • MyFaces ExtVal (303 and more!)
      • Contexts and Dependency Injection for the Java EE platform (JSR 299)
      • MyFaces CODI (brand new!)
      • JSE Module
      • i18n support with fluent API
      • JEE Module
    • MyFaces ExtVal
      • Validation Framework (for JSF)
      • Leverages JPA @nnotations! (JSR backed)
      • Seam is using Hibernate Validation
      • Cross-component validation
      • Client-Side Validation (not easy with JSF default)
      • only for Trinidad
      • tbc...
      • Custom Validators:
      • Create your own @ValidateMeOnlyOnMonday
      • JSR 303 (Bean Validation) integration
    • MyFaces ExtVal - Code
    • MyFaces CODI
      • Java EE Module
      • BeanValidation support
      • JSF2 support
      • JSF1.2 support: Bring CDI to JSF 1.2
      • Offering „Orchestra feature“ for CDI
      • @ConversationScoped
      • @ViewAccessScoped
      • And more CDI-based Scopes
      • @WindowScoped
      • Supporting JSF's @ViewScoped via CDI
    • MyFaces CODI
      Code and Demo
    • Agenda
      • Planet Apache MyFaces
      • Core: Apache MyFaces 2.x
      • Google App Engine
      • Trinidad and the mobile Web
      • The ASF and Google Summer of Code
      • Overview MyFaces activities
      • MyFaces meets HTML5
      • Apache MyFaces and the 'Java Enterprise' ecosystem
      • Spring
      • Java EE
      • Groovy
      • Summery (and Q/A)
    • Questions ?
      • ANSWERS!
    • WANTED:
      NEW CONTRIBUTORS !
      http://myfaces.apache.org
      Get started today!