geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Matt Hogstrom <m...@hogstrom.org>
Subject Re: New Feature: Configuration Import/Export
Date Sat, 25 Mar 2006 02:44:30 GMT
Aaron,

I'll set this up later and give it a spin.  I think everyone has been 
considering how to get to the pluggable server so I'll throw in my 2c about what 
I think would be useful from a user perspective.  I don't know enough about the 
internals of G to know how to implement it though.

AppServers that I'm aware of all operate under the paradigm of installing the 
AppServer and then iteratively defining resources (DataSources, JMS Queues, 
etc.) and then installing and maintainging the applications that run in the 
containers.  Of course they are all monolithic monsters that have everything in 
them that most people don't want or need.

I think Little-G and now the work your doing are the right direction and are a 
new paradigm for the industry.  Here are tyhe scenarios that I think make sense 
as being useful.

1. User downloads a full Geronimo instance and does initial customization using 
the installer.  Pretty much like the paradigm described above.

2. User downloads a bootstrap agent (much like Cygwin) and then chooses either 
the pacakges they want (specific OSS projects) or the features they want (JMS, 
Servlet 2.4, EJB 1.1, Spring, etc.)  The downloaded agent would resolve the 
required dependencies and suck down the appropriate parts and configure the runtime.

3. Similar paradigm to above but rather than running a single server instance 
they would specify a target location to export a server image that would be 
bootable.  The instance they operate from is an AppServer factory and not an 
AppServer instance.  The interfaces would include a GUI (nice user interface, 
dynamic resolution of dependencies, etc.) as well as a command line utility that 
could build the instances required for a specific set of applications.


4. A variation on the above would also install the application artifacts and 
create disposable runtimes.  Users could then take these images and distribute 
them in a cluster and they would be fully functional containers but are designed 
to be disposed of after use.  The paradigm of defining and iterating a server 
instance doesn't exist in this mode.  The "disposable" instances would be able 
to federate into a managable cluster from an operations perspective but would be 
limited to starting and stopping the servers and pulling runtime statistics.

Anyway, personally I'm interested in options 3 and 4.  I think its a fresh 
approach to managed runtimes and provides all the functionality of J2EE and 
other programming models without much of the fuss.

The term I use fo rthe above is Geronimo MTO (Made to Order).  Kind of like 
Burger King where you can have it your way.

I'd appreciate comments on the above.

Matt

Aaron Mulder wrote:
> I've just added a new feature to the console whereby it can export an
> installed configuration to a CAR file, and also install previously
> uninstalled configurations (CAR files and dependency JAR files) from a
> Maven repository (though at present, it depends on a properties file
> being in the repository the provide some metadata on the available
> CARs).  It also still doesn't have any reasonable feedback during the
> download process.
> 
> Anyway, I'm not really looking at this as a final definition of the
> feature, more a look at what we can do so we can talk about the best
> way to do it.  (For example, we've talked about how it would be nice
> to have command-line tools to do this, and while some of the code
> could be extracted, we'd potentially need a separate file upload
> solution, if we can't reuse the remote-deploy web app.  Also, it can
> only install from a Maven repo [vs a direct file upload] so it can
> fetch needed dependencies.  Also, it doesn't take advantage of the
> soon-to-be-on-iBiblio Maven repository manager.)
> 
> As a conversation starter, it would be nice to distribute Geronimo
> without any sample applications to make it a little leaner and faster
> to start -- just have the screen in the console that lets you download
> and install any of them that you want.  I also think it would be nice
> to distribute without Directory and some of the other add-ons, and
> provide the ability to download and install those, ServiceMix, Quartz,
> and other packages we know of integration for.
> 
> If you want to take a look at this, there's an Import/Export entry in
> the application part of the console navigation bar (in HEAD).  You
> need to set up some Maven repo to point it to (though for a REAL quick
> start you can just use a file URL like
> file:///home/ammulder/.maven/repository).  And then you need a file in
> the root of the Maven repo called geronimo-configurations.properties
> with entries like this:
> 
> Category.ConfigId=Description
> 
> Then enter the URL to your Maven repo in the screen in the console,
> and it'll list all the configurations from the properties file,
> grouped by the categories you specified, and let you install anything
> that's not already available in the local server.  I've attached a
> sample that exposes some of the Geronimo web apps if you want a real,
> real quick start.
> 
> Thanks,
>     Aaron

Mime
View raw message