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]>