If this isn't appropriate for this list, I apologize. If not, and you can point me to the correct list, I thank you.

I seem to have grown confused regarding the deployment model related to server-side OSGi, and how I continue to constantly see references to .war files. I've been doing some work with Server-Side Equinox, and all of the documentation I find repeatedly talks about deployment of .war files. But it seems that a significant benefit of OSGi is that we no longer need to continue thinking in terms of web applications, but instead think in terms of web components that are individually deployed as OSGi bundles.

In the ideal world, it would seem sensible that we no longer work with .war files at all. Instead, when it came time to develop for the web, we think more in terms of features, use cases, business functions, or technological layers. But regardless, we would deploy individual bundles within an OSGi framework that was an inherent part of the application server. At this point, the separation between what we traditionally view as webapps becomes nothing more than how URL's are registered within a BundleActivator instead of thinking of a webapp as an individual deployable unit.

Then, given the current OSGi specification, if we desired to run different components in a separate VM, we would either embed another OSGi framework within the application server or setup another application server instance altogether.

So my question...is the constant reference to .war files a stop-gap solution until more application servers have built-in support for OSGi? Do I continue to hear .war file as the unit of deployment simply because the Equinox ServerBridge is required to embed OSGi in a Servlet Container, and the only way to currently do this is to deploy the ServletBridge within a webapp (.war). Or is .war deployment still the long-term solution?

If .war is still the long-term solution, possibly someone can clarify a few things for me. I do understand that we would still possess the ability to dynamically load bundles within that webapp. But the greater problem of determining the behavior of one webapp versus another still stands, and this is a prevalent problem in the world of enterprise software development where a software system is really a system of systems. Take away the notion of .war and begin thinking in terms of componentization, and it would offer significant architectural and design benefits. Continue to use .war files for deployment, and there are definitely system administration benefits (dynamic loading, etc.), but there could be so much more that OSGi brings to the table from and architectural and design (ie. modularity) perspective.

Or...am I missing the boat?

Kirk Knoernschild

_______________________________________________
OSGi Developer Mail List
[email protected]
http://www2.osgi.org/mailman/listinfo/osgi-dev

Reply via email to