Orientation


This page relates to JumpStart v3.5 to v3.7. Click here for newer versions.

The project structure of jumpstart-min and jumpstart-max is the same.

Web source is in these locations:
	web
|---src
|---main
|---java
|---jumpstart
|---web
|---components --> .java for components eg. Layout.java
|---pages --> .java for pages eg. UserSearch.java
|---services --> .java for services eg. BusinessServicesLocator.java
|---webapp
|---components --> .tml for components eg. Layout.tml
|---pages --> .tml for pages eg. UserSearch.tml
|---WEB-INF --> .properties file for application-wide messages
Business source is in these locations:
	business
|---src
|---main
|---java --> .properties file for business messages
|---jumpstart
|---business
|---domain --> .java for business (entities and services and )
|---resources
|---META-INF --> .xml for persistence descriptor
Eclipse compiles the java source to bin/ and runs our Ant file exploder.xml file to copy all the necessary items to exploded/, which holds an "exploded" EAR file with this structure:
	exploded
|---jumpstart-min.ear
|---jumpstart-min.jar --> the business layer
|---jumpstart-min.war --> the web layer
You can see how the exploder has this been configured by displaying the project's properties and choosing Builders.

A tour To learn more, open the project in Eclipse, locate README-HOME-PAGE in web/src/main/webapp/WEB-INF/ and start the tour. Afterwards, you can use this page to get more info and as a handy reference.

Reference These files describe the application structure. They rarely need to change.
enterprise/src/main/resources/META-INF/application.xml  tells the application server we have a WAR and a JAR, and it says the WAR handles URLs involving jumpstart.
web/src/main/webapp/WEB-INF/web.xml  tells the web server how to handle jumpstart URLs - it says filter them through Tapestry!
business/src/main/resources/META-INF/MANIFEST.MF  tells the EJB3 server which classpath entries we need (in addition to the ones it provides).
business/src/main/resources/META-INF/persistence.xml  tells the EJB3 server how we want to persist data - the datasource name and some settings.

The only one you're likely to change is persistence.xml. See Tips for more on that.

Tapestry expects a class called AppModule to exist to describe services we want added in:
jumpstart.min.web.services.AppModule

Examples Here are the pieces involved in logging in:

Layer Source file Location
Web messages app.properties web/src/main/webapp/WEB-INF/
View Index.tml web/src/main/webapp/pages/
Controller Index.java web/src/main/java/jumpstart/web/pages/
Services ISecurityFinderSvcLocal.java
SecurityFinderSvc.java
business/src/main/java/jumpstart/business/domain/security/iface/
business/src/main/java/jumpstart/business/domain/security/
Entity User.java business/src/main/java/jumpstart/business/domain/security/
Business messages messageDefs.properties business/src/main/java/

Here are the pieces involved in editing a user. Many are the same as for logging in:

Layer Source file Location
Web messages app.properties web/src/main/webapp/WEB-INF/
View UserEdit.tml web/src/main/webapp/pages/security/
Controller UserEdit.java web/src/main/java/jumpstart/web/pages/security/
Services ISecurityFinderSvcLocal.java
SecurityFinderSvc.java
ISecurityManagerSvcLocal.java
SecurityManagerSvc.java
business/src/main/java/jumpstart/business/domain/security/iface/
business/src/java/main/jumpstart/business/domain/security/
business/src/java/main/jumpstart/business/domain/security/iface/
business/src/java/main/jumpstart/business/domain/security/
Entity User.java business/src/main/java/jumpstart/business/domain/security/
Business messages messageDefs.properties business/src/main/java/

Tapestry locates components that aren't pages a little differently. For example, the "Layout" component:

Layer Source file Location
View Layout.tml web/src/main/webapp/components/
Controller Layout.java web/src/main/java/jumpstart/web/components/

©2006, 2007 Geoff Callender, Sydney, Australia