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