3 Replies Latest reply on Jan 13, 2006 5:40 AM by js8523

    JBoss IDE and Seam Development Ideas

      Hi All

      I thought as a change I would post some of my (whacky) ideas, rather than just continuing to ask questions!! So here goes.....

      I didn't know where to post this part of the post , JBoss IDE or here but.. (caution the first idea is a bit work load heavy)

      Jboss-Seam IDE
      ==========

      1) It would be incredible if the Seam deployment scanner was adapted to work at development time within a Seam project to add the elements that it detects as components to a global component map (which may also include jsf managed beans and others!) so that:

      a) When developing .xhtml/.jsp/.jsf pages context sensitive autocomplete could operate.

      b) JPDL development could also use the same context sensitive autocomplete mechanisms for any expression within the process def.

      c) This could also provide valuable build time debug facilities.

      This component map (to be referenced by editors) would perhaps best be served within eclipse WST and then plugged into by the various plug in writers, which would be where your Seam deployment scanner would come in.

      On a more realistic note for JBoss-Seam IDE:
      =============================

      2) A method to add Seam capabilities to a standard (non altered) JBoss Web App / JBoss EAR project (Similar to how MyEclipse handle say Struts capabilities to a standard Web APP).

      3) An added project template in the new Project Wizard called JBoss Seam Web App or JBoss Seam EAR, with options thereafter to include JBPM, pageflow, JBOSS PORTAL (in future). This could also help automate the creation for developers of microcontainer, tomcat / embeded EJB3 type projects.

      4) Generate shell view backing beans and web pages from EJB3 entity model (adding generated annotations to the EJB3 entities, then generate the view backing SFSB, then the web pages), rather than just straight from the database. Effectively jumping one step in you existing reverse engineering process.

      5) In line with the above comments I believe that to make JBoss-Seam as developer friendly as possible Seam should move its standard example project structure to something that fits in with the JBoss IDE folks. Thus facilitating point 1 and 2. This could also allow hot(as in as it is saved) redeployment of the web pages, obviously the Seam components would be a little bit more tricky!

      This type of standardising development is obviously most relevant to a post Seam 1.0 as it would heavily rely on a stable base (libraries, required meta files etc).

      I feel passionately about this as I REALLY appreicate this framework, making developments so much easier and a little ide magic could really push Seam up against Spring/ Ruby on Rails in terms of setup and go type development.

      As Far as Seam ideas go:
      ================

      1) You obviously have Portal integration already in hand.

      2) Plug into/onto the eclipse rcp project (if thick client agnostic behaviour is unobtainable).

      3) Similar model as @Datamodel to SelectItems. (The post in the forum covers this in a way, but a more generic method for a seam anotated entity would be invaluable, perhaps adding a annotation to the getter method of the getKey and getName method, then dynamically loading the available list from persistence). This would enhance the auto generated seam apps from database schema.

      There are probably a million and one ideas out there from the people that have been appreciating your development framework, so please destroy my ideas or add your own to the ever increasing work load of Gavin and Thomas. You never know something a tiny bit as good as Seam could be dreamt up in the discussion.

      Many thanks again,

      James

        • 1. Re: JBoss IDE and Seam Development Ideas
          gavin.king

           

          "js8523" wrote:

          1) It would be incredible if the Seam deployment scanner was adapted to work at development time within a Seam project to add the elements that it detects as components to a global component map (which may also include jsf managed beans and others!) so that:

          a) When developing .xhtml/.jsp/.jsf pages context sensitive autocomplete could operate.

          b) JPDL development could also use the same context sensitive autocomplete mechanisms for any expression within the process def.


          Yes, I already put a feature request for this in JBoss IDE JIRA. :-)


          "js8523" wrote:
          c) This could also provide valuable build time debug facilities.


          I don't understand this one?


          "js8523" wrote:
          4) Generate shell view backing beans and web pages from EJB3 entity model (adding generated annotations to the EJB3 entities, then generate the view backing SFSB, then the web pages), rather than just straight from the database. Effectively jumping one step in you existing reverse engineering process.


          I guess this is conceptually possible right now, but maybe not from the UI. Max will tell you more.


          "js8523" wrote:
          I feel passionately about this as I REALLY appreicate this framework, making developments so much easier and a little ide magic could really push Seam up against Spring/ Ruby on Rails in terms of setup and go type development.


          Yep, we really want to have tight integration with JBoss IDE. Unfortunately, JBoss IDE has just three guys fulltime, and they have their hands very full will jBPM, Hibernate, EJB3 stuff. Hopefully I can wrangle some more attantion from them soon ;)


          "js8523" wrote:
          1) You obviously have Portal integration already in hand.


          Hopefully will get done in Q1.

          "js8523" wrote:
          Plug into/onto the eclipse rcp project (if thick client agnostic behaviour is unobtainable).


          This is more like Q3/Q4 this year. I would love it if someone with a background in rich clients would volunteer to help us with this one. We want to get the AJAX/SOAP support really truly *finished* before biting off more than we can chew at once.

          "js8523" wrote:
          3) Similar model as @Datamodel to SelectItems.


          Put it in JIRA, with a description of exactly what you wnat the API to look like.


          Thanks for the good ideas!

          Gavin

          • 2. Re: JBoss IDE and Seam Development Ideas
            maxandersen

             

            "js8523" wrote:
            4) Generate shell view backing beans and web pages from EJB3 entity model (adding generated annotations to the EJB3 entities, then generate the view backing SFSB, then the web pages), rather than just straight from the database. Effectively jumping one step in you existing reverse engineering process.



            I guess this is conceptually possible right now, but maybe not from the UI. Max will tell you more.


            The whole concept behind the code generation is that it is *not* tied to reverse engineering or any other "input" besides the Hibernate meta model. So just don't select to do reverse engineering and it will just work (assuming you enabled annotations/ejb3 on the console configuration ;)

            "js8523" wrote:
            I feel passionately about this as I REALLY appreicate this framework, making developments so much easier and a little ide magic could really push Seam up against Spring/ Ruby on Rails in terms of setup and go type development.


            Yep, we really want to have tight integration with JBoss IDE. Unfortunately, JBoss IDE has just three guys fulltime, and they have their hands very full will jBPM, Hibernate, EJB3 stuff. Hopefully I can wrangle some more attantion from them soon ;)


            Anyone with some free time should just drop me a line and I can show them where to start contributing ;)



            • 3. Re: JBoss IDE and Seam Development Ideas

              To clarify this point further:

              c) This could also provide valuable build time debug facilities.



              I don't understand this one?


              The seam scanner running constantly across the project (during back ground build process) would be able to provide a list of the components that would be deployed, and those that are malformed in terms of Seam. Obviously this could also apply to the EJB3 annotations as well (also adding an extra task into the background build process). I would envisage this working as a pluggable compile/build system that could facilitate these type of custom pluggins.

              The constant seam scanner could also check for required meta data files and report errors when they are not present (e.g. seam.properties). This could perhaps solve some of this forums user issues with correct deployment structures.

              Hope this helps clarify the point.

              Thanks

              James