OSGi expert wants to know if karaf is suitable for my project
This post was updated on .
I am an OSGi evangelist and have worked with both equinox and felix containers. I am currently looking to deploy my J2EE web application on to a OSGi environment like Virgo or Karaf. I would like to know which software is better. Virgo or Karaf. My requirements are below:
1. My web application is packaged as a standard war file with many jar files. Most I have converted to war bundles. But Virgo's ability to deploy standard war files is a temptation.
2. My application uses custom classloading to load classes and resources at runtime. Will just copying them to the deploy directory be enough here.
3. The main purpose of migrating to OSGi is for dynamic refresh of modified classes. How will this scale if I were to allow multiple users to access the application
4. Users should be able to log on to the web or command console and check the status of their bundles. They should either see only their bundles or can see but not be allowed to change other user's bundles.
5. Karaf allows starting multiple child instances. Could I somehow leverage this to start/stop instances on demand depending on user load
6. Even with OSGi, there will be times when a restart of the container is required. The impact should be minimal and other users should not be affected by this.
7. Virgo allows the clustering of the built-in tomcat container whereas karaf appears to be using jetty http service. How would I scale my application running on karaf. Is karaf clustering the answer.
8. Which of the following application architectures do you think would be best:
a. Single applicaton with multiple user accounts
b. 1 web application per user and several applications per node and several nodes in a cluster
c. 1 web server per user