The main benefit for system administrators is:
- Get a whole lifecycle of their applications regardless of the App Server container: start, stop, uninstall, . . . are some of the available operations. This lifecycle management is independent of the application server being used, which means that it will be available in all app servers supported by Liferay.
Plugin developers get the following benefits:
- Use Liferay services as OSGI services, which means that the OSGI takes care of all the necessary classloader handling.
- Dependency management: if is possible to divide a certain functionality in several components and declare dependencies. When deploying the modules, Liferay (through the OSGi container) will ensure the dependencies are met or else the bundle is kept on hold until they are.
- Make plugins extensible (through other plugins) in a much easier way.
- Develop a service and make it easily available to many plugins. This is a typical need of portlet developers who have to split the portlets in several plugins.
All this is achieved by having and embedded OSGI runtime within Liferay. An additional benefit for Liferay is that the OSGi container takes care of classloading handling so that it's not necessarily to do it manually in Liferay's code.