[seam-commits] Seam SVN: r15131 - in branches/community/Seam_2_3: seam-migration-guide and 1 other directory.

seam-commits at lists.jboss.org seam-commits at lists.jboss.org
Thu Sep 13 02:30:40 EDT 2012


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



More information about the seam-commits mailing list