3 Replies Latest reply on Nov 15, 2007 8:04 AM by Pete Muir

    Modular pluggable components application

    asaf sh Expert


      I'm trying to build an application platform which all of its layers can be affected by pluggable components,

      I assume such a design could be achieved if each component (in my example seam component) can be affected by some kind of external packages,

      There are few problems I see around this design,

      First of all, I'm not sure if seam can help here, and if there are any assistance for affecting a component behaviors externally,

      JavaEE, its packaging design does not support such a model, OSGI model could fit here exactly but I can't see how this is done in jboss without using external platforms, probably archiving a jar per component can partially solve the problem, but I guess these jars must be apart of the application and configuration descriptors must be modified when new components being deployed.

      Nuxeo (OSS ecm) created a runtime platform which implements an OSGI model for JavaEE(especially Jboss app server), but I'm trying to find some more natural solution,

      Well, I guess this is not only a seam question, but having a discussion about how seam can help in designing such an application could be interesting :-)



        • 1. Re: Modular pluggable components application
          Pete Muir Master

          What are you actually asking? ;)

          • 2. Re: Modular pluggable components application
            asaf sh Expert

            Hah, was my post looks like I'm an embittered developer? :-)

            I was curious if there are any known architecture designs which can assist in modular pluggable components deployment,

            Main points are:
            - pluggable components activation/de-activation
            - Affect already installed components behaviors in deployment/removal time of other components
            - Dynamically modifying UI(facelets templates, themes, etc...) in deployment/removal of new components,

            Thanks ;)

            • 3. Re: Modular pluggable components application
              Pete Muir Master

              We have a good architecture for this on the server side with Seam components and precedence (you can deploy default components and override/configure as needed in each module). Its harder to get this working well on the presentation layer - I think you need to write a custom resource resolver for facelets, but ask on the facelets lists. Themes - easy - just manage them via Seam components :) Take a look at the wiki - Christian has a plugin system working well there.