Jump to: navigation, search

SMILA/Development Guidelines/Tuscany Integration

< SMILA‎ | Development Guidelines
Revision as of 11:00, 16 September 2008 by Daniel.stucky.empolis.com (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Tuscany Integration

This page lists the current state of the Tuscany integration in SMILA and SMILA related issues in Tuscany.

Tuscany OSGi bundles

Tuscany is making good process in creating separate bundles. 3rd party jars are also available as separate bundles now. There are still somee classloading issues regarding Dynamic imports, Meta-INF/services and specific OSGi runtime extensions.

Bundle dependencies

Here is an overview (either text or visualized) of the Tuscany bundle dependencies: [1] For integration I did a step-by-step analysis of the bundles needed to create a SCADomain and add a Contribution that uses implementationtype.osgi and binding.sca.

Basic set of bundles

required Tuscany jars

  • org.apache.tuscany.sca.api_1.4.0.SNAPSHOT.jar
  • org.apache.tuscany.sca.assembly.xml_1.4.0.SNAPSHOT.jar
  • org.apache.tuscany.sca.assembly_1.4.0.SNAPSHOT.jar
  • org.apache.tuscany.sca.contribution.impl_1.4.0.SNAPSHOT.jar
  • org.apache.tuscany.sca.contribution.java_1.4.0.SNAPSHOT.jar
  • org.apache.tuscany.sca.contribution.namespace_1.4.0.SNAPSHOT.jar
  • org.apache.tuscany.sca.contribution.xml_1.4.0.SNAPSHOT.jar
  • org.apache.tuscany.sca.contribution_1.4.0.SNAPSHOT.jar
  • org.apache.tuscany.sca.core.spi_1.4.0.SNAPSHOT.jar
  • org.apache.tuscany.sca.core_1.4.0.SNAPSHOT.jar
  • org.apache.tuscany.sca.definitions_1.4.0.SNAPSHOT.jar
  • org.apache.tuscany.sca.extensibility.osgi_1.4.0.SNAPSHOT.jar
  • org.apache.tuscany.sca.extensibility_1.4.0.SNAPSHOT.jar
  • org.apache.tuscany.sca.host.embedded_1.4.0.SNAPSHOT.jar
  • org.apache.tuscany.sca.implementation.node_1.4.0.SNAPSHOT.jar
  • org.apache.tuscany.sca.interface.java_1.4.0.SNAPSHOT.jar
  • org.apache.tuscany.sca.interface_1.4.0.SNAPSHOT.jar
  • org.apache.tuscany.sca.monitor_1.4.0.SNAPSHOT.jar
  • org.apache.tuscany.sca.node.api_1.4.0.SNAPSHOT.jar
  • org.apache.tuscany.sca.node.impl_1.4.0.SNAPSHOT.jar
  • org.apache.tuscany.sca.osgi.runtime_1.4.0.SNAPSHOT.jar
  • org.apache.tuscany.sca.policy_1.4.0.SNAPSHOT.jar
  • tuscany-extensibility-equinox-1.4-SNAPSHOT.jar (this is currently not included in the osgi build and has to be build manually)

required 3rd party jars

  • org.apache.tuscany.sca.3rdparty.net.sf.cglib_2.0.0.1_3.jar
  • org.apache.tuscany.sca.3rdparty.org.apache.geronimo.specs.geronimo-commonj_1.1_spec_1.0.0.jar
  • org.apache.tuscany.sca.3rdparty.org.codehaus.woodstox.wstx-asl_3.2.1.jar
  • org.apache.tuscany.sca.3rdparty.org.apache.ws.commons.schema.XmlSchema_1.3.2.jar
  • org.apache.tuscany.sca.3rdparty.wsdl4j_1.6.2.jar
  • org.apache.tuscany.sca.3rdparty.javax.jws.jsr181-api_1.0.0.MR1.jar
  • org.apache.tuscany.sca.3rdparty.org.objectweb.asm.all_3.1.0.jar
  • org.apache.tuscany.sca.3rdparty.javax.xml.ws.jaxws-api_2.1.0.jar (Attention: org.apache.tomcat_6.0.16 exports this package, but only with 2 classes !!!)

required 3rd party jars already included in SMILA

  • org.apache.tuscany.sca.3rdparty.javax.xml.stream.stax-api_1.0.2.jar -> javax.xml.stream_1.0
  • org.apache.tuscany.sca.3rdparty.javax.xml.bind.jaxb-api_2.1.0.jar -> javax.xml.bind_1.0
  • org.apache.tuscany.sca.3rdparty.javax.activation_1.1.0.jar -> javax.activation_1.1.0


binding.rmi

These bundles are needed to use binding.rmi: t.b.d

binding.ws

These bundles are needed to use binding.ws: t.b.d

Adjustments to Tuscany

The following adjustments where made to Tuscany bundles:

  • adapted manifest in org.apache.tuscany.sca.3rdparty.org.codehaus.woodstox.wstx-asl_3.2.1.jar: add Eclipse-RegisterBuddy: javax.xml.stream to allow classloader to find STAX implementation
  • added Ivans Fix to org.apache.tuscany.sca.databinding.jaxb.JAXBDataBinding (JIIRA-2346), this is not included in current Tuscany code

Adjustments to SMILA

The following adjustments where made to SMILA classes/configurations:

  • enabled @AllowsPassByReference on org.eclipse.eilf.connectivity.framework.crawler.filesystem.FileSystemCrawler
  • use classes="..." in <t:implementation.osgi> of .composite file to allow parsing of Annotations
    • as for Crawlers annotations are included in the implementation class and in the abstract base class AbstractCrawler it is important to add both classes to this list


Tuscany open issues

This is a list of JIIRA issues in Tuscany that are required by SMILA:

  • TUSCANY-2270 - Conversations do not to work with binding.rmi
  • TUSCANY-2281 - How to create ServiceReferences for references using multiplicity="1..n"
  • TUSCANY-2343 - OSGi bundle design leads to class loading issues Unassigned Georg Schmidt
  • TUSCANY-2346 - weaks in databinding-jaxb plug-in


SMILA open issues

t.b.d