Manju wrote:
> 1. First thing is, Why do we need phoenix? I agree that it makes use of
> few other subprojects(Excalibur, logkit, framework) which might be of
> some help, but still, what are the advantages of using phoenix. How
> helpful will it be for my application(any)
For the developer Phoenix provides a ready-to-run service activation
and execution framework. At the simplest level this means that there
is a "root" component manager ready, willing and able to handle child
components that you add. Developers will also find that using Phoenix
enforces structure that is too-easily overlooking in many
environments. You end up being much more rigorous about separating
out independent service units (blocks) and making these units
reusable and deployable in a consistent manner.
For the person dealing with several services Phoenix presents another
set of advantages. The application OSM is building currently has 20
separate top-level blocks (and that number is growing reasonably
steadily). Within Phoenix these blocks must declare the services
that provide and the services that they are dependent on. Phoenix
provides the mechanisms for composition of these services without
being forced to delve into source code. It also provides the
runtime support for ordered activation of services taking account
multiple dependencies.
> 2. Should all the applications under apps directory be web based atleast
> a server based application which listens to some port?
It academic - a service could be a "server", "peer", or just a
black-box figuring out the meaning of life. What is more important
is the relationships between these services and the ability to
seperate service development from service management.
> 3. Can one application talk to another application talk to another
> application under the apps directory(i know this should be possible)?
In our environment with have this requirement at three levels. The
simplest case is a child component that needs to talk to a parent
container and this is readily handled using the Avalon framework
contracts concerning composition and contextualization (in effect
you the container provides the child component the resource it
needs which could include callback references etc.). The second
case concerns mutual dependencies between blocks (e.g. UserBlock
needs TaskBlock, but TaskBlock needs UserBlock). We have typically
resolved this be declaring a single dependency (e.g TaskBlock
depends on UserBlock) then invoking a callback in the dependent
notify the provider of its availability. The third inter-block
object to mechanism concerns cross-Phoenix communication. In those
cases you have available all of the classic cross-VM communication
mechanisms (we use CORBA for our systems because of the ability
to separate invocation from service context, language independence,
etc).
> 4 Can i have more than one webserver/servlet engine under the apps
> directory? For example there is something called avalon-bay from
> cornerstone which uses tomcat.
In my opinion the avalon-bay stuff in cornerstone should either
be substantially upgraded or dropped. In its current for it does
not build with the latest version of Tomcat and after solving that
you will still have a lot of work to do to get something running.
As to the question of "multiple services that do the same thing" ..
the answer is yes.
> Will it be OK if i have two or more applications using tomcat or any
> other server for that matter?.
Sorry, don't understand the question.
> 5. When i execute run.bat from phoenix, how will it identify and start
> the servers under apps directory?
Details about this are included in Pheonix documentation.
http://jakarta.apache.org/avalon/phoenix/assemblers-guide.html
> 6. Will i be able to run any webserver, for example, iPlanet, Weblogic,
> websphere,
> ...over phoenix?
If you can wrap it inside a block you can run it.
Cheers, Steve.
Stephen J. McConnell, OSM sarl
digital products for a global economy
http://www.osm.net
mailto:[EMAIL PROTECTED]
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>