SlideShare une entreprise Scribd logo
1  sur  38
Utilisation de ZK avec Java Retour d’expérience 19-juin-2008 Lou Schwartz – Damien Nicolas
Plan de la présentation ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Lou Schwartz – Damien Nicolas
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Introduction  –  Contexte   d’utilisation de ZK Lou Schwartz – Damien Nicolas 1/1
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Introduction  –  Quid ZK ? Lou Schwartz – Damien Nicolas 1/3 1/3
Introduction  –   Quid ZK ?   Lou Schwartz – Damien Nicolas 2/3 2/3
Introduction  –   Quid ZK ?   ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Lou Schwartz – Damien Nicolas 3/3
Plan de la présentation ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Lou Schwartz – Damien Nicolas
Mise en application  –   Architecture choisie Lou Schwartz – Damien Nicolas GUI : Graphical User Interface Layer VO : Value Object Layer DAO : Data Access Object Layer Business : Business Object Layer ZK graphical objects VO objects Factory pattern DAO objects domain objects Fichiers ZUML + classes Java graphiques classes Java classes Java classes Java Hibernate Base de données Postgres Fichiers de mapping ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],1/1
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Exemples  – Fenêtre de login Lou Schwartz – Damien Nicolas 1/4
Exemples  – Fenêtre de login ,[object Object],Lou Schwartz – Damien Nicolas ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],2/4
Exemples  – Fenêtre de login ,[object Object],Lou Schwartz – Damien Nicolas ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Met à jour la combobox avec les données de la base de données Initialise la fenêtre Surcharge Window composant ZK de base 3/4 ,[object Object],[object Object],[object Object]
Exemples  – Fenêtre de login ,[object Object],Lou Schwartz – Damien Nicolas Internet Explorer Mozilla Firefox Identification réussie    redirection Echec de l’identification   affichage message erreur 4/4
Exemples  – Paramétrage ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Lou Schwartz – Damien Nicolas 1/4
Exemples  – Paramétrage ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Lou Schwartz – Damien Nicolas 2/4 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Exemples  – Paramétrage ,[object Object],[object Object],[object Object],[object Object],Lou Schwartz – Damien Nicolas 3/4
Exemples  – Paramétrage Lou Schwartz – Damien Nicolas 4/4 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Exemples  – Intégration librairies ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Lou Schwartz – Damien Nicolas 1/6
Exemples  – Intégration librairies ,[object Object],Lou Schwartz – Damien Nicolas 2/6 Met en session le type de Fichier à générer Clic de l’utilisateur Ouvre la fenêtre de confirmation de la création du fichier ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Exemples  – Intégration librairies ,[object Object],Lou Schwartz – Damien Nicolas 3/6 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Clic de l’utilisateur ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Crée le fichier et ouvre la fenêtre de téléchargement du fichier
Exemples  – Intégration librairies ,[object Object],[object Object],[object Object],Lou Schwartz – Damien Nicolas 4/6 Clic de l’utilisateur Clic de l’utilisateur Crée le fichier et ouvre la fenêtre de téléchargement du fichier
Exemples  – Intégration librairies ,[object Object],[object Object],[object Object],[object Object],[object Object],Lou Schwartz – Damien Nicolas 5/6 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Exemples  – Intégration librairies ,[object Object],[object Object],Lou Schwartz – Damien Nicolas 6/6
Plan de la présentation ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Lou Schwartz – Damien Nicolas
Application –  Problèmes rencontrés ,[object Object],[object Object],Lou Schwartz – Damien Nicolas 1/2 Nombreux accès à la base de données gourmands en temps Charge toutes les données à la création de l’interface Effectue tous les traitements à la création de l’interface Effectuer le minimum d’accès à la base de données    Gérer les objets en session A la sélection d’un onglet charger les données et effectuer les traitements nécessaires Enregistrer les calculs dans la base de données Ne charger que l’interface et les données/traitements du premier onglet visible Origines possibles du problème Solutions proposées  .
Application –  Problèmes rencontrés ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Lou Schwartz – Damien Nicolas 2/2
Plan de la présentation ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Lou Schwartz – Damien Nicolas
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Forces   ZK Lou Schwartz – Damien Nicolas 1/3 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Forces ZK ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Lou Schwartz – Damien Nicolas 2/3
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Forces ZK Lou Schwartz – Damien Nicolas 3/3 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Faiblesses ZK Lou Schwartz – Damien Nicolas 1/2
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Faiblesses   ZK Lou Schwartz – Damien Nicolas 2/2
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Quand & pourquoi utiliser ZK ? Lou Schwartz – Damien Nicolas 1/1
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Quand & pourquoi ne pas utiliser ZK ? Lou Schwartz – Damien Nicolas 1/1
Plan de la présentation ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Lou Schwartz – Damien Nicolas
Conclusion ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Lou Schwartz – Damien Nicolas The finalist of  "Best Tool and Utility for Developers,"  "Best User Support"  and "Best Technical Design"!!! Présents au salon JavaOne mai 2008, San Fransisco
Plan de la présentation ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Lou Schwartz – Damien Nicolas
Bibliographique ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Lou Schwartz – Damien Nicolas
Questions ? 19-juin-2008 Lou Schwartz – Damien Nicolas 30-sept-06

Contenu connexe

En vedette

Oracle ADF : Vue d'ensemble
Oracle ADF : Vue d'ensembleOracle ADF : Vue d'ensemble
Oracle ADF : Vue d'ensembleANASYS
 
Swing and Graphical User Interface in Java
Swing and Graphical User Interface in JavaSwing and Graphical User Interface in Java
Swing and Graphical User Interface in Javababak danyal
 
JAVA GUI PART I
JAVA GUI PART IJAVA GUI PART I
JAVA GUI PART IOXUS 20
 
JAVA GUI PART III
JAVA GUI PART IIIJAVA GUI PART III
JAVA GUI PART IIIOXUS 20
 
Graphical User Interface (GUI) - 1
Graphical User Interface (GUI) - 1Graphical User Interface (GUI) - 1
Graphical User Interface (GUI) - 1PRN USM
 
Graphical User Interface (Gui)
Graphical User Interface (Gui)Graphical User Interface (Gui)
Graphical User Interface (Gui)Bilal Amjad
 
Rapport Administration des systémes Linux (Shells bash)
Rapport Administration des systémes Linux (Shells bash)Rapport Administration des systémes Linux (Shells bash)
Rapport Administration des systémes Linux (Shells bash)Ayoub Rouzi
 
Alphorm.com Formation Java,avancé OCP (1Z0-804)
Alphorm.com Formation Java,avancé OCP (1Z0-804)Alphorm.com Formation Java,avancé OCP (1Z0-804)
Alphorm.com Formation Java,avancé OCP (1Z0-804)Alphorm
 
Alphorm.com Java 8: les nouveautés
Alphorm.com Java 8: les nouveautésAlphorm.com Java 8: les nouveautés
Alphorm.com Java 8: les nouveautésAlphorm
 

En vedette (9)

Oracle ADF : Vue d'ensemble
Oracle ADF : Vue d'ensembleOracle ADF : Vue d'ensemble
Oracle ADF : Vue d'ensemble
 
Swing and Graphical User Interface in Java
Swing and Graphical User Interface in JavaSwing and Graphical User Interface in Java
Swing and Graphical User Interface in Java
 
JAVA GUI PART I
JAVA GUI PART IJAVA GUI PART I
JAVA GUI PART I
 
JAVA GUI PART III
JAVA GUI PART IIIJAVA GUI PART III
JAVA GUI PART III
 
Graphical User Interface (GUI) - 1
Graphical User Interface (GUI) - 1Graphical User Interface (GUI) - 1
Graphical User Interface (GUI) - 1
 
Graphical User Interface (Gui)
Graphical User Interface (Gui)Graphical User Interface (Gui)
Graphical User Interface (Gui)
 
Rapport Administration des systémes Linux (Shells bash)
Rapport Administration des systémes Linux (Shells bash)Rapport Administration des systémes Linux (Shells bash)
Rapport Administration des systémes Linux (Shells bash)
 
Alphorm.com Formation Java,avancé OCP (1Z0-804)
Alphorm.com Formation Java,avancé OCP (1Z0-804)Alphorm.com Formation Java,avancé OCP (1Z0-804)
Alphorm.com Formation Java,avancé OCP (1Z0-804)
 
Alphorm.com Java 8: les nouveautés
Alphorm.com Java 8: les nouveautésAlphorm.com Java 8: les nouveautés
Alphorm.com Java 8: les nouveautés
 

Similaire à Utilisation de ZK avec Java - Retour d’expérience

Symfony2 - Un Framework PHP 5 Performant
Symfony2 - Un Framework PHP 5 PerformantSymfony2 - Un Framework PHP 5 Performant
Symfony2 - Un Framework PHP 5 PerformantHugo Hamon
 
Presentation Spring, Spring MVC
Presentation Spring, Spring MVCPresentation Spring, Spring MVC
Presentation Spring, Spring MVCNathaniel Richand
 
programmation orienté objet c++
programmation orienté objet c++programmation orienté objet c++
programmation orienté objet c++coursuniv
 
La Tooling API, est-ce pour moi ? Bien sûr, viens voir pourquoi !
La Tooling API, est-ce pour moi ? Bien sûr, viens voir pourquoi !La Tooling API, est-ce pour moi ? Bien sûr, viens voir pourquoi !
La Tooling API, est-ce pour moi ? Bien sûr, viens voir pourquoi !Paris Salesforce Developer Group
 
Scrapez facilement et gratuitement
Scrapez facilement et gratuitementScrapez facilement et gratuitement
Scrapez facilement et gratuitementMadeline Pinthon
 
C5 Javascript French
C5 Javascript FrenchC5 Javascript French
C5 Javascript FrenchVlad Posea
 
Symposium2008 Open Source 08 02 2008
Symposium2008    Open Source   08 02 2008Symposium2008    Open Source   08 02 2008
Symposium2008 Open Source 08 02 2008juflo
 
Visual Studio 2008 Overview
Visual Studio 2008 OverviewVisual Studio 2008 Overview
Visual Studio 2008 OverviewGregory Renard
 
Comment écrire du code testable ?
Comment écrire du code testable ?Comment écrire du code testable ?
Comment écrire du code testable ?Fou Cha
 
Rich Desktop Applications
Rich Desktop ApplicationsRich Desktop Applications
Rich Desktop Applicationsgoldoraf
 
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0Gregory Renard
 
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0Gregory Renard
 
ACRA - Présentation PAUG Avril 2011
ACRA - Présentation PAUG Avril 2011ACRA - Présentation PAUG Avril 2011
ACRA - Présentation PAUG Avril 2011Kevin Gaudin
 

Similaire à Utilisation de ZK avec Java - Retour d’expérience (20)

Symfony2 - Un Framework PHP 5 Performant
Symfony2 - Un Framework PHP 5 PerformantSymfony2 - Un Framework PHP 5 Performant
Symfony2 - Un Framework PHP 5 Performant
 
Manualjquery
ManualjqueryManualjquery
Manualjquery
 
Presentation Spring, Spring MVC
Presentation Spring, Spring MVCPresentation Spring, Spring MVC
Presentation Spring, Spring MVC
 
Spring 3.0
Spring 3.0Spring 3.0
Spring 3.0
 
programmation orienté objet c++
programmation orienté objet c++programmation orienté objet c++
programmation orienté objet c++
 
Presentation JPA
Presentation JPAPresentation JPA
Presentation JPA
 
iTunes Stats
iTunes StatsiTunes Stats
iTunes Stats
 
La Tooling API, est-ce pour moi ? Bien sûr, viens voir pourquoi !
La Tooling API, est-ce pour moi ? Bien sûr, viens voir pourquoi !La Tooling API, est-ce pour moi ? Bien sûr, viens voir pourquoi !
La Tooling API, est-ce pour moi ? Bien sûr, viens voir pourquoi !
 
Scrapez facilement et gratuitement
Scrapez facilement et gratuitementScrapez facilement et gratuitement
Scrapez facilement et gratuitement
 
C5 Javascript
C5 JavascriptC5 Javascript
C5 Javascript
 
C5 Javascript French
C5 Javascript FrenchC5 Javascript French
C5 Javascript French
 
react-fr.pdf
react-fr.pdfreact-fr.pdf
react-fr.pdf
 
Symposium2008 Open Source 08 02 2008
Symposium2008    Open Source   08 02 2008Symposium2008    Open Source   08 02 2008
Symposium2008 Open Source 08 02 2008
 
Visual Studio 2008 Overview
Visual Studio 2008 OverviewVisual Studio 2008 Overview
Visual Studio 2008 Overview
 
Comment écrire du code testable ?
Comment écrire du code testable ?Comment écrire du code testable ?
Comment écrire du code testable ?
 
Rich Desktop Applications
Rich Desktop ApplicationsRich Desktop Applications
Rich Desktop Applications
 
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
 
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
 
ACRA - Présentation PAUG Avril 2011
ACRA - Présentation PAUG Avril 2011ACRA - Présentation PAUG Avril 2011
ACRA - Présentation PAUG Avril 2011
 
Présentation WPF
Présentation  WPFPrésentation  WPF
Présentation WPF
 

Utilisation de ZK avec Java - Retour d’expérience

  • 1. Utilisation de ZK avec Java Retour d’expérience 19-juin-2008 Lou Schwartz – Damien Nicolas
  • 2.
  • 3.
  • 4.
  • 5. Introduction – Quid ZK ? Lou Schwartz – Damien Nicolas 2/3 2/3
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38. Questions ? 19-juin-2008 Lou Schwartz – Damien Nicolas 30-sept-06

Notes de l'éditeur

  1. Présentation ZK - Retour d'expérience 13 août 2010 Lou Schwartz
  2. Présentation ZK - Retour d'expérience 13 août 2010 Lou Schwartz ECOMI : Economie de la connaissance et management de l’innovation
  3. Présentation ZK - Retour d'expérience 13 août 2010 Lou Schwartz
  4. Présentation ZK - Retour d'expérience 13 août 2010 Lou Schwartz Schéma de fonctionnement Le ZK Client engine est intégré au navigateur et détecte n'importe quel évènement déclenché par l'utilisateur tels un mouvement de souris ou un changement de valeur. Une fois détecté, il est envoyé au Update Engine. Après avoir reçu la demande du Client Engine, l'Update Engine met à jour le contenu des composants correspondants si cela est nécessaire. Ensuite, l'Update Engine le signale à l'application en invoquant le gestionnaire d'évènement, le cas échéant. Si l'application choisit de changer le contenu des composants, de supprimer, d'ajouter ou de déplacer des composants, l'Update Engine envoie le nouveau contenu modifié des composants au Client Engine. Enfin, le Client Engine met à jour l'arbre DOM en conséquence. NOTES Pour minimiser le trafic entre le client et le serveur, plusieurs évènement sont envoyés au serveur en une fois pour autant que ceux-ci soient différrables. Pour maximiser les effets visuels ainsi que la réactivité, ZK fournit le "Client Side Action" qui vous permet d'exécuter vos propres codes JavaScript sur le client. ZK Client Engine = ensemble de Javascripts dans la page cliente
  5. Présentation ZK - Retour d'expérience 13 août 2010 Lou Schwartz Les traitements se font plus dans la couche VO (acc è s bdd via DAO, traitements pour l'affichage). Les business objects c'est juste une description.
  6. Présentation ZK - Retour d'expérience 13 août 2010 Lou Schwartz
  7. Présentation ZK - Retour d'expérience 13 août 2010 Lou Schwartz
  8. Présentation ZK - Retour d'expérience 13 août 2010 Lou Schwartz
  9. Présentation ZK - Retour d'expérience 13 août 2010 Lou Schwartz
  10. Présentation ZK - Retour d'expérience 13 août 2010 Lou Schwartz http://10.13.1.19:8080/Abilitic/ Mécanisme JavaBeans
  11. Présentation ZK - Retour d'expérience 13 août 2010 Lou Schwartz Expert : pva
  12. Présentation ZK - Retour d'expérience 13 août 2010 Lou Schwartz
  13. Présentation ZK - Retour d'expérience 13 août 2010 Lou Schwartz
  14. Présentation ZK - Retour d'expérience 13 août 2010 Lou Schwartz
  15. Présentation ZK - Retour d'expérience 13 août 2010 Lou Schwartz
  16. Présentation ZK - Retour d'expérience 13 août 2010 Lou Schwartz
  17. Présentation ZK - Retour d'expérience 13 août 2010 Lou Schwartz
  18. Présentation ZK - Retour d'expérience 13 août 2010 Lou Schwartz