> -----Original Message-----
> From: Steve Loughran [mailto:[EMAIL PROTECTED]
> Sent: lundi 24 octobre 2005 12:52
> To: Maven Developers List
> Subject: Re: [M2][Proposal] J2EE builds best practices and conventions
> 
> Brett Porter wrote:
> > Vincent Massol wrote:
> >
> >> * support storing in the project the container's configuration files
> >>   - for weblogic that's the domain config
> >>   - for jboss that's the server config
> >>   - for tomcat that's server.xml, tomcat-users.xml, etc
> >
> >
> > I usually put this in a separate module (which I think agrees with
> > this), or omit it altogether opting to set it up manually for the target
> > environment or use defaults for testing (where the config for each
> > webapp would go in src/deployment/tomcat-5/context.xml for example). I
> > know this doesn't work for all of the servers though.
> >
> >>
> >> * support building for different target environments
> >>   - support container-specific deployment descriptor for example
> >>   - support container config files that depend on the environment. For
> >> example you may want to run on port 8080 in your dev env and on port
> >> 80 in
> >> your production env. You may want to run on a single server in the dev
> >> env
> >> but in cluster on the production env, etc.
> >
> >
> > I think at least at this point configuration management is out of scope
> > for Maven. We could use archetypes or similar to generate appropriate
> > config files, but in general I've found the differences go beyond
> > templating and its best to have a general versioning and deployment
> > mechanism for your server setup.
> 
> 
> I have to agree.
> 
> I actually work full time on complex system deployment, of which the
> core runtime. SmartFrog, is LGPL-licensed and sourceforge hosted
> (http://smartfrog.org/). If you want to know more, the latest slides are
> 
> http://people.apache.org/~stevel/slides/oscon.pdf

Cool. I'll be reading this and checking out the smartfrog project. More
specifically I need to find out if the open source part of smartfrog is
enough to satisfy the needs for deploying a J2EE system or if it requires
people to buy additional things.

That said, it seems to me that there are maybe different levels:

- the poor man's solution which could be implemented using Maven. Again this
is what I've done at several places and I know several others who have done
the same successfully. I'm not saying this is the best, I'm just saying that
it can work in some circumstances.

- using separate tools such as smartfrog. If someone knows of other tools
doing this please let me know.
 
> Key things about configuring production systems are that
>   -you have many systems, all slightly different
>   -ops dont always let engineering near them
>   -every part of a system needs to be configured consistently, and their
> start/stop choreographed properly
> 
> Maven, like ant is a build tool. Its used by developers;  not
> operations. Its certainly something that can
>   -take configuration hints from developers
>   -populates deployment descriptors from this data. e.g. libraries &
> versions used at  build times
> 
> However, it cannot be the tool used by operations, and should not try to
> do this. its a different problem, arguably a more complex one.
> 
> Generating stub web.xml, ear.xml config files is something that build
> tools (and xdoclet) try and do. But there the problem is really that a
> build time artifact (the WAR and EAR file) also contains late-binding,
> often cluster-specific, configuration data alongside static stuff like
> the names of servlets.

All true. What I think a Maven build can easily do is up to the packaging of
the solutions, including environment-specific configuration files.

I do agree that Maven is not geared towards full-fledged runtime management.
However in my past experience most companies using simple shell scripts to
do that and having Maven package those scripts is a simple solution.

Should people have more complex needs then they should definitely use a
proper system like smartfrog and it would be nice to see how Maven would
integrate with such a system.

> >>   - support different deployment models per environment. For example
> >> in one
> >> environment you may want to have the web server and EJB server on the
> >> same
> >> machine and in another environment you may want them located on 2
> >> different
> >> machines.
> >
> 
> That is exactly the kind of stuff we can do in smartfrog. If you want to
> do the maven/maven2 plugin, I will help you test it.

Very cool. Let me check the docs first so that I get a better understanding
of how it would fit. Thanks for the offer.

Thanks
-Vincent


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to