MySQL and AppFuse - Raible DesignsWho is Matt Raible? Developing websites since 1994 (before...
Transcript of MySQL and AppFuse - Raible DesignsWho is Matt Raible? Developing websites since 1994 (before...
![Page 1: MySQL and AppFuse - Raible DesignsWho is Matt Raible? Developing websites since 1994 (before Netscape 1.0) - Developing in Java since 1999 Committer on several open source projects:](https://reader034.fdocuments.us/reader034/viewer/2022050203/5f57223074793207ad4bdbc3/html5/thumbnails/1.jpg)
MySQL and AppFuse
Simplify your Java Developmen!
"ww.raibledesigns.co#
![Page 2: MySQL and AppFuse - Raible DesignsWho is Matt Raible? Developing websites since 1994 (before Netscape 1.0) - Developing in Java since 1999 Committer on several open source projects:](https://reader034.fdocuments.us/reader034/viewer/2022050203/5f57223074793207ad4bdbc3/html5/thumbnails/2.jpg)
Who is Matt Raible?Developing websites since 1994 (before Netscape 1.0) - Developing in Java since 1999
Committer on several open source projects: Roller Weblogger, Struts Menu, Display Tag, AppFuse and Struts Resume
Have a weblog (http://raibledesigns.com) with tips n’ tricks for J2EE and web development
Author: Spring Live (SourceBeat) and contributor to Pro JSP (Apress)
![Page 3: MySQL and AppFuse - Raible DesignsWho is Matt Raible? Developing websites since 1994 (before Netscape 1.0) - Developing in Java since 1999 Committer on several open source projects:](https://reader034.fdocuments.us/reader034/viewer/2022050203/5f57223074793207ad4bdbc3/html5/thumbnails/3.jpg)
Audience Survey
Web app development experience? With Java?
Open Source tools experience with Ant, XDoclet, Struts, Hibernate or Spring?
"ww.raibledesigns.co#
![Page 4: MySQL and AppFuse - Raible DesignsWho is Matt Raible? Developing websites since 1994 (before Netscape 1.0) - Developing in Java since 1999 Committer on several open source projects:](https://reader034.fdocuments.us/reader034/viewer/2022050203/5f57223074793207ad4bdbc3/html5/thumbnails/4.jpg)
Presentation AgendaMy experience with MySQL
What is AppFuse?
Open Source Dependencies
Demo of Features
HowTo: Create Person object and DAO to persist
"ww.raibledesigns.co#
![Page 5: MySQL and AppFuse - Raible DesignsWho is Matt Raible? Developing websites since 1994 (before Netscape 1.0) - Developing in Java since 1999 Committer on several open source projects:](https://reader034.fdocuments.us/reader034/viewer/2022050203/5f57223074793207ad4bdbc3/html5/thumbnails/5.jpg)
MySQL Experience2002-present: Helped build an E-Learning application from scratch using MySQL 3.23.x
2002-present: MySQL powers my weblog, which is powered by Roller Weblogger
2003: Built a 21 screen, 23 table webapp in 70 hours using AppFuse
2003-2004: Use in current project for development database on OS X
"ww.raibledesigns.co#
![Page 6: MySQL and AppFuse - Raible DesignsWho is Matt Raible? Developing websites since 1994 (before Netscape 1.0) - Developing in Java since 1999 Committer on several open source projects:](https://reader034.fdocuments.us/reader034/viewer/2022050203/5f57223074793207ad4bdbc3/html5/thumbnails/6.jpg)
AppFuse - what is it?History - how it came to be
Powered by Ant, glued together with Spring, persisted by Hibernate and controlled with Struts
Easy setup (ant setup) for Tomcat and MySQL
Testing on all tiers: DAOs, Business Delegates, Struts Actions and JSPs
"ww.raibledesigns.co#
![Page 7: MySQL and AppFuse - Raible DesignsWho is Matt Raible? Developing websites since 1994 (before Netscape 1.0) - Developing in Java since 1999 Committer on several open source projects:](https://reader034.fdocuments.us/reader034/viewer/2022050203/5f57223074793207ad4bdbc3/html5/thumbnails/7.jpg)
Dependencies
"ww.raibledesigns.co#
![Page 8: MySQL and AppFuse - Raible DesignsWho is Matt Raible? Developing websites since 1994 (before Netscape 1.0) - Developing in Java since 1999 Committer on several open source projects:](https://reader034.fdocuments.us/reader034/viewer/2022050203/5f57223074793207ad4bdbc3/html5/thumbnails/8.jpg)
Demo of FeaturesContainer Managed Authentication - easily switch from JDBC to LDAP or Windows domain authentication
Remember Me and Self Registration
GZip Compression Built-in
Testing environment ready to go, Anthill ready
http://demo.raibledesigns.com/appfuse"ww.raibledesigns.co#
![Page 9: MySQL and AppFuse - Raible DesignsWho is Matt Raible? Developing websites since 1994 (before Netscape 1.0) - Developing in Java since 1999 Committer on several open source projects:](https://reader034.fdocuments.us/reader034/viewer/2022050203/5f57223074793207ad4bdbc3/html5/thumbnails/9.jpg)
Create database, table, POJO and DAO
"ww.raibledesigns.co#
A Quick HowTo
![Page 10: MySQL and AppFuse - Raible DesignsWho is Matt Raible? Developing websites since 1994 (before Netscape 1.0) - Developing in Java since 1999 Committer on several open source projects:](https://reader034.fdocuments.us/reader034/viewer/2022050203/5f57223074793207ad4bdbc3/html5/thumbnails/10.jpg)
Development Environment Setup
Use instructions at http://raibledesigns.com/wiki/Wiki.jsp?page=DevelopmentEnvironment
Recommended Tools: Eclipse 3.0 M8, JDK 1.4.2, Tomcat 5.0.19, Ant 1.6.1, MySQL 4.0.18
OS X: Intellij IDEA, BBEdit, Cocoa MySQL, Smart CVS
Windows: HomeSite, TopyStyle, Cygwin, Tortoise CVS, MySQL CC / Administrator
"ww.raibledesigns.co#
![Page 11: MySQL and AppFuse - Raible DesignsWho is Matt Raible? Developing websites since 1994 (before Netscape 1.0) - Developing in Java since 1999 Committer on several open source projects:](https://reader034.fdocuments.us/reader034/viewer/2022050203/5f57223074793207ad4bdbc3/html5/thumbnails/11.jpg)
Part I: Create db and tableCreate “appfuse” database with Ant
Create Person.java POJO and generate Hibernate mapping file with XDoclet
Configure Spring to be aware of Person object
Create “person” table from POJO using Ant
"ww.raibledesigns.co#
![Page 12: MySQL and AppFuse - Raible DesignsWho is Matt Raible? Developing websites since 1994 (before Netscape 1.0) - Developing in Java since 1999 Committer on several open source projects:](https://reader034.fdocuments.us/reader034/viewer/2022050203/5f57223074793207ad4bdbc3/html5/thumbnails/12.jpg)
Part II: Create DAOWhat is a DAO?
Create PersonDAOTest - Test First!
Create PersonDAO Interface
Create PersonDAOHibernate implementation class
Configure PersonDAO in Spring
Run JUnit Test"ww.raibledesigns.co#
![Page 13: MySQL and AppFuse - Raible DesignsWho is Matt Raible? Developing websites since 1994 (before Netscape 1.0) - Developing in Java since 1999 Committer on several open source projects:](https://reader034.fdocuments.us/reader034/viewer/2022050203/5f57223074793207ad4bdbc3/html5/thumbnails/13.jpg)
Part III: More TutorialsCreate PersonManagerTest, PersonManager interface and implementation class
Configure in Spring and add declarative transactions
Create PersonAction and JSPs (including Tiles and Validation)
Online at http://raibledesigns.com/appfuse/tutorials
![Page 14: MySQL and AppFuse - Raible DesignsWho is Matt Raible? Developing websites since 1994 (before Netscape 1.0) - Developing in Java since 1999 Committer on several open source projects:](https://reader034.fdocuments.us/reader034/viewer/2022050203/5f57223074793207ad4bdbc3/html5/thumbnails/14.jpg)
AppFuse RoadmapAdd MVC Framework options: Spring, WebWork, Tapestry and JSF
Pipe Dreams: MyEclipse or Java Studio Creator Support
Other things you’d like to see?
"ww.raibledesigns.co#
![Page 15: MySQL and AppFuse - Raible DesignsWho is Matt Raible? Developing websites since 1994 (before Netscape 1.0) - Developing in Java since 1999 Committer on several open source projects:](https://reader034.fdocuments.us/reader034/viewer/2022050203/5f57223074793207ad4bdbc3/html5/thumbnails/15.jpg)
Questions?AppFuse Official Homepage:
http://raibledesigns.com/appfuse
AppFuse Demo:
http://demo.raibledesigns.com/appfuse
This Presentation:
http://raibledesigns.com/downloads/AppFuse-MySQL.pdf
"ww.raibledesigns.co#