Monday, February 6, 2012

Project 2 Introduction

JSF 2.0 Mojarra, MySQL, JPA, JTA, REST, SOAP, Primefaces 2.2, Richfaces, AJAX, JUnit 4.3.
JPA provider: Hibernate 3.6.7
JEE Container: Glassfish 3.1, JBoss 7.1.  See table of contents to find the page that describes running in the different containers.  I was originally intending to run under Tomcat, but I do not see this as a realistic approach at this stage.  Although you can get it up and running, it is still in too raw a state.  Even the download is only beta for TomEE.  You can get Tomcat and just add in all the different libraries, but I think most shops are going to go for a full, proven app server.  So, we wait until TomEE is more robust.

JRE 6.x : http://www.java.com/en/download/manual.jsp
JDK 7.x : http://www.oracle.com/technetwork/java/javase/downloads/index.html
Glassfish v3.x : http://glassfish.java.net/public/downloadsindex.html#top
JBoss 7.1.x : http://www.jboss.org/jbossas/downloads/
MySql v5.x : http://dev.mysql.com/downloads/
MySql connector driver: http://dev.mysql.com/downloads/connector/j/
NetBeans v7.x : http://netbeans.org/downloads/
Overcast theme for Primefaces: http://repository.primefaces.org/org/primefaces/themes/
Hibernate 3.x : http://www.hibernate.org/downloads
Spring Framework 3.x :  http://www.springsource.org/download/community
Richfaces 4.x : http://www.jboss.org/richfaces/download/stable.html
JSF, AJAX, JUnit, REST, SOAP are all included in the above.

Although the application is basically the same as the application in Project 1, the technology stack is much different.  I will try to keep the analysis of the two stacks for the end of the project, and not discuss the similarities or differences as we go along.  The one difference to that end will be when the discussion is similar enough that I use the same blog post, I will note that they are the same.

I will take a top down approach.  We have a finished application that incorporates the features above.  We will explore each subject and cross reference them to the files or parts that are relevant. Any area you see the ... symbol will simply be where I modified the file and removed the code for brevity.  You can see the whole context by downloading the source code and reviewing the files.

The easiest way to navigate through the tutorial will be to use the Next, Previous, and Index buttons at the bottom of each post.  In addition, there are the Table of Contents / Index pages provided so you can look up a specific topic.  These pages are located on the right side of the post under the PAGES heading.  I will not be posting the topics in the order of the Table of Contents, so if you wish to follow a more logical flow, use the Table of Contents, or the navigation buttons.  There is a search box that will let you scan the blog for any key words. 

Although I will try and be as thorough as I can, this is not a replacement for the many wonderful books out there.  This is simply a place to tie it all together.  It is left to you the reader to go and review the rest of the topic.  I do not give instructions on how to install the software, although where appropriate, I will demonstrate how to configure them.

For the sake of brevity, if I discuss a topic in one place, I will not code it in another unless, I already did so and didn't want to remove the code, it annoyed me not to code it, or I was forced to do it to get the task completed.  Therefor, be advised that the code is explicitly written to demonstrate the topics at hand and not to be complete throughout.  i.e.  In a production environment, javadocs should be completed, or the Services classes would have more functionality, etc.  These and many other areas are intentionally not done.



No comments:

Post a Comment