Hi there I have gone through lot of threads in this forum abt this topic by seraching .. But I did not get my answer AW my question is this. Q1) What do you mean by container distributed over many VM? Q2) What is web application? As per definition it is collection of servlet, jSP and other resources. if I have a directory structure like
which one is my web-app? WebApp01 uses WebApp02. Q3) If I have a above dir struture, does it means that my container is distributed over VMs as each servlet context will have its own VM. OR I am worng.. each VM will have its own Context? Q4)What does Distributed web-app means ? Is it mean the web app as I have shown above OR web-app which has its servlet over different servers ? Plz correct me ? Where are Jason, Satya, ersin, Guy and all ?? [ June 25, 2002: Message edited by: Ravish Kumar ]
"Thanks to Indian media who has over the period of time swiped out intellectual taste from mass Indian population." - Chetan Parekh
R K Singh
Joined: Oct 15, 2001
I read this note abt distributed application =========== Within an application marked as distributable, all requests that are part of a session must handled by one VM at a time. The container must be able to handle all objects placed into instances of the HttpSession class using the setAttribute or putValue methods appropriately. The following restrictions are imposed to meet these conditions: 1. The container must accept objects that implement the Serializable interface 2. The container may choose to support storage of other designated objects in the HttpSession, such as references to Enterprise JavaBeans and transactions. 3. Migration of sessions will be handled by container-specific facilities. The servlet container may throw an IllegalArgumentException if an object is placed into the session that is not Serializable or for which specific support has not been made available. The IllegalArgumentException must be thrown for objects where the container cannot support the mechanism necessary for migration of a session storing them. These restrictions mean that the Developer is ensured that there are no additional concurrency issues beyond those encountered in a non-distributed container. The Container Provider can ensure scalability and quality of service features like load-balancing and failover by having the ability to move a session object, and its contents, from any active node of the distributed system to a different node of the system. If distributed containers persist or migrate sessions to provide quality of service features, they are not restricted to using the native JVM Serialization mechanism for serializing HttpSessions and their attributes. Developers are not guaranteed that containers will call readObject() and writeObject() methods on session attributes if they implement them, but are guaranteed that the Serializable closure of their attributes will be preserved. Containers must notify any session attributes implementing the HttpSessionActivationListener during migration of a session. They must notify listeners of passivation prior to serialization of a session, and of activation after deserialization of a session. Developers writing distributed applications should be aware that since the container may run in more than on Java VM, the developer cannot depend on static or instance variables for storing application states. They should store such states using an EJB or a database. =========== It tells me everything except that WHAT is distributed application ?