DeveloperWeb

  Dashboard > GX DeveloperWeb > Home > Bundle and WCB definitions
Bundle and WCB definitions Log In | Sign Up   View a printable version of the current page.

Added by Martijn Hendriks , last edited by Martijn Hendriks on Sep 01, 2008
Labels: 
(None)

Bundle

A bundle is a Java Archive (.jar) file which contains OSGi specific headers in its manifest. Any valid jar file can in principle be deployed in an OSGi runtime.

WCB

A WCB is a WebManager specific bundle. Its primary characteristic is that the bundle's activator extends from ComponentBundleActivatorBase. An implementation must provide a ComponentBundleDefinition which contains meta data of the WCB (such as WCB Id and the domain). Furthermore, it contains a number of ComponentDefinition objects which specify WebManager specific components in the WCB (such as custom panels, services, elements, servlets, mediaitems and presentations). These components typically extend a base class provided by the by the various component type bundles, which provide additional generic and WebManager specific methods. E.g., every component has a private node in the JCR under which it can store private information.
The components which are deployed through a WCB are managed by the ComponentManager and have an extended lifecycle in order to get around some issue that arise when only the OSGi defined lifecycle is present.

System bundles, platform bundles, platform WCBs, product WCBs, project WCBs.

We distinguish five kinds of OSGi bundles in relation to the WebManager product which are described below. Note that the first three groups of bundles and the wmp product WCBs are deployed via static configuration, whereas the wme and wma product WCBs and the last group is deployed dynamically. This may change soon for the product WCBs in order to properly support edition management.

System bundles

System bundles are regular OSGi bundles that provide core OSGi packages and functionality. Currently, we have 4 system bundles which export OSGi core and OSGi compendium service interfaces, and which provide an OSGi service dependency manager and shell service.
System bundles are assigned to startlevel 5.

Platform bundles

Platform bundles are regular OSGi bundles that constitute (a part of) the core of the WebManager platform. They typically contain packages and services which are required for the proper functioning of WebManager. Examples include the jackrabbitrepository-bundle and the dbcpmanager-bundle. The group of platform bundles is partitioned into a set of bundles which are required by the Siteworks library, and into a set of bundles which are not required by the Siteworks library. The former group is assigned to startlevel 11 and the latter group is assigned to startlevel 15. (Note that the initial framework startlevel is 11, that the springmvc-servlet boots strictly before the Siteworks Init servlet, and that the Init servlet sets the framework startlevel to 30 after it has initialized.)

Platform WCBs

Platform WCBs provide WebManager core functionality which needs interaction with the WebManager component framework, or which needs WebManager specific components (such as a custom panel). Examples include the various component type WCBs. For instance, the elementcomponenttype-bundle provides the ElementComponentType component which is recognized by the ComponentManager as a new component type. Typically, platform WCBs do not contain any licensed components, as these WCBs provide core functionality without which the WebManager platform cannot function correctly.
Platform WCBs are assigned to startlevel 20.

Product WCBs

Product WCBs are WCBs which are maintained by the GX software department and which are not needed by WebManager to function properly. They may contain licensed components. Currently, product WCBs are divided into three categories:

  1. wmp WCBs. These are WCBs which are developed, maintained and released as a part of the WebManager platform. Examples include the JCR browser and the Online Help. Note that the default presentation WCB currebtly is also part of the wmp WCBs.
  2. wma WCBs. These are WebManager add-ons such as the webTV WCB and are released separately from the WebManager platform.
  3. wme WCBs. These are WebManager examples such as the Boox example WCB. They are not meant for production usage, but merely serve as an example of how something can be done. Like wme WCBs, the release cycle is independent from the WebManager platform release cycle.

Currently, wmp WCBs are deployed statically through an entry in the springmvc-servlet.xml and are assigned to startlevel 24. wma and wme WCBs are typically deployed through the WCB management console or the work/deploy directory and are assigned to startlevel 25.

Project WCBs

Project WCBs are all WCBs that are not platform or product WCBs. These WCBs are not needed by the WebManager platform and typically contain project specific content and/or functionality. Examples include project specific presentation WCBs. They are deployed via either the WCB management console or the work/deploy directory.
Project WCBs are assigned to startlevel 25.

Powered by Atlassian Confluence 2.7.1, the Enterprise Wiki. Bug/feature request - Atlassian news - Contact administrators