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