[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
WebStart/JMX use cases (was RE: [equinox-dev] April 8th meeting minutes)

All,

Here is my use case: We have a pure Java application suite for approximate
record matching using a variety of machine learning techniques. The suite
consists of a server product and several GUI applications. All products are
built from components. Most components are used in more than one product.
Examples of components include flat file I/O, support for a particular
RDBMS, and implementations of machine learning techniques. Plugins extend
each other using well defined extension points, like in Eclipse. Currently,
we use a home-grown component framework that has its strengths, but even
more deficiencies. Therefore, we are migrating to using the Eclipse plugin
framework.

Our applications fall into four categories:

1. Command-line tools. Usage of the Eclipse plugin framework is
straightforward in this case.

2. Swing-based GUI applications that are installed with InstallAnywhere.
Usage of the Eclipse plugin framework is straightforward in this case.

3. Swing-based GUI applications that are installed with Java WebStart
(JNLP). Here the main issue is that JNLP can only distribute jars. Hence,
one has to either expand them to create the Eclipse directory structure or
change Eclipse to work directly from jars. See the posts by Martin Lippert
and myself in platform-core-dev for details.

4. Standalone server applications with CORBA or RMI interface. Usage of the
Eclipse plugin framework is straightforward in this case.

5. MBean (JMX) based server applications that live in a JMX server (e.g.,
JBoss, Pramati). This is our preferred server deployment mode as the server
provides a lot of infrastructure (management, security, local access for
EJBs/Servlets/Web Services, etc.). If the MBean is run in an environment
that is not constrained by a security manager, it is easy to create a class
loader and start the actual Eclipse plugin-based server. A Standard MBean
allows us to provide a basic set of management features (start, stop, etc)
that are present in all deployments. In the future we consider using a
Dynamic MBean that can expose management functionality of individual
plugins. 

In 5 we typically use EJBs/Web Services as façades. The main engine does not
fit the EJB programming model.

So what would I like to see in Equinox/Eclipse based on this? Mostly one
thing:

A standard way of deploying applications that are based on the Eclipse
plugin framework over JNLP. At the moment, I am not interested in deploying
SWT-based GUIs, but my understanding is that deploying native code over JNLP
is no problem.

A standard way of exposing management functionality of plugins through a
Dynamic/Open/Model MBean might also be desirable. However, I haven't
explored this far enough yet to understand what would be desirable to have.

Regards,

Martin

P.S. I will try to fill out the JMX info later on.
 
BEGIN:VCARD
VERSION:2.1
N:Buechi;Martin
FN:Martin Buechi, Ph.D.
ORG:ChoiceMaker Technologies
TITLE:Chief Software Architect
TEL;WORK;VOICE:(212) 905-6033
ADR;WORK;ENCODING=QUOTED-PRINTABLE:;;41 East 11th Street=0D=0A11th floor;New York;NY;10003;United States of Ame=
rica
LABEL;WORK;ENCODING=QUOTED-PRINTABLE:41 East 11th Street=0D=0A11th floor=0D=0ANew York, NY 10003=0D=0AUnited Stat=
es of America
URL;WORK:http://www.choicemaker.com
EMAIL;PREF;INTERNET:Martin.Buechi@xxxxxxxxxxxxxxx
REV:20010622T032847Z
END:VCARD