Author: dhinojosa
Date: 2012-09-13 02:30:39 -0400 (Thu, 13 Sep 2012)
New Revision: 15131

Added:
   branches/community/Seam_2_3/seam-migration-guide/
   branches/community/Seam_2_3/seam-migration-guide/ear_folder.png
   branches/community/Seam_2_3/seam-migration-guide/ear_module.png
   branches/community/Seam_2_3/seam-migration-guide/ear_structure.png
   branches/community/Seam_2_3/seam-migration-guide/seam_migration_guide.asc
Log:
added migration guide

Added: branches/community/Seam_2_3/seam-migration-guide/ear_folder.png
===================================================================
(Binary files differ)


Property changes on: 
branches/community/Seam_2_3/seam-migration-guide/ear_folder.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: branches/community/Seam_2_3/seam-migration-guide/ear_module.png
===================================================================
(Binary files differ)


Property changes on: 
branches/community/Seam_2_3/seam-migration-guide/ear_module.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: branches/community/Seam_2_3/seam-migration-guide/ear_structure.png
===================================================================
(Binary files differ)


Property changes on: 
branches/community/Seam_2_3/seam-migration-guide/ear_structure.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: branches/community/Seam_2_3/seam-migration-guide/seam_migration_guide.asc
===================================================================
--- branches/community/Seam_2_3/seam-migration-guide/seam_migration_guide.asc   
                        (rev 0)
+++ branches/community/Seam_2_3/seam-migration-guide/seam_migration_guide.asc   
2012-09-13 06:30:39 UTC (rev 15131)
@@ -0,0 +1,101 @@
+JBoss Seam 2.3 Migration Guide
+==============================
+
+== Outline
+
+Seam 2.3 has undergone a few changes in this latest development. 
+
+* <<maven, Maven>> - Using Apache Maven with Seam 2.3 as the standard build 
tool.
+* <<arquillian, Arquillian>> - Seam Test migration to Arquillian Testing.
+* <<seam, Seam Changes>> - Package changes. Code changes, and Notable 
deprecations
+* <<jboss71, JBoss 7.1>> - How to deploy applications to JBoss 7.1, the 
standard application server for JBoss 2.3
+* <<jbosstools, JBoss Tools Integration>> - JBoss Tools Integration
+
+[[maven]]
+== Maven
+Using Apache Maven with Seam 2.3 as the standard build tool.
+
+Maven 2.3 has migrated from Apache Ant to Apache Maven as the standard build 
tool following the same process as was done with Seam 3.0. Maven as a build 
tool is a defacto standard build tool in the Java ecosystem. Whether it is a 
favorite of yours or not, feature-wise the folder organization and dependency 
management of Maven is standard. The use of <<arquillian,arquillian>> is also 
arguably simpler to handle using Maven. 
+
+To migrate from the Seam 2.2 setup to 2.3, _ear_ projects will need to be 
broken up into a maven multimodule project, and _war_ projects will need just 
be converted to one maven war project. 
+
+== Folder Organization
+
+The following are description on how to organize Seam 2.3 project in the Maven 
build tool environment.
+
+=== Ear Project Organization
+
+The folder organization of Seam 2.3 in Maven typically consists of one main 
project, the `pom` project.  The `pom` project in Maven, is the project that 
doesn't have any source files onto itself but contains the projects that are 
required for the build. In an ear based project.  Inside of the `pom` ear based 
project folder contains three subfolders one for the ear project, one for the 
war project, one for the arquillian (formerly seam test) project, and one for 
the ejb project.  Given a parent `pom` project called `myproject`, some ideas 
for the the subfolders would include `myproject-ear`, `myproject-web`, 
`myproject-test`, and `myproject-ejb`.  You can refer to the examples in the 
*examples-ee6* folder for some general ideas as to how to create the folder 
organization for your Seam 2.3 project.  
+
+Taking the folder structure of the *registration* module in the *examples-ee6* 
folder of the Seam 2.3. distribution.  The <<earprojectstructure,registration 
folder structure>> shown below shows the typical setup.
+
+.Typical ear project structure
+[[earprojectstructure]]
+image::ear_structure.png[Seam 2.3 Ear 
Setup,scaledwidth="50%",scaledheight="50%"]
+
+The pom.xml in the bottom of the diagram is the parent pom that contains 
modules for `registration-ear`, `registration-web`, `registration-test`, and 
`registration-ejb`. It will also contain 
http://http://maven.apache.org/pom.html#Plugin_Management[plugin management] 
and 
http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html[dependency
 management] information for each of the submodules. Inside of each module, 
there is another child pom that has information on it's own dependencies and 
plugins. 
+
+==== Ear Module
+The ear project submodule will typically contain all ear based configurations 
with no source files whatsoever.  The module is short, since not much needs to 
be held within it.  <<listing3, Listing 3>> contains the folder structure of 
what is contained inside of an ear module.  The `src/main/application/META-INF` 
will store the configuration files necessary to create an ear file.  Namely the 
`jboss-deployment-structure.xml` and any `*-ds.xml` iron-jacamar database 
descriptor file that is required for deployment.
+
+.ear module
+[[listing3]]
+image::ear_module.png[Ear Module 
Structure,scaledwidth="50%",scaledheight="50%"]
+
+The `jboss-deployment-structure.xml` file contains what resources will be made 
available by the Jboss 7.1.1 server modules.  In order to investigate what 
modules are available by your Jboss server navigate to the `modules` directory 
on whatever server type you will be running. If you are a running a 
`standalone` server then the modules directory will be located in the 
`$JBOSS_HOME/server/standalone/modules` directory. 
+
+.Sample jboss-deployment-structure.xml
+[[listing4]]
+----
+<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.0">
+   <deployment>
+      <dependencies>
+         <module name="org.hibernate" export="true"/>
+         <module name="javax.faces.api" export="true"/>
+         <module name="com.sun.jsf-impl" export="true"/>
+         <module name="org.apache.commons.collections" export="true"/>
+         <module name="org.dom4j" export="true"/>
+         <module name="org.antlr" export="true"/>
+      </dependencies>
+   </deployment>
+</jboss-deployment-structure> 
+----
+==== Web Module
+Web stuff
+
+==== Test Module
+Test stuff
+
+=== War Project Organization
+War proj stuff
+
+==== Web Module
+Web stuff
+
+==== Test Module
+Test stuff
+
+== Dependencies
+Dependencies
+
+=== Bill of Materials
+Bill of Materials 
+
+== Using Ant 
+Using Ant
+
+[[arquillian]]
+== Arquillian
+Seam Test migration to Arquillian Testing.
+
+[[seam]]
+== Seam Changes
+Package changes. Code changes, and Notable deprecations
+
+[[jboss71]]
+== JBoss 7.1
+How to deploy applications to JBoss 7.1, the standard application server for 
JBoss 2.3
+ 
+[[jbosstools]]
+== JBoss Tools
+Using Jboss Tools

_______________________________________________
seam-commits mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/seam-commits

Reply via email to