Due to the flexible architecture of Kosmos, it's possible to deploy the system to various environments, for example:
minimalistic: a single container which can act both as servlet-container for Kosmos server and for the WebDAV server and as portlet-container for the portlets. As result, there will be three separate web applications running in the same container. This is the simplest way to deploy Kosmos and it can be an effective setup in many cases.
advanced: separate (even heterogenous!) containers on the same physical node of the network: for example you can use Apache Tomcat as servlet-container and JBoss AS with JBoss Portal as portlet-container. It means that your components will run in separate JVMs which can be useful from stability or security viewpoint.
distributed: containers on separate nodes, for example server A can run one instance of JBoss AS to host the server component, server C can run another to host the WebDAV repository, while server C can run a third one to host the portlet container.
Moreover, for advanced users it is possible to deploy each service of the server component to different nodes if that's necessary! You can fine-tune the performance of the system this way.
And since all the information is exposed as standard Hessian web-services, it is possible and perfectly legal to develop other types of front-end for the system: web applications, applets or desktop applications and completely avoid using a portlet container!
You can complicate all the models by another important decision: what RDBMS to use to support the portlet container and how to deploy it. Again, it's possible to use the same physical node or nodes which host the containers, or to have separate database servers for this purporse. It's all up to you, your needs and possibilities.
In the following sections, we give detailed step-by-step instructions for various deployment models, but because of their huge variety, we will cover just some of those. After reading these, it should be relatively easy to find out what to do in situations not listed here.