| type=page | 
 | status=published | 
 | title=Packaging, Integrating, and Delivering an Add-On Component | 
 | next=integration-point-reference.html | 
 | prev=session-persistence-modules.html | 
 | ~~~~~~ | 
 |  | 
 | = Packaging, Integrating, and Delivering an Add-On Component | 
 |  | 
 | [[GSACG00009]][[ghmxp]] | 
 |  | 
 |  | 
 | [[packaging-integrating-and-delivering-an-add-on-component]] | 
 | == Packaging, Integrating, and Delivering an Add-On Component | 
 |  | 
 | Packaging an add-on component enables the component to interact with the | 
 | {productName} kernel in the same way as other components. Integrating | 
 | a component with {productName} enables {productName} to discover | 
 | the component at runtime. If an add-on component is an extension or | 
 | update to existing installations of {productName}, deliver the | 
 | component through Update Tool. | 
 |  | 
 | The following topics are addressed here: | 
 |  | 
 | * link:#ghpun[Packaging an Add-On Component] | 
 | * link:#ghmne[Integrating an Add-On Component With {productName}] | 
 | * link:#ghpuz[Delivering an Add-On Component Through Update Tool] | 
 |  | 
 | [[ghpun]][[GSACG00142]][[packaging-an-add-on-component]] | 
 |  | 
 | === Packaging an Add-On Component | 
 |  | 
 | To enable an add-on component to plug in to the {productName} kernel | 
 | in the same way as other components, package the component as an OSGi | 
 | bundle. | 
 |  | 
 | A bundle is the unit of deployment in the OSGi module management | 
 | subsystem. To package a component as an OSGi bundle, package the | 
 | component's constituent files in a Java archive (JAR) file with | 
 | appropriate manifest entries. The manifest entries provide information | 
 | about the component that is required to enable the component to be | 
 | plugged into the {productName} kernel, such as: | 
 |  | 
 | * Name | 
 | * Version | 
 | * Dependencies | 
 | * Capabilities | 
 |  | 
 | [[ghmne]][[GSACG00143]][[integrating-an-add-on-component-with-glassfish-server]] | 
 |  | 
 | === Integrating an Add-On Component With {productName} | 
 |  | 
 | Integrating an add-on component with {productName} enables {productName} to | 
 | discover the component at runtime. To integrate an add-on | 
 | component with {productName}, ensure that the JAR file that contains | 
 | the component is copied to or installed in the as-install``/modules/`` directory. | 
 |  | 
 | [[ghpuz]][[GSACG00144]][[delivering-an-add-on-component-through-update-tool]] | 
 |  | 
 | === Delivering an Add-On Component Through Update Tool | 
 |  | 
 | If an add-on component is an extension or update to existing | 
 | installations of {productName}, deliver the component through Update | 
 | Tool. To deliver an add-on component through Update Tool, create an | 
 | Image Packaging System (IPS) package to contain the component and add | 
 | the package to a suitable IPS package repository. | 
 |  | 
 | For information about how to create IPS packages, see the | 
 | http://wikis.oracle.com/display/IpsBestPractices/[IPS best practices | 
 | document] (`http://wikis.oracle.com/display/IpsBestPractices/`). | 
 |  |