In SCA, applications are packaged in one or more contributions. Contributions can be a variety of formats. Fabric3 supports the following formats and can be extended to support others:
- JAR archives
- OSGi bundles
- WAR archives
- ZIP archives
- XML documents
JAR contributions
Most SCA applications will be packaged as one or more JARs. In In addition to including application classes and artifacts, a JAR-based contribution may contain an sca-contribution.xml manifest file in the META-INF directory. This manifest file contains contribution metadata, including a list of deployable composites. Deployable composites are those composites that are contained in the contribution which may be deployed to a domain. A contribution may contain other composites but if they are not marked as deployable, they may not be directly included in the domain (i.e. they may only be used by a deployable composite). An example sca-contribution.xml file is shown below:
Code Block | ||
---|---|---|
|
...
|
...
<contribution xmlns="http:// |
...
docs. |
...
oasis-open.org/ns/ |
...
opencsa/sca/ |
...
200912" |
...
xmlns: |
...
sample="urn:tempuri.org |
...
"> |
...
<deployable composite=" |
...
sample: |
...
TheComposite"/> |
...
</contribution> |
Applications often require third-party libraries. Fabric3 supports two ways of packaging and deploying these libraries: by embedding them in the JAR; and importing them from another contribution. Similar Similar to WARs, Fabric3 allows contribution JARs to bundle third-party libraries by placing their JARs in the META-INF/lib directory of the contribution. Any JAR placed in the META-INF/lib directory will be made available on the contribution classpath.
...