MySQL and AppFuse - Raible DesignsWho is Matt Raible? Developing websites since 1994 (before...

15
MySQL and AppFuse Simplify your Java Developmen! "ww.raibledesigns.co#

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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#