ws-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Ws Wiki] Update of "FrontPage/Woden/WodenOSGi" by LawrenceMandel
Date Wed, 12 Dec 2007 20:00:57 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Ws Wiki" for change notification.

The following page has been changed by LawrenceMandel:
http://wiki.apache.org/ws/FrontPage/Woden/WodenOSGi

New page:
= Woden OSGi Proposal =
[http://osgi.org/ OSGi] is a dynamic module system for Java in use in many applications, one
of the more prominent applications being [http://eclipse.org Eclipse]. This proposal suggests
that Woden be packaged as an OSGi bundle so that it can be consumed within an OSGi runtime
simply by dropping it into the runtime and activating it.

== Creating a Woden OSGi bundle ==
Modifying Woden to be an OSGi bundle should take minimal effort. Woden will not require an
activator (this may change if it makes use of the Eclipse plug-in registry) so creating the
bundle will require creating a manifest ({{{Manifest.MF}}}. This file is already included
in the Woden jars and will simply need to include OSGi bundle specific information. (Note:
In the example below strings are inline for clarity. In the production version they will need
to be externalized.){{{
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Woden API
Bundle-SymbolicName: org.apache.woden.api; singleton:=true
Bundle-Version: 1.0.0.qualifier
Bundle-Vendor: Apache Software Foundation
Require-Bundle: ...
Export-Package: ...
}}}
In the example above the required bundles have deliberately been left out. Woden requires
Axiom, commons logging, Geronimo's StAX API, WSDL4J, wstx, Xerces, and XmlSchema (will be
made optional post M8). These required projects will need to either be bundled (preferred)
or included in the Woden bundle. Commons logging, WSDL4J and Xerces are currently available
as bundles from the [http://www.eclipse.org/orbit/ Eclipse Orbit project] but the other requirements
will need to be bundled or a bundled version will need to be located.

== Package naming convention ==
Woden is currently packaged as 3 jar files:[[BR]]
{{{woden-VERSION-MILESONE}}}[[BR]] 
{{{woden-api-VERSION-MILESTONE}}}[[BR]] 
{{{woden-ant-VERSION-MILESTONE}}}[[BR]] 
A recent change to the build has separated the {{{woden-VERSION-MILESTONE}}} jar into separate
DOM and OM jars. This will produce:[[BR]] 
{{{woden-dom-VERSION-MILESTONE}}}[[BR]] 
{{{woden-om-VERSION-MILESTONE}}}

While not required by OSGi, Eclipse's naming convention for bundles is to prefix the project
name with the organization name and drop the milestone declaration. Adopting this convention
will mean Woden's jars will be named as follows (where QUALIFIER is a time stamp associated
with each build):[[BR]] 
{{{org.apache.woden.api_1.0.0.QUALIFIER}}}[[BR]] 
{{{org.apache.woden.dom_1.0.0.QUALIFIER}}}[[BR]] 
{{{org.apache.woden.om_1.0.0.QUALIFIER}}}[[BR]] 
{{{org.apache.woden.ant_1.0.0.QUALIFIER}}}

== Build changes ==
Creating a Woden OSGi bundle will likely require an update to the build to include the OSGi
runtime on the classpath. Two good options for the OSGi runtime are [http://felix.apache.org
Apache Felix] and [http://www.eclipse.org/equinox/ Eclipse Equinox]. 

== OSGi Repository ==
OSGi contains a [http://www2.osgi.org/Repository/HomePage bundle repository] that lists OSGi
bundles. Bundle providers like Woden can have their bundles included in this repository by
creating an [http://www2.osgi.org/Repository/Vendor XML repository file and submitting it
to OSGi]. Submitting Woden to the repository should help promote Woden and strengthen the
project affiliation with the OSGi community.

== Relation to Eclipse ==
TODO

---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscribe@ws.apache.org
For additional commands, e-mail: general-help@ws.apache.org


Mime
View raw message