1 2 Previous Next 24 Replies Latest reply on Jun 1, 2011 7:42 PM by peteroyle.howardmoon.hitcity.com.au

    Migrating to Seam 3

    nraf

      Currently I'm working on a large multi-user, communication-heavy project which uses Seam 2 and RichFaces 3.


      It's been in development for about 5 weeks now.


      I'm at a stage where I've found some limitations with RichFaces and will need to start using Seam Remoting to re-implement certain (major) functionality


      If I'm not mistaken, Seam 3 has more advanced Remoting as opposed to Seam 2. I still think I might need to make use of RichFaces but with JSF 2.0 and Seam 3 offering greater Ajax support, it may be reduced.


      Seeing that Seam 3 is in beta, I was wondering if it is worth migrating over and how stable it is at the moment.


      There's at least a four to five more months of development left. Where do you envision Seam 3 to be at the end of that period?


      Also, how have you found the migration process to be?


      Any tips and experiences will be appreciated.

        • 1. Re: Migrating to Seam 3
          shane.bryzak

          The Seam 3 final release is due in March.  Seam Remoting is almost ready for a candidate release (i.e. it's pretty much complete/stable) and other foundational modules such as Seam Config, Persistence, Faces, etc are already very stable.

          • 2. Re: Migrating to Seam 3
            nraf

            Thanks for the response.


            At this point, it looks like we'll be migrating to Seam 3. I'm pretty stumped as to how to approach this. From what I can tell, the sample examples aren't working so they probably be of much help.


            Any tips as to how I should approach the migration and what issues I should expect? If I'm not mistaken, the next beta should be released on Friday or Saturday. I read somewhere than the next beta should be quite a bit more 'structurally stable' than the first.


            Should I wait for it to be released? Will it have working examples / a 'getting started' guide, etc?

            • 3. Re: Migrating to Seam 3
              shane.bryzak

              The examples should work, if you are experiencing problems with them then please raise an issue in JIRA with the specifics.  With the modularised approach of Seam 3, each module has its own reference documentation which should contain detailed information about how to get started with the module, configuration, etc. 


              I would start by becoming familiar with the seam-config module, as it's what you will use to configure the beans in your application.  After that, it really depends on your application as to which other modules you'll be using.  From your post I already understand that you require Seam Remoting, so I advise you read through the reference docs to get an understanding of the basics, then simply add it to your project (you are using Maven right?) to get started.


              The Beta 2 release that is coming out this weekend will be a bit more stable than Beta 1 (obviously), however there's no reason why you can't start getting up to speed with the modules right now.

              • 4. Re: Migrating to Seam 3
                shane.bryzak

                Oh, I should also add that I've already released a bunch of the modules which are going to be included in the bundled release this weekend.  So config, persistence, international, solder, etc already have the new artifacts in the JBoss Maven repository.

                • 5. Re: Migrating to Seam 3
                  ssachtleben.ssachtleben.gmail.com

                  Currently it seems seam 3 is even more stable then seam 2. At least I get less unexpected exceptions after migrated to seam 3. I'm not sure about using it in a public production enviroment with the current version but I would start with the migration now because its not that easy. For example Richfaces 4 doesnt contains a4j:support so you have to rewrite all ajax functionality to f:ajax. The way to implement @Inject and @Produces slightly changed. And at least you have to read and understand the weld and seam 3 module documentations.

                  • 6. Re: Migrating to Seam 3
                    marx3

                    I don't think that Seam 3 is stable. I've tried so far:
                    - Seam Security - there is serious error which prevent the most simple example from work, there is no documentation at all
                    - Seam Catch - provided war example doesn't work at all, I've tried examples from repository, documentation, blogs - nothing works
                    Next I plan to test Seam International Module. I hope weekend versions will be of better quality.

                    • 7. Re: Migrating to Seam 3
                      ssachtleben.ssachtleben.gmail.com

                      Well its known that examples are outdated. I have started based on the jee-booking example. It nearly covers everything you will need for a basic page. I have to agree with the security module. Currently I have implemented my own basic Identity to handle login action. I'm going to rewrite the login after the next release and switch to security module.


                      I thought stable from the user view. If I browse around everything works fine. I dont get any random exceptions like I had in seam 2 before :D I think its quite nice for not even in CR state.

                      • 8. Re: Migrating to Seam 3
                        shane.bryzak

                        The security module has undergone a lot of work since Beta 1, and all the big issues seem to have been ironed out now.  It also includes a simple authentication example that demonstrates the most basic method to authenticate using your own authenticator, and most of the other examples are working now.

                        • 9. Re: Migrating to Seam 3
                          nraf

                          When you say examples are working, are you referring to the complete-workflow examples or the this-is-how-you-use-this examples?


                          Because I'm trying to run the javaee-booking example and am getting exception after exception (e.g. the inputs on the registration page have no labels which is throwing an error).

                          • 10. Re: Migrating to Seam 3
                            nraf

                            Shane Bryzak wrote on Feb 10, 2011 05:32:

                            I would start by becoming familiar with the seam-config module, as it's what you will use to configure the beans in your application.  After that, it really depends on your application as to which other modules you'll be using.  From your post I already understand that you require Seam Remoting, so I advise you read through the reference docs to get an understanding of the basics, then simply add it to your project (you are using Maven right?) to get started.


                            The project is using maven however I've never actually used it before (I wasn't the one who created the project structure and what not).


                            What would I need to change to get it to recognize the new modules and remove the old ones? Would simply changing the seam version be enough.


                            For example, in the seam build directory, there is a file remoting.pom.xml. It has a parent with dependencies listed below. What exactly is required for me to replace the old version of Seam Remoting with the new version?

                            • 11. Re: Migrating to Seam 3
                              shane.bryzak

                              The recommended way is to use the seam-bom module, which contains all the versions of the modules that should work together.  The latest version is 3.0.0.b09, so you would put this inside the dependencyManagement tag, e.g:





                              <dependencyManagement>
                                 <dependencies>
                                    <dependency>
                                       <groupId>org.jboss.seam</groupId>
                                       <artifactId>seam-bom</artifactId>
                                       <version>3.0.0.b09</version>
                                       <scope>import</scope>
                                       <type>pom</type>
                                     </dependency>
                                 </dependencies>
                              </dependencyManagement>



                              After doing this, you can simply configure which of the Seam modules you want to include in your list of dependencies, without needing to specify the version (as they're specified in seam-bom):




                              <dependency>
                                 <groupId>org.jboss.seam.security</groupId>
                                 <artifactId>seam-security</artifactId>
                              </dependency>






                              • 12. Re: Migrating to Seam 3
                                wuhaixing.wuhaixing.gmail.com

                                How to integrate Security module with wicket?

                                • 13. Re: Migrating to Seam 3
                                  marx3

                                  Bom should work but doesn't work:



                                  11.02.11 09:58:57 CET: [WARN] The POM for org.jboss.seam.faces:seam-faces-api:jar:3.0.0.Beta3 is missing, no dependency information available
                                  11.02.11 09:58:57 CET: [WARN] The POM for org.jboss.seam.faces:seam-faces-impl:jar:3.0.0.Beta3 is missing, no dependency information available
                                  11.02.11 09:58:57 CET: [WARN] The POM for org.jboss.seam.catch:seam-catch-api:jar:3.0.0.Beta2 is missing, no dependency information available
                                  11.02.11 09:58:57 CET: [WARN] The POM for org.jboss.seam.catch:seam-catch-impl:jar:3.0.0.Beta2 is missing, no dependency information available
                                  11.02.11 09:58:57 CET: Missing artifact org.jboss.seam.faces:seam-faces-api:jar:3.0.0.Beta3:compile
                                  11.02.11 09:58:57 CET: Missing artifact org.jboss.seam.faces:seam-faces-impl:jar:3.0.0.Beta3:runtime
                                  11.02.11 09:58:57 CET: Missing artifact org.jboss.seam.catch:seam-catch-api:jar:3.0.0.Beta2:compile
                                  11.02.11 09:58:57 CET: Missing artifact org.jboss.seam.catch:seam-catch-impl:jar:3.0.0.Beta2:runtime
                                  


                                  In repo Seam Faces is only Beta2, Catch - 3.0.0.Beta2-SNAPSHOT


                                  • 14. Re: Migrating to Seam 3
                                    shane.bryzak

                                    Ah, that's totally my fault - I bumped the version numbers in anticipation for the release this weekend.  If you try again on Monday they should all work (in fact, Jason just did another release for the catch module so it should already work now).

                                    1 2 Previous Next