avalon-phoenix-dev mailing list archives

Daniel Krieg wrote:
> Ulrich ,
>
> I am currently working on Catalina Sevak. The current project that I am
> working on consists of a series of services to be deployed into Phoenix. I
> must be able to allow webapps to access these other services...a requirement
> not yet implemented by Sevak. Addtionally I may need to allow these
> services to update/add/remove webapps that are currently deployed. The
> approach that I have taken so far is to create Avalon-based classes to
> implement the required interfaces and have these classes dynamically
> delegate to Tomcat-based classes using reflection. Thus far I have
> implemented a bootstrap mechanism that replicates the Tomcat startup script
> and a custom Catalina Server implementation the eliminates the standard
> socket-based shutdown used by Tomcat. My goal is to eventually have a
> custom Context class that delegates to Tomcat's StandardContext, adding
> functionality as needed. One such instance is in creating the
> ServletContext. By implementing this custom Context, I hope to be able to
> set things like the ServiceManager into the ServletContext as an
> attribute...what do you think?
I'm not sure, what is the exact interface between Catalina and Avalon? And is
this stuff maintainable entirely within Avalon/Phoenix or can it break, when
something changes in Catalina?
> I think that Web application components would like to be able to access and
> utilize the services of other components within Phoenix as if the Web
> application was itself a phoenix component.
Agreed.
> I imagine that other components
> might require the ability to deploy web applications, create custom Service
> blocks within the web server, start/stop these service blocks, etc.
Hmm... not sure about that one. Do we really want to write a management console
for Catalina? Also, it breaks IoC, doesn't it?
> For
> example, say that I have created a phoenix service that controls an external
> hardware resource and want to be able to manipulate that service via a web
> application. I would need to create a block that depends on Sevak and has
> the ability to specify a webapp Context that contains references back to
> itself, and to specify which Host within Sevak this webapp should be
> deployed to.
You could do that with JMX much, much easier.
> Phoenix is an application server kernel...utilizing Phoenix as a component
> embedded within a Web Container does not make much sense.
Catalina is also an application server kernel embedded within a Web Container.
> If they won't componentize their design, we must create abstract wrappers to
> adapt the two.
The problem I see is that we don't change anything semantically by writing
wrappers. You can wrap a GOTO statement in XML syntax, but it's still a GOTO.
Maybe I'm being overly pessimistic here :)
>>3) How about an ajpv12 or ajpv13 component?
> You lost me here...what is the advantage?
A Phoenix application can then act as backend to every webserver that supports
ajpv13 without the need for an intermittent Servlet Server. So this is going to
run on many platforms, not just a specific Servlet Server like Catalina. Plus,
it might be the easiest route, because the source code could be nicked from mod_jk.
> If you are looking for a way to provide web access via Sockets, I believe
> such components exist within Excalibur that can be used within Phoenix.
Really? I couldn't find anything in the docs. Maybe in CVS?
cheers,
Ulrich
--
Ulrich Mayring
DENIC eG, Systementwicklung
--
To unsubscribe, e-mail: <mailto:avalon-phoenix-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:avalon-phoenix-dev-help@jakarta.apache.org>