Hello all,

 

Although I am now a little familiar with the Avalon framework,
containers and (only some) component implementations, I am a long way
from being able to clearly comprehend the configuration and assembly
aspects of building an application with the requirements below to the
various reusable components that currently exist as part of the Avalon
project.

 

I am hoping someone will be able to assist me in proposing a deployment
configuration for running one or more processing components (of the same
type but different implementation) in a consistent manner both locally
(on a linux server) and remotely (on windows workstations) that will
allow a consistent view of configuration, logging and management of the
components. I am interested in using the Merlin container and as many
existing components as possible in the resulting application.

 

Let me try to explain the general requirements... (I apologize if my
terminology lacks consistency, but I will try to keep it clear and
consistent...)

            

1.                   The application should connect to a bus

a.       I assume that one messaging component will be responsible to
connect to the bus and register for the necessary subjects using a
component configuration

b.       The messaging component could connect over the same network or
over the internet through proxy and firewall infrastructure

c.       The bus is a mom (imagine jms)  that will deliver messages to
the messaging component for dispatching to one of the processing
components

d.       The selection of the specific processing component will be
based upon the criteria contained in the received message

e.       It should be possible to locate the specific component
implementation (I assume using a component selector) using this criteria

2.                   Each processing component should have an
independent configuration

a.       Although each of the processing components are of the same
type, they should be able to be configured independent of each other
prior to registering with the component manager

b.       Each processing component may have it's own classpath

c.       Each component should have its own logging configuration

3.                   Components should be manageable

a.       It should be possible to remotely (preferably via the bus)
rebuild(?) (dispose, create, configure, initialize) processing
components independent from each other

b.       For testing and debugging it would be ideal to be able to
create a new classloader when rebuilding each component

c.       For testing and debugging it would be ideal to be able to check
for library updates on a central repository server for library updates
prior to creating the classloader (currently we use a JNLP solution)

d.       It should be able to query a management interface of each of
the processing components via the bus

 

Thank you in advance!!!

 

With kind regards,

 

Mathew Kuppe

 

 

 

Reply via email to