Deployment Best Practice Guide

This is a question to SAG guys if you have best practice guide for deploying applications developed with CAI.

As I understand there are two main ways:

  1. To deploy one CAI “war” file with all projects included. There is one web.xml to muck around with. All new applications and any updates go in as updates of this single web application. I am still unclear if different project security requirements can be handled in this scenario (see previous post in this thread).

  2. To deploy many CAI “war” files with logical grouping of projects per “war”. There are many web.xml files to deal with, separate instances of CAI are totally independent from each other. The overhead of doing so is about 8M per install (not huge, however can be an issue if there are many projects). Update of CAI versions can be more of an issue in this scenario.

It will be interesting to hear your views, opinions and thoughts.

M.

Hi,

the standard view on deployment is:

Deployable unit is the .war file - containing the full CAI runtime (the 8M you mention).

Inisde the .war file their maybe different CAI-projects (each one represented as directory inside the .war file). The projects in CAI are a way to split big applications into several directories instead of having one huge. Please pay attention: all CAI-projects run in the same classloader.

There may/will be several .war files in a certain scenario - each one representing one depoyable unit, containing CAI runtime. In principle we could also share some resorces, but we clearly prefer to have .war files which are independent from one another.
Advantage: you may upgrade one of your .war files to contain a newer CAI version without affecting the others. And, advantage: we are fully “J2EE-compliant” when it comes to deployment.

Consequence/Summary:
(1) .war is the deployment unit
(2) CAI-project is some internal structure for big(ger) projects.

I hope this helps…

Bjoern

Thank you for the answer Bjoern ! It certainly clarifies the direction. I clearly see and understand the advantages you mentioned, though hope you can see the disadvantages too. :slight_smile: