Ok... I whipped up a wiki page to collect these ideas:

 <http://www.terracotta.org/confluence/display/wiki/Geronimo+Plugin>

Please feel free to comment, augment, edit, etc.

Cheers,
--Orion

Jeff Genender wrote:
Orion,

That sounds like a good plan...

So here is what I have been also thinking about...

First for your own info...

Here is a decent tutorial for a geronimo plugin:

http://www.ibm.com/developerworks/edu/os-dw-os-ag-plugins.html

and here is a chapter from my book...

http://tinyurl.com/yrrydd

The Liferay plugin does some cool one-time only setup (install database
for Liferay)...all of their stuff can be found here:

http://geronimo.liferay.com/plugins/

These should give you a good basis for how plugins work.

So...

I think we will probably need 2 plugins...one for the client (the
Tomcat/Jetty side) and one for the server...i.e. I think it would be
good to let Geronimo control the start/stop/lifecycle of the Terracotta
server.  However in the beginning, we can keep it simple and concentrate
on the client.

But in a nutshell...we are going to need the following for the client
plugin...

1) The Terracotta artifacts (jars) will need to be accessible via some
form of maven repo, which can be placed into the plugin itself.  This
allows Geronimo to go out and install 'em automagically in the local jar
dumping ground for G.  The maven repo can be on the Terracotta servers,
or other, but minimally maven based artifacts will be a requirement (and
I know you guys have been working that really hard) ;-)

2) Think about how to handle the configuration.  i.e. do I need a
portlet to allow me to pick and choose which web apps I will be
clustering, or as a start just allow it to set up the Terracotta
environment and we can alter the configuration by hand form there.
Maybe lets keep it simple on the first pass and just push the directory
infrastructure. (See #3 below)

3)  The plugin will require the Terracotta file infrastructure go under
our $GERONIMO_HOME/var directory - perhaps
$GERONIMO_HOME/var/terracotta.  So the way we have handled this before
is to place this infrastructure in the META-INF of a jar and have some
magic code extract it out to the var directory.  I think there are
several ways to skin this cat...and I would like input from others.

4) The plugin will need to alter the starup.sh/bat scripts in the
$GERONIMO_HOME to enable the boot classpath that needs to be set.
Perhaps we can do this through an environment variable that can be
picked up externally...something we should definitely talk about.

I believe this will be a good first pass at getting the session managers
running with Terracotta from a plugin perspective.  Beyond this we can
start thinking about the server plugin and a configuration portlet.

I am looking for any and all input on this.

Lets let discussion begin ;-)

Jeff


Orion Letizi wrote:
So, I think an HTTP session clustering plugin would be the most likely first
step.

As I see it, we need the plugin to:

* grab the terracotta bits.  I'm not exactly sure how this will get done,
since the Terracotta bits aren't currently packaged up for automated
download (although, it looks like we'll be adding that soon)

* configure Geronimo to use Terracotta HTTP session clustering.  Currently,
this is done by adding java vm parameters... not sure how that will work
with the hot-install plugin feature of Geronimo.

* maybe provide some mechanism for configuring terracotta for your
application and/or starting the terracotta server (although, this seems like
a nice to have that could be worked out later).

Does this sound reasonable?

I rummaged around for a little while to see if I could find docs on how to
build a plugin (other than using the neat plugin generator feature in the
Geronimo console), but didn't really find anything immediately.  Can someone
give me a place to start looking?

The EJB-clustering prototype stuff that Jeff Genender and Tim Eck worked on
seems like something we could work on in parallel, but the horizon for that
might be a little farther out.


Matt Hogstrom wrote:
Crawling is good before running.  Sounds excellent.


On Jun 1, 2007, at 4:42 PM, sharrissf wrote:

First cut will almost certainly be for session clustering. We have a whole
list of other stuff
that we want to do but we want to get our feet wet first.


jgenender wrote:
I think there would be HUGE interest in this....

We probably should come up with what needs to be done to do this.

Are you looking to start with the web tier and get a plugin working?

Jeff

sharrissf wrote:
Hello,

for those who aren't familiar with Terracotta it is a java clustering product that we integrated with Geronimo some time ago. What we would
like
to do now is create a plugin to enable quick installation and
configuration.
I was curious what kind of interest existed out there for such a plugin.

Cheers,
Steve
www.terracotta.org
--
View this message in context: http://www.nabble.com/Terracotta- Clustering-plugin...-tf3854120s134.html#a10920190 Sent from the Apache Geronimo - Dev mailing list archive at Nabble.com.



Reply via email to